Restore the quote in the `silly' example.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
9f696a00
AS
12002-01-12 Andreas Schwab <schwab@suse.de>
2
3 * .gdbinit (xbuffer): Remove address operator since data is now a
4 pointer.
5
d57966d7
RS
62002-01-11 Richard M. Stallman <rms@gnu.org>
7
8 * insdel.c (adjust_after_replace_noundo): New function.
9
10 * coding.c (code_convert_region): Don't copy old text if undo disabled.
11
74779f52
JR
122002-01-09 Jason Rumney <jasonr@gnu.org>
13
14 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
15 when checking for multiple frames.
16
a474d59c
RS
172002-01-08 Richard M. Stallman <rms@gnu.org>
18
19 * window.c (delete_window): Rewrite the code for changing the
20 selected window to handle the case where WINDOW is not a leaf.
21
fbb70ad9
EZ
222002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
23
24 * process.c (send_process): Set src_multibyte to 1 after the call
25 top setup_coding_system, not before the call.
26
2d10309f
JR
272002-01-07 Jason Rumney <jasonr@gnu.org>
28
29 * xmenu.c (set_frame_menubar, xmenu_show):
30 (xdialog_show): Initialize wv->help to Qnil.
31
32 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
33 (w32_dialog_show): Initialize wv->help to Qnil.
34
7f2cddf3
JR
352002-01-06 Jason Rumney <jasonr@gnu.org>
36
0b1e6b54
JR
37 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
38
7f2cddf3
JR
39 * w32menu.c (w32_menu_display_help): Revert last change.
40
41 * xmenu.c (menu_highlight_callback): Revert last change.
42
e17144de
AS
432002-01-06 Andreas Schwab <schwab@suse.de>
44
45 * insdel.c (make_gap_larger): Make sure buffer size does not
46 overflow range of int.
47
6637c996
JR
482002-01-05 Jason Rumney <jasonr@gnu.org>
49
44368f8f
JR
50 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
51 OVERLAPS_P.
52
f884b6f4
JR
53 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
54
6637c996
JR
55 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
56 to the left or to the right of the pointer, put it against
57 the left screen edge.
58 (x_frame_parms): Add missing braces around initializer.
59
60 * w32term.c (x_setup_relief_colors): Don't compute an image's
61 background color if it doesn't have a Pixmap.
62 (notice_overwritten_cursor): Don't depend on
63 output_cursor and updated_area. Compare pixel coordinates with
64 window's cursor pixel coordinates.
65 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
66 notice_overwritten_cursor with new arg list.
67 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
68 unconditionally.
69 (x_draw_image_relief): Use predefined macro instead of
70 constant when the value of `tool_bar_button_relief' is negative.
71
72 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
73
453c5510
RS
742002-01-04 Richard M. Stallman <rms@gnu.org>
75
76 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
77
d1d070e3
RS
782002-01-03 Richard M. Stallman <rms@gnu.org>
79
80 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
81 (Fkey_binding): Try the `keymap' property map first.
82 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
83 minor mode bindings.
84
9ec1bdb6
KS
852002-01-03 Kim F. Storm <storm@cua.dk>
86
87 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
88
308dd672
RS
892002-01-02 Richard M. Stallman <rms@gnu.org>
90
edde72f6
RS
91 * keyboard.c (read_key_sequence): Handle the keymap property
92 before minor mode maps.
93
308dd672
RS
94 * editfns.c (Fformat): Update thissize from field_width
95 based on the actual width, in the string case.
96
3c1e6b46
PJ
972002-01-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
98
03950b5b
PJ
99 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
100 when used as truth value to prevent gcc warnings.
101
3c1e6b46
PJ
102 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
103 * w32proc.c: Include <config.h>.
104
c1e11810
AS
1052002-01-01 Andreas Schwab <schwab@suse.de>
106
107 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
108 not EMACS_INT, to make them compatible with DEFVAR_INT.
109 * lisp.h (max_specpdl_size): Adjust declaration.
110
1996baee
RS
1112002-01-01 Richard M. Stallman <rms@gnu.org>
112
113 * print.c (print_object): Test print_escape_nonascii only for
114 unibyte strings.
115 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
116 when outputting to a multibyte buffer.
117
0065bb74
RS
1182001-12-29 Richard M. Stallman <rms@gnu.org>
119
120 * print.c (print_object): In multibyte string, use hex escapes.
121 Use octal only for unibyte strings.
122 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
123
124 * lread.c (read_escape): New arg BYTEREP for reporting whether
125 escape forces unibyte or multibyte.
126 (read1): When reading a string, take note of that info.
127
b5cb6072
KR
1282001-12-29 Ken Raeburn <raeburn@gnu.org>
129
130 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
131 comparison to test lisp value returned by Fget.
132
15fff01d
RS
1332001-12-29 Richard M. Stallman <rms@gnu.org>
134
0065bb74
RS
135 * lisp.h (max_specpdl_size): Add declaration.
136
0d8466cc
RS
137 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
138
15fff01d
RS
139 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
140 Handle modifier bits. Correct typo in error message.
141
2fae9111
RS
1422001-12-28 Richard M. Stallman <rms@gnu.org>
143
2d6c1fc0
RS
144 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
145 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
146 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
147 Update calls to Fdefine_abbrev.
148 (write_abbrev): Update for changed data format.
149 Don't list "system" abbrevs.
150 (Fexpand_abbrev): Update use count with new data format.
151 (describe_abbrev): Update for changed data format.
152 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
153
07025a55
RS
154 * config.in (HAVE_MBSINIT): Add #undef.
155
156 * strftime.c (mbsinit): Define as no-op if not available.
157
158 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
159 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
160
ce6eef6e
RS
161 * keymap.c (Flookup_key): Error message if key has wrong data type.
162 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
ade19cac
RS
163 (exclude_key): New variable.
164
539e92ad
GM
1652001-12-28 Gerd Moellmann <gerd@gnu.org>
166
0cb8bb48
GM
167 * xterm.c (x_setup_relief_colors): Don't compute an image's
168 background color if it doesn't have a Pixmap.
169
60626bab
GM
170 * xterm.c (notice_overwritten_cursor): Don't depend on
171 output_cursor and updated_area. Compare pixel coordinates with
172 window's cursor pixel coordinates.
173 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
174 notice_overwritten_cursor with new arg list.
175 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
176 unconditionally.
0cb8bb48 177
539e92ad
GM
178 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
179 height of the cursor line to the amount to scroll.
180
4e02881b
RS
1812001-12-27 Richard M. Stallman <rms@gnu.org>
182
183 * intervals.c (set_point_both): The position after an invisible,
184 intangible character is not an acceptable stopping point.
185
1ab964d7
KR
1862001-12-27 Ken Raeburn <raeburn@gnu.org>
187
188 * window.c (enlarge_window): In new preserve_before code, convert
189 CURBEG from lisp object to integer before doing arithmetic.
190
749f499f
RS
1912001-12-27 Richard M. Stallman <rms@gnu.org>
192
193 * bytecode.c (Fbyte_code): Undo previous change.
194
b5d9aaba
KS
1952001-12-26 Kim F. Storm <storm@cua.dk>
196
197 * keyboard.c (record_char): Ignore duplicate help-echo events only
198 separated by mouse-movement. When tracking mouse, only record
199 first and last mouse-movement event in same window.
200 Don't record mouse-movement events in keyboard macros.
201
d0fd26dd
RS
2022001-12-25 Richard M. Stallman <rms@gnu.org>
203
b4c45162
RS
204 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
205 (Fenlarge_window): New arg PRESERVE_BEFORE.
206
d0fd26dd
RS
207 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
208 instead of Fstring_as_unibyte.
209
c95eaa61
PJ
2102001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
211
212 The following changes remove mocklisp support:
213
214 * mocklisp.h, mocklisp.c: Files removed.
215
216 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
217 `Qmocklisp' and `Qmocklisp_arguments'.
218 Remove prototype of syms_of_mocklisp.
219
220 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
221 files.
222
223 * callint.c: Do not include mocklisp.h.
224 (Fcall_interactively): Do not test for mocklisp case.
225
226 * eval.c: Remove variables `Qmocklisp_arguments',
227 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
228 ml_apply.
229 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
230 not test for mocklisp case.
231 (Fwhile): Remove unused variable `tem'.
232 (syms_of_eval): Remove variable `moclisp-arguments'.
233
234 * data.c (wrong_type_argument): Remove mocklisp case.
235
236 * doc.c (Fdocumentation): Remove mocklisp case.
237
238 * emacs.c (main): Do not call syms_of_mocklisp.
239
31877e0a
RS
2402001-12-21 Richard M. Stallman <rms@gnu.org>
241
242 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
243 to the left or to the right of the pointer, put it against
244 the left screen edge.
245
e2c3786a
EZ
2462001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
247
248 * Makefile.in (distclean): Remove .gdbinit if we are building
249 outside the source tree.
250
c513fc03
EZ
2512001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
252
bf794306
EZ
253 * w32.c (emacs_root_dir): New function.
254
255 * msdos.c (emacs_root_dir): New function.
256
257 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
258 of the current drive as the fallback for default_directory.
259
62582985
EZ
260 * dired.c (file_name_completion): Run the elements of
261 completion-ignored-extensions through ENCODE_FILE.
262
c513fc03
EZ
263 * lisp.h (scmp): Remove prototype, since it's now a static
264 function private to dired.c.
265
3509a04c
RS
2662001-12-18 Richard M. Stallman <rms@gnu.org>
267
268 * dired.c (scmp): Function moved from minibuf.c.
269 Delete multibyte handling--used only on encoded strings.
270
271 * minibuf.c (scmp): Function moved to dired.c.
272
273 * fns.c (merge): Add QUIT call.
274
1e9a6186
DL
2752001-12-18 Dave Love <fx@gnu.org>
276
277 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
278 language/georgian.el.
279
e4e34e31
EZ
2802001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
281
282 * Makefile.in (lisp, shortlisp): Synchronize with changes to
283 lisp/Makefile.in:DONTCOMPILE.
284
4521d1fc
PJ
2852001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
286
7c75be36
PJ
287 * xdisp.c (window_box_height): Do not return negative values.
288 From Gerd Moellmann <gerd@gnu.org>.
289
4521d1fc
PJ
290 * keyboard.c (head_table): Add missing braces around initializer.
291
292 * term.c (keys): Likewise.
293
294 * xfns.c (x_frame_parms, visual_classes): Likewise.
295
93dec019
SS
2962001-12-17 Sam Steingold <sds@gnu.org>
297
298 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
299 patch (COMPOSING_P, not COMPOSING).
300
905cc05a
RS
3012001-12-17 Richard M. Stallman <rms@gnu.org>
302
2ed06289
RS
303 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
304
0e79d667
RS
305 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
306 before calling decode_coding.
307
308 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
309
310 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
311 instead of only for COMPOSITION_DISABLED.
312
82a7ab23
RS
3132001-12-16 Richard M. Stallman <rms@gnu.org>
314
d75bec6a
RS
315 * alloc.c (pure_alloc): After overflow, allocate just a small block.
316
52dcb476
RS
317 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
318
82a7ab23
RS
319 * buffer.h (struct buffer): New field `display_error_modiff'.
320 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
321
322 * window.c (Frecenter): Clear display_error_modiff field.
323
324 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
325 Call redisplay_window, but not if display_error_modiff field says no.
326 (redisplay_window_error): New function.
327 (displayed_buffer): New variable.
328 (redisplay_internal, redisplay_windows): Call the new functions
329 instead of redisplay_window directly.
330
4d0fa4f3
RS
3312001-12-15 Richard M. Stallman <rms@gnu.org>
332
333 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
334
493faf20
AI
3352001-12-14 Andrew Innes <andrewi@gnu.org>
336
325111e9
AI
337 * makefile.w32-in (EMACSLOADPATH): Define.
338 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
339 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 340
4971e491
EZ
3412001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
342
397b3b50 343 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
344 parameter have a numeric value all the time.
345
346 * w32fns.c (x_report_frame_params): Likewise.
347
d911a0fa
RS
3482001-12-12 Richard M. Stallman <rms@gnu.org>
349
350 * fileio.c (Fwrite_region): Doc fix.
351
352 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
353 (redisplay_internal): Call clear_image_cache only for window terminals.
354
201c831a
GM
3552001-12-12 Gerd Moellmann <gerd@gnu.org>
356
357 * xdisp.c (move_it_vertically_backward): Change heuristic
358 for the case that we didn't move far enough initially.
359
360 * window.c (Frecenter): Simplify computation in the case of window
361 system frames and ARG < 0; use window_box_height.
362
34e39c95
RS
3632001-12-11 Richard M. Stallman <rms@gnu.org>
364
365 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
366 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
367
d77fbc16
AI
3682001-12-11 Andrew Innes <andrewi@gnu.org>
369
370 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
371 arg is negative.
372
61e3b944
RS
3732001-12-11 Richard M. Stallman <rms@gnu.org>
374
375 * m/hp800.h: Split the __hpux conditional into the parts
376 that are right for GNU/Linux too and the parts that are not.
377 Use the former if GNU_LINUX.
378 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
379
380 * s/gnu-linux.h (GNU_LINUX): Defined.
381
70da46c3
PJ
3822001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
383
384 * macros.c, msdos.c, w16select.c: Change doc-string comments to
385 `new style' [w/`doc:' keyword].
386
8af01033
JR
3872001-12-10 Jason Rumney <jasonr@gnu.org>
388
389 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
390 before using.
391
7363986a
PJ
3922001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
393
394 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
395 keyword].
396
d9e6c4b1
EZ
3972001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
398
d20fc48a
EZ
399 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
400
d9e6c4b1
EZ
401 * s/hpux10.h (srand48): Don't undefine.
402
f1a85b89
JR
4032001-12-09 Jason Rumney <jasonr@gnu.org>
404
405 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
406 comment to explain where the struct came from.
407 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
408 (add_menu_item): Process pop-up menus first to avoid memory leak.
409 (add_menu_item, w32_menu_display_help): Use `help' field as
410 Lisp_Object.
411 (w32_free_submenu_strings): Only free owner-drawn strings.
412
3a62677f
PJ
4132001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
414
72244db2
PJ
415 * COPYING: Moved back.
416
3a62677f
PJ
417 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
418 Add parentheses around && within ||.
419
420 * indent.c (compute_motion): Likewise.
421
422 * intervals.c (merge_properties_sticky): Likewise.
423
424 * coding.c (setup_coding_system, shrink_encoding_region)
425 (Fdecode_sjis_char): Likewise.
426
9d113d9d
AS
4272001-12-07 Andreas Schwab <schwab@suse.de>
428
b8523839
AS
429 * xdisp.c (display_mode_element): Don't read past end of string if
430 it ends with '%'.
431
9464dea4
AS
432 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
433 can hold.
434
9d113d9d
AS
435 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
436 from most_positive_fixnum and most_negative_fixnum, resp., and
437 type changed to Lisp_Object.
438 (syms_of_data): DEFVAR_LISP them.
439
70ec1377
RS
4402001-12-07 Richard M. Stallman <rms@gnu.org>
441
442 * callproc.c (init_callproc): Set Vdata_directory based on the source
443 location whenever Emacs was run uninstalled.
444
92f7dd37
PE
4452001-12-06 Paul Eggert <eggert@twinsun.com>
446
447 * config.in (HAVE_WORKING_VFORK): New #undefs.
448 * process.c (create_process):
449 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
450 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
451 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
452 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
453 * m/intel386.h (HAVE_VFORK): Likewise.
454 * m/mips-siemens.h (HAVE_VFORK): Likewise.
455 * m/mips.h (HAVE_VFORK): Likewise.
456 * s/freebsd.h (vfork): Remove #define.
457 * s/lynxos.h (HAVE_VFORK): Remove #undef.
458 * s/usg5-4-2.h: Fix comment about vfork.
459
c93674bb
RS
4602001-12-06 Richard M. Stallman <rms@gnu.org>
461
462 * s/hpux10.h (random): Add undef.
463 (HAVE_RANDOM): Define it just once.
464
59b59892
SM
4652001-12-06 Stefan Monnier <monnier@cs.yale.edu>
466
467 * eval.c: Undo last change: the standard syntax is not wanted.
468
c6ea2775
EZ
4692001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
470
471 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
472 scroll bars of the frame before deleting the frame itself. If the
473 frame has a widget, delete the frame with XtDestroyWidget, and do
474 not call XDestroyWindow before that.
475
91175673
KS
4762001-12-06 Kim F. Storm <storm@cua.dk>
477
478 * xfns.c (x_report_frame_params): Return actual fringe widths.
479
480 * w32fns.c (x_report_frame_params): Return actual fringe widths.
481
e0fead5d
AI
4822001-12-05 Andrew Innes <andrewi@gnu.org>
483
484 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
485 excessively large.
486
487 * insdel.c (make_gap_larger): New function.
488 (make_gap_smaller): New function.
489 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
490 make_gap_smaller if arg is negative.
491
c186cdb3
SM
4922001-12-04 Stefan Monnier <monnier@cs.yale.edu>
493
494 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
495 Pass a dummy argument when calling interrupt_signal.
496 (parse_menu_item): Mark disabled items before checking for empty def.
497 (read_char_minibuf_menu_prompt): Make safety more visible.
498 (read_key_sequence): Add a `first_unbound' variable.
499 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
500 unbound prefix as soon as we can detect it.
501
502 * doc.c (Fsnarf_documentation): Add prototype.
503 (get_doc_string): Handle negative arguments.
504 (Fdocumentation): Use AREF and ASIZE.
505 Move the calls to get_doc_string to a single place.
506 Don't confuse an interactive-spec for a docstring reference.
507 (Fdocumentation_property): Take advantage of the fact that
508 get_doc_string now ignores the sign of the docstring position.
509
510 * eval.c: Use standard syntax for usage in docstrings.
511
58cfce98
PJ
5122001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
513
c186cdb3 514 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 515
62854fe2
PJ
5162001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
517
518 * xterm.c (x_draw_image_relief): Use predefined macro instead of
519 constant when the value of `tool_bar_button_relief' is negative.
520
656f46bb
RS
5212001-12-02 Richard M. Stallman <rms@gnu.org>
522
523 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
524 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
525
526 * fileio.c (read_non_regular): Delete Fsignal call.
527
036e218d
SM
5282001-12-01 Stefan Monnier <monnier@cs.yale.edu>
529
530 * lisp.h (run_hook_list_with_args): Undo last change.
531
7ddb2c16
GM
5322001-12-01 Gerd Moellmann <gerd@gnu.org>
533
534 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
535
ace9b298
JR
5362001-12-01 Jason Rumney <jasonr@gnu.org>
537
90647b07
JR
538 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
539
540 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
541 [!WM_MOUSELEAVE]: Define.
542
ace9b298
JR
543 * w32menu.c (current_popup_menu, get_menu_item_info):
544 (set_menu_item_info): New vars.
545 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
546 (w32_menu_show): Set current_popup_menu.
547 (add_menu_item): Allocate new strings for owner-drawn menu items
548 and help strings.
549 Use owner-draw for disabled menu items again.
550 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
551 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
552
553 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
554 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
555 <WM_EXITMENULOOP>: Free menu strings.
556 <WM_MOUSELEAVE>: Stop tracking mouse.
557 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
558
559 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
560 and mouse face.
561
a9549909 5622001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
563
564 The following changes add left-fringe and right-fringe
565 frame parameters to adjust fringe widths, or remove one or
566 both fringes.
036e218d 567
9fbc32aa
KS
568 * frame.h (struct frame): Remove trunc_area_pixel_width and
569 trunc_area_cols fields.
570 (Qleft_fringe, Qright_fringe): Declare.
571 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
572
573 * frame.c (Qleft_fringe, Qright_fringe): New vars.
574 (syms_of_frame): Initialize them.
575
576 * window.c (coordinates_in_window): Handle separate left and right
577 fringe widths.
578
579 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
580 and fringe_cols fields.
581 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
582 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
583 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
584 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
585 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
586 (x_compute_fringe_widths): Add prototype.
587
588 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
589 fill fringe evenly with small dashes.
590 (x_draw_fringe_bitmap): Clear background if necessary. Align and
591 clip the new ZV bitmap to avoid jitter between rows.
592 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
593 background. Don't draw fringe bitmaps if fringe width is zero.
594 (x_compute_fringe_widths): New function.
595 (x_new_font, x_set_window_size_1): Use it.
596
597 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
0c5ee687 598 (x_set_frame_parameters): Process `font' parameter before other
9fbc32aa
KS
599 parameters as fringe widths depend on it.
600 (x_set_fringe_width): New function.
601 (x_figure_window_size): Use x_compute_fringe_widths.
602 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
603 parameters.
604
605 * widget.c (set_frame_size): Use x_compute_fringe_widths.
606 (EmacsFrameSetCharSize): Ditto.
607
608 * w32term.h: Merged changes from xterm.h.
609 * w32term.c: Merged changes from xterm.c.
610 * w32fns.c: Merged changes from xfns.c.
611
0142178a
PJ
6122001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
613
614 * COPYING: Removed.
615
d4824a5d
DL
6162001-11-29 Dave Love <fx@gnu.org>
617
618 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
619 extra extra slot.
620 (detect_coding_mask): Fix call of detect_coding_iso2022.
621
b1356234
PJ
6222001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
623
624 * fileio.c (file-name-coding-system)
625 (default-file-name-coding-system): Doc fix (links to referenced
626 variables added).
627
3ce081f5
SM
6282001-11-28 Stefan Monnier <monnier@cs.yale.edu>
629
99e380ee
SM
630 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
631 Add dummy uses of gcproN variables.
632
3ce081f5 633 * category.c (describe_category, describe_category_1)
2ad56c09 634 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
635 (syms_of_category): Don't defsubr Sdescribe_categories.
636
66458f32
RS
6372001-11-28 Richard M. Stallman <rms@gnu.org>
638
639 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
640
641 * Makefile.in (lispdir): New variable, referring to build dir.
642 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
643
59a86c99
AI
6442001-11-28 Andrew Innes <andrewi@gnu.org>
645
646 * w32menu.c (w32_menu_display_help): Actually add the new argument
647 OWNER.
648
eb77a5f4
JR
6492001-11-28 Jason Rumney <jasonr@gnu.org>
650
651 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
652 menu items. From David Ponce <dponce@wanadoo.fr>.
653 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
654 conditionally.
655 (w32_menu_display_help): New argument OWNER. Rewritten to store a
656 help event in the owner frame's keyboard buffer.
657
658 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
659 (Fx_show_tip): Don't subtract last width from row width.
660
661 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
662 (w32_read_socket): Use EQ to compare frames.
663
bb313871
GM
6642001-11-28 Gerd Moellmann <gerd@gnu.org>
665
666 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
667 OVERLAPS_P.
668
55b43a63
PJ
6692001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
670
6052529b
PJ
671 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
672 `gcpro3' and `gcpro4'.
673
3ce081f5
SM
674 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
675
6762001-11-28 Stefan Monnier <monnier@cs.yale.edu>
677
678 * ccl.c: Use AREF and ASIZE.
679
6802001-11-27 Stefan Monnier <monnier@cs.yale.edu>
681
682 * lisp.h (run_hook_list_with_args): Remove.
683 (LIST_END_P): Fix call to wrong_type_argument.
684 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 685
111ed14e
SM
6862001-11-26 Stefan Monnier <monnier@cs.yale.edu>
687
9fabb2f5
SM
688 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
689 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
690
691 * eval.c: Use AREF and ASIZE.
692 (Ffetch_bytecode): Add the file name to the error message.
693
694 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
695 which match the end of the file-name.
696 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
697 is not a valid env var, but leave it as is instead.
698
111ed14e
SM
699 * keymap.c (access_keymap): Handle t bindings like nil bindings.
700 Make nil bindings in char-tables transparent.
701 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
702
2fa0eedf
RS
7032001-11-26 Richard M. Stallman <rms@gnu.org>
704
d1420435
RS
705 * textprop.c (set_text_properties_1): Allow START, END in either order.
706 Do nothing if range is empty.
707
2fa0eedf
RS
708 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
709
ebcbef4e
RS
710 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
711 (clean): Not here.
712
5c131048
SM
7132001-11-25 Stefan Monnier <monnier@cs.yale.edu>
714
715 * textprop.c (set_text_properties_1): Clearly mark that the
716 interval should not be empty.
717
718 * intervals.c (graft_intervals_into_buffer):
719 Don't call set_text_properties_1 on an empty interval.
720
96d276c3
RS
7212001-11-25 Richard M. Stallman <rms@gnu.org>
722
6108b49c
RS
723 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
724
96d276c3
RS
725 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
726 don't lose the data in it.
727
5eea19a4
RS
7282001-11-25 Juanma Barranquero <lektu@terra.es>
729
730 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
731
732 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
733
734 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
735
438e57dd
SM
7362001-11-25 Stefan Monnier <monnier@cs.yale.edu>
737
738 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
739
c88e5347
EZ
7402001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
741
742 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
743 Niemitalo <kon@iki.fi>.
744
59ce1461
JR
7452001-11-25 Jason Rumney <jasonr@gnu.org>
746
747 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
748
749 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
750 (Fx_show_tip): Block input during frame creation.
751 (Fx_show_tip, Fx_hide_tip): Enable.
752
8727d588
RS
7532001-11-24 Richard M. Stallman <rms@gnu.org>
754
755 * lread.c (Fload): Detect recursive load error for more than 3
756 nestings of the same file.
757 (Vrecursive_load_depth_limit): Variable deleted.
758 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
759
cc63037e
JR
7602001-11-24 Jason Rumney <jasonr@gnu.org>
761
762 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
763 mouse position if either left or top is not specified.
764
765 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
766 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
767 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
768 (my_create_tip_window): Assign tip_window.
769 (x_create_tip_frame): Use same defaults as X.
770 (compute_tip_xy): Remove unused variable. Use full screen width.
771 (Fx_show_tip): Do not double height. Call ShowWindow directly.
772
773 * w32term.c (x_after_update_window_line): Doc fix.
774 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
775 frames.
776 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
777
778 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
779 for all Windowed systems.
780
deece6f5
EZ
7812001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
782
783 * msdos.c (IT_clear_screen): If the frame's faces are not yet
784 realized, use the initial screen colors to clear the screen.
785
1b944d9c
PJ
7862001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
787
28ff4293
PJ
788 * textprop.c (Fset_text_properties): Remove unused variables
789 `unchanged', `prev_changed', `s' and `len'.
790
56167cc5
PJ
791 * search.c (Freplace_match): Remove unused variable `inslen'.
792
1b944d9c
PJ
793 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
794
ca56d953
JR
7952001-11-22 Jason Rumney <jasonr@gnu.org>
796
797 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
798 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
799 (my_create_tip_window): New function.
800 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 801 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 802
33399dce
JR
8032001-11-20 Jason Rumney <jasonr@gnu.org>
804
805 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
806 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
807
808 * w32fns.c (Vw32_system_coding_system): Remove.
809 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
810
9b46de40
SM
8112001-11-19 Stefan Monnier <monnier@cs.yale.edu>
812
6710ea06
SM
813 * fileio.c (Fwrite_region): Move choose_write_coding_system to
814 after build_annotations.
815
a395ef6a
SM
816 * syntax.c (describe_syntax): Add dummy arg.
817 (describe_syntax_1): Update call to describe_vector.
818
819 * category.c (describe_category): Add dummy arg.
820 (describe_category_1): Update call to describe_vector.
821
822 * keymap.c (Fdescribe_vector): Add `describer' parameter.
823 (describe_command, describe_translation): Add dummy second param.
824 (describe_map): Call elt_describer with two arguments.
825 (describe_vector_princ): Add `fun' parameter.
826 Call it instead of the hardcoded `princ'.
827 (describe_vector): Add arg `args'.
828 Pass it as a new second argument to elt_describer.
829
830 * keymap.h (describe_vector): Update prototype.
831
9b46de40
SM
832 * frame.c: Don't include keymap.h any more.
833 (keys_of_frame): Remove.
834
835 * lisp.h (keys_of_frame): Remove declaration.
836
837 * emacs.c (main): Don't call `keys_of_frame' any more.
838
aff37336
SS
8392001-11-14 Andreas Schwab <schwab@suse.de>
840
841 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
842 if defined, 0 otherwise.
9b46de40 843 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
844 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
845
b9937f07
RS
8462001-11-19 Richard M. Stallman <rms@gnu.org>
847
848 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
849
2cd23960
JR
8502001-11-18 Jason Rumney <jasonr@gnu.org>
851
852 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
853 (x_draw_bar_cursor): If the background color of the glyph under
854 the cursor equals the frame's cursor color, use the glyph's
855 foreground color for drawing the bar cursor.
856 (x_after_update_window_line): Clear internal border in different
857 circumstances.
858 (w32_set_vertical_scroll_bar): Check for width and height > 0.
859 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
860 (x_set_glyph_string_background_width):
861 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
862 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
863 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
864 if cursor_in_non_selected_windows is false.
9b46de40 865 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
866 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
867 Notice if cursor gets overwritten.
868 (notice_overwritten_cursor): Renamed from
869 note_overwritten_text_cursor. Rewritten to take glyph widths
870 into account, and to take X positions as parameters.
871 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
872 around call to x_draw_glyphs.
873 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
874 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
875 color to use for image glyph reliefs.
876 (x_draw_image_relief): Accept zero tool_bar_button_relief.
877 (glyph_rect): Remove unused variable `area'.
878
879 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
880 some items.
881 (x_set_internal_border_width): Set frame garbaged when window
882 doesn't exist yet.
883 (Fx_create_frame): Accept zero tool_bar_button_relief.
884 (x_clear_image_1, four_corners_best, image_background)
885 (image_background_transparent): New functions.
886 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
887 (gs_format): Add `:background' entry.
888 (lookup_image): Set IMG's background color if specified.
889 (pbm_load, xbm_load_image, png_load): Set IMG's background field
890 when appropriate.
891 (x_clear_image_1): Reset `background_valid' and
892 `background_transparent_valid' fields.
893 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
894 calculating it here. Set IMG's background_transparent field.
895 (enum xpm_keyword_index): Add XPM_BACKGROUND.
896 (enum png_keyword_index): Add PNG_BACKGROUND.
897 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
898 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
899 (enum gif_keyword_index): Add GIF_BACKGROUND.
900 (enum gs_keyword_index): Add GS_BACKGROUND.
901 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
902 Pre-calculate image background color where necessary.
9b46de40
SM
903 (x_create_x_image_and_pixmap, xbm_load, gs_load):
904 Use display info's n_cbits entry for screen depth.
2cd23960
JR
905 (Fx_show_tip): Remove unused variables `buffer', `top',
906 `left', `max_width' and `max_height'.
907
908 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
909
a4184c1c
GM
9102001-11-18 Gerd Moellmann <gerd@gnu.org>
911
912 * puresize.h (BASE_PURESIZE): Increase to 750000.
913
f6fa0866
PJ
9142001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
915
916 * frame.c (Fframe_live_p): Doc fix.
917
f4ca4b00
RS
9182001-11-18 Richard M. Stallman <rms@gnu.org>
919
920 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
921 (message_dolog_marker3): New static variables hold three markers.
922 (syms_of_xdisp): Initialize and staticpro them.
923 (message_dolog): Use message_dolog_marker1..3 instead of
924 allocating markers each time. Unchain them when done.
925
f4e25f94
RS
9262001-11-17 Richard M. Stallman <rms@gnu.org>
927
928 * doc.c (Fsnarf_documentation): Doc fix.
929
91c153e2
AS
9302001-11-17 Andreas Schwab <schwab@suse.de>
931
932 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
933
65b7d3e7
RS
9342001-11-17 Richard M. Stallman <rms@gnu.org>
935
936 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
937
6b5f6311
JR
9382001-11-17 Jason Rumney <jasonr@gnu.org>
939
940 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
941
be676094
GM
9422001-11-17 Gerd Moellmann <gerd@gnu.org>
943
944 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
945 with invalid position.
946
032a857d
RS
9472001-11-16 Richard M. Stallman <rms@gnu.org>
948
949 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
950
951 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
952 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
953 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
954
955 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
956
b6270150
SM
9572001-11-16 Stefan Monnier <monnier@cs.yale.edu>
958
959 * fileio.c (build_annotations): Split off the tail.
960 (build_annotations_2): New fun. Extracted from build_annotations.
961 (Fwrite_region): Split the call to build_annotations into two
962 calls to build_annotations and build_annotations_2.
963
792e5cbd
PJ
9642001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
965
98cbb9fa
PJ
966 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
967 clear_waiting_for_input with argument.
968
969 * xterm.h (x_update_cursor): Remove duplicated prototype.
970
b6270150 971 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 972
ea904403 973 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 974
ea904403 975 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 976
fa336b91
SM
9772001-11-16 Stefan Monnier <monnier@cs.yale.edu>
978
979 * fileio.c (choose_write_coding_system): New fun, extracted
980 from Fwrite_region.
981 (Fwrite_region): Use it.
982
983 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
984 (funcall_lambda, run_hook_with_args): Make static and add prototype.
985 (ml_apply, find_handler_clause): Add prototype.
986
077907d4
EZ
9872001-11-16 Eli Zaretskii <eliz@gnu.org>
988
aa2af83a
EZ
989 * config.in: Add #undef HAVE_COFF_H.
990
077907d4
EZ
991 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
992 Required for ISC 4.1.
993
1756e2fb
EZ
9942001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
995
996 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
997 Andrew Wiseman <a.wiseman@btclick.com>.
998
06e8f738
KS
9992001-11-16 Kim F. Storm <storm@cua.dk>
1000
1001 The following changes are made to clean up the various internal
1002 references to the fringes to actually use the term `fringe' for
1003 them. Previously, they were called `flags areas', `bitmap areas',
1004 `left/right side of windows', or implicitly as `flags' or
1005 `bitmaps':
1006
1007 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
1008 Comments fixed. Use renamed symbols.
fa336b91 1009
06e8f738 1010 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 1011
06e8f738
KS
1012 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
1013 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
1014 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 1015
06e8f738 1016 * msdos.c: Comment fix.
fa336b91 1017
06e8f738 1018 * w32fns.c: Use renamed symbols.
fa336b91 1019
06e8f738
KS
1020 * w32term.c: Comment fixes. Use renamed symbols.
1021 (fringe_bitmap_type): Renamed from bitmap_type.
1022 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1023 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
1024 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 1025
06e8f738
KS
1026 * w32term.h: Comment fixes. Use renamed symbols.
1027 (fringes_extra): Renamed from flags_areas_extra.
1028 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1029 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1030 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1031 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
1032 (FRAME_X_LEFT_FRINGE_WIDTH):
1033 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1034 (FRAME_X_RIGHT_FRINGE_WIDTH):
1035 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
1036
06e8f738 1037 * widget.c: Use renamed symbols.
fa336b91 1038
06e8f738
KS
1039 * window.c: Comment fixes. Use renamed symbols.
1040 (coordinates-in-window-p): Doc fix.
fa336b91 1041
06e8f738 1042 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 1043
06e8f738 1044 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 1045
06e8f738 1046 * xfns.c: Use renamed symbols.
fa336b91 1047
06e8f738
KS
1048 * xterm.c: Comment fixes. Use renamed symbols.
1049 (fringe_bitmap_type): Renamed from bitmap_type.
1050 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1051 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
1052 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
1053
1054 * xterm.h: Comment fixes. Use renamed symbols.
1055 (fringes_extra): Renamed from flags_areas_extra.
1056 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1057 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1058 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1059 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
1060 (FRAME_X_LEFT_FRINGE_WIDTH):
1061 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1062 (FRAME_X_RIGHT_FRINGE_WIDTH):
1063 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 1064
9ce647f4
JR
10652001-11-15 Jason Rumney <jasonr@gnu.org>
1066
1067 * w32menu.c (add-menu-item): Make help_echo and radio buttons
1068 work for most menu items. From David Ponce
1069 <david.ponce@wanadoo.fr>.
1070
9b784ab8
GM
10712001-11-15 Gerd Moellmann <gerd@gnu.org>
1072
9f7e52b4
GM
1073 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
1074 Some x_set_* function expect to be called even if old and new
1075 value are equal.
1076
1077 * xdisp.c (build_desired_tool_bar_string): Accept zero
1078 tool_bar_button_relief.
1079
1080 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
1081
1082 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 1083
34e5d0af
GM
1084 * xterm.c (x_draw_bar_cursor): If the background color of the
1085 glyph under the cursor equals the frame's cursor color, use
1086 the glyph's foreground color for drawing the bar cursor.
1087
9b784ab8
GM
1088 * dispnew.c (direct_output_forward_char): Fix character/byte
1089 position comparison.
1090
89512fcd
MB
10912001-11-15 Miles Bader <miles@gnu.org>
1092
1093 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
1094 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
1095 Update arguments to find_field.
1096 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
1097 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
1098 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
1099 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
1100
7d18891d
RS
11012001-11-14 Richard M. Stallman <rms@gnu.org>
1102
d2936d21
RS
1103 * editfns.c (Fpropertize): Allow call with 1 arg.
1104
7d18891d
RS
1105 * dispextern.h (image_background, image_background_transparent):
1106 Conditionalize on HAVE_X_WINDOWS.
1107
11082001-11-13 Richard M. Stallman <rms@gnu.org>
1109
1110 * print.c (Fprin1_to_string): Doc fix.
1111
1112 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
1113
1114 * floatfns.c (Fceiling, Ffloor): Doc fixes.
1115
1116 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
1117
1118 * fileio.c (Ffile_accessible_directory_p): Doc fix.
1119
1120 * eval.c (syms_of_eval): Doc fix.
1121
1122 * coding.c (syms_of_coding): Doc fix.
1123
1124 * doc.c (Fsnarf_documentation): Doc fix.
1125
1126 * dispnew.c (syms_of_display): Doc fix.
1127
1128 * category.c (Fget_unused_category): Doc fix.
1129
1130 * buffer.c (syms_of_buffer): Doc fixes.
1131
9474c847
EZ
11322001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
1133
1134 * print.c (prin1, print): Doc fix.
1135
e3059a5d
PJ
11362001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1137
2b6f3c2b 1138 * fontset.h: Remove declarations of variables
e3059a5d
PJ
1139 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
1140
1141 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
1142 `Vclip_large_size_font'.
1143
b3700ae7
JR
11442001-11-13 Jason Rumney <jasonr@gnu.org>
1145
1146 * w32fns.c: Doc fix.
1147
eae936e2
PJ
11482001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1149
4bb962be
PJ
1150 * xfaces.c (Fface_attributes_as_vector): Doc fix.
1151
0a332240
PJ
1152 * w32fns.c (Fx_synchronize): Reindent.
1153
ddb67bdc
PJ
1154 * fns.c: Doc fix.
1155
3467c402
PJ
1156 * emacs.c: Doc fix.
1157
1158 * coding.c: Doc fix.
1159
6e1b91d7
PJ
1160 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
1161 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
1162 `new style' [w/`doc:' keyword].
1163
f6e34773
PJ
1164 * xmenu.c (x-popup-menu): Reindent.
1165 (x-popup-dialog): Likewise.
1166
fa336b91 1167 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 1168
c2552f79
PJ
1169 * xdisp.c (Fdump_tool_bar_row): Reindent.
1170
94c7167b
PJ
1171 * minibuf.c (Fminibuffer_complete_word): Reindent.
1172 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 1173 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
1174 (Fminibuffer_message): Likewise.
1175
462a5e3a
PJ
1176 * fns.c (Freverse): Reindent.
1177
b8de5714
PJ
1178 * eval.c (Fif): Reindent.
1179 (Fand): Likewise.
1180
deb8e082
PJ
1181 * editfns.c (Fuser_real_login_name): Reindent.
1182 (Finsert_buffer_substring): Likewise.
1183 (Fcompare_buffer_substrings): Likewise.
1184 (Fsubst_char_in_region): Likewise.
1185
bacf09b4
PJ
1186 * dispnew.c (Fsit_for): Reindent.
1187 (Fframe_or_buffer_changed_p): Likewise.
1188 (Finternal_show_cursor_p): Likewise.
1189 (syms_of_display): Likewise.
1190
eae936e2
PJ
1191 * alloc.c (Flist): Reindent.
1192 (Fvector): Likewise.
1193
1c1d3d69
RS
11942001-11-12 Richard M. Stallman <rms@gnu.org>
1195
1196 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1197 LeaveNotify events. Only FocusIn and FocusOut do that now.
1198 (x_display_and_set_cursor): Do display hollow cursors in active
1199 minibuffer windows when they are not selected.
1200
b6f4c7ba
JR
12012001-11-12 Jason Rumney <jasonr@gnu.org>
1202
1203 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1204 * w32term.c: Change doc-string comments to `new style'.
1205 [w/`doc:' keyword]. Doc fixes.
1206
1207 * w32fns.c: Don't define max.
1208 (Fx_open_connection): Only execute once.
1209
a89f435d
PJ
12102001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1211
1212 * ccl.c: Change macros to use do-while block instead of if-else.
1213 Use braces to follow GNU Coding Standards.
1214
a4cd0cd7
RS
12152001-11-11 Richard M. Stallman <rms@gnu.org>
1216
eafb659a
RS
1217 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1218
1219 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1220
a4cd0cd7
RS
1221 * insdel.c (replace_range): Use adjust_markers_for_replace
1222 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1223
1224 * intervals.h: Declare set_text_properties and set_text_properties_1.
1225
1226 * textprop.c (set_text_properties_1): New subroutine
1227 broken out of set_text_properties.
1228 (set_text_properties): Use set_text_properties_1.
1229
1230 * intervals.c (graft_intervals_into_buffer):
1231 Use set_text_properties_1 to clear out properties.
1232
1233 * search.c (Freplace_match): Use replace_range to insert
1234 and delete. Don't request property inheritance from
1235 surrounding text.
1236
91823618
JR
12372001-11-10 Jason Rumney <jasonr@gnu.org>
1238
1239 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1240 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1241 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1242
86928dfb
GM
12432001-11-10 Gerd Moellmann <gerd@gnu.org>
1244
fa336b91 1245 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1246 instead of malloc/free.
1247
40ef1eda
PJ
12482001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1249
ab8469eb
PJ
1250 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1251 Coding Standards.
1252 (Finternal_set_lisp_face_attribute): Likewise.
1253
a78e0303
PJ
1254 * buffer.c (Fbury_buffer): Likewise.
1255
40ef1eda
PJ
1256 * indent.c (current_column_1): Remove unused variable `prev_col'.
1257
fabf4a91
PJ
1258 * coding.c (encode_coding): Use precomputed value of `src'.
1259 (encode_coding): Remove unused variable `src_end'.
1260 (code_convert_region): Remove unused variables `count'.
1261
0c99b139
JR
12622001-11-07 Jason Rumney <jasonr@gnu.org>
1263
1264 * w32term.c (x_display_and_set_cursor): Do not move system caret
1265 if cursor_glyph is NULL.
1266
830ddd77
PJ
12672001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1268
1269 * keymap.c (access_keymap): Fix compilation error.
1270
55c6d645
MB
12712001-11-07 Miles Bader <miles@gnu.org>
1272
1273 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1274
5de38842
PJ
12752001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1276
7a4564a4
PJ
1277 * intervals.c (graft_intervals_into_buffer):
1278 Remove #ifdef'd-out code.
1279 (graft_intervals_into_buffer): Remove unused variable `middle'.
1280
5de38842
PJ
1281 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1282 code (eval-current-buffer).
1283 Change doc-string comments to `new style' [w/`doc:' keyword].
1284
4fa23df5
RS
12852001-11-06 Richard M. Stallman <rms@gnu.org>
1286
1287 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1288
7a6a97d7
SM
12892001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1290
c191d13c
SM
1291 * lread.c (read1): Fix behavior with nested backquoting.
1292
7a6a97d7
SM
1293 * keyboard.c (make_lispy_event): Check integerness and fix
1294 Lisp_Object/int mixup.
1295
44dc78e0
PJ
12962001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1297
1298 * fns.c (copy_hash_table): Remove unused variable `v'.
1299
17893c65
PJ
1300 * fontset.c (fontset_font_pattern): Remove unused variable
1301 `family_registry'.
1302
4d994a79
PJ
1303 * indent.c (current_column_1): Remove unused variable `prev_col'.
1304
d5360cc7
RS
13052001-11-05 Richard M. Stallman <rms@gnu.org>
1306
1307 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1308
1309 * buffer.c (Fkill_buffer): Don't delete auto save file
1310 if buffer is modified.
1311
96238a5a
AI
13122001-11-05 Andrew Innes <andrewi@gnu.org>
1313
1314 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1315 CHECK_NUMBER_CDR.
1316
d9d54213
RS
13172001-11-05 Richard M. Stallman <rms@gnu.org>
1318
1319 * unexelf.c (unexec): Minor changes; clean up comments.
1320
b116830b
SS
13212001-11-05 Sam Steingold <sds@gnu.org>
1322
1323 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1324
3297e2a1
AS
13252001-11-05 Andreas Schwab <schwab@suse.de>
1326
1327 * sound.c (sound_perror): Save errno from being clobbered.
1328
9212319f 13292001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1330
1331 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1332 the program image directly.
1333
7dd73b78
PJ
13342001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1335
1336 * buffer.h (Fbuffer_local_value): Add prototype.
1337
982f6c7e
RS
13382001-11-04 Richard M. Stallman <rms@gnu.org>
1339
d31053f9
RS
1340 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1341 and CHECK_BUFFER.
1342
1343 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1344 (record_char): Likewise.
1345
1346 * keyboard.c (make_lispy_event): Don't insist a drag event must
1347 move to a different buffer position. Instead, check for moving at
1348 least double_click_fuzz.
1349
1350 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1351
1352 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1353
982f6c7e
RS
1354 * indent.c (current_column_1, Fmove_to_column): Separate the code
1355 for display-table glyphs from the code buffer text, to fix
1356 bugs in the former.
1357
830047fd
RS
13582001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1359
1360 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1361 (syms_of_buffer): Defsubr it.
b116830b 1362
830047fd
RS
1363 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1364 value of `cursor-in-non-selected-windows'.
1365
1366 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1367 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1368 (syms_of_xdisp): Initialize it.
b116830b 1369
2df5238c
PJ
13702001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1371
4e397688
PJ
1372 * xfns.c (Fx_create_frame): Doc fix.
1373
48b0f3ae
PJ
1374 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1375 keyword].
1376
2df5238c
PJ
1377 * eval.c (top_level_value, top_level_set): Remove commented and
1378 #ifdef'd-out code.
1379 (Fdefvar): Fix usage in doc-string.
1380
3ecaf7e5
RS
13812001-11-03 Richard M. Stallman <rms@gnu.org>
1382
1383 * xfns.c: Include unistd.h, if it exists.
1384
1385 * editfns.c: Move the include of ctype.h after unistd.h.
1386
1387 * gmalloc.c: Test BROKEN_PROTOTYPES.
1388
8db2e33b
KR
13892001-11-03 Ken Raeburn <raeburn@gnu.org>
1390
1391 * lisp.h (CHECK_STRING_CAR): New macro.
1392 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1393 treating XCAR and XCDR as lvalues.
1394 (openp): Use CHECK_STRING_CAR.
1395 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1396
aed29b97
EZ
13972001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1398
1399 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1400 (SIGMASKTYPE): Define.
aed29b97
EZ
1401
1402 * syssignal.h (sigunblock): Don't define if already defined.
1403
6cb16f95
PJ
14042001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1405
16b45be4
EZ
1406 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1407 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1408 Fix typos in comments.
1409
020f9b38
PJ
1410 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1411 and #ifdef'd-out code.
1412 Fix and reindent comments.
1413
c191d13c 1414 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1415
6cb16f95
PJ
1416 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1417 argument `i' in macros.
1418
1419 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1420 `i' in macros.
1421
16b45be4
EZ
1422 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1423 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1424 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1425 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1426 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1427 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1428 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1429 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1430 in macros.
1431
1432 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
1433 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1434 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1435 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1436 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1437 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1438 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1439 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1440 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
1441 (remove unused second argument).
1442
7e9d3c2f
SM
14432001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1444
1445 * syntax.c (describe_syntax): New wrapper.
1446 (Finternal_describe_syntax_value): Rename from describe_syntax.
1447 Don't insert space at front and \n at the end.
1448 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1449
1450 * regex.c (re_wctype): Try to fix some warnings.
1451 (regcomp, regexec): Don't forget the __restrict.
1452
e6bff182
RS
14532001-11-02 Richard M. Stallman <rms@gnu.org>
1454
1455 * textprop.c (Fget_char_property): Doc fix.
1456
9ba48103
PJ
14572001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1458
1459 * process.c (Fstart_process): Add usage to doc-string.
1460
1461 * data.c (Fsetq_default): Ditto.
1462
1463 * callint.c (Finteractive): Ditto.
1464
c22e59e1
SM
14652001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1466
1467 * macros.c: Don't include keymap.h any more.
1468
9271ed2c
RS
14692001-11-01 Richard M. Stallman <rms@gnu.org>
1470
e6bff182
RS
1471 * data.c (Fmake_local_variable): Doc fix.
1472
1473 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1474 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1475
9271ed2c
RS
1476 * keymap.c (Fdescribe_buffer_bindings): Print character property
1477 bindings along with or instead of the buffer local map.
1478 Make the overriding maps override what they should.
1479
8b8bd9c6
PJ
14802001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1481
1482 * window.c (grow_mini_window): Fix typo in comment.
1483
27188d11
GM
14842001-11-01 Gerd Moellmann <gerd@gnu.org>
1485
7b49b9d2
GM
1486 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1487 (XTset_vertical_scroll_bar): Likewise.
1488
43f7c3ea
GM
1489 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1490 instead of IMAGE_BACKGROUND.
c22e59e1 1491
b350c2e5
GM
1492 * xfns.c (four_corners_best): Reindent.
1493
c22e59e1 1494 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1495 Handle :box so that it is possible to specify sexprs.
1496
d576358b
PJ
14972001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1498
1499 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1500 (Fface_font): Ditto.
1501 (Finternal_set_alternative_font_registry_alist): Ditto.
1502 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1503
1504 * xfns.c (x-get-resource): Reindent.
1505
bf00d461
EZ
15062001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1507
1508 * s/hpux11.h: New file.
1509
4e10df59
PJ
15102001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1511
2b209b97
PJ
1512 * emacs.c (USAGE1): Show command line option --no-window-system
1513 instead of --no-windows in usage.
1514 (standard_args): Rename --no-windows to --no-window-system.
1515 (bug_reporting_address): Follow Emacs coding conventions.
1516
9dbc9081
PJ
1517 * eval.c (Fcommandp): Doc fix.
1518 Change doc-string comments to `new style' [w/`doc:' keyword].
1519
4e10df59
PJ
1520 * frame.c (Fframe_live_p): Doc fix.
1521
1522 * buffer.c (selective-display-ellipses): Doc fix.
1523
dd387b25
GM
15242001-10-31 Gerd Moellmann <gerd@gnu.org>
1525
fe957e65
GM
1526 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1527
dd387b25
GM
1528 * xfaces.c (realize_x_face): If C is not a single-byte character,
1529 set the face's colors_copied_bitwise_p instead of the defaulted_p
1530 members which have a different meaning.
1531 (free_face_colors): Do nothing for a face whose colors have been
1532 copied bitwise.
1533
c22e59e1 1534 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1535
2e1280f8
PJ
15362001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1537
687784e8
PJ
1538 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1539 [w/`doc:' keyword].
2e1280f8 1540
b9d9a9b9
GM
15412001-10-31 Gerd Moellmann <gerd@gnu.org>
1542
1543 * fns.c (require_unwind): Return Lisp_Object.
1544
48400103
PJ
15452001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1546
fa1361cb
PJ
1547 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1548 (last-input-char): Revert doc-string to be the same as the
1549 doc-string of `last-input-event'.
1550
48400103
PJ
1551 * xdisp.c: Fix typos in comments.
1552
eafa3196
GM
15532001-10-31 Gerd Moellmann <gerd@gnu.org>
1554
1555 * window.c (grow_mini_window): Handle case that the root
1556 window is already smaller than the nominal mininum height.
1557
747d3f2a
SM
15582001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1559
bf9bb76f
SM
1560 * emacs.c (main): Don't call keys_of_macros any more.
1561
1562 * lisp.h (keys_of_macros): Remove.
1563
1564 * macros.c (keys_of_macros): Remove.
1565
747d3f2a
SM
1566 * xfaces.c (Fface_attribute_relative_p): Declare args.
1567
5e905a57
JR
15682001-10-30 Jason Rumney <jasonr@gnu.org>
1569
1570 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1571 (enum_font_cb2): Ignore fonts with vertical orientation.
1572
3a426197
RS
15732001-10-30 Richard M. Stallman <rms@gnu.org>
1574
1575 * keyboard.c (Finput_pending_p): Doc fix.
1576
a742d646
GM
15772001-10-30 Gerd Moellmann <gerd@gnu.org>
1578
259cf6bc
GM
1579 * xterm.c (x_after_update_window_line): Don't run the code
1580 clearing in borders for rows whose visible height is 0.
1581
3f99f948
GM
1582 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1583 resized_p flag is set. If not set, use the much less flickering
1584 method previously used.
1585
1586 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1587
1588 * frame.h (struct frame) <resized_p>: New member.
1589
b4a3be43
GM
1590 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1591 as large as the number of bytes to convert.
747d3f2a 1592
a742d646
GM
1593 * lread.c (to_multibyte): New function.
1594 (read1): Use it.
1595
cacbb9e9
EZ
15962001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1597
1598 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1599
99cb6b2f
GM
16002001-10-30 Gerd Moellmann <gerd@gnu.org>
1601
327f42ee 1602 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1603 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1604 if the row's fill_line_p is set and drawing the last glyph with
1605 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1606
99cb6b2f
GM
1607 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1608
8e8223e2
SM
16092001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1610
1611 * xmenu.c: Include coding.h and charset.h.
1612 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1613 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1614 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1615 Explicitly set wv->help. Use `TRUE' rather than `True'.
1616 (menu_help_callback): Use empty_string.
1617
1618 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1619 (Fx_popup_dialog): Explicitly init f.
1620 (w32_menu_display_help): Use empty_string.
1621
4d083a8f
RS
16222001-10-29 Richard M. Stallman <rms@gnu.org>
1623
b2304472
RS
1624 * fns.c (Frequire): Detect recursive try to require the same
1625 feature 3 or more levels deep, and get error.
1626 (require_unwind): New subroutine.
1627 (require_nesting_list): New variable.
1628 (syms_of_fns): Init and staticpro it.
1629
4d083a8f
RS
1630 * print.c (print_object): Clarify indication of insertion type.
1631
2fe41216
EZ
16322001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1633
90480000
EZ
1634 * coding.c (syms_of_coding): Document that locale-coding-system is
1635 used for decoding input on X.
1636
2fe41216
EZ
1637 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1638
74e79967
PJ
16392001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1640
1641 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1642 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1643
60ebcfe8
GM
16442001-10-29 Gerd Moellmann <gerd@gnu.org>
1645
9a7bdceb
GM
1646 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1647 use NO_CURSOR if cursor_in_non_selected_windows is false.
1648
3f08fcd2
GM
1649 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1650 the slant attribute if FRAME is t.
1651
0ccfdad2
GM
1652 * xfns.c (x_set_internal_border_width): Set frame garbaged
1653 when X window doesn't exist yet.
1654
ef253080
GM
1655 * xterm.c (x_after_update_window_line): Clear internal border
1656 in different circumstances.
b116830b 1657
60ebcfe8
GM
1658 * xterm.c (XTread_socket) <KeyPress>: Don't use
1659 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1660 <handa@etl.go.jp>.
1661
73d25f9c
EZ
16622001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1663
1664 * m/ibms390.h: New file. From Adam Thornton
1665 <athornton@sinenomine.net>.
1666
cac1daf0
GM
16672001-10-28 Gerd Moellmann <gerd@gnu.org>
1668
053b3256 1669 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1670
cac1daf0
GM
1671 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1672 a loop counter.
1673
13b1a09c
PJ
16742001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1675
186486eb
PJ
1676 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1677
4707d2d0
PJ
1678 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1679 keyword].
1680 Fix typos in comments.
b116830b 1681
d883731c
PJ
1682 * emacs.c (bug_reporting_address): New function.
1683 Use it when displaying usage message.
1684
04012254
PJ
1685 * minibuf.c (read_minibuf): Remove unused external declaration of
1686 variable `Qread_only'.
1687
13b1a09c
PJ
1688 * keymap.c (access_keymap): Remove unused variable `charset'.
1689
5bbf4378
MB
16902001-10-28 Miles Bader <miles@gnu.org>
1691
1692 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1693 Remove #ifdef'd-out code.
1694 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1695 (syms_of_xfaces): Initialize them.
1696
1ce1e4ee
JR
16972001-10-27 Jason Rumney <jasonr@gnu.org>
1698
1699 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1700 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1701 position using the system caret.
1702
1703 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1704 (w32_system_caret_height, w32_system_caret_x)
1705 (w32_system_caret_y): New variables for tracking system caret.
1706 (w32_initialize): Initialize them.
c2d53558 1707 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1708
c2d53558
SM
1709 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1710 New messages types.
1ce1e4ee
JR
1711
1712 * w32term.c (note_mouse_highlight): Clear old help_echo.
1713
4e30ce42
PJ
17142001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1715
bb4600a4
PJ
1716 * xterm.c: Fix typo in a comment.
1717
7db35a48
PJ
1718 * emacs.c: Fix typos in comments.
1719 Remove unnecessary spaces.
1720 Change doc-string comments to `new style' [w/`doc:' keyword].
1721 (USAGE2): Fix typos in usage string.
1722
a7248e4f
PJ
1723 * xterm.c: Fix typo in a comment.
1724
4e30ce42
PJ
1725 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1726 emacs.c.
1727
62725a92
GM
17282001-10-27 Gerd Moellmann <gerd@gnu.org>
1729
798dbe1f 1730 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1731 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1732 farther backward when target_y was not reached.
1733
62725a92
GM
1734 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1735 Display errno only if non-zero.
1736 (sound_warning): New function.
1737 (vox_configure): Don't treat failing to set sample rate as error.
1738 (various places): Improve error messages.
1739
d4e34d24
EZ
17402001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1741
944e6f60
EZ
1742 * fileio.c (Faccess_file): Run the argument filename through
1743 Fexpand_file_name, before using it.
1744
d4e34d24
EZ
1745 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1746 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1747
38d2af0c
GM
17482001-10-26 Gerd Moellmann <gerd@gnu.org>
1749
da80a8d5
GM
1750 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1751
38d2af0c
GM
1752 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1753 Fix clearing in the case of scroll bars on the right.
c2d53558 1754
56f508dd
EZ
17552001-10-26 Juanma Barranquero <lektu@terra.es>
1756
1757 * w32gui.h (XImage): Add a dummy typedef.
1758
fbd5ceb2
GM
17592001-10-26 Gerd Moellmann <gerd@gnu.org>
1760
c2d53558 1761 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1762
b23236fb
EZ
17632001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1764
1765 * frame.c (Fframe_parameter): Fix last change.
1766
5d991fc4
EZ
1767 * fileio.c: Revert last change (which removed old commented-out
1768 version of expand-file-name). Add a comment that explains why
1769 this old version should not be removed.
1770
879eadc3
GM
17712001-10-25 Gerd Moellmann <gerd@gnu.org>
1772
75700ff2
GM
1773 * frame.c (Fframe_parameter): Fix a bug whereby some
1774 ``artificial'' frame parameters, like `minibuffer' were not
1775 obtained by calling Fframe_parameters.
1776
dfe92a6a
GM
1777 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1778 cursor differently.
1779
879eadc3
GM
1780 * xdisp.c (move_it_vertically_backward): Compute line height
1781 differently. Add heuristic to try to be more compatible to 20.x.
1782
e1010ebe
SM
17832001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1784
d73a471b
SM
1785 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1786
d6da5a06
GM
1787 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1788 boolean.
e1010ebe 1789
f66bd220
MB
17902001-10-25 Miles Bader <miles@gnu.org>
1791
1792 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1793 BG is a pointer to a structure, not a structure.
1794 (gif_format, png_format): Add missing commas.
1795
d436d538
RS
17962001-10-24 Richard M. Stallman <rms@gnu.org>
1797
1798 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1799 (syms_of_xfaces): Defsubr it.
d436d538 1800
075c507b
PJ
18012001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1802
1803 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1804 variable `area'.
1805
d492b584
PJ
18062001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1807
c2d53558 1808 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1809
e2a57b34
MB
18102001-10-25 Miles Bader <miles@gnu.org>
1811
1812 * dispextern.h (struct image): Add `background',
1813 `background_valid', and `background_transparent' fields.
1814 (image_background, image_background_transparent): New declarations.
1815 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1816 * xfns.c (image_background, image_background_transparent)
1817 (four_corners_best): New functions.
c2d53558 1818 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1819 (gs_format): Add `:background' entry.
1820 (lookup_image): Set IMG's background color if specified.
1821 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1822 when appropriate.
1823 (x_clear_image_1): Reset `background_valid' and
1824 `background_transparent_valid' fields.
1825 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1826 calculating it here. Set IMG's background_transparent field.
1827 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1828 (enum png_keyword_index): Add PNG_BACKGROUND.
1829 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1830 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1831 (enum gif_keyword_index): Add GIF_BACKGROUND.
1832 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1833 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1834 Pre-calculate image background color where necessary.
1835 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1836 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1837 color to use for image glyph reliefs.
1838
b547b6e8
GM
18392001-10-24 Gerd Moellmann <gerd@gnu.org>
1840
d9e3b8c6
GM
1841 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1842 in full-width rows.
c2d53558 1843
b547b6e8
GM
1844 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1845 Fix clearing of area not covered by scroll bar.
1846
2beb36f9
PJ
18472001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1848
1849 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1850 and `real_start'.
c2d53558 1851 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1852 (glyph_rect): Remove unused variable `area'.
1853
76cb5e06
GM
18542001-10-24 Gerd Moellmann <gerd@gnu.org>
1855
bdbdebff 1856 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1857
1858 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1859 (row_containing_pos): Take additional argument DY.
1860 Treat rows ending in middle of char differently.
62e33982
GM
1861 (display_line): Handle tabs on window systems differently.
1862
1863 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1864 with additional argument.
1865
1866 * dispextern.h (row_containing_pos): Adjust prototype.
1867
76cb5e06
GM
1868 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1869 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1870 (try_window_id, try_window_reusing_current_matrix)
1871 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1872 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1873
996fee11
PJ
18742001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1875
c9e60620
PJ
1876 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1877 gnuemacs).
1878 (HAVE_BOXES): Fix typo in comment.
1879 (push_menu_pane): Fix typo in comment.
1880
3b552d56
PJ
1881 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1882 of `Qwhen'.
1883 (single_display_prop_string_p): Remove unused local declarations
1884 of `Qwhen' and `Qmargin'.
1885 (string_buffer_position): Remove unused variable `around'.
1886 (store_frame_title): Remove unused variable `width'.
1887
15c565ac
PJ
1888 * window.c: Don't define max.
1889 (coordinates_in_window): Remove unused variable `uy'.
1890
a8818eb9
PJ
1891 * widget.c: Don't define max.
1892
996fee11
PJ
1893 * process.c: Don't define max.
1894 (create_process): Remove unused variable `buffer'.
1895
496e1a5b
GM
18962001-10-23 Gerd Moellmann <gerd@gnu.org>
1897
c2d53558 1898 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1899
5905ae8b
EZ
19002001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1901
1902 * xfaces.c (Finternal_set_lisp_face_attribute)
1903 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1904 frame is on a windowed display.
1905
24db49fb
GM
19062001-10-23 Gerd Moellmann <gerd@gnu.org>
1907
c2d53558
SM
1908 * dispnew.c (sync_window_with_frame_matrix_rows):
1909 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1910 of marginal areas.
1911
c2d53558 1912 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1913
f0487f05
EZ
19142001-10-23 Andreas Schwab <schwab@suse.de>
1915
1916 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1917 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1918
f0a48a01
GM
19192001-10-23 Gerd Moellmann <gerd@gnu.org>
1920
c2d53558 1921 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1922 REAL_END. Notice if cursor gets overwritten.
1923 (notice_overwritten_cursor): Take X positions as parameters.
1924 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1925 around call to x_draw_glyphs.
1926
a50a10a0
PJ
19272001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1928
fc11dff0
PJ
1929 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1930 instead of C) and usage.
a50a10a0 1931
fc11dff0
PJ
1932 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1933 of C) and usage.
a50a10a0
PJ
1934
1935 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1936 `left', `max_width' and `max_height'.
1937
8738febd
GM
19382001-10-23 Gerd Moellmann <gerd@gnu.org>
1939
1940 * xdisp.c (display_line): For a tab continued to the next line,
1941 set row's ends_in_middle_of_char_p.
1942
653c329b
GM
19432001-10-22 Gerd Moellmann <gerd@gnu.org>
1944
1945 * xdisp.c (display_line): Fix computation of continuation lines
1946 width for TABs.
1947
f958c5ac
PJ
19482001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1949
7ba51063
PJ
1950 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1951 `Qlaplace'.
1952
f958c5ac
PJ
1953 * fileio.c: Remove unused code.
1954
eb360291
MB
19552001-10-22 Miles Bader <miles@gnu.org>
1956
1957 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1958 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1959 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1960
98515cf0
JR
19612001-10-21 Jason Rumney <jasonr@gnu.org>
1962
1963 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1964
93026d88
EZ
19652001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1966
1967 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1968 (Finsert_string): Avoid the multi-line string literals warning.
1969
c9a95b79
MB
19702001-10-22 Miles Bader <miles@gnu.org>
1971
1972 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1973 (Fdocumentation): Don't use it.
1974 (syms_of_doc): Don't initialize it.
1975
1976 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1977 * print.c (Fwith_output_to_temp_buffer): Likewise.
1978 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1979 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1980 (Fsave_restriction): Likewise.
c2d53558
SM
1981 * eval.c (Frun_hooks, Frun_hook_with_args)
1982 (Frun_hook_with_args_until_failure)
1983 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1984 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1985 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1986 (Funwind_protect, Fcondition_case): Likewise.
1987 * coding.c (Ffind_operation_coding_system): Likewise.
1988 * keyboard.c (Ftrack_mouse): Likewise.
1989
a3b10252
MB
19902001-10-21 Miles Bader <miles@gnu.org>
1991
c2d53558 1992 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1993 (Fmake_hash_table): Add usage: string to doc string.
1994 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1995 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1996 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1997 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1998 (Fml_prefix_argument_loop): Likewise.
1999
c6f73eec
PJ
20002001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2001
c2d53558 2002 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 2003
c6f73eec
PJ
2004 * sysdep.c (init_sys_modes): Change doc-string comments to `new
2005 style' [w/`doc:' keyword].
2006
2007 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
2008 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
2009 comments to `new style' [w/`doc:' keyword].
2010
3cf3436e
JR
20112001-10-21 Jason Rumney <jasonr@gnu.org>
2012
2013 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
2014
c169b8f1
JR
2015 * w32term.c (remember_mouse_glyph): New function.
2016 (w32_mouse_position): Use it.
2017 (note_mouse_movement): If the mouse moved off the glyph, remember
2018 its new position.
c2d53558 2019
4fdd691b
JR
2020 * w32term.h (struct w32_output): Correct spelling of x_compatible.
2021 (w32_display_info): Add mouse_face_overlay.
2022
c169b8f1
JR
2023 * w32term.c (notice_overwritten_cursor): Renamed from
2024 note_overwritten_text_cursor. Rewritten to take glyph widths into
2025 account.
2026 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2027 (fast_find_string_pos): New function.
2028 (fast_find_position): Return the correct vpos. Add parameter
2029 STOP. In the final row, stop before glyphs having STOP as object.
2030 Don't consider glyphs that are not from a buffer.
2031 (fast_find_position) [0]: Add a presumably more correct version
2032 for after 21.1.
2033 (expose_window_tree, expose_frame): Don't compute intersections here.
2034 (expose_window): Do it here instead.
2035 (expose_window_tree, expose_window, expose_line): Return 1 when
2036 overwriting mouse-face.
2037 (expose_window): If W is the window currently being updated, mark
2038 the frame garbaged.
2039 (expose_frame): If mouse-face was overwritten, redo it.
2040 (x_use_underline_position_properties): New variable.
2041 (syms_of_xterm): DEFVAR_BOOL it.
2042 (x_draw_glyph_string): Add comment to use it in future.
2043 (x_draw_glyph_string): Restore clipping after drawing box.
2044 Fix a computation of the underline position.
2045 (w32_get_glyph_string_clip_rect): Minor cleanup.
2046 (x_fill_stretch_glyph_string): Remove an assertion.
2047 (x_produce_glyphs): Don't convert multibyte characters
2048 to unibyte characters in unibyte buffers.
2049 (cursor_in_mouse_face_p): New function.
2050 (x_draw_stretch_glyph_string): Use it to choose a different GC
2051 when drawing a cursor within highlighted text. Don't draw
2052 background again if it has already been drawn.
2053 (x_draw_glyph_string_box): Don't draw a full-width
2054 box just because the glyph row's full_width_p flag is set.
2055 (x_draw_glyphs): Fix computation of rightmost x for
2056 full-width rows.
2057 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2058 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
2059 change bottom shadow accordingly. Some cleanup.
2060 (x_update_window_end): Handle overwritten mouse face
2061 also for tool bar windows.
2062 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2063 DRAW is DRAW_IMAGE_RAISED.
2064 (clear_mouse_face): Return 1 if text with mouse face was
2065 actually redrawn. Make the function static. Reset
2066 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
2067 optimize away highlighting if we pass over that same overlay again.
2068 (note_mouse_highlight): Call mouse_face_overlay_overlaps
2069 to detect a case where we have to highlight a different region
2070 despite not having left the currently highlighted region.
2071 Set mouse_face_overlay in the x_display_info. Avoid changing the
2072 mouse pointer shape when show_mouse_face has already done it, or
2073 there is no need. Handle mouse-face and help-echo in strings.
2074 (glyph_rect): New function.
2075 (w32_mouse_position): Use it to raise the threshold for mouse
2076 movement event generation.
2077 (w32_initialize_display_info): Initialize the x_display_info's
2078 mouse_face_overlay.
2079 (w32_set_vertical_scroll_bar): Don't clear a zero height
2080 or width area.
2081 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2082 a widget to zero height.
2083
3cf3436e 2084 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 2085 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
2086 equivalents in menu_items.
2087 (w32_menu_show): Don't overwrite an item's name with its key
2088 description in case the description is a multibyte string.
2089 (single_submenu): Some cleanup.
2090
2091 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
2092 (postprocess_image): New function.
2093 (lookup_image): Call it for all image types except PostScript.
2094 (x_kill_gs_process): Call postprocess_image.
2095 (tiff_error_handler, tiff_warning_handler): New functions.
2096 (tiff_load): Install them as handlers.
2097 (x_kill_gs_process): Recognize if someone has cleared the image
2098 cache under us.
2099 (valid_image_p): Protect better against invalid image
2100 specifications. Previous code could signal an error.
2101 (Fx_hide_tip, Fshow_tip): Doc fix.
2102 (Fv_max_tooltip_size): New variable.
2103 (syns_of_xfns): DEFVAR_LISP it.
2104 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
2105 window buffer to *tip* right after creating the frame. Set frame's
2106 window_width. Use a maximum tooltip size specified by
2107 Vx_max_tooltip_size, if that has valid contents.
2108 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2109 Make sure the tooltip is completely visible.
2110 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2111 (Fx_create_frame): Adjust the frame's height for presence
2112 of the tool bar before calling x_figure_window_size.
2113 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
2114 when the window gets smaller.
2115 (x_set_foreground_color): Set frame's cursor_pixel.
2116 (x_set_foreground_color, x_set_background_color): Cleaned up.
2117 (x_set_font): Handle case of x_new_fontset returning the same name
2118 as before, although there was a change in fontsets.
2119
386ca361
MB
21202001-10-21 Miles Bader <miles@gnu.org>
2121
c2d53558 2122 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
2123 (Flogxor): Add usage: string to doc string.
2124 * charset.c (Fstring): Likewise.
2125 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
2126 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
2127
14ff1ee0
PJ
21282001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2129
03be2694
PJ
2130 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2131
2132 * alloc.c: Reindent DEFUNs with doc: keywords.
2133
2134 * abbrev.c (Finsert_abbrev_table_description): Reindent.
2135
14ff1ee0
PJ
2136 * frame.c: Change doc-string comments to `new style' [w/`doc:'
2137 keyword].
2138
71431a0e
GM
21392001-10-20 Gerd Moellmann <gerd@gnu.org>
2140
6aa97356 2141 * (Version 21.1 released.)
71431a0e 2142
39f624fa
PJ
21432001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2144
c2d53558 2145 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
2146
2147 * xdisp.c (invisible_text_between_p): Put prototype inside #if
2148 0 because unused.
2149
2150 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
2151 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
2152 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 2153
abcce93a
MB
21542001-10-20 Miles Bader <miles@gnu.org>
2155
2156 The following changes remove the glyph_row `inverse_p' field,
2157 which is never set anymore, due to other changes:
2158
2159 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
2160 (reassert_line_highlight, change_line_highlight): Declarations removed.
2161 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
2162 (line_hash_code, row_equal_p, fake_current_matrices)
2163 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
2164 (update_frame_line, update_frame_line, update_frame_line):
2165 Don't use `inverse_p' field.
2166 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2167 change_line_highlight_hook.
2168 (XTreassert_line_highlight, x_change_line_highlight):
2169 Functions removed.
c2d53558 2170 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2171 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2172 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2173 `inverse_p' field.
c2d53558 2174 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2175 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2176 (w32_reassert_line_highlight, x_change_line_highlight):
2177 Functions removed.
2178 * w32console.c (reassert_line_highlight, change_line_highlight):
2179 Functions removed.
2180 (initialize_w32_display): Don't set reassert_line_highlight_hook
2181 or change_line_highlight_hook.
2182 (hl_mode): Function removed.
c2d53558
SM
2183 (reset_terminal_modes, set_terminal_modes, update_begin)
2184 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2185 (clear_frame, ins_del_lines): Don't call it.
2186 * termhooks.h (reassert_line_highlight_hook)
2187 (change_line_highlight_hook): Declarations removed.
2188 * term.c (reassert_line_highlight_hook)
2189 (change_line_highlight_hook): Variables removed.
2190 (reassert_line_highlight, change_line_highlight): Functions removed.
2191 * msdos.c (IT_reassert_line_highlight)
2192 (IT_change_line_highlight): Functions removed.
2193 (internal_terminal_init): Don't set reassert_line_highlight_hook
2194 or change_line_highlight_hook.
2195 (highlight): Variable removed.
c2d53558 2196 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2197 (IT_set_terminal_modes): Don't set or use it.
2198
2199 The following changes remove inverse-video support for terminals
2200 that use a `magic cookie' standout mode. Due to changes in the
2201 way mode-lines are displayed, such support no longer works
2202 anyway, and it's probable that almost no one uses such terminals
2203 anymore:
2204
2205 * term.c (standout_requested): Variable removed.
2206 (update_end, highlight_if_desired): Don't use it.
2207 (chars_wasted, copybuf): Variables removed.
2208 (write_standout_marker): Function removed.
c2d53558 2209 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2210 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2211 Don't use `chars_wasted' or `copybuf'.
2212 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2213 Set `costs_set' to true.
2214 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2215 `chars_wasted'.
2216 (clear_end_of_line): Function removed.
2217 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2218 (clear_to_end): Call `clear_end_of_line' instead of
2219 `clear_end_of_line_raw'.
54800acb
MB
2220 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2221 (term_init): Don't set them.
2222 Turn off any standout/underline modes that require magic cookies.
c2d53558 2223 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2224 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2225 Remove special processing for magic-cookie standout modes.
2226 (turn_off_face, turn_on_face): Remove special processing for
2227 underline magic-cookie glitch.
abcce93a 2228
0b5f679f
RS
22292001-10-19 Richard M. Stallman <rms@gnu.org>
2230
2231 * eval.c (syms_of_eval): Doc fixes.
2232
5a4a5bd4
GM
22332001-10-19 Gerd Moellmann <gerd@gnu.org>
2234
2235 * xdisp.c (redisplay_internal): Don't clear echo area if the
2236 mini-window is selected.
2237
79f1f96c
MB
22382001-10-19 Miles Bader <miles@gnu.org>
2239
b57c2708
MB
2240 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2241 doesn't take precedence if the affected property's value is nil.
2242
2243 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2244
79f1f96c
MB
2245 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2246 with fields and suggest using `forward-line' to avoid them.
2247 * editfns.c (Fline_beginning_position, Fline_end_position):
2248 Clarify documentation.
2249
ef879104
SM
22502001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2251
2252 * keymap.c (current_minor_maps): `override' only shadows its
2253 correspondent in minor-mode-map-alist, not the whole tail.
2254
97f4db8c
AI
22552001-10-18 Andrew Innes <andrewi@gnu.org>
2256
2257 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2258 optimization. The fontp->encoding array was not being initialized
2259 correctly when compiled with optimizations by MSVC.
2260
e6b70fd8
GM
22612001-10-18 Gerd Moellmann <gerd@gnu.org>
2262
30903479 2263 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2264
0e804d38
AI
22652001-10-17 Andrew Innes <andrewi@gnu.org>
2266
2267 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2268
2269 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2270 font_info.charset field.
2271
2272 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2273 rather than working it out by calling w32_codepage_for_font for
2274 every glyph.
2275
66e5868a
AI
22762001-10-17 Andrew Innes <andrewi@gnu.org>
2277
2278 * w32term.c (w32_read_socket): Determine clipping rectangle for
2279 the entire frame, including areas covered by scrollbars and the
2280 menubar. This avoids internal arguments about whether a frame is
2281 fully obscured or not.
2282
15b00083
GM
22832001-10-17 Gerd Moellmann <gerd@gnu.org>
2284
23e8bd86
GM
2285 * xdisp.c (try_window_id): Undo last change. Give up if
2286 window ends in strings.
30903479 2287
9c6ba6d1 2288 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2289 end if the rest of the window after the window end was already blank.
23e8bd86 2290
30903479 2291 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2292 for the release of 21.1.
2293
30903479 2294 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2295
945220bd
MB
22962001-10-17 Miles Bader <miles@gnu.org>
2297
2298 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2299 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2300 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2301 Change doc-string comments to `new style' [w/`doc:' keyword].
2302 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2303 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2304 out make-docfile.
2305
14242528
MB
23062001-10-16 Miles Bader <miles@gnu.org>
2307
2308 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2309
3ddf952f
GM
23102001-10-16 Gerd Moellmann <gerd@gnu.org>
2311
2312 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2313 *scratch*.
2314
f3fbd155
KR
23152001-10-16 Ken Raeburn <raeburn@gnu.org>
2316
2317 Avoid the assumption that car and cdr slots of cons cells are
2318 addressable lvalues; this allows for easier experimentation with
2319 other lisp implementations that may not permit such accesses for
2320 various reasons. Not quite complete -- buffer.c still needs some
2321 work, and w32/mac files need rechecking -- so compile-time
2322 enforcement is left disabled for now.
2323
2324 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2325 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2326 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2327 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2328 (XSETCAR, XSETCDR): New macros.
2329 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2330 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2331 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2332 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2333 XSETCDR.
2334 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2335 * buffer.c (record_buffer, Fbury_buffer)
2336 (swap_out_buffer_local_variables, recenter_overlay_lists)
2337 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2338 fields of a cons cell respectively.
2339 * callint.c (quotify_args, Fcall_interactively): Likewise.
2340 * ccl.c (Fregister_code_conversion_map): Likewise.
2341 * coding.c (detect_coding_system): Likewise.
2342 * composite.c (get_composition_id, make_composition_value_copy):
2343 Likewise.
30903479
SM
2344 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2345 (swap_in_symval_forwarding, set_internal, Fset_default)
2346 (Fmake_variable_buffer_local, Fmake_local_variable)
2347 (Fmake_variable_frame_local): Likewise.
f3fbd155 2348 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2349 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2350 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2351 * minibuf.c (get_minibuffer): Likewise.
2352 * search.c (Fmatch_data): Likewise.
2353 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2354 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2355 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2356 Likewise.
2357 * w32term.c (x_delete_display): Likewise.
2358 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2359 Likewise.
c2d53558 2360 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2361 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2362 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2363 (Fread_file_name): Use XSETCAR.
2364 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2365 CHECK_NUMBER_CDR.
2366 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2367 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2368 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2369 CHECK_NUMBER_CDR.
2370 * keyboard.c (read_char): Alter list traversal to avoid taking the
2371 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2372 (parse_menu_item): Use XSETCAR and XSETCDR.
2373 (reach_char_x_menu_prompt): Use XSETCAR.
2374 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2375 (Fcommand_execute): Use XSETCDR.
2376 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2377 (openp): Change list traversal to avoid using XCAR as lvalue.
2378 (read_list): Use XSETCDR.
2379 * process.c (wait_reading_process_input): Change wait_for_cell
2380 handling to avoid taking addresses of cons cell slots.
30903479
SM
2381 * xselect.c (x_own_selection, x_handle_selection_clear)
2382 (x_clear_frame_selections): Use XSETCDR.
2383 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2384 (x_handle_property_notify, x_get_foreign_selection)
2385 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2386
502150e5
PJ
23872001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2388
018ba359
PJ
2389 * buffer.c: Put doc strings in comments.
2390
30903479 2391 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2392
b56ba8de
SS
23932001-10-15 Sam Steingold <sds@gnu.org>
2394
2395 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2396
6a0b793a
PJ
23972001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2398
30903479
SM
2399 * process.c (process-inherit-coding-system-flag)
2400 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2401 in comment.
2402
a1f17501 2403 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2404 arguments. Put doc strings in comments.
a65da641
PJ
2405
2406 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2407
aa601ad0
GM
24082001-10-15 Gerd Moellmann <gerd@gnu.org>
2409
30903479 2410 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2411
aa601ad0
GM
2412 * window.c (select_window_1): Unfreeze window start. Remove a
2413 doubled test for WINDOW being live.
2414
288148a1
PJ
24152001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2416
dd8d1e71
PJ
2417 * fns.c (Fmapconcat): Fix typo in a doc string.
2418
288148a1
PJ
2419 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2420
9f5eb4a3
GM
24212001-10-15 Gerd Moellmann <gerd@gnu.org>
2422
2423 * xterm.c (x_draw_glyph_string): Restore clipping after
2424 drawing box.
2425
dbae44c8
PJ
24262001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2427
30903479 2428 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2429
0c88c937
SM
24302001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2431
56378db4
GM
2432 * indent.c (skip_invisible): Use new retval of
2433 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2434
845e4cf4
SM
2435 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2436 If a parent is reached and noinherit is set, exit immediately.
2437 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2438
0c88c937
SM
2439 * s/ms-w32.h (EXEC_SUFFIXES):
2440 * s/msdos.h (EXEC_SUFFIXES):
2441 * process.h (EXEC_SUFFIXES): Remove.
2442
2443 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2444 (decode_suffixes): Remove.
2445
2446 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2447 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2448 (invisible_ellipsis_p): Remove.
0c88c937
SM
2449
2450 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2451 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2452 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2453 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2454 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2455
d19be8a9
PJ
24562001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2457
04d7d066
PJ
2458 * lisp.h (Ftop_level): Add prototype.
2459
d624284c
PJ
2460 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2461 (XTread_socket): Improve style of comments to follow other
2462 comments.
2463
a87414f9
PJ
2464 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2465 is already prototyped in included lisp.h).
2466
d19be8a9
PJ
2467 * frame.c (Fset_mouse_position): Improve style of comment to
2468 follow other comments.
2469 (Fset_mouse_pixel_position): Improve style of comment to follow
2470 other comments.
2471 (Fmake_frame_visible): Doc fix and typo in comment.
2472 (Fmake_frame_invisible): Doc fix and typo in comment.
2473 (Ficonify_frame): Fix typo in comment.
2474
c061c855
GM
24752001-10-14 Gerd Moellmann <gerd@gnu.org>
2476
37f6b5b6 2477 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2478 * term.c, alloc.c: Put doc strings in comments.
c061c855 2479
e641b454
GM
24802001-10-13 Gerd Moellmann <gerd@gnu.org>
2481
2482 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2483 Provide definitions for doc strings in comments.
2484
2485 * fns.c: Put doc strings in comments.
2486
51724e26
EZ
24872001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2488
2489 * dired.c (file_name_completion): Ignore a candidate directory if
2490 it matches an element in completion-ignored-extensions that ends
2491 in a slash.
2492 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2493 feature in the doc string.
2494 (Ffile_name_completion): Ditto.
2495
be5fc59b
SM
24962001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2497
5a1373f3
SM
2498 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2499
2500 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2501
2502 * lisp.h (Fprovide): Update prototype.
2503 (Ffeaturep, invisible_p): Remove.
2504
bbc4a3d3 2505 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2506 (DOLIST, LOOP_PROPVAL): New macros.
2507 (invisible_p, invisible_ellipsis_p): Use them.
2508 (invisible_noellipsis_p): New function.
2509 (syms_of_xdisp): Use empty_string.
2510
2511 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2512
2513 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2514 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2515
2516 * print.c (Fwith_output_to_temp_buffer): Align with
2517 internal_with_output_to_temp_buffer.
2518 (print_preprocess): Use traverse_intervals_noorder.
2519 (print_object): Update call to traverse_intervals.
2520
2521 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2522 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2523
2524 * intervals.c (traverse_intervals_noorder): New function.
2525 (search_for_interval, count_intervals): Use it.
2526 (traverse_intervals): Use less stack space and drop `depth' arg.
2527
2528 * fns.c (Ffeaturep): Add new `subfeature' arg.
2529 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2530 (Qsubfeatures): New var.
2531 (syms_of_fns): Initialize it.
2532
026f408d
SM
2533 * keymap.c (Fkey_description): Use empty_string.
2534 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2535 (syms_of_keymap): Setup inheritance between maps.
2536 Don't export Sdescribe_bindings_internal any more.
2537
be5fc59b
SM
2538 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2539
3365175e
GM
25402001-10-12 Gerd Moellmann <gerd@gnu.org>
2541
2542 * xterm.c (notice_overwritten_cursor): Renamed from
2543 note_overwritten_text_cursor. Rewritten to take glyph widths into
2544 account.
2545
2ab7765c
EZ
25462001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2547
2548 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2549 multi-line strings without a trailing "\n\".
2550
311346bb
PJ
25512001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2552
2553 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2554 defined.
2555
2168e04d
SM
25562001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2557
026f408d
SM
2558 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2559
c0ec53ad
SM
2560 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2561 * w32proc.c (sys_spawnve):
2562 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2563 * w32.c (check_windows_init_file):
2564 * sound.c (Fplay_sound):
026f408d 2565 * emacs.c (init_cmdargs):
c0ec53ad
SM
2566 * process.c (Fstart_process): Update calls to openp.
2567
2568 * callproc.c (Vexec_suffixes): New var.
2569 (Fcall_process): Update call to openp.
2570 (decode_suffixes): New function.
2571 (syms_of_callproc): Init exec-suffixes.
2572
2573 * lread.c (Vload_suffixes, default_suffixes): New vars.
2574 (openp): Take a lisp list of suffixes.
2575 Check for file-name-handlers even if the file was absolute already.
2576 (syms_of_lread): Declare load-suffixes.
2577 (Fload): Fix up call to openp.
2578 Don't bother checking for file-name-handler at the very beginning.
2579
f6333468
SM
2580 * keymap.h (Fcopy_keymap): Don't export.
2581
2582 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2583 (Vload_suffixes, Vexec_suffixes): Declare.
2584 (openp): Update prototype.
f6333468
SM
2585
2586 * emacs.c (empty_string): New var.
2587 (syms_of_emacs): Initialize it.
2588
2589 * search.c (wordify): Use it.
2590
2591 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2592 selected window if it's not displayed there. Handle the case
2593 when the window is dedicated.
2594 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2595
2596 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2597
2168e04d
SM
2598 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2599 Remove left_ok and right_ok.
2600 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2601 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2602 new meaning of b_property.
2603
2604 * syntax.c (update_syntax_table): Simplify.
2605 (Fforward_comment): Don't skip quoted chars when going backward.
2606
13d95cc0
GM
26072001-10-11 Gerd Moellmann <gerd@gnu.org>
2608
beb0990f
GM
2609 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2610 in case I is of some unsigned type, in which case
2611 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2612 comparison becomes bogus.
2613
cb938d46
GM
2614 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2615 (Fuser_full_name): Fix bug treating a float as a fixnum.
2616
2617 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2618
2619 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2620
13d95cc0
GM
2621 * lisp.h (circular_list_error): Add prototype.
2622
2623 * data.c (Qcircular_list): New variable.
2624 (circular_list_error): New function.
2625 (syms_of_data): Initialize it Qcircular_list.
2626
e35f6ff7
SM
26272001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2628
2629 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2630 casefiddle.c, buffer.c: Include keymap.h.
2631
619632ac
GM
26322001-10-10 Gerd Moellmann <gerd@gnu.org>
2633
2634 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2635 options. From Dave Love <d.love@dl.ac.uk>.
2636
5e5388f6
GM
26372001-10-09 Gerd Moellmann <gerd@gnu.org>
2638
2639 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2640 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2641
14a3dff7
GM
2642 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2643 unsigned char.
2644 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2645
76ba8daf
AI
26462001-10-08 Andrew Innes <andrewi@gnu.org>
2647
2648 * lisp.h [max]: Undef min and max before redefining them.
2649
2650 * w32gui.h: Do not undef min and max.
2651
2652 * w32heap.h: Do not undef min and max.
2653
2654 * s/ms-w32.h: Do not undef min and max.
2655
166253cb
SM
26562001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2657
2658 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2659
0c4d9527
SS
26602001-10-08 Sam Steingold <sds@gnu.org>
2661
2662 * keymap.c (current-active-maps): Quote newlines (compilation error).
2663
14bfa771
EZ
26642001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2665
2666 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2667 bindings.elc, since otherwise doc strings in bindings.el get wrong
2668 offsets in etc/DOC.
2669
bdb7aa47
SM
26702001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2671
9985827f
SM
2672 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2673
2674 * keyboard.h (map_prompt): Remove.
2675
2676 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2677 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2678
bdb7aa47
SM
2679 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2680
2681 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2682
2683 * keyboard.c (map_prompt): Remove.
2684 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2685 Use Fkeymap_prompt.
2686
2687 * keymap.h: New file. Extracted from lisp.h.
2688
9985827f
SM
2689 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2690 (accessible_keymaps_1): New function.
2691 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2692 (Fwhere_is_internal): Use Fcurrent_active_maps.
2693 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2694 Insert in current buffer rather than standard-output.
2695 Don't call `help-mode'. Export to elisp.
2696 (describe_buffer_bindings): New wrapper.
2697 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2698 and Sdescribe_buffer_bindings.
2699
402c9a51
GM
27002001-10-08 Gerd Moellmann <gerd@gnu.org>
2701
9985827f 2702 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2703 Remove code setting signal handler.
2704
9985827f 2705 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2706 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2707
3fe81fdf
PJ
27082001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2709
2710 * keyboard.c: Don't define min/max.
2711
55fa7820
GM
27122001-10-08 Gerd Moellmann <gerd@gnu.org>
2713
9985827f 2714 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2715 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2716 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2717 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2718 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2719 Don't define min/max.
2720
2721 * lisp.h (min, max): New macros.
2722
55fa7820
GM
2723 * puresize.h (BASE_PURESIZE): Increase to 725000.
2724
1aad31e4
PJ
27252001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2726
9180dc8c
PJ
2727 * xfaces.c (free_frame_menubar): Add prototype.
2728
01f67d2c
PJ
2729 * lisp.h (init_window): Add prototype.
2730
2731 * editfns.c: Include ctype.h.
2732
2733 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2734 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2735 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2736 variable `sb'.
2737
5f351ff1
PJ
2738 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2739 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2740 `popup_activated_flag' and `title'.
2741
479dfe87
PJ
2742 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2743
dff49fc8
PJ
2744 * emacs.c (main): Remove extra `;'.
2745
248ac615
PJ
2746 * atimer.h (struct atimer): Fix typos in a comment.
2747
2748 * atimer.c: Fix typo.
2749
af232c7d
PJ
2750 * Makefile.in: Fix typo.
2751
2752 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2753
d876f455
MB
27542001-10-07 Miles Bader <miles@gnu.org>
2755
2756 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2757
0037e2f2
KR
27582001-10-07 Ken Raeburn <raeburn@gnu.org>
2759
b056f36d
KR
2760 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2761 Lisp_Object.
2762
0037e2f2
KR
2763 * lisp.h (Ffield_end): Declare.
2764
1a4372ef
GM
27652001-10-07 Gerd Moellmann <gerd@gnu.org>
2766
a4a74e8c
GM
2767 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2768
2769 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2770
2771 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2772
2773 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2774
1a4372ef
GM
2775 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2776 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2777
2778 * alloc.c (inhibit_garbage_collection): Simplify.
2779 (Fmemory_use_counts): Ditto.
2780
9985827f 2781 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2782 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2783 most-negative-fixnum.
2784
9985827f 2785 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2786 (FIXNUM_OVERFLOW_P): New macros.
2787
4650e362
MB
27882001-10-06 Miles Bader <miles@gnu.org>
2789
2790 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2791 scroll_bar_bottom_shadow_pixel fields.
2792 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2793 for the shadows, and tell the toolkit about them if we succeed.
2794 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2795 Free scroll-bar shadow colors.
2796 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2797 Free scroll-bar shadow colors when the background color changes.
2798 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2799 Initialize scroll-bar shadow-color fields.
2800
ace64e0a
GM
28012001-10-05 Gerd Moellmann <gerd@gnu.org>
2802
2803 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2804
ec66bdc7
MB
28052001-10-05 Miles Bader <miles@gnu.org>
2806
9985827f
SM
2807 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2808 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2809 New functions (were in simple.el).
9985827f 2810 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2811 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2812 (syms_of_minibuf): Initialize them.
2813
a0fb4492
GM
28142001-10-05 Gerd Moellmann <gerd@gnu.org>
2815
2816 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2817 (tiff_load): Install them as error and warning handler.
2818
0bcf87c1
AI
28192001-10-04 Andrew Innes <andrewi@gnu.org>
2820
2821 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2822 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2823 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2824 (x_to_w32_charset): Handle private format for unknown charsets.
2825 Handle wildcards in charset spec, by ignoring them.
2826 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2827 "*-" prefix from charset.
2828 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2829 handle the truncated font spec form constructed by font_list_1, so
2830 that we correctly identify the charset fields. Don't remove "*-"
2831 prefix from charset.
2832 (w32_list_synthesized_fonts): Fix argument to alloca.
2833
c89e4bc5
GM
28342001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2835
2836 * window.h (MINI_WINDOW_P): Use NILP.
2837
2838 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2839
2840 * termhooks.h (struct input_event): Use proper type for `kind'.
2841
28422001-10-04 Gerd Moellmann <gerd@gnu.org>
2843
2844 This handles unknown keysyms better than before. For example,
2845 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2846 Emacs formerly completely ignored F5. With the change, it derives
2847 a key symbol from the name of the X keysym, `ccaron' in this case.
2848 Reported by Martin Buchholz.
2849
2850 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2851 unknown keysyms.
2852
2853 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2854 that EVENT->code isn't a function key, use the keysym's name.
2855
28562001-10-04 Gerd Moellmann <gerd@gnu.org>
2857
2858 FOREACH is a macro that should make it easier to loop over Lisp
2859 lists with checks for cycles and proper lists.
2860
2861 * lisp.h (LIST_END_P, FOREACH): New macros.
2862
28632001-10-04 Gerd Moellmann <gerd@gnu.org>
2864
2865 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2866 called for a lost connection. Prevent dumping core in this case.
2867 Instead print the X error, and exit. On user request.
2868
2869 * xterm.c (error_msg): New variable.
2870 (x_fatal_error_signal): New function.
2871 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2872 as fatal_error_signal_hook around the call to XtCloseDisplay.
2873
2874 * emacs.c (fatal_error_signal_hook): New variable.
2875 (fatal_error_signal): Call that function.
2876
28772001-10-04 Gerd Moellmann <gerd@gnu.org>
2878
2879 With this, Emacs prints how much pure storage it will
2880 approximately need in case pure storage overflows while dumping.
2881
2882 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2883 New variables.
2884 (init_alloc_once): Initialize new variables.
2885 (PURE_POINTER_P): Use new variables.
2886 (pure_alloc): If pure storage overflows, allocate from the heap.
2887 (check_pure_size): New function.
2888 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2889
2890 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2891 (check_pure_size): Add prototype.
2892
2893 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2894
28952001-10-04 Gerd Moellmann <gerd@gnu.org>
2896
2897 This adds a post-gc-hook that's run with GC inhibited.
2898 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2899
2900 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2901 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2902 (Fgarbage_collect): Run post-gc-hook.
2903
29042001-10-04 Gerd Moellmann <gerd@gnu.org>
2905
2906 This adds `defvaralias' and `indirect-variable'. Changes not
2907 directly related to this feature are there to gain the same
2908 performance again as before variable aliases.
2909
2910 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2911 code to get and set symbol values, to take defvaralias into account.
2912
2913 (Note: the new `constant' bit-flag in symbols would make it
2914 possible to define arbitrary read-only variables, e.g. with
2915 `defconst'.)
2916
2917 Documentation is in lispref/variables.texi. Added to NEWS.
2918
2919 * lisp.h (enum symbol_interned): New enumeration.
2920 (struct Lisp_Symbol): Remove member `obarray', add
2921 `indirect_variable', `constant', and `interned'.
2922 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2923 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2924 (indirect_variable): Add prototype.
2925
2926 * print.c (print_preprocess, print_object): Test internedness of
2927 symbols differently.
2928
2929 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2930 bit-fields.
2931 (init_obarray): Likewise for t and nil.
2932
2933 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2934 (Fdefvaralias): New function.
2935 (specbind): Simplify the test if symbol is a constant.
2936 (syms_of_eval): Defsubr Fdefvaralias.
2937
2938 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2939 (Qcyclic_variable_indirection): New variable.
2940 (Fkeywordp): Check for internedness differently.
2941 (Fmakunbound): Simplify the test if symbol is a constant.
2942 (indirect_variable, Findirect_variable): New functions.
2943 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2944 aliased symbol.
2945 (let_shadows_buffer_binding_p): Check for variable aliases.
2946 (set_internal): Simplify the test if SYMBOL is a constant.
2947 If SYMBOL has a buffer-local value and is an alias, use the aliased
2948 symbol instead.
2949 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2950 Sindirect_variable.
2951
2952 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2953 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2954 set directly.
2955
2956 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2957
2958 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2959 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2960 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2961
ab952a4f
GM
29622001-10-04 Gerd Moellmann <gerd@gnu.org>
2963
2964 * Branch for 21.1.
b56ba8de 2965
ba88ff28
MB
29662001-10-03 Miles Bader <miles@gnu.org>
2967
2968 * callproc.c (syms_of_callproc): Explicitly state in the
2969 documentation for `process-environment' that earlier entries take
2970 precedence over later ones.
2971
ae1a9581
MB
29722001-10-02 Miles Bader <miles@gnu.org>
2973
2974 * textprop.c (Fnext_char_property_change)
2975 (Fprevious_char_property_change): Remove reference to non-existant
2976 argument OBJECT from doc-string.
2977
257e3f57
GM
29782001-10-01 Gerd Moellmann <gerd@gnu.org>
2979
2980 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2981 (try_window_id): Skip back over lines ending in a newline from a
2982 string.
2983
2984 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2985 New bit flag
2986
c1f29759
RS
29872001-10-01 Richard M. Stallman <rms@gnu.org>
2988
2989 * search.c (Freplace_match): Doc fix.
2990
c30dce3d
AI
29912001-09-28 Andrew Innes <andrewi@gnu.org>
2992
2993 * w32menu.c (set_frame_menubar): Take into account that
2994 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2995 <raeburn@gnu.org>.
2996
03be5931
EZ
29972001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2998
2999 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
3000
75bec752
PJ
30012001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3002
3003 * s/gnu-linux.h: Fix a typo in comment.
3004
83100e0a
AS
30052001-09-28 Andreas Schwab <schwab@suse.de>
3006
3007 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
3008 nocombreloc, in case -z combreloc is the default.
3009
a74b48cf
GM
30102001-09-28 Gerd Moellmann <gerd@gnu.org>
3011
3012 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
3013 really going on here.
3014
09c4719e
SM
30152001-09-27 Stefan Monnier <monnier@cs.yale.edu>
3016
3017 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
3018
f7d5d963
EZ
30192001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
3020
3021 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
3022 utf-8, menu-bar, and latin-N.
3023 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
3024 unconditionally now.
3025 (lisp): Add latin-N, since they are preloaded.
3026
9240e746
GM
30272001-09-27 Gerd Moellmann <gerd@gnu.org>
3028
14531065
GM
3029 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
3030 to the left. Some cleanup.
3031
9240e746
GM
3032 * xdisp.c (display_mode_element): One more case where a string's
3033 multibyteness should be used for display.
3034
edd1e654
GM
30352001-09-26 Gerd Moellmann <gerd@gnu.org>
3036
b02439c8
GM
3037 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
3038 reading at EOF.
3039
032906b1 3040 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 3041 of the only temporarily set echoing flag for deciding when
032906b1
GM
3042 the cancel echoing.
3043
3044 * keyboard.c (echo_kboard): Make externally visible.
3045
3046 * lisp.h (echo_kboard): Declare extern.
3047
cb617e7c 3048 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 3049 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
3050 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
3051 this round of redisplay if make_cursor_line_fully_visible fails.
3052 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 3053 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
3054
3055 * dispextern.h (required_matrix_width, required_matrix_height):
3056 Add prototypes.
3057
09c4719e
SM
3058 * dispnew.c (required_matrix_width, required_matrix_height):
3059 New functions.
cb617e7c 3060 (allocate_matrices_for_window_redisplay)
09c4719e
SM
3061 (allocate_matrices_for_frame_redisplay: Use them.
3062 Remove parameters CH_DIM.
cb617e7c 3063
edd1e654
GM
3064 * xdisp.c (display_mode_lines): Temporarily set selected_frame
3065 and selected_window to the frame of the window whose mode-lines
3066 are displayed, and to the window itself.
3067 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 3068 here.
edd1e654 3069
924b604c
GM
30702001-09-25 Gerd Moellmann <gerd@gnu.org>
3071
daba7643
GM
3072 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
3073 the image cache under us.
3074
b7a22712 3075 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 3076 with a string value, use that string's multibyteness for displaying.
b7a22712 3077
ad648212
GM
3078 * keyboard.c (read_char): Don't clear a message for a switch-frame
3079 event. From Stefan Monnier <monnier@cs.yale.edu>.
3080
9f8531e5
GM
3081 * xterm.c (fast_find_position) [0]: Add a presumably more correct
3082 version for after 21.1.
3083
3084 * xdisp.c (row_containing_pos): Make externally visible.
3085
3086 * dispextern.h (row_containing_pos): Add prototype.
3087
924b604c
GM
3088 * process.c (send_process): Disable composition if from_byte < 0.
3089 From Kenichi Handa <handa@etl.go.jp>.
3090
6f3f0db4
GM
30912001-09-24 Gerd Moellmann <gerd@gnu.org>
3092
c69c0ebc
GM
3093 * xterm.c (refreshicon): Function removed.
3094
d1182bc4
GM
3095 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
3096
3097 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
3098
3099 * xterm.c (toplevel): Remove includes in #if 0.
3100
6f3f0db4
GM
3101 * process.c (sigchld_handler) [LINUX]: Don't return from
3102 the signal handler at the end of the loop.
3103
59957f85
GM
31042001-09-21 Gerd Moellmann <gerd@gnu.org>
3105
09c4719e
SM
3106 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
3107 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 3108
a0528984
EZ
31092001-09-21 Markus Rost <rost@math.ohio-state.edu>
3110
3111 * Makefile.in (shortlisp): Add ../lisp/env.elc.
3112
db92b288
GM
31132001-09-20 Gerd Moellmann <gerd@gnu.org>
3114
3fed8ad5
GM
3115 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
3116 since this function can be called during GC.
3117
db92b288
GM
3118 * callproc.c (Fcall_process): Handle errors from pipe(2).
3119 (child_setup): Delete code in #ifdef vipc.
3120
7121b85a
GM
31212001-09-19 Gerd Moellmann <gerd@gnu.org>
3122
72f62cb5
GM
3123 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
3124 (display_mode_element): Display the string from decode_mode_spec
3125 depending on its multibyteness.
3126
a2697022
GM
3127 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
3128
7121b85a
GM
3129 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
3130
bfc97351
GM
31312001-09-18 Gerd Moellmann <gerd@gnu.org>
3132
c9063433
GM
3133 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
3134 recursive_edit_unwind.
3135 (recursive_edit_unwind): Set kboard state according to
3136 SINGLE-KBOARD.
3137
3fbdba3e
GM
3138 * buffer.c (modify_overlay): Don't do nothing if START == END;
3139 This can still be a modification, for example when an overlay has
3140 a before-string or after-string.
3141 (Fdelete_overlay): Prevent redisplay optimizations when deleting
3142 an overlay with before-string or after-string.
3143
1270031d
GM
3144 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
3145 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
3146
bfc97351
GM
3147 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
3148 first_unchanged_at_end_row is in front of
3149 last_unchanged_at_beg_row. This code should be removed after the
3150 release of 21.1.
3151
d8a973aa
GM
31522001-09-17 Gerd Moellmann <gerd@gnu.org>
3153
e18c8b8d
GM
3154 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
3155 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
3156
d8a973aa
GM
3157 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
3158 versions >= 2.95.
3159
ed7d6ba4
EZ
31602001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
3161
3162 * dired.c (Ffile_attributes): Doc fix.
3163
551629f9
GM
31642001-09-14 Gerd Moellmann <gerd@gnu.org>
3165
3166 * fileio.c (Ffile_symlink_p): Fix last change.
3167
3168 * filelock.c (current_lock_owner): Fix last change.
3169
4c8c7926
GM
31702001-09-13 Gerd Moellmann <gerd@gnu.org>
3171
620c4704
GM
3172 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3173 take that to mean that the buffer is too small.
3174
81c3310d
GM
3175 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3176 that to mean that the buffer is too small.
3177
06fd3792
GM
3178 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3179 current buffer's multibyteness when discarding the iterator's
3180 stack.
3181
4c8c7926
GM
3182 * xfns.c (Fx_window_property): Handle case that property gets
3183 deleted between the two calls to XGetWindowProperty.
3184
9a72e4c1
GM
31852001-09-11 Gerd Moellmann <gerd@gnu.org>
3186
bd819d14 3187 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3188
a41edd99
GM
3189 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3190 in addition to read-only.
3191
3192 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3193 to t in addition to read-only.
3194
3195 * lisp.h (Qinhibit_modification_hooks): Declare.
3196
3197 * insdel.c (Qinhibit_modification_hooks): New variable.
3198 (syms_of_insdel): Initialize and staticpro it.
3199
d4881c6a
GM
3200 * textprop.c (verify_interval_modification): Don't run
3201 modification-hooks if inhibit_modification_hooks.
3202
3203 * dispnew.c (set_window_cursor_after_update): Fix code
3204 finding glyph row containing cursor when cursor_in_echo_area
3205 is >= 0.
3206
9a72e4c1
GM
3207 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3208 (add_to_log): Use bcopy instead of strcpy.
3209 (init_from_display_pos): Use an explicit loop over bytes in
3210 overlay strings instead of calling index.
3211
f4a374a1
GM
32122001-09-10 Gerd Moellmann <gerd@gnu.org>
3213
300e57bd
GM
3214 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3215
3216 * dispnew.c (direct_output_for_insert): Don't change IT's
3217 stop_charpos to something in front of its current position.
3218
f4a374a1
GM
3219 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3220 `format'.
3221
7e4cbc91
RS
32222001-09-10 Richard M. Stallman <rms@gnu.org>
3223
3224 * frame.c (Fmouse_position): Doc fix.
3225
6afad91e
GM
32262001-09-07 Gerd Moellmann <gerd@gnu.org>
3227
3228 * xdisp.c (init_from_display_pos): Don't compare the result
3229 of calling index with NULL.
3230
f76e0368
GM
32312001-09-06 Gerd Moellmann <gerd@gnu.org>
3232
3233 * xfns.c (x_set_background_color): Don't change the colors
3234 of the X window of scroll bar widgets.
3235
9ead1b60
AI
32362001-09-05 Andrew Innes <andrewi@gnu.org>
3237
3238 * w32fns.c (w32_createwindow): Undo last change.
3239
c3b497b3
GM
32402001-09-05 Gerd Moellmann <gerd@gnu.org>
3241
08e1d6df
GM
3242 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3243
c3b497b3
GM
3244 * xdisp.c (string_buffer_position): Use *single_char_property*
3245 functions instead of the *single_property* functions.
b56ba8de 3246
8f860180
AI
32472001-09-04 Andrew Innes <andrewi@gnu.org>
3248
9a72e4c1
GM
3249 * w32term.c (w32_read_socket): Add more information to debugging
3250 output.
8f860180
AI
3251
3252 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3253 from Emacs frames, so that calls to GetClipBox in w32term.c
3254 correctly report when part of a frame is visible (including
3255 scrollbars, etc). This prevents repeated redrawing of frames when
3256 only a scrollbar is visible.
3257 (w32_wnd_proc): Add more frame information to debugging output.
3258
2ee1aa00
SM
32592001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3260
3261 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3262
e3b22517
GM
32632001-09-03 Gerd Moellmann <gerd@gnu.org>
3264
7e376260
GM
3265 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3266 help-echo for a string which doesn't have help-echo itself, use
3267 get-char-property to obtain the help-echo from the string's buffer
3268 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3269 have mouse-face, look ``under'' the string for mouse-face from an
3270 overlay.
3271 (fast_find_position): Add parameter STOP. In the final row, stop
3272 before glyphs having STOP as object. Don't consider glyphs that
3273 are not from a buffer.
3274
e3b22517
GM
3275 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3276
9a249bba
EZ
32772001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3278
3279 * fns.c (Fmd5): Doc fix.
3280
c9979669
GM
32812001-08-31 Gerd Moellmann <gerd@gnu.org>
3282
3283 * composite.c (update_compositions): Do nothing if
3284 inhibit-modification-hooks is set.
3285
9584e63a
GM
32862001-08-30 Gerd Moellmann <gerd@gnu.org>
3287
986ec8f2 3288 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3289 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3290 glyph matrices etc. in a core dump.
3291
92a25631
GM
3292 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3293 (syms_of_xdisp): Initialize them.
3294 (handle_single_display_prop): Don't change point, bind `object',
3295 `position', and `buffer-position' instead to the object having the
2ee1aa00 3296 `display' property, position in the object and position in the buffer.
92a25631 3297
9584e63a
GM
3298 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3299 of the buffer if REPLACE is non-nil.
3300
d38633a3
GM
33012001-08-29 Gerd Moellmann <gerd@gnu.org>
3302
3303 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3304
f4fccc1e
EZ
33052001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3306
3307 * w32term.c (x_set_glyph_string_background_width)
3308 (show_mouse_face): Track the last changes in xterm.c.
3309
eaaa65b0
GM
33102001-08-28 Gerd Moellmann <gerd@gnu.org>
3311
7b0870b2
GM
3312 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3313 string's background width so that multi-line mouse-face is drawn
3314 to the right edge of the window.
3315 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3316 glyphs.
3317
6b6e2422 3318 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3319 before inserting/writing glyphs.
6b6e2422 3320
eaaa65b0
GM
3321 * xdisp.c (display_mode_element): Use string_byte_to_char to
3322 determine character positions in strings, use chars_in_text
3323 instead of strwidth.
3324 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3325 a matrix as parameter; this is easier to use from GDB.
3326
9ad62cf8
MB
33272001-08-28 Miles Bader <miles@gnu.org>
3328
2ee1aa00
SM
3329 * textprop.c (Fprevious_single_char_property_change)
3330 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3331
32171635
GM
33322001-08-27 Gerd Moellmann <gerd@gnu.org>
3333
47d57b22
GM
3334 * fileio.c (Finsert_file_contents): Allocate, restore, and
3335 free composition data in the case of REPLACE not being nil.
3336
3337 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3338 there exist overlay strings with newlines at POS.
3339 (text_outside_line_unchanged_p): Return 0 if changes start at
3340 START and overlays exist at START. Likewise for END.
3341 (try_window_id): Give up if init_to_row_end returns 0.
3342
32171635
GM
3343 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3344 unconditionally.
3345
e1249666
GM
33462001-08-24 Gerd Moellmann <gerd@gnu.org>
3347
33954c45
GM
3348 * keymap.c (access_keymap): Return the cdr of the binding of
3349 a generic character instead of its definition (KEY . BINDING).
3350
e1249666
GM
3351 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3352 to 0 also in the REPLACE case.
3353
fb4c6c96
AC
33542001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3355
3356 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3357 open to determine whether file is readable (as for DOS_NT).
3358
59ecf80b
GM
33592001-08-23 Gerd Moellmann <gerd@gnu.org>
3360
3361 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3362 coding.type is coding_type_no_conversion or coding_type_raw_text,
3363 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3364 non-nil instead of just setting enable_multibyte_characters in the
3365 buffer to nil.
3366
40e33037
GM
33672001-08-22 Gerd Moellmann <gerd@gnu.org>
3368
374388c3
GM
3369 * dispextern.h (struct face_cache): Add member
3370 menu_face_changed_p.
3371
3372 * xfaces.c (menu_face_changed_default): New variable.
3373 (menu_face_changed_count): Variable removed.
3374 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3375 the menu_face_changed_default flag, otherwise set the FRAME's
3376 menu_face_changed_p flag if the `menu' face has been changed.
3377 Prevent calling set_font_frame_param if FRAME is t.
3378 (make_face_cache): Initialize cache's menu_face_changed_p
3379 from menu_face_changed_default.
3380 (realize_basic_faces): Look into the frame's face cache to
3381 determine if the menu appearance needs updating.
3382
40e33037
GM
3383 * keymap.c (access_keymap): Fix last change to not consider
3384 IDX when it has modifiers.
3385
859ea4b8
GM
33862001-08-21 Gerd Moellmann <gerd@gnu.org>
3387
3388 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3389 . BINDING) exists, where GENERIC-CHAR is the generic character of
3390 the charset of IDX, return BINDING unless there exists a binding
3391 for IDX itself.
3392
e8660d73
GM
33932001-08-16 Gerd Moellmann <gerd@gnu.org>
3394
cca1b1d7
GM
3395 * xrdb.c (SYSV): Don't define on Solaris 2.
3396 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3397
e8660d73 3398 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3399 of the screen line, not text line, containing IT's current position.
e8660d73 3400
93aba6fc
GM
34012001-08-15 Gerd Moellmann <gerd@gnu.org>
3402
288d4e06
GM
3403 * window.c (window_scroll_pixel_based): Don't recenter if
3404 PT is partially visible in the window.
3405
3452efc2
SM
3406 * xterm.c (expose_window_tree, expose_window, expose_line):
3407 Return 1 when overwriting mouse-face.
82f053ab
GM
3408 (expose_frame): If mouse-face was overwritten, redo it.
3409
93aba6fc
GM
3410 * xfaces.c (x_update_menu_appearance): Don't call
3411 set_frame_menubar, let the next redisplay do it.
3412
858a55c1
AI
34132001-08-14 Andrew Innes <andrewi@gnu.org>
3414
3415 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3416 drawing glyph string.
3417
3a990b67
EZ
34182001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3419
3420 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3421 running HI-UX/MPP.
3422
04386463
GM
34232001-08-14 Gerd Moellmann <gerd@gnu.org>
3424
3425 * xfaces.c (x_update_menu_appearance): Save and restore value of
3426 interrupt_input_blocked.
3427
3e6385a4
GM
34282001-08-13 Gerd Moellmann <gerd@gnu.org>
3429
b0e619b4
GM
3430 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3431 a line start, move back to the line start.
3452efc2 3432
0de73d5a
GM
3433 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3434 exactly when a mini-buffer is active.
3435
3e6385a4
GM
3436 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3437 in units of 1/8 character on non window-system frames.
3438 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3439
d1b5f629
EZ
34402001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3441
3442 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3443 a doc string.
3444
eaa2319f
GM
34452001-08-09 Gerd Moellmann <gerd@gnu.org>
3446
8e3189f0
GM
3447 * keyboard.c (Vpre_help_message): New variable.
3448 (syms_of_keyboard): Initialize and staticpro it.
3449 (show_help_echo): Record current message before displaying a
3450 help-echo, and restore that message when clearing the help.
3451
eaa2319f
GM
3452 * xfns.c (x_create_im): Remove prototype.
3453
3454 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3455
3456 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3457
eaa2319f
GM
34582001-08-08 Gerd Moellmann <gerd@gnu.org>
3459
3460 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3461 windows whose height has changed, disable partially visible lines.
eaa2319f 3462
17fdcfc8
GM
34632001-08-07 Gerd Moellmann <gerd@gnu.org>
3464
22d01aed 3465 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3466 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3467
17fdcfc8
GM
3468 * xdisp.c (start_display): Don't try to determine the continuation
3469 lines width if lines are truncated. It's superfluous and leads to
3470 incorrect results if POS is not visible in the window after
3471 reseating the iterator at the previous line start.
3472
8e3fe78e
GM
34732001-08-06 Gerd Moellmann <gerd@gnu.org>
3474
3475 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3476
98a8938c
GM
34772001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3478
3479 * alloc.c (init_stack): Remove declaration.
3480
18f9986a
GM
34812001-08-03 Gerd Moellmann <gerd@gnu.org>
3482
5e1f85e0
GM
3483 * keyboard.c (read_key_sequence): Check that key is an integer
3484 before comparing it with quit_char.
3485 (add_command_key): Use larger_vector.
3486 (read_char_x_menu_prompt): Instead of converting symbol and
3487 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3488 which cannot be confused with valid events.
5e1f85e0
GM
3489 (read_char): When reading from Vunread_command_events, check for
3490 events of the form (EVENT . disabled) instead of
3491 (EVENT . nil).
3492
18f9986a
GM
3493 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3494 a float, determine the max height from the frame's height.
3495
fbc7f2a6
GM
34962001-08-02 Gerd Moellmann <gerd@gnu.org>
3497
3498 * xdisp.c (redisplay_internal): Take message_cleared_p into
3499 account only if minibuf_level == 0.
3500
81b1a79d
GM
35012001-08-01 Gerd Moellmann <gerd@gnu.org>
3502
e5c60873
GM
3503 * xdisp.c (redisplay_internal): Add a check for the last
3504 displayed message.
3452efc2 3505
6e019995
GM
3506 * xdisp.c (message_cleared_p): New variable.
3507 (clear_message): Set message_cleared_p when clearing the current
3508 message.
3509 (redisplay_internal): Look at message_cleared_p to capture
3510 the case that the echo area should be cleared.
3511
308a74d8
GM
3512 * keyboard.c (command_loop_1): Fix spelling of
3513 resize_echo_area_exactly.
3514
3452efc2 3515 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3516
3517 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3518
81b1a79d
GM
3519 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3520 current matrix when the window gets smaller.
3521
ada329e6
EZ
35222001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3523
3524 * print.c (strout): Cast the character passed to insert_char to
3525 unsigned char, to avoid sign extension when it is promoted to int.
3526
ed86208c
GM
35272001-07-31 Gerd Moellmann <gerd@gnu.org>
3528
3529 * fileio.c (Finsert_file_contents): Don't treat a return value
3530 of 0 from emacs_read as an IO error.
3531
6594ac22
GM
35322001-07-30 Gerd Moellmann <gerd@gnu.org>
3533
cef68af5
GM
3534 * keyboard.c (abs): New macro.
3535 (double_click_fuzz): New variable.
3536 (make_lispy_event): Use it to determine what makes a double-click.
3537 (syms_of_keyboard): DEFVAR_INT it.
3538
6594ac22
GM
3539 * xmenu.c (set_frame_menubar): Take into account that
3540 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3541 <raeburn@gnu.org>.
3542
75c5350a
GM
35432001-07-27 Gerd Moellmann <gerd@gnu.org>
3544
3545 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3546
3547 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3548 of row's visible height.
3549
3550 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3551 deal with the first overlay string having an image `display' property.
3552 (try_window_reusing_current_matrix, compute_line_metrics):
3553 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3554 row is invisible above and part of the row is at the same time
3555 invisible below the window.
3556
ac49effe
GM
35572001-07-26 Gerd Moellmann <gerd@gnu.org>
3558
3559 * xfns.c (x-show-tip): Doc fix.
3452efc2 3560
ac49effe
GM
3561 * xfns.c (Vx_max_tooltip_size): New variable.
3562 (syms_of_xfns): DEFVAR_LISP it.
3563 (Fx_show_tip): Set frame's window_width to the width of the
3564 window. Use a maximum tooltip size specified by
3565 Vx_max_tooltip_size, if that has valid contents.
3566 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3567
8c3b00cb
AI
35682001-07-26 Andrew Innes <andrewi@gnu.org>
3569
3570 * w32term.c (x_display_list): New variable.
3571 (w32_term_init): Set it.
3572
3573 * w32term.h (x_display_list): New extern.
3574
16098288
GM
35752001-07-26 Gerd Moellmann <gerd@gnu.org>
3576
3577 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3578 is non-nil, instead of when redisplaying_p is non-zero.
3579 See comment there.
16098288
GM
3580 (mark_window_display_accurate_1): Add an assertion.
3581
64c5be50
GM
35822001-07-25 Gerd Moellmann <gerd@gnu.org>
3583
e743f599
GM
3584 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3585
563b384d
GM
3586 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3587 events so that we get a chance of processing expose events.
3588
64c5be50
GM
3589 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3590
296808a5
GM
35912001-07-24 Gerd Moellmann <gerd@gnu.org>
3592
3593 * xfns.c (valid_image_p): Protect better against invalid image
3594 specifications. Previous code could signal an error.
3595
5247262a
GM
35962001-07-23 Gerd Moellmann <gerd@gnu.org>
3597
3452efc2 3598 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3599 presence of display table entries.
3600 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3601
dd42b31a
GM
3602 * dispnew.c (adjust_glyph_matrix): In the optimization for
3603 windows whose height has changed, use the new window height
3604 to compute which rows to invalidate.
3605
9e5a7f2a
GM
3606 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3607 (MAX_10_EXP): New macro.
3608 (Fformat): Use it.
3609
5247262a
GM
3610 * coding.c (code_convert_region): Handle the multibyte case if
3611 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3612
177ab8ce
GM
36132001-07-20 Gerd Moellmann <gerd@gnu.org>
3614
6e07c0a5
GM
3615 * dispextern.h (struct face): Change type of `stipple' to
3616 int; it's an ID.
3617
177ab8ce
GM
3618 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3619
b5b80599
GM
36202001-07-19 Gerd Moellmann <gerd@gnu.org>
3621
4e2a256b
GM
3622 * dispnew.c (update_window): Don't set the cursor at the end
3623 of the update if display update has been paused.
3624
3452efc2 3625 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3626
c1fd9232
KR
36272001-07-18 Ken Raeburn <raeburn@gnu.org>
3628
3629 * fns.c (Fset_char_table_default): Check that a charset is defined
3630 before checking its dimension.
3631
928a85c1
KR
36322001-07-17 Ken Raeburn <raeburn@gnu.org>
3633
3634 * coding.c (setup_coding_system): Don't do any designation based
3635 on reg_bits if charset is not yet defined.
3636
fb4c6c96 3637 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3638 pointer, using eassert.
3639
de11c1ea
GM
36402001-07-17 Gerd Moellmann <gerd@gnu.org>
3641
3452efc2
SM
3642 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3643 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3644
467f1209
GM
36452001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3646
3647 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3648
c3d6be34
GM
36492001-07-16 Gerd Moellmann <gerd@gnu.org>
3650
c1d61a7d
GM
3651 * fileio.c (unwind_read): Function removed.
3652 (read_non_regular, read_non_regular_quit): New functions.
3653 (Finsert_file_contents): When reading from non-regular files,
3654 arrange to catch a `quit' and terminate the loop. Rearrange
3655 code so that a `quit' when reading from a regular file doesn't
3656 insert text in the buffer.
3657
c3d6be34
GM
3658 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3659 Clear faces afterwards.
3660 (clear_font_table): Take a x_display_info parameter. Don't free
3661 fonts being the default font of any frame on the given display.
3662
e06aa1f9
GM
36632001-07-13 Gerd Moellmann <gerd@gnu.org>
3664
3665 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3666 instead of CHAR_STRING which can signal an error.
3667
3668 * charset.c (char_to_string_1): Extracted from char_to_string.
3669 Return -1 instead of signaling an error.
3670 (char_to_string): Use it.
3671
3672 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3673
176c92e6
SM
36742001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3675
3676 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3677 is t, don't try to append anything to it.
3678
1c56232f
EZ
36792001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3680
3681 * dired.c (file_name_completion): Pass dp->d_name to
3682 Fstring_match, not elt, which is always nil here.
3683
1d2b2268
GM
36842001-07-12 Gerd Moellmann <gerd@gnu.org>
3685
3686 * xselect.c (x_decline_selection_request): Handle errors
3687 caused by receivers that have vanished.
3688
3689 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3690 ignoring events on foreign windows in #if 0. Always dispatch
3691 the event after checking it with x_handle_property_notify.
3692
3693 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3694 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3695 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3696 (toplevel): Add prototypes for file-local functions.
3697 (x_atom_to_symbol): Remove DPYINFO parameter.
3698
fe5a0162
SM
36992001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3700
3701 * w32menu.c (menubar_selection_callback, w32_menu_show):
3702 Initialize `entry' to nil.
3703 (w32_dialog_show): Remove unused `save_wv' variable.
3704 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3705
a777242c
GM
37062001-07-11 Gerd Moellmann <gerd@gnu.org>
3707
8ee5b6a3
GM
3708 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3709
d0e2444e
GM
3710 * fileio.c (unwind_read): Print a message when discarding inserted
3711 text or switching the buffer to unibyte. Change parameter.
3712 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3713
a777242c
GM
3714 * fileio.c (unwind_read): New function.
3715 (Finsert_file_contents): Record it as unwind-function for
3716 the case that reading is interrupted by C-g.
3717
ae794295
GM
37182001-07-10 Gerd Moellmann <gerd@gnu.org>
3719
fe5a0162 3720 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3721 update when scrolling_window returns 0.
3722
6b05fae3
GM
3723 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3724
3725 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3726 for the case that x_decode_color signals an error.
6b05fae3 3727
ae794295
GM
3728 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3729
bb6e8cee
GM
37302001-07-09 Gerd Moellmann <gerd@gnu.org>
3731
3732 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3733 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3734 around ioctls.
3735
36b40a8a
EZ
37362001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3737
24b97d4b
EZ
3738 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3739 doc string line for dos-timezone-offset.
3740
36b40a8a
EZ
3741 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3742 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3743 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3744 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3745
3746 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3747
0967b4b0
GM
37482001-07-05 Gerd Moellmann <gerd@gnu.org>
3749
f25cfe53
GM
3750 * sound.c: Include Emacs' header files with #include "...".
3751
0967b4b0
GM
3752 * eval.c (specbind): Additionally record the buffer that was
3753 current when a buffer-local or frame-local variable was bound.
3754
c347a1c3
GM
37552001-07-04 Gerd Moellmann <gerd@gnu.org>
3756
3757 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3758 to unibyte characters in unibyte buffers.
3759
6332ca8a
GM
37602001-07-03 Gerd Moellmann <gerd@gnu.org>
3761
38472d44
GM
3762 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3763 the frame on the binding stack. Change format of entries for
3764 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3765 (unbind_to): Handle unbinding a frame-local variable.
3766
6332ca8a 3767 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3768 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3769 (dump_glyph_row): Print row's continuation_lines_width.
3770 (try_window_id): Take the shortcut if ZV is visible in the
3771 window, but there are actually no changes at ZV.
3772
63d1b174
GM
37732001-07-02 Gerd Moellmann <gerd@gnu.org>
3774
4c175203
GM
3775 * xterm.h (x_free_dpy_colors): Add prototype.
3776
3777 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3778 right number of arguments.
3779
0b54ce28
GM
3780 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3781 ($(lwlibdir)TAGS): New target.
4c175203 3782 (TAGS): Fix dependency list.
0b54ce28 3783
63d1b174
GM
3784 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3785 with input blocked.
3786
d827466c
GM
37872001-06-30 Gerd Moellmann <gerd@gnu.org>
3788
3789 * emacs.c (main): Remove extern declaration for sys_nerr, which
3790 isn't used and causes a compilation error with GCC 3.0 on
3791 FreeBSD 4.3.
3792
b5cb1ada
GM
37932001-06-27 Gerd Moellmann <gerd@gnu.org>
3794
a5d3ec3f 3795 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3796 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3797 (toplevel): Include <signal.h> and syssignal.h.
3798
b5cb1ada
GM
3799 * sound.c (vox_configure, vox_close): Turn off atimers
3800 around ioctls.
3801
d9bad487
GM
38022001-06-26 Gerd Moellmann <gerd@gnu.org>
3803
fdbb67fe
GM
3804 * keyboard.c (read_char) <non_reread>: Record the previous idle
3805 start time before calling timer_stop_idle.
3806 (read_char) <reread_first>: After processing a help-echo event,
3807 restore the previous idle start time.
3808
d9bad487
GM
3809 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3810 the start of invisible text.
3811 (setup_for_ellipsis): New function.
3812 (next_overlay_string): After all overlay strings have been
3813 processed, display an ellipsis if necessary.
3814 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3815 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3816
3817 * dispextern.h (struct iterator_stack_entry): Add member
3818 display_ellipsis_p.
3819
2b9c25e0
GM
38202001-06-25 Gerd Moellmann <gerd@gnu.org>
3821
80de57df
GM
3822 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3823 on the value of the wait-for-wm frame parameter.
3824
3825 * xterm.h (struct x_output): Add member wait_for_wm.
3826
3827 * xfns.c (Qwait_for_wm): New variable.
3828 (x_frame_parms): Add entry for `wait-for-wm".
3829 (x_set_wait_for_wm): New function.
3830 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3831 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3832
2b9c25e0
GM
3833 * xdisp.c (try_window_id) <all changes below window end>: Don't
3834 take this shortcut if ZV is visible in the window.
3835 (try_window_id): When checking for window start being in changed
3836 text, don't check that the buffer's size has changed.
3837
f772775c
RS
38382001-06-23 Richard M. Stallman <rms@gnu.org>
3839
3840 * minibuf.c (Fcompleting_read): Doc fix.
3841
fa9090b8
GM
38422001-06-19 Gerd Moellmann <gerd@gnu.org>
3843
3844 * composite.c (Ffind_composition_internal): Accept ZV
3845 and a string's end position as POS.
3846
f6f1beba
GM
38472001-06-18 Gerd Moellmann <gerd@gnu.org>
3848
3849 * composite.c (Ffind_composition_internal): Check POS
3850 for validity.
3851
0ae83348
EZ
38522001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3853
3854 * editfns.c (Fmessage_box): If the frame is not under a window
3855 system, output the message in the echo area.
3856
e4cdc335
RS
38572001-06-14 Richard M. Stallman <rms@gnu.org>
3858
3859 * xdisp.c (try_window_id): When EOB is visible, don't treat
3860 insertion at EOB as if it were "off the bottom of the screen."
3861
a55a5f3c
AI
38622001-06-11 Andrew Innes <andrewi@gnu.org>
3863
3864 * w32proc.c (create_child): Add new parameter is_gui_app.
3865 (w32_executable_type): Add new parameter is_gui_app.
3866 (sys_spawnve): Use it.
3867 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3868 SIGQUIT. This matches better how the signals are interpreted by
3869 MSVC compiled programs.
3870 (syms_of_ntproc): Update docstring.
3871
1b85dc1c
SM
38722001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3873
3874 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3875 well otherwise note_mouse_highlight might optimize away highlighting
3876 if we pass over that same overlay again.
3877
b75f8eab
EZ
38782001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3879
3880 * lread.c (Fload): Document that the argument is run via
3881 substitute-in-file-name.
3882
94843cc1
GM
38832001-05-31 Gerd Moellmann <gerd@gnu.org>
3884
b14659e6
GM
3885 * Makefile.in (bootstrap-doc): New target.
3886 (bootstrap-emacs): Depend on it.
3887
0894672f
GM
3888 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3889 auto-save-list-file-name when shutting down Emacs, because
3890 creating the directory might signal an error, and leaves
3891 Emacs in a strange state.
3892
94843cc1
GM
3893 * term.c: (tty_cursor_hidden): New variable.
3894 (update_begin): Don't call tty_hide_cursor. Clean up.
3895 (update_end, set_terminal_window, set_scroll_region): Clean up.
3896 (ring_bell, reset_terminal_modes): Clean up.
3897 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3898 on tty_cursor_hidden.
3899 (write_glyphs): Call tty_hide_cursor.
3900
db3a49a6
SM
39012001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3902
3903 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3904
8bd189fb
GM
39052001-05-30 Gerd Moellmann <gerd@gnu.org>
3906
6f1be3b9
GM
3907 * xfns.c (enum image_value_type): New enumerator
3908 IMAGE_STRING_OR_NIL_VALUE.
3909 (parse_image_spec): Handle it.
3910 (xbm_format, pbm_format): Use it for :foreground and :background.
3911 (xbm_load, pbm_load): Check for nil color names.
3912
8bd189fb
GM
3913 * xterm.c (note_mouse_highlight): If an overlapping overlay
3914 exists, but we find that we highlight the same overlay as before,
3915 don't do the highlighting again.
3916
7bdba03c
GM
39172001-05-29 Gerd Moellmann <gerd@gnu.org>
3918
4c329aa8
GM
3919 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3920 Protect unibyte strings created by replacing their multibyte
3921 equivalents in menu_items.
3922
e15e2828
GM
3923 * keymap.c (Fsingle_key_description): NUL-terminate the string
3924 buffer before calling build_string.
3925
7bdba03c
GM
3926 * callproc.c (Fcall_process): Deal with decode_coding returning
3927 CODING_FINISH_INCONSISTENT_EOL.
3928
89c8dc6c
GM
39292001-05-28 Gerd Moellmann <gerd@gnu.org>
3930
db3a49a6 3931 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3932 an item's name with its key description in case the description
3933 is a multibyte string.
3934
3935 * keymap.c (Fsingle_key_description): Create a multibyte string
3936 only if necessary.
3937
eb04d6cd
GM
3938 * macros.c (Fstart_kbd_macro): Doc fix.
3939
8bd6307f
GM
3940 * xterm.c (cursor_in_mouse_face_p): New function.
3941 (x_draw_stretch_glyph_string): Use it to choose a different GC
3942 when drawing a cursor within highlighted text.
3943
e26c4089
GM
3944 * editfns.c (char_property_eq): Put in #if 0.
3945
3946 * indent.c (string_display_width): Put in #if 0.
3947
3948 * lread.c (Fload): Remove unused label.
3949
89c8dc6c
GM
3950 * termcap.c (speeds): Put in #if 0.
3951
9a1211f2
GM
39522001-05-18 Gerd Moellmann <gerd@gnu.org>
3953
29148a3f
GM
3954 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3955
9a1211f2
GM
3956 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3957 transformation matrix by 10.
3958
09393d07
GM
39592001-05-16 Gerd Moellmann <gerd@gnu.org>
3960
3961 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3962 only if it's equal to the former foreground pixel color.
db3a49a6 3963 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3964 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3965
460e6bae
GM
39662001-05-16 Dave Love <fx@gnu.org>
3967
3968 * insdel.c (signal_before_change, signal_after_change): Consider a
3969 local change hook which changes the buffer.
99c78ce8
GM
3970
3971 * process.c (read_process_output): Don't call signal_after_change
3972 and update_compositions after insert_from_string_before_markers.
3973
dbcf3c03
GM
39742001-05-16 Gerd Moellmann <gerd@gnu.org>
3975
a90b3d3c
GM
3976 * xfaces.c (split_font_name): Use the right field when
3977 checking for `[...]' syntax.
3978
1b7818b4
GM
3979 * buffer.c (copy_overlays): New function.
3980 (clone_per_buffer_values): Use it.
3981
3982 * buffer.h (OVERLAY_PLIST): New macro.
3983
9bae8781
GM
3984 * keymap.c (Fsingle_key_description): Replace a build_string with
3985 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3986
dbcf3c03
GM
3987 * fontset.c (Ffontset_info): Check that face is non-null
3988 before accessing its fields.
3989
8a1ae4dd
GM
39902001-05-15 Gerd Moellmann <gerd@gnu.org>
3991
18a0a39e
GM
3992 * keyboard.c (read_key_sequence): Prevent generating a fake
3993 prefix key twice.
3994
e335b66a
GM
3995 * xfaces.c (split_font_name): Handle `[...]' for the right
3996 font name fields.
3997
8a1ae4dd
GM
3998 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3999 of CCL_STAT_INVALID_CMD.
4000
3cf80731
SM
40012001-05-14 Stefan Monnier <monnier@cs.yale.edu>
4002
33568849
SM
4003 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
4004 in <var> has no default value yet.
4005
3cf80731
SM
4006 * xfaces.c (try_alternative_families): First try the FAMILY.
4007 And if nothing is found in the end, try again with scalable fonts.
4008 (try_font_list): Let try_alternative_families do a bit more of
4009 the work. Only use FAMILY if it is not nil.
4010 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
4011
933b0249
GM
40122001-05-14 Gerd Moellmann <gerd@gnu.org>
4013
58e5af83
GM
4014 * xterm.c (note_mouse_highlight): Avoid changing the mouse
4015 pointer shape when show_mouse_face has already done it.
33568849 4016
58e5af83 4017 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
4018 full-width rows.
4019
7b16a6bf
GM
4020 * xfaces.c (split_font_name): Make sure to leave the loop
4021 with the right value of `i'.
3cf80731 4022
933b0249
GM
4023 * xfaces.c (split_font_name): Handle matrix transformations
4024 in the pixel and point size fields of XLFD font names.
4025 (xlfd_point_size): Likewise.
4026
dddcbf00
EZ
40272001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
4028
3cf80731 4029 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
4030 (x_to_w32_font): Add prototype.
4031
7689ef0b
EZ
4032 * regex.c (malloc, realloc, free) [emacs]: Undefine before
4033 redefining, to avoid compiler warnings.
4034
e7c15bba
EZ
4035 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
4036
dddcbf00
EZ
4037 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
4038 (w32_get_bdf_glyph): Cast between unsigned char and char when
4039 passing arguments to subroutines, to shut up compiler warnings.
4040 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
4041 GET_HEX_VAL.
4042
4043 * xfaces.c: Include keyboard.h before frame.h, not after it.
4044
4045 * widget.c: Include keyboard.h before frame.h.
4046
4047 * w32term.h (struct image, struct face): Forward declaration, to
4048 avoid compiler warnings.
4049
7bd2d083
GM
40502001-05-11 Gerd Moellmann <gerd@gnu.org>
4051
47e72862
GM
4052 * keyboard.c (read_key_sequence): Don't modify events when
4053 generating fake prefix keys (mode-line, scroll-bar, ...) since
4054 this prevents proper processing of such events when pushed back
4055 into unread-command-events.
4056
dd5f324b
GM
4057 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
4058 actually redrawn. Make the function static.
4059 (note_mouse_highlight): Fix a case where the mouse cursor
4060 was changed back to the text cursor.
4061
4062 * xterm.h (clear_mouse_face): Remove prototype.
4063
d88a79d4
GM
4064 * xdisp.c (try_window_id): Fix the fix and set the right
4065 window_end_vpos.
4066
4067 * xdisp.c (try_window_id): Fix computation of window end in the
4068 case that lines were deleted at the end of the window. Add some
4069 more debug_method_adds.
0416532f 4070
7bd2d083
GM
4071 * xfaces.c (try_alternative_families): New function.
4072 (try_font_list): Use it. If ATTRS specifies a family, check
4073 fonts from that family first.
4074 (choose_face_font): Remove code setting the family part of
4075 the pattern to nil.
4076
23fca891
GM
40772001-05-10 Gerd Moellmann <gerd@gnu.org>
4078
ff9aa2ca
GM
4079 * xdisp.c (try_window_id): Fix case of all changes before
4080 the window start.
7b2654b5 4081
23fca891
GM
4082 * xdisp.c (try_window_id): Add some xasserts.
4083
e9726794
GM
40842001-05-09 Gerd Moellmann <gerd@gnu.org>
4085
4086 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
4087
9e53a675
GM
40882001-05-09 Dave Love <fx@gnu.org>
4089
4090 * xdisp.c (GIVE_UP): Fix for K&R C.
4091
0d487c52
GM
40922001-05-09 Gerd Moellmann <gerd@gnu.org>
4093
fe88d421
GM
4094 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
4095
0d487c52
GM
4096 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
4097 back to the text cursor shape without need.
4098
1e9fc92e
GM
40992001-05-07 Gerd Moellmann <gerd@gnu.org>
4100
a2a6232e
GM
4101 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
4102
4103 * dispextern.h (inverse_video): Declare extern.
4104
1e9fc92e
GM
4105 * keyboard.c (delete_kboard): Handle the case that selected_frame
4106 has been deleted in the course of x_connection_closed.
4107
12949a7f
EZ
41082001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
4109
7b2654b5
SM
4110 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
4111 Fix the change from 2001-04-30.
12949a7f 4112
2fa2f461
GM
41132001-05-03 Gerd Moellmann <gerd@gnu.org>
4114
a779d213
GM
4115 * xfns.c (file_dialog_unmap_cb): New function.
4116 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
4117 where a dialog is closed via the window manager.
4118
7b2654b5 4119 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
4120 the window start or all below the window end mostly rewritten.
4121 (redisplay_window): Move the tests if try_window_id is
4122 applicable to try_window_id.
4123 (GIVE_UP): New macro.
4124
3356df63
GM
41252001-05-02 Gerd Moellmann <gerd@gnu.org>
4126
a39202f6 4127 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
4128 currently being updated, mark the frame garbaged.
4129 Fix computation of rows intersecting the exposed rectangle.
a39202f6 4130 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 4131
3356df63
GM
4132 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
4133 again if it has already been drawn.
4134
a9d2fd1d
SM
41352001-05-01 Stefan Monnier <monnier@cs.yale.edu>
4136
4137 * syntax.c (update_syntax_table): Check that oldi has the same
4138 properties as old_prop before deciding not to invalidate.
4139
c95fc5f1
GM
41402001-04-30 Gerd Moellmann <gerd@gnu.org>
4141
a9793e45
GM
4142 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
4143 read-only text that is so because of text properties.
4144
c95fc5f1 4145 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 4146 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
4147 windows that are components of a Lucid menu bar.
4148
5a5d9185
GM
41492001-04-27 Gerd Moellmann <gerd@gnu.org>
4150
4151 * term.c (turn_on_face): Fix reverse video handling on terminals
4152 that don't support colors.
4153
ba973f7a
GM
41542001-04-26 Gerd Moellmann <gerd@gnu.org>
4155
4156 * editfns.c (save_excursion_restore): Don't use XBUFFER on
4157 a non-buffer.
4158
8c56a983
GM
41592001-04-25 Gerd Moellmann <gerd@gnu.org>
4160
a728644c
GM
4161 * term.c (toggle_highlight): New function.
4162 (turn_on_face): Change handling of reverse video.
4163
7b2654b5
SM
4164 * process.c (wait_reading_process_input):
4165 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 4166
bfd8410f
GM
4167 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4168 of the number of overlays to check.
4169
be2488ca
GM
4170 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4171
8c56a983
GM
4172 * xdisp.c (try_window_id): Fix a case where window_end_pos
4173 and window_end_bytepos were not adjusted.
4174
522d42f7
GM
41752001-04-23 Gerd Moellmann <gerd@gnu.org>
4176
4177 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4178 zero instead of -1.
4179
78c1afb6
EZ
41802001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4181
a9d2fd1d
SM
4182 * process.c (wait_reading_process_input) [!subprocesses]:
4183 Don't reference waiting_for_user_input_p, it's not defined in the
4184 branch without async subprocesses support.
78c1afb6 4185
a2fab450
GM
41862001-04-19 Gerd Moellmann <gerd@gnu.org>
4187
a122a38e
GM
4188 * keyboard.c (delete_kboard): Prevent a dangling reference
4189 from current_kboard to KB, which is freed.
4190
a9d2fd1d
SM
4191 * process.c (wait_reading_process_input):
4192 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4193 read_key_sequence aware of buffer changes from under it.
4194
0f8d6dc7
GM
41952001-04-18 Gerd Moellmann <gerd@gnu.org>
4196
eeffb293
GM
4197 * xfaces.c (Qscalable_fonts_allowed): New variable.
4198 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4199 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4200 removed.
eeffb293 4201 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4202 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4203 for scalable-fonts-allowed to t.
eeffb293 4204
0f8d6dc7
GM
4205 * fileio.c (Finsert_file_contents): If the file size returned from
4206 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4207 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4208
eec2d1de
EZ
42092001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4210
4211 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4212 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4213 (__memalign_hook): Make the two prototypes consistent.
4214
f4f480bd
GM
42152001-04-17 Gerd Moellmann <gerd@gnu.org>
4216
4217 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4218 matrix of mini-windows.
4219
52283633
SM
42202001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4221
4222 * intervals.c (find_interval): Don't rebalance during signal handling.
4223
ec2423c9
GM
42242001-04-11 Gerd Moellmann <gerd@gnu.org>
4225
30cb0001 4226 * fns.c: Include blockinput.h.
52283633 4227
ec2423c9
GM
4228 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4229
719d83ad
GM
42302001-04-10 Gerd Moellmann <gerd@gnu.org>
4231
60f8d735
GM
4232 * fns.c (Fcompare_strings): Fix return values.
4233
afffeb57
GM
4234 * window.c (window_scroll): Change the meaning of N to mean
4235 N screen-fulls or N lines.
4236 (window_scroll_pixel_based, window_scroll_line_based)
4237 (scroll_command, Fscroll_other_window): Change accordingly.
4238
52283633
SM
4239 * window.c (window_scroll_pixel_based, Frecenter):
4240 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4241 height of the window.
4242
4243 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4244 instead of using it.last_visible_y for the height of the window.
52283633 4245
719d83ad 4246 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4247 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4248
4249 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4250 able to write to hidden and system files. From Dan Holmsand
4251 <dan@eyebee.com>.
719d83ad 4252
8ddf3ee1
GM
4253 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4254 Holmsand <dan@eyebee.com>.
719d83ad 4255
522ed7fb
GM
42562001-04-09 Gerd Moellmann <gerd@gnu.org>
4257
9170e5d4
GM
4258 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4259
522ed7fb
GM
4260 * window.c (window_internal_height): Return 1 less if the
4261 window has a header line.
4262
4263 * xdisp.c (try_window_id): When scrolling on a terminal, take
4264 the change of window_internal_height into account.
4265
ceeb3d7d
EZ
42662001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4267
4268 * gmalloc.c (align): If the argument SIZE would overflow
4269 __malloc_ptrdiff_t, fail right away.
4270
63685b9d
GM
42712001-04-06 Gerd Moellmann <gerd@gnu.org>
4272
4273 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4274 Make sure the tooltip is completely visible.
4275 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4276
4277 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4278
4279 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4280
3ffb33bb
DL
42812001-04-06 Dave Love <fx@gnu.org>
4282
52283633
SM
4283 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4284 Fix test of `from'.
3ffb33bb 4285
869fb12c
GM
42862001-04-06 Gerd Moellmann <gerd@gnu.org>
4287
52283633 4288 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4289
869fb12c
GM
4290 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4291
441bf856
GM
42922001-04-05 Gerd Moellmann <gerd@gnu.org>
4293
4d664b04
GM
4294 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4295
52283633 4296 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4297
30ca89f5
GM
4298 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4299 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4300
4301 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4302 shell widget's position only if it is non-null.
4303
52283633
SM
4304 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4305 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4306
81a81c0f
GM
4307 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4308 FILENAME to bring it in synch with the documentation.
4309
441bf856
GM
4310 * xfaces.c (realizing_basic_faces_p): Renamed from
4311 realize_default_face_p.
4312 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4313 (realize_default_face): Don't set the flag.
4314
702a1e8e
GM
43152001-04-04 Gerd Moellmann <gerd@gnu.org>
4316
1013f4e3
GM
4317 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4318
52283633
SM
4319 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4320
1013f4e3
GM
4321 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4322 the buffer that was used for echoing.
4323
702a1e8e
GM
4324 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4325 (first_font_matching): Removed unused function.
4326 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4327 (may_use_scalable_font_p): Remove parameter FONT; rename
4328 parameter NAME to FONT.
4329 (x_face_list_fonts): Fix missing bounds check.
4330 (realizing_default_face_p): New variable.
4331 (realize_default_face): Set and clear that flag.
4332 (x_face_list_fonts): When called during the realization of the
4333 default face, and no matching fonts are found when ignoring
4334 scalable fonts and fonts matching a regexp from
4335 face-ignored-fonts, try without ignoring fonts.
4336
f9dbcda4
GM
43372001-04-03 Gerd Moellmann <gerd@gnu.org>
4338
ad18ffb1
GM
4339 * xfns.c (postprocess_image): New function.
4340 (lookup_image): Call it for all image types except PostScript.
4341 (x_kill_gs_process): Call postprocess_image.
4342
f9dbcda4
GM
4343 * xterm.c (x_use_underline_position_properties): New variable.
4344 (x_draw_glyph_string): Use it.
4345 (syms_of_xterm): DEFVAR_BOOL it.
4346
651f03b6
GM
43472001-04-02 Gerd Moellmann <gerd@gnu.org>
4348
4349 * xterm.c (x_alloc_nearest_color_1): New function.
4350 (x_alloc_nearest_color): Use it.
4351 (x_color_cells): Take a Display as argument, instead of a frame.
4352 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4353 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4354 (x_initialize): Register cvt_string_to_pixel as resource converter
4355 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4356
73d75a62
GM
43572001-03-30 Gerd Moellmann <gerd@gnu.org>
4358
b2046df8
GM
4359 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4360 (set_iterator_to_next): If a string from a display property ends,
4361 consider the case that this might also be the end of an
4362 overlay string having the display property.
4363
52283633 4364 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4365
87d8eba4
GM
4366 * xdisp.c (reseat_to_string): Undo last change.
4367
73d75a62
GM
4368 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4369 matrix of a window when the header line changes, when
4370 new rows are allocated, or when the width changes.
4371
911a2406
EZ
43722001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4373
52283633 4374 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4375
aea51abe
EZ
43762001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4377
4378 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4379 deprecated.
4380
176bc847
GM
43812001-03-29 Gerd Moellmann <gerd@gnu.org>
4382
ed31fabf
GM
4383 * data.c (Fsubr_interactive_form): New function.
4384 (syms_of_data): Defsubr it.
4385
176bc847
GM
4386 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4387 (live_float_p, live_misc_p): Return 1 only if the offset of the
4388 pointer in its block is >= 0.
4389
e59d0e9d
GM
43902001-03-28 Paul Eggert <eggert@twinsun.com>
4391
4392 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4393 microseconds calcuation. Avoid double-rounding problem.
4394 In doc string, warn that the result is approximate.
4395
f827b862
GM
43962001-03-28 Gerd Moellmann <gerd@gnu.org>
4397
30a3f61c
GM
4398 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4399 bind `inhibit-eval-during-redisplay' to t.
4400
4401 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4402
4403 * xdisp.c (inhibit_eval_during_redisplay)
4404 (Qinhibit_eval_during_redisplay): New variables.
4405 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4406 don't eval, return nil instead.
4407 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4408 Initialize Qinhibit_eval_during_redisplay.
4409
e719f5ae
GM
4410 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4411 the iterator's multibyte_p flag.
4412
deb2613a
GM
4413 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4414 instead of setting it to zero; it's incremented for each frame
4415 where the menu face is changed.
4416
52283633
SM
4417 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4418 change bottom shadow accordingly.
4419
4420 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4421 intersections here.
4422 (expose_window): Do it here instead.
52283633 4423 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4424
f827b862
GM
4425 * bytecode.c (BYTE_CODE_QUIT): New macro.
4426 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4427
4bde0ebb
GM
44282001-03-27 Gerd Moellmann <gerd@gnu.org>
4429
607ec83c
GM
4430 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4431 Give up if matrix starts in an ellipsis.
4432 (init_from_display_pos): Do nothing if POS doesn't specify
4433 a dpvec_index but the iterator has such a position.
4434
0245398f
GM
4435 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4436
aba25348
GM
4437 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4438 x/y position is (0, 0) after destroying the menu bar, restore
4439 its original position.
4440
4bde0ebb
GM
4441 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4442 (init_from_display_pos): Use it.
4443 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4444
8cdb267e
GM
44452001-03-26 Gerd Moellmann <gerd@gnu.org>
4446
4447 * xdisp.c (try_window_id): Undo last change.
4448
9948db79
EZ
44492001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4450
4451 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4452
4453 * buffer.c (syms_of_buffer): Doc fix.
4454
2eddf899
GM
44552001-03-26 Gerd Moellmann <gerd@gnu.org>
4456
4457 * xfaces.c (x_update_menu_appearance): Use local variable
4458 popup_path for setting font resources.
4459
6c145d35
EZ
44602001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4461
6a65b1b5
EZ
4462 * frame.c (Fframe_list): Don't reference tip_frame if
4463 HAVE_WINDOW_SYSTEM is not defined.
4464
6c145d35
EZ
4465 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4466 <wl@gnu.org>.
4467
d74c1900
GM
44682001-03-25 Gerd Moellmann <gerd@gnu.org>
4469
20fbd925
GM
4470 * xdisp.c (init_from_display_pos): Test invisible property
4471 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4472
927c5b3b
GM
4473 * xdisp.c (redisplay_internal) <update one window>: Make sure
4474 last_arrow_position and last_arrow_string are set.
4475
d74c1900
GM
4476 * frame.c (Fframe_list): Don't return a tooltip frame.
4477
091f8878
GM
44782001-03-23 Gerd Moellmann <gerd@gnu.org>
4479
52283633
SM
4480 * xdisp.c (mark_window_display_accurate_1): New function,
4481 extracted from mark_window_display_accurate.
4482 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4483 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4484 (mark_window_display_accurate): Use it.
4485 (redisplay_internal): Use it for the selected window.
4486 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4487 for the selected frame.
4488
ac90c44f
GM
4489 * xdisp.c Use make_number, for readability.
4490 (try_window_id): Disable rows below the window end.
4491 (try_window_reusing_current_matrix): Use cursor_row_p.
4492 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4493 of rows.
4494 (init_from_display_pos): If POS specifies a position in a display
4495 vector, maybe get the iterator set up for that ellipsis.
43c09969 4496
091f8878
GM
4497 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4498
991786dd
EZ
44992001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4500
4501 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4502
6c29b43c
GM
45032001-03-23 Gerd Moellmann <gerd@gnu.org>
4504
4505 * xfaces.c (x_update_menu_appearance): Use a different path
4506 for Lucid popup menus.
4507
d8731202
SM
45082001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4509
4510 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4511
4512 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4513 (string_buffer_position): Use `make_number'.
4514
f61a541b
GM
45152001-03-22 Gerd Moellmann <gerd@gnu.org>
4516
3c9e997b
GM
4517 * xfaces.c (x_update_menu_appearance): Renamed from
4518 x_set_menu_face_resources. Use different resources for popups.
4519
4520 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4521 (GC_CHECK_STRING_BYTES): Don't define.
4522
364cd450
GM
4523 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4524 Removed, together with subroutines.
4525 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4526 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4527
d8731202
SM
4528 * dispextern.h (x_set_menu_resources_from_menu_face):
4529 Remove prototype.
364cd450 4530
d8731202 4531 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4532 Remove calls to x_set_menu_resources_from_menu_face.
4533
d8731202
SM
4534 * xfaces.c (xm_set_menu_resources_from_menu_face):
4535 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4536
4537 * xmenu.c: Include widget.h.
4538 (single_submenu): Return int. Some cleanup.
4539 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4540
140330de
GM
45412001-03-21 Gerd Moellmann <gerd@gnu.org>
4542
4543 * xterm.c (x_update_window_end): Handle overwritten mouse face
4544 also for tool bar windows.
4545 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4546 DRAW is DRAW_IMAGE_RAISED.
4547
1741905c
GM
45482001-03-20 Gerd Moellmann <gerd@gnu.org>
4549
fa88947e
GM
4550 * print.c (syms_of_print): Doc fixes.
4551
1741905c
GM
4552 * fns.c (Fmd5): Doc fix.
4553
ade0bee1
GM
45542001-03-19 Gerd Moellmann <gerd@gnu.org>
4555
357e7376
GM
4556 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4557 Clear area of the frame not occupied by the scroll bar.
4558
c2c097cc
GM
4559 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4560 tip frame's root window buffer to *tip* right after creating
4561 the frame.
4562
ade0bee1
GM
4563 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4564 is an integer don't have to be for space characters.
4565
88c6e37e
GM
45662001-03-16 Gerd Moellmann <gerd@gnu.org>
4567
52283633
SM
4568 * indent.c (current_column, current_column_1, Fmove_to_column)
4569 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4570
c62eed76
KH
45712001-03-15 Kenichi Handa <handa@etl.go.jp>
4572
4573 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4574 drawing glyph string.
4575
c899e7e6
GM
45762001-03-15 Gerd Moellmann <gerd@gnu.org>
4577
d0bbfc99
GM
4578 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4579 (command_loop_1): Undo last change.
4580
03d1a189
GM
4581 * xterm.c (fast_find_position): Return the correct vpos.
4582
c899e7e6 4583 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4584 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4585 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4586 Call store_symval_forwarding with BUF null.
4587 (set_internal): Call store_symval_forwarding with the BUF
4588 parameter passed to set_internal. Formerly, the value was always
4589 set in the current buffer; the buffer recorded in specbind for
4590 this case wasn't used.
4591 (arith_driver): Reindent.
4592
52283633
SM
4593 * buffer.c (swap_out_buffer_local_variables):
4594 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4595
4596 * lisp.h (store_symval_forwarding): Change prototype.
4597
4598 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4599
57ac7c81
GM
46002001-03-14 Gerd Moellmann <gerd@gnu.org>
4601
697617d9
GM
4602 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4603 FOR_DELETION. Avoid resizing the mini-window of the selected
4604 frame if FOR_DELETION is set.
4605 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4606 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4607 signature.
4608
4609 * window.c (Fset_window_configuration): Change call to
4610 do_switch_frame to new format.
4611
4612 * keyboard.c (quit_throw_to_read_char): Change call to
4613 do_switch_frame to new format.
4614
4615 * lisp.h (do_switch_frame): Change prototype.
4616
819dce0f
GM
4617 * frame.c (Fframe_parameters): In the `buffer-list' frame
4618 parameter, store the buffer list of FRAME, not the list of the
4619 selected frame.
4620
57ac7c81
GM
4621 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4622 box just because the glyph row's full_width_p flag is set.
4623
65008712
GM
46242001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4625
4626 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4627 skip the padding blanks inserted in extend_face_to_end_of_line,
4628 before checking for trailing whitespace.
4629
159cf431
GM
46302001-03-13 Gerd Moellmann <gerd@gnu.org>
4631
52283633 4632 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4633 Remove special handling for LessTif/Motif.
4634 (toplevel): Don't include Xm/Xm.h.
4635
52283633
SM
4636 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4637 Remove workaround code for LessTif; it doesn't work anymore.
4638
2564ea1b 4639 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4640 Xm/ScrollBarP.h.
afcdc0a1 4641
52283633
SM
4642 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4643 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4644 contemporary LessTif.
4645
52283633
SM
4646 * xfaces.c (xm_set_menu_resources_from_menu_face):
4647 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4648
159cf431
GM
4649 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4650 removing button grabs.
4651
c6f7429a
KH
46522001-03-13 Kenichi Handa <handa@etl.go.jp>
4653
cb82d767
KH
4654 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4655 and clip-large-size-font as obsolete.
4656
c6f7429a
KH
4657 * lread.c (read_multibyte): Check the validity of multibyte
4658 sequence. If invalid, return the first byte.
4659
760cefb5
GM
46602001-03-12 Gerd Moellmann <gerd@gnu.org>
4661
4662 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4663 before running the command; timer functions or process
4664 filters may have set it.
4665
5141f9d0
EZ
46662001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4667
4668 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4669 Doc fix.
4670
b6a15240
GM
46712001-03-12 Gerd Moellmann <gerd@gnu.org>
4672
4673 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4674 to sprintf.
4675
95522746
GM
46762001-03-09 Gerd Moellmann <gerd@gnu.org>
4677
db14cfc5
GM
4678 * dispextern.h (string_buffer_position): Add prototype.
4679
52283633 4680 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4681 (single_display_prop_string_p): New functions.
4682
4683 * xterm.c (note_mouse_highlight): If there's no help-echo on
4684 a string, look at the buffer text ``under'' it.
4685
4686 * keyboard.c (make_lispy_event): Add string info to the event,
4687 analogous to what's done on mode lines.
4688 (read_key_sequence): For a click on a string, consider `local-map'
4689 and `keymap' of that string.
4690
52283633
SM
4691 * keyboard.c (make_lispy_event, make_lispy_movement):
4692 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4693
4694 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4695
4696 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4697 POS; return void.
4698
95522746
GM
4699 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4700 flags argument to emacs_open; it seems to conflict with O_EXCL.
4701
898a399d
KH
47022001-03-09 Kenichi Handa <handa@etl.go.jp>
4703
28cd4910
KH
4704 * composite.h (struct composition): Change types of members;
4705 glyph_len to unsigned, width to unsigned short.
898a399d 4706
4cdf6a6c
AI
47072001-03-08 Andrew Innes <andrewi@gnu.org>
4708
4709 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4710 menu titles.
4711
129004d3
GM
47122001-03-08 Gerd Moellmann <gerd@gnu.org>
4713
221dd3e7
GM
4714 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4715 instead of nil.
4716
52283633 4717 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4718 help-echo in strings.
4719 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4720 (fast_find_string_pos): New function.
4721
52283633
SM
4722 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4723 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4724
4725 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4726 Handle `mouse-face'.
4727
4728 * dispextern.h (face_at_string_position): Change prototype.
4729
52283633 4730 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4731
129004d3
GM
4732 * keyboard.c (make_lispy_event): Avoid generating drag events
4733 if the mouse hasn't actually moved to another buffer position.
52283633 4734
80c8ab8c
DL
47352001-03-08 Dave Love <fx@gnu.org>
4736
129004d3 4737 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4738
989521fd
GM
47392001-03-08 Gerd Moellmann <gerd@gnu.org>
4740
4741 * process.c (Fset_process_window_size): Fix a typo.
4742
bb5c338d
KH
47432001-03-08 Kenichi Handa <handa@etl.go.jp>
4744
4745 * coding.c (detect_coding_sjis): Do more rigid check.
4746 (detect_coding_big5): Likewise.
4747 (decode_coding_sjis_big5): Likewise.
4748 (Fdetect_coding_region): Call detect_coding_system with tailing
4749 anchor byte `\0' for more rigid detection.
52283633 4750 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4751 (Fdetect_coding_string): Likewise.
4752
8b8f9197
SM
47532001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4754
4755 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4756 a string before extracting its data.
4757
3bdf2660
GM
47582001-03-07 Gerd Moellmann <gerd@gnu.org>
4759
4760 * window.c (Frecenter): Rewrite code handling negative values
4761 of ARG on graphical frames.
4762
47632001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4764
4765 * window.c (displayed_window_lines): If W->start is outside the
4766 accessible portion of the buffer, call start_display with BEGV or
4767 ZV instead of W->start.
4768
471f86b9
GM
47692001-03-07 Gerd Moellmann <gerd@gnu.org>
4770
2ab62c6c
GM
4771 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4772
471f86b9
GM
4773 * process.c (Fset_process_filter): Don't crash if the input
4774 file descriptor of PROCESS is closed.
4775 (Fset_process_window_size): Likewise.
4776
101922c3
GM
47772001-03-06 Kenichi Handa <handa@etl.go.jp>
4778
4779 * xterm.c (XTflash): Make the timeout of select shorter, and call
4780 select repeatedly until the desired time expires.
4781
45d051a7
GM
47822001-03-06 Gerd Moellmann <gerd@gnu.org>
4783
4784 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4785
4786 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4787
4788 * lisp.h (Vwindow_list): Declare extern.
4789
8f372c46
EZ
47902001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4791
4792 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4793
f16a7aa5
GM
47942001-03-06 Gerd Moellmann <gerd@gnu.org>
4795
157ae273
GM
4796 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4797 to detect a case where we have to highlight a different region
4798 despite not having left the currently highlighted region.
4799 Set mouse_face_overlay in the x_display_info.
45d051a7 4800 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4801
4802 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4803
4804 * buffer.c (mouse_face_overlay_overlaps): New function.
4805
4806 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4807 (Qmouse_face): Declare extern.
4808
f16a7aa5
GM
4809 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4810 if face_change_count is non-zero.
4811
827afcac
KH
48122001-03-06 Kenichi Handa <handa@etl.go.jp>
4813
4814 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4815 that the source is unibyte.
4816
14c7242e
DL
48172001-03-05 Dave Love <fx@gnu.org>
4818
827afcac 4819 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4820
c28b847b
GM
48212001-03-05 Gerd Moellmann <gerd@gnu.org>
4822
4823 * minibuf.c (read_minibuf): Clean up the binding stack if
4824 called noninteractively.
4825
b86644f2
KH
48262001-03-05 Kenichi Handa <handa@etl.go.jp>
4827
4828 * coding.c (syms_of_coding): Docstring modified.
4829
203682cc 48302001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4831
4832 * charset.c (char_to_string): If a single byte char has modifier
4833 bits that can't be reflected to the character code, ignore them
45d051a7 4834 instead of signaling an error.
b86644f2 4835
e30bd7b7
EZ
48362001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4837
4838 * s/msdos.h: Update copyright notice.
4839
4840 * dosfns.h: Update copyright notice.
4841
4842 * dosfns.c: Update copyright notice.
4843
4844 * msdos.c: Update copyright notice.
4845
b52b65bd
GM
48462001-03-02 Gerd Moellmann <gerd@gnu.org>
4847
4848 * xterm.c (glyph_rect): New function.
4849 (XTmouse_position): Use it to raise the threshold for mouse
4850 movement event generation.
4851
53c4b1e6
EZ
48522001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4853
4854 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4855 specifies (reverse . t), reverse the initial screen colors.
4856 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4857 but we are reversing the colors, set bg_set, not fg_set.
4858 Likewise for setting background-color and reversing: set fg_set.
4859 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4860 in effect.
4861
4862 * xfaces.c (Finternal_set_lisp_face_attribute)
4863 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4864 parameters alist.
4865
f964b4d7
GM
48662001-03-02 Gerd Moellmann <gerd@gnu.org>
4867
ef53d75e
GM
4868 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4869 to a single slash in the middle of file names.
4870
52283633 4871 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4872 Accept only alphanumeric time zone names.
4873
f964b4d7
GM
4874 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4875 or width area.
4876 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4877 a widget to zero height.
52283633 4878
c3c45f65
GM
48792001-03-01 Gerd Moellmann <gerd@gnu.org>
4880
4881 * window.c (Fwindow_end): Call move_it_past_eol only if
4882 ending up on a partially visible line.
4883
028d739a
DL
48842001-03-01 Dave Love <fx@gnu.org>
4885
4886 * ccl.c (Fccl_execute): Doc fix.
4887
57c5889c
GM
48882001-03-01 Gerd Moellmann <gerd@gnu.org>
4889
35f59f6b
GM
4890 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4891 of the tool bar before calling x_figure_window_size.
4892
f84ff02c
GM
4893 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4894 NULL after destroying it, otherwise XTread_socket can access a
4895 destroyed widget when input is unblocked.
4896
8b8f9197 4897 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4898
57c5889c
GM
4899 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4900 same name as before, although there was a change in fontsets.
4901
224227d1
KR
49022001-02-28 Ken Raeburn <raeburn@gnu.org>
4903
4560730a
KR
4904 * lisp.h (Fframe_parameter): Declare.
4905
224227d1 4906 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4907 Lisp_Object.
224227d1 4908
ece93c02
GM
49092001-02-28 Gerd Moellmann <gerd@gnu.org>
4910
11ef99b9
GM
4911 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4912 NULL instead.
4913
4914 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4915 NULL instead.
4916
ece93c02
GM
4917 * alloc.c (toplevel): Include process.h.
4918 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4919 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4920 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4921 (allocate_vector, allocate_hash_table, allocate_window)
4922 (allocate_frame, allocate_process, allocate_other_vector):
4923 New functions.
ece93c02
GM
4924 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4925 (mark_maybe_pointer): New function.
52283633 4926 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4927 remain and not Lisp_Objects.
4928 (min_heap_address, max_heap_address): New variables.
4929 (mem_find): Return MEM_NIL if START is below min_heap_address or
4930 above max_heap_address.
4931 (mem_insert): Compute min_heap_address and max_heap_address.
4932
4933 * process.c (make_process): Use allocate_process.
4934
4935 * frame.c (make_frame): Use allocate_frame.
4936
4937 * window.c (make_window, make_dummy_parent): Use allocate_window.
4938 (Fcurrent_window_configuration): Use allocate_other_vector.
4939
4940 * lisp.h (allocate_vectorlike): Remove prototype.
4941 (allocate_vector, allocate_other_vector, allocate_frame)
4942 (allocate_window, allocate_process, allocate_hash_table):
4943 Add prototypes.
4944
4945 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4946 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4947
063af457
KH
49482001-02-27 Kenichi Handa <handa@etl.go.jp>
4949
4950 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4951 treat the produced bytes as a valid multibyte sequence.
4952
4953 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4954 (ccl_driver) <CCL_WriteMultibyteChar2>:
4955 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4956 <ccl_finish>: Set ccl->eight_bit_control properly.
4957
4958 * ccl.h (struct ccl_program): New member eight_bit_control.
4959
f58c6494
SM
49602001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4961
4962 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4963 accessible_keymaps_char_table.
4964 (accessible_keymaps_char_table): Obey `is_metized'.
4965 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4966 Lisp_Object.
4967
c596c392
GM
49682001-02-26 Gerd Moellmann <gerd@gnu.org>
4969
4970 * dispnew.c: Check HAVE_TERM_H before including term.h.
4971
425de386
AI
49722001-02-24 Andrew Innes <andrewi@gnu.org>
4973
4974 * makefile.w32-in: Update copyright notice.
4975
2ba11bbd
SM
49762001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4977
4978 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4979
66c56ed1
KH
49802001-02-24 Kenichi Handa <handa@etl.go.jp>
4981
4c1593ce
KH
4982 * Makefile.in (lisp): Add international/utf-8.elc.
4983
66c56ed1
KH
4984 * fontset.c (Fnew_fontset): Fix handling of the case that an
4985 element of FONTLIST is a cons of family and registry.
4986
796ead7e
JR
49872001-02-23 Jason Rumney <jasonr@gnu.org>
4988
4989 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4990 to height unconditionally.
4991
4992 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4993 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4994 (x_insert_glyphs): Call window_box_left to obtain the left
4995 x-coordinate of the area to shift.
4996
4997 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4998 safe_run_hooks.
4999
f6839838
AI
50002001-02-22 Andrew Innes <andrewi@gnu.org>
5001
52283633 5002 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
5003 ($(BLD)\dispnew.obj):
5004 ($(BLD)\editfns.obj):
5005 ($(BLD)\fileio.obj):
5006 ($(BLD)\filelock.obj):
5007 ($(BLD)\keyboard.obj):
5008 ($(BLD)\w32proc.obj):
5009 ($(BLD)\process.obj):
5010 ($(BLD)\sysdep.obj): Ditto.
5011
5012 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
5013 header files.
52283633
SM
5014 ($(BLD)/dispnew.$(O)):
5015 ($(BLD)/editfns.$(O)):
5016 ($(BLD)/fileio.$(O)):
5017 ($(BLD)/filelock.$(O)):
5018 ($(BLD)/keyboard.$(O)):
5019 ($(BLD)/w32proc.$(O)):
5020 ($(BLD)/process.$(O)):
f6839838
AI
5021 ($(BLD)/sysdep.$(O)): Ditto.
5022
c224f70b
GM
50232001-02-22 Gerd Moellmann <gerd@gnu.org>
5024
51695746
GM
5025 * xdisp.c (forward_to_next_line_start): When taking the shortcut
5026 at the start of the function, check that the \n in it->c is
5027 from the iterator's current position.
52283633 5028
a61b7058
GM
5029 * xdisp.c (handle_single_display_prop): Add parameter
5030 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
5031 properties which replace the display of text with something else.
5032 (handle_display_prop): Call handle_single_display_prop with
5033 additional argument saying if we already replaced text display
5034 with something else. Use AREF.
52283633 5035 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
5036 (decode_mode_spec_coding): Use AREF and ASIZE.
5037
3473f362
GM
5038 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
5039 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
5040 * vmstime.h: Files removed.
52283633 5041
2bb58df3
GM
5042 * unexencap.c, unexfx2800.c: Files removed.
5043
c224f70b
GM
5044 * dispnew.c (direct_output_for_insert): Give up if we are showing
5045 a message or just cleared the message because we might need to
5046 resize the echo area window or display an empty echo area.
5047
ffc9ff0c
GM
50482001-02-21 Gerd Moellmann <gerd@gnu.org>
5049
0528abe1
GM
5050 * xdisp.c (redisplay_internal): Do the
5051 mark_window_display_accurate after all windows have been
5052 redisplayed because this call resets flags in buffers which are
5053 needed for proper redisplay.
5054
52283633
SM
5055 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
5056 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
5057 the old names.
5058
52283633
SM
5059 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5060 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
5061
5062 * msdos.h (struct x_output): Rename busy_window to
5063 hourglass_window, busy_p to hourglass_p.
5064
52283633
SM
5065 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5066 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
5067
5068 * xfns.c: Rename everything containing *busy_cursor* and similar
5069 to *hourglass*.
5070 (syms_of_w32fns): Rename x-busy-pointer-shape to
5071 x-hourglass-pointer-shape, display-busy-cursor to
5072 display-hourglass, busy-cursor-delay to hourglass-delay.
5073
5074 * w32fns.c: Rename everything containing *busy_cursor* and similar
5075 to *hourglass*.
5076 (syms_of_w32fns): Rename x-busy-pointer-shape to
5077 x-hourglass-pointer-shape, display-busy-cursor to
5078 display-hourglass, busy-cursor-delay to hourglass-delay.
5079
5080 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
5081 of its busy_p flag.
5082
5083 * dispextern.h (start_hourglass, cancel_hourglass)
5084 (display_hourglass_p): Renamed from *busy_cursor*.
5085
ab2c5f0a
GM
50862001-02-20 Gerd Moellmann <gerd@gnu.org>
5087
d17e49a8
GM
5088 * keyboard.c (read_char): When an event from unread-command-events
5089 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
5090
fa97adf6
GM
5091 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
5092 equal to the current buffer.
5093
ab2c5f0a
GM
5094 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
5095 nil, otherwise we're left with truncate_lines t when a message
5096 is printed with message-truncate-lines bound to t.
5097
aeac019e
GM
50982001-02-19 Gerd Moellmann <gerd@gnu.org>
5099
c8bc6f65
GM
5100 * window.c (Fmove_to_window_line): Undo last change.
5101 (displayed_window_lines): Call line_bottom_y to determine
5102 the line's bottom position.
5103
5104 * dispextern.h (line_bottom_y): Add prototype.
5105
52283633 5106 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
5107 (pos_visible_p): Use it.
5108
980a2d69
GM
5109 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
5110 set redisplaying_p to 0 here instead of in Frecursive_edit.
5111 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
5112 set redisplaying_p.
5113
52283633 5114 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
5115 New variables.
5116 (syms_of_xdisp): Initialize new variables.
5117 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
5118 Specbind `inhibit-menubar-update' when updating the menu bar.
5119
65048e97
GM
5120 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
5121 safe_run_hooks.
5122
5123 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
5124 safe_run_hooks.
5125
a57c4026
GM
5126 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
5127 is null.
5128
aeac019e
GM
5129 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
5130 to the start of the file.
5131
76846b31
GM
51322001-02-16 Gerd Moellmann <gerd@gnu.org>
5133
f3f053f3 5134 * window.c (set_window_buffer): Fix last change.
52283633 5135
f3f053f3
GM
5136 * window.c (set_window_buffer): Set window's vscroll to 0.
5137
dad75588
GM
5138 * window.c (coordinates_in_window): Increase width of area
5139 where the vertical line can be dragged.
5140
c220b753
GM
5141 * xterm.c (x_set_glyph_string_background_width): Extend the
5142 background face to the end of the drawing area in the text
5143 area, only.
5144
c56b1c1b
GM
5145 * xdisp.c (handle_single_display_prop): Set iterator's position
5146 to where the `display' property starts, like for images.
5147 (dump_glyph): New function.
5148 (dump_glyph_row): Use it. Dump info about marginal areas.
5149
5150 * dispnew.c (direct_output_for_insert): Recognize more cases where
5151 glyphs can be written instead of being inserted.
5152
5153 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
5154 the left x-coordinate of the area to shift.
5155
76846b31
GM
5156 * dired.c (directory_files_internal): Set result list to nil
5157 before retrying.
5158
0fc71a77
KH
51592001-02-15 Kenichi Handa <handa@etl.go.jp>
5160
5161 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
5162 invalid multibyte sequence, treat *SRC as a character of
5163 eight-bit-graphic.
5164
25078b54
EZ
51652001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5166
5167 * textprop.c (Fset_text_properties): Doc fix.
5168
8399f8a0
GM
51692001-02-15 Gerd Moellmann <gerd@gnu.org>
5170
5171 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5172
9a2a6f73
DL
51732001-02-14 Dave Love <fx@gnu.org>
5174
5175 * coding.c: Doc and message fixes.
5176
bf853fee
AI
51772001-02-14 Andrew Innes <andrewi@gnu.org>
5178
5179 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5180 Emacs frame above the screen size.
5181
78c663d8
GM
51822001-02-14 Gerd Moellmann <gerd@gnu.org>
5183
5184 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5185
7cc9f69f
GM
51862001-02-13 Gerd Moellmann <gerd@gnu.org>
5187
0a411995
GM
5188 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5189 case that TO ends up beyond ZV after running before-change-functions.
5190
5ddc1b75
GM
5191 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5192 the selected window if it is showing the buffer in question.
5193
7cc9f69f
GM
5194 * dired.c (directory_files_internal): Initialize errno.
5195 (toplevel): Include errno.h.
5196
2e6621ca
GM
51972001-02-13 Kenichi Handa <handa@etl.go.jp>
5198
5199 * xfaces.c (best_matching_font): New parameter width_ratio.
5200 Multiply avgwidth by width_ratio.
5201 (choose_face_font): Call best_matching_font with width_ratio
5202 calculated from the column width of C.
5203
60222d69
AI
52042001-02-12 Andrew Innes <andrewi@gnu.org>
5205
5206 The following changes are to draw box lines inside characters area
5207 if line-width is negative.
52283633 5208
60222d69
AI
5209 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5210 face->box_line_width is negative.
5211 (x_produce_stretch_glyph): Likewise.
5212 (x_produce_glyphs): Likewise.
5213 (x_estimate_mode_line_height): Likewise.
5214 (x_draw_glyph_string_background): Likewise.
5215 (x_draw_glyph_string_foreground): Likewise.
5216 (x_draw_composite_glyph_string_foreground): Likewise.
5217 (x_draw_glyph_string_box): Likewise.
5218 (x_draw_image_foreground): Likewise.
5219 (x_draw_image_relief): Likewise.
5220 (x_draw_image_foreground_1): Likewise.
5221 (x_draw_image_glyph_string): Likewise.
5222
9804b846
KH
52232001-02-09 Kenichi Handa <handa@etl.go.jp>
5224
5225 The following changes are to draw box lines inside characters area
5226 if line-width is negative.
52283633 5227
9804b846
KH
5228 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5229 face->box_line_width is negative.
5230 (x_produce_stretch_glyph): Likewise.
5231 (x_produce_glyphs): Likewise.
5232 (x_estimate_mode_line_height): Likewise.
5233 (x_draw_glyph_string_background): Likewise.
5234 (x_draw_glyph_string_foreground): Likewise.
5235 (x_draw_composite_glyph_string_foreground): Likewise.
5236 (x_draw_glyph_string_box): Likewise.
5237 (x_draw_image_foreground): Likewise.
5238 (x_draw_image_relief): Likewise.
5239 (x_draw_image_foreground_1): Likewise.
5240 (x_draw_image_glyph_string): Likewise.
5241
5242 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5243 and :line-width can be negative.
52283633 5244 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5245
49be9f70
JR
52462001-02-09 Jason Rumney <jasonr@gnu.org>
5247
5248 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5249 characters the same as ASCII and latin-1.
5250 (x_display_and_set_cursor): Check for the focus frame's selected
5251 window instead of selected_window.
5252 (x_after_update_window_line): Don't clear if frame's internal
5253 border width is zero.
5254 (x_new_font): Don't change a tooltip's size.
5255 (w32_initialize): Set char_ins_del_ok to 1.
5256
5257 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5258 (x_set_font): If font hasn't changed, avoid recomputing
5259 faces and other things.
52283633
SM
5260 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5261 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5262 (x_create_tip_frame): Prevent changing the tooltip's
5263 background color by specifying a color for the default font
5264 in .Xdefaults.
5265 (Qcancel_timer): New variable.
5266 (syms_of_w32fns): Initialize and staticpro it.
5267 (Fx_hide_tip, Fx_show_tip): Use it.
5268 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5269 the timer.
5270 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5271
5272 * w32.c (init_environment): Duplicate local string before putenv.
5273
555e35d2
SZ
52742001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5275
5276 * charset.c (Fstring): A typo.
5277
19c92c94
KH
52782001-02-09 Kenichi Handa <handa@etl.go.jp>
5279
e47a1c33
KH
5280 * charset.c (Fstring): If all arguments are less than 256, return
5281 a unibyte string.
5282
5283 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5284 return a unibyte string.
5285
19c92c94
KH
5286 * coding.c (code_convert_region): After detecting a coding, if
5287 nothing found, set coding->composing to COMPOSITION_NO.
5288 (decode_coding_string): Likewise.
5289
d8e675f5
SM
52902001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5291
5292 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5293 to avoid overflow.
5294
bd503487
KH
52952001-02-07 Kenichi Handa <handa@etl.go.jp>
5296
5297 * charset.c (parse_str_to_multibyte): New function.
5298
5299 * charset.h (parse_str_to_multibyte): Extern it.
5300
5301 * print.c (print_string): If we are going to print a unibyte
5302 string into a multibyte buffer, convert the string to multibyte by
5303 str_to_multibyte.
5304
a8370d72
AI
53052001-02-06 Andrew Innes <andrewi@gnu.org>
5306
5307 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5308 been created. It seems we can get sent window messages such as
5309 WM_ERASEBKGND before we properly update a frame.
5310
c363a1d6
GM
53112001-02-06 Gerd Moellmann <gerd@gnu.org>
5312
5313 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5314 Avoid some unnecessary cursor positioning.
5315
a08332c0
GM
53162001-02-05 Gerd Moellmann <gerd@gnu.org>
5317
52283633 5318 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5319 (LFACE_AVGWIDTH): New macro.
5320 (LFACEP): Use AREF.
5321 (check_lface_attrs): Check LFACE_AVGWIDTH.
5322 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5323 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5324 (merge_face_vectors): Check LFACE_AVGWIDTH.
5325 (Finternal_make_lisp_face): Use AREF.
5326 (xm_set_menu_resources_from_menu_face)
5327 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5328 (Finternal_lisp_face_empty_p): Use AREF.
5329 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5330 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5331 Compare average widths..
5332 (best_matching_font): Arrange for comparing average widths.
5333
52283633
SM
5334 * dispextern.h (enum lface_attribute_index):
5335 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5336
5cb3c8d4
DL
53372001-02-05 Dave Love <fx@gnu.org>
5338
5339 * puresize.h: Revert last change following loadup.el change.
5340
193fba87
AI
53412001-02-05 Andrew Innes <andrewi@gnu.org>
5342
5343 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5344 invocation of temacs, to work with Windows 2000.
5345 (bootstrap-emacs): Ditto.
5346
e16f52ce
GM
53472001-02-05 Gerd Moellmann <gerd@gnu.org>
5348
7a58ab59
GM
5349 * xterm.c (x_display_and_set_cursor): Check for the focus
5350 frame's selected window instead of selected_window.
5351
e89aaabd
GM
5352 * xdisp.c (try_scrolling): If point is in the line below the
5353 window, make sure to move the iterator at least a canonical
5354 char height down.
5355
52283633 5356 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5357
789ce875
KH
53582001-02-05 Kenichi Handa <handa@etl.go.jp>
5359
52283633
SM
5360 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5361 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5362 (ccl_driver): If the CCL program is terminated because of
5363 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5364 destination instead of throwing them away.
5365
20b28f82
GM
53662001-02-02 Gerd Moellmann <gerd@gnu.org>
5367
79fb38c0
GM
5368 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5369 faces and other things.
5370
20b28f82
GM
5371 * xdisp.c (get_next_display_element): Fix case of empty
5372 display table entry.
5373
5a72551e
EZ
53742001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5375
eb24d0bf
EZ
5376 * editfns.c (Fconstrain_to_field): Doc fix.
5377
6a3f48c7
EZ
5378 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5379 into `thoroughly', to make it consistent with the doc string.
5380
5a72551e
EZ
5381 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5382
01acdb05
GM
53832001-02-01 Gerd Moellmann <gerd@gnu.org>
5384
0353b28f
GM
5385 * search.c (search_buffer): Call set_search_regs with a byte
5386 position, not a character position.
5387
01acdb05
GM
5388 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5389 minibuffer-only,
5390
e86b5133
EZ
53912001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5392
5393 * frame.c (Fmodify_frame_parameters): Doc fix.
5394
7442878f
GM
53952001-01-31 Gerd Moellmann <gerd@gnu.org>
5396
01acdb05
GM
5397 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5398 identifier which is not reserved by Standard C.
52283633 5399
7442878f
GM
5400 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5401
5402 * window.c (enum window_part): New enumeration.
5403 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5404 Qright_bitmap_area.
5405 (coordinates_in_window): Return an enumerator from enum
5406 window_part. Fix handling of right scroll bar.
5407 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5408 `right-fringe' instead of `left-bitmap-area' and
5409 `right-bitmap-area'. Use enumerators from enum window_part
5410 instead of hard-coded integers.
52283633
SM
5411 (check_window_containing, window_from_coordinates):
5412 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5413 (syms_of_window): Replace Qleft_bitmap_area and
5414 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5415
7c132cba
EZ
54162001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5417
5418 * editfns.c (Fformat_time_string): Doc fix.
5419
c359dd9e
SM
54202001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5421
5422 * keymap.c (Fwhere_is_internal): Use the first valid binding
5423 if no ascii binding is found (when firstonly is t).
5424
ce070307
GM
54252001-01-31 Gerd Moellmann <gerd@gnu.org>
5426
b4f30ec5
GM
5427 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5428 instead of Finteractive_p.
5429
5430 * lisp.h (interactive_p): Add prototype.
5431
5432 * eval.c (interactive_p): New function.
5433 (Finteractive_p): Use it.
5434
ce070307
GM
5435 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5436
f57b6e64
DL
54372001-01-31 Dave Love <fx@gnu.org>
5438
d61c7afe
DL
5439 * .gdbinit (hook-run): Define to run xreload.
5440
f57b6e64
DL
5441 * textprop.c (Fset_text_properties): Fix newline in doc string.
5442
eef93f99
GM
54432001-01-30 Gerd Moellmann <gerd@gnu.org>
5444
52283633
SM
5445 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5446 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5447
5448 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5449 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5450 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5451
5452 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5453 height.
5454
d9c1f6f9
DL
54552001-01-30 Dave Love <fx@gnu.org>
5456
5457 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5458 AFTER_POTENTIAL_GC.
5459
e8f044a0
GM
54602001-01-29 Gerd Moellmann <gerd@gnu.org>
5461
52283633
SM
5462 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5463 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5464
8e1db7b3
EZ
54652001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5466
5467 * textprop.c (Fset_text_properties): Doc fix.
5468
4eefd9d2
GM
54692001-01-29 Gerd Moellmann <gerd@gnu.org>
5470
5471 * xdisp.c (forward_to_next_line_start): Remove xassert.
5472
fccb8288
EZ
54732001-01-29 Jason Rumney <jasonr@gnu.org>
5474
4eefd9d2 5475 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5476 returning without releasing it.
5477
76581eab
KH
54782001-01-29 Kenichi Handa <handa@etl.go.jp>
5479
5480 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5481 for '^', '$', and '\0'.
5482
83a96b4d
AC
54832001-01-28 Andrew Choi <akochoi@i-cable.com>
5484
5604ec34
AC
5485 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5486 regex for '^', '$', and '\0'.
5487
83a96b4d
AC
5488 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5489 only if current_sblock has been initialized.
5490
5491 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5492 terminal frame even if it is the only visible frame.
5493
c09a6440
KH
54942001-01-28 Kenichi Handa <handa@etl.go.jp>
5495
5496 * fontset.c (font_family_registry): Even if FONTNAME conform to
5497 XLFD, if it specifies other fields than family and registry,
52283633 5498 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5499 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5500 a signle byte character. Don't set FAMILY part to nil here.
5501 It is handled by the caller choose_face_font.
c09a6440
KH
5502 (Fnew_fontset): Call font_family_registry with FORCE 0.
5503 (Fset_fontset_font): Likewise.
5504
4dcd74e6
GM
55052001-01-27 Gerd Moellmann <gerd@gnu.org>
5506
5507 * xdisp.c (display_line): Don't treat a newline as fitting
5508 on the line.
5509
d2906bf8
GM
55102001-01-26 Gerd Moellmann <gerd@gnu.org>
5511
0130fe1a
GM
5512 * window.c (size_window): Set the window's orig_top to nil when
5513 changing heights, so that a future shrink_mini_window won't
5514 restore a bogus height.
5515
550f0e6a
GM
5516 * frame.c (do_switch_frame): If selected frame has a mini-window,
5517 resize that to exact size.
5518
b7b20fbd
GM
5519 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5520
a47b7816
GM
5521 * xdisp.c (display_line): Simplify check for glyphs fitting
5522 entirely in the line.
5523
d2906bf8
GM
5524 * xfns.c (xic_style): New variable.
5525 (create_frame_xic): Move static variable to global scope for
550f0e6a 5526 the case that `static' gets defined away.
d2906bf8 5527
73df2b1e
KH
55282001-01-26 Kenichi Handa <handa@etl.go.jp>
5529
5530 * coding.c (decode_coding): Set a flag for inhibiting
5531 inconsistent eol.
5532 (code_convert_region): Always set saved_coding_symbol.
5533 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5534 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5535
6613cfc4
GM
55362001-01-25 Gerd Moellmann <gerd@gnu.org>
5537
c5e6e06b
GM
5538 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5539 XClearArea.
5540
5541 * xterm.c (x_after_update_window_line): Don't clear if frame's
5542 internal border width is zero.
5543 (x_clear_area): New function.
5544 (x_after_update_window_line, x_clear_end_of_line)
5545 (x_scroll_bar_create, x_scroll_bar_set_handle)
5546 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5547 instead of XClearArea.
5548
5549 * xterm.h (x_clear_area): Add prototype.
5550
6613cfc4
GM
5551 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5552 which doesn't seem necessary anymore with Lesstif 0.92.
5553
650cc6cc
DL
55542001-01-25 Dave Love <fx@gnu.org>
5555
34ac3367
DL
5556 * puresize.h (BASE_PURESIZE): Up to 720000.
5557
650cc6cc
DL
5558 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5559
5e37dc22
GM
55602001-01-25 Gerd Moellmann <gerd@gnu.org>
5561
e1e441f9
GM
5562 * xdisp.c (echo_area_display): Don't call redisplay_internal
5563 when Emacs is shutting down. We can't run hooks etc. that
5564 would be necessary to do a redisplay.
5565
5e37dc22
GM
5566 * lread.c (read_integer): Use type EMACS_INT instead of int.
5567
0fb94c7f
EZ
55682001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5569
5570 * ccl.c (ccl_driver): Fix last change.
5571
e3778624
KH
55722001-01-25 Kenichi Handa <handa@etl.go.jp>
5573
5574 * ccl.h (sturct ccl_program): New member suppress_error.
5575
bb264518 5576 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5577 insert error message to the output.
5578 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5579
5580 * coding.h (struct coding_system): New member suppress_error.
5581
5582 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5583 (Fset_terminal_coding_system_internal): Set the member
5584 suppress_error to 1.
5585 (Fset_safe_terminal_coding_system_internal): Likewise.
5586
245ed2b1
SM
55872001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5588
5589 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5590 as if it was a `charset'.
5591
f9aaedb6
GM
55922001-01-24 Gerd Moellmann <gerd@gnu.org>
5593
5594 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5595 value in where_is_cache; the next lookup in the cache returns
5596 something bogus if we do.
5597
c3902c3e
EZ
55982001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5599
5600 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5601 if HAVE_WINDOW_SYSTEM isn't defined.
5602
3497f73e
GM
56032001-01-24 Gerd Moellmann <gerd@gnu.org>
5604
e7e41584
GM
5605 * fns.c (sweep_weak_table): Fix code taking items out of
5606 the hash collision chain. Some cleanup.
5607
3497f73e
GM
5608 * xterm.c (x_new_font): Don't change a tooltip's size.
5609
5610 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5611 background color by specifying a color for the default font
5612 in .Xdefaults.
5613
3d48e687
KH
56142001-01-24 Kenichi Handa <handa@etl.go.jp>
5615
96531b20
KH
5616 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5617 a workaround for SunOS 4's cc.
5618 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5619 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5620 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5621 statement.
3d48e687 5622
a30629d2
GM
56232001-01-23 Gerd Moellmann <gerd@gnu.org>
5624
5625 * xterm.c (x_set_window_size_1): New function extracted from
5626 x_set_window_size.
5627 (x_set_window_size): Use it.
5628 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5629 doesn't have a widget, like tooltips.
5630
5a43decf
EZ
56312001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5632
52283633 5633 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5634
b0e98867
KH
56352001-01-23 Kenichi Handa <handa@etl.go.jp>
5636
5637 * fns.c (Fset_char_table_default): Fix to make sub char-table
5638 correctly.
5639
50606b4c
GM
56402001-01-22 Gerd Moellmann <gerd@gnu.org>
5641
cb2ddc53 5642 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5643 a desired tool bar string, even if there are no tool bar items.
5644
57c28064
GM
5645 * xdisp.c (Ftool_bar_lines_needed): New function.
5646 (syms_of_xdisp): Defsubr it.
5647
50606b4c
GM
5648 * editfns.c (Fformat): Don't extend text properties from arguments
5649 to padding chars in the result.
5650
2f169c38
EZ
56512001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5652
5653 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5654
0f32f023
AI
56552001-01-20 Andrew Innes <andrewi@gnu.org>
5656
52283633 5657 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5658 (w32_initialize): Don't set term hooks that aren't actually needed
5659 in windowed mode.
5660
5661 * xfaces.c (realize_default_face):
5662 (realize_face):
5663 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5664
5665 * xdisp.c (handle_single_display_prop): Remove references to
5666 FRAME_W32_CONSOLE_P.
5667
52283633 5668 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5669
5670 * frame.h (output_method): Remove output_w32_console method.
5671 (FRAME_W32_CONSOLE_P): Remove macro.
5672
5673 * frame.c (Qw32_console): Remove variable.
5674 (Fframep): Remove references to it.
5675 (syms_of_frame): Ditto.
5676 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5677
5678 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5679 redefinition.
5680
7173eada
KH
56812001-01-20 Kenichi Handa <handa@etl.go.jp>
5682
5683 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5684
755b45ce
AI
56852001-01-19 Andrew Innes <andrewi@gnu.org>
5686
5687 * w32.c (init_environment): Add a version-independent site-lisp
5688 directory to EMACSLOADPATH, after the version dependent one.
5689
0a949811
GM
56902001-01-19 Gerd Moellmann <gerd@gnu.org>
5691
8501998a
GM
5692 * editfns.c (Fbuffer_substring): Doc fix.
5693
52283633
SM
5694 * xdisp.c (message_dolog, message2, message2_nolog):
5695 Rename parameter LEN to NBYTES.
0a949811 5696
e6ebcbbe
KH
56972001-01-19 Kenichi Handa <handa@etl.go.jp>
5698
200ecca2
KH
5699 * charset.c (strwidth): Use c_string_width.
5700 (c_string_width): New function.
5701 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5702 Caller changed.
5703
5704 * charset.h (c_string_width, lisp_string_width): Extern them.
5705
52283633 5706 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5707
e6ebcbbe
KH
5708 * indent.c (check_composition): Check validity of composition.
5709
200ecca2
KH
5710 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5711 characters by calling c_string_width.
5712 (x_consider_frame_title): Get byte length of frame tile string
5713 correctly.
5714 (display_mode_element): Pay attention to width of non-ASCII
5715 characters by calling strwidth.
5716
8692ca92
GM
57172001-01-18 Gerd Moellmann <gerd@gnu.org>
5718
8962e303
GM
5719 * xfns.c (Qcancel_timer): New variable.
5720 (syms_of_xfns): Initialize and staticpro it.
5721 (Fx_hide_tip, Fx_show_tip): Use it.
5722 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5723 the timer.
5724 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5725
91523be9
GM
5726 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5727
5728 * window.h (WINDOW_LIVE_P): New macro.
5729
b0b7ed0e
GM
5730 * window.c (window_size_fixed): New variable.
5731 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5732 the doc string.
5733
06bccf8e
GM
5734 * eval.c (specbind): If binding a per-buffer variable which
5735 doesn't have a buffer-local value in the current buffer, change
5736 the global value by changing the value of the symbol bound in all
5737 buffers not having their own value, to make it consistent with
5738 what happens with other buffer-local variables.
5739
8692ca92
GM
5740 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5741
5742 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5743 when searching for a newline.
5744
bb3a3b50
KH
57452001-01-18 Kenichi Handa <handa@etl.go.jp>
5746
5747 * xdisp.c (display_string): Fix previous change.
5748
c2cc16fa
JR
57492001-01-18 Jason Rumney <jasonr@gnu.org>
5750
5751 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5752 GLYPH_DEBUG is defined.
5753 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5754 true for images with `:ascent 100'.
5755 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5756 meantime, use face MOUSE_FACE_ID.
5757 If first glyph isn't a character glyph, use the ASCII NUL
5758 character to determine the face.
5759 (expose_area): Do not treat left margin specially.
5760 (note_mode_line_highlight): If no local_map, check global keymap.
5761 (note_mouse_highlight): Initialize overlay.
52283633 5762 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5763 (show_scroll_bars): Remove unused function.
5764 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5765 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5766 Clip to row.
52283633 5767 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5768 (x_free_frame_resources): Unload relief colors.
5769
9c11f79e
GM
57702001-01-17 Gerd Moellmann <gerd@gnu.org>
5771
3aec8722 5772 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5773 get_next_display_element when the newline is already found.
5774 This may change the iterator's position, when its current position is
3aec8722
GM
5775 equal to the iterator's stop_charpos.
5776
f3ffc2c3
GM
5777 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5778 zero, use this method only at the end of a line.
5779
52283633 5780 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5781 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5782 if SCALABLE_FONTS_P is set.
52283633 5783
d26d6fd9
GM
5784 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5785 so that scalable fonts are included.
5786
9c11f79e
GM
5787 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5788 In the cache, use a key containing the information if scalable
5789 fonts are included.
5790 (x_load_font): Adapt to change of keys in the font cache.
5791
57922001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5793
d26d6fd9
GM
5794 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5795 XListFonts to take advantage of font caching.
5796
9c11f79e
GM
5797 * xterm.c (x_list_fonts): Ensure caching font information when
5798 called for a null frame, which is the case frequently when Emacs
5799 starts.
5800
51446987
GM
58012001-01-17 Gerd Moellmann <gerd@gnu.org>
5802
f864120f
GM
5803 * xfns.c (QCconversion): Replaces QCalgorithm.
5804
5805 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5806
5807 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5808 of :algorithm.
52283633 5809
e37d1417
GM
5810 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5811 not everything could be displayed.
5812
51446987
GM
5813 * line.h, x-list-font.c: Files removed because unused.
5814
9ad4f3e5
AI
58152001-01-17 Andrew Innes <andrewi@gnu.org>
5816
5817 * dired.c (directory_files_internal): Convert result from readdir
5818 to a unibyte string initially, to avoid possible misinterpretation
5819 of some bytes as the internal form of Emacs characters.
5820
2eda09b5
KH
58212001-01-17 Kenichi Handa <handa@etl.go.jp>
5822
5823 * fns.c (concat): Be sure to avoid putting the same `composition'
5824 property on the adjacent regions.
5825
826f3788
GM
58262001-01-16 Gerd Moellmann <gerd@gnu.org>
5827
52283633 5828 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5829 (Fscroll_right, Fscroll_left): Set it here instead, if called
5830 interactively.
5831
d57b83b3
GM
5832 * buffer.c (Fset_buffer_modified_p): Set buffer's
5833 prevent_redisplay_optimizations_p flag.
5834
826f3788 5835 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5836 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5837 with additional arg.
5838
5839 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5840 Change prototype.
826f3788 5841
826f3788
GM
5842 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5843 FROM_WHERE, for debugging.
5844
261d788b
KH
58452001-01-16 Kenichi Handa <handa@etl.go.jp>
5846
5847 * ccl.c (Fregister_ccl_program): Handle the return value of
5848 resolve_symbol_ccl_program correctly.
52283633 5849 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5850
bccee4f2
GM
58512001-01-15 Gerd Moellmann <gerd@gnu.org>
5852
e4ded23c
GM
5853 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5854 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5855
5856 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5857 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5858 the display; we didn't open it.
5859
bccee4f2
GM
5860 * dispnew.c (save_or_restore_current_matrices): Function removed.
5861 (save_current_matrix, restore_current_matrix): New functions.
5862 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5863 restore the frame's current matrix. Due to the glyph pointer
5864 setup done in adjust_glyph_matrix, there is no easy way to make
5865 saving the current matrix in the desired matrix generally correct,
5866 so don't try it.
5867
ebeccffa
KH
58682001-01-15 Kenichi Handa <handa@etl.go.jp>
5869
5870 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5871 truncation glyphs.
5872 (display_line): Optimize for wide characters.
e4ded23c 5873 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5874 partially. On ttys, produce more than one truncation glyph for
5875 multi-column characters that don't fit on the line.
5876
64388126
KH
58772001-01-13 Kenichi Handa <handa@etl.go.jp>
5878
52283633
SM
5879 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5880 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5881
8edb0a6f
JR
58822001-01-13 Jason Rumney <jasonr@gnu.org>
5883
5884 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5885 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5886 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5887 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5888
52283633
SM
5889 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5890 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5891 (x_draw_image_glyph_string): Adapt to change of image margins.
5892
5893 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5894 variables.
5895
5896 * w32bdf.c (search_file_line, get_cached_font_char)
5897 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5898
5899 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5900
5901 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5902 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5903 (Fw32_send_sys_command): Remove unused variables.
5904 (w32_msg_pump): Add parentheses.
5905
5906 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5907 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5908 Add parentheses.
5909
4956d1ef
GM
59102001-01-12 Gerd Moellmann <gerd@gnu.org>
5911
b30623be
GM
5912 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5913 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5914 being a pair of margins.
5915 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5916 to DEFVAR_LISP. Extend doc.
5917
5918 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5919 margins.
5920 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5921 pair of integers `(X . Y)', use X for the horizontal and Y for the
5922 vertical margin.
5923 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5924 (parse_image_spec): Check it.
52283633
SM
5925 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5926 (tiff_format, gif_format, gs_format):
5927 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5928
52283633
SM
5929 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5930 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5931 (x_draw_image_glyph_string): Adapt to the change of image margins.
5932
5933 * dispextern.h (struct image): Replace member `margin' with
5934 `hmargin' and `vmargin'.
5935
4554cc79
GM
5936 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5937 and GLYPHS.
5938
5939 * dispnew.c (update_text_area): Put code which decrements the
5940 stop position when the row's face extends to the end of the
3bffc665 5941 line in #if 0.
4554cc79 5942
3cccce8d
GM
5943 * xfns.c (x_set_mouse_color): Fix color allocation.
5944
4956d1ef
GM
5945 * keyboard.c: Call get_local_map with new argument list.
5946
5947 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5948
5949 * intervals.h (enum map_property): Removed.
5950 (get_local_map): Change prototype.
5951
5952 * keymap.c: Call get_local_map with new argument list.
5953 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5954
2c2ff7f2
GM
59552001-01-11 Gerd Moellmann <gerd@gnu.org>
5956
a23887b9
GM
5957 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5958 of the size needed for the tool bar string. For the last image,
5959 use a `display' property that reaches to the end of the string.
5960
a7ee2d2e
GM
5961 * xselect.c (selection_request_dpyinfo): New variable.
5962 (x_handle_selection_request): Set it.
5963 (x_selection_request_lisp_error): Don't call
5964 x_decline_selection_request if selection request's display has
5965 been closed.
5966
52283633
SM
5967 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5968 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5969
457b792c
GM
59702001-01-10 Dave Love <fx@gnu.org>
5971
5972 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5973 ${SOME_MACHINE_LISP}, not ${lisp}.
5974
c1efd260
GM
59752001-01-10 Gerd Moellmann <gerd@gnu.org>
5976
52283633
SM
5977 * xdisp.c (display_line): On ttys, produce more than one truncation
5978 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5979
ac95a621
GM
5980 * xselect.c (x_reply_selection_request): Add a comment.
5981
c1efd260
GM
5982 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5983 XkbGetNames instead of XkbGetKeyboard.
5984
1bfb1345
DL
59852001-01-10 Dave Love <fx@gnu.org>
5986
5987 * sysdep.c (random): Revert the declaration.
5988
38119822
GM
59892001-01-09 Gerd Moellmann <gerd@gnu.org>
5990
52283633
SM
5991 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5992 Call function string_bytes.
35f464a7
GM
5993 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5994
5995 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5996 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5997 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5998 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5999 the current sblock.
6000 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
6001 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
6002 after sweeping strings, and at the end.
6003 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
6004
38119822
GM
6005 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
6006 ensure that pop_message is called.
6007
6008 * keyboard.c (Fexecute_extended_command): Use a
6009 record_unwind_protect to ensure that pop_message is called.
6010
6011 * lisp.h (push_message_unwind): Add prototype.
6012
6013 * xdisp.c (push_message_unwind): New function.
6014
6015 * fileio.c (do_auto_save_unwind): Do the pop_message here
6016 instead of in Fdo_auto_save.
6017 (Fdo_auto_save): Don't call pop_message.
6018
f47a9ec4
KR
60192001-01-08 Ken Raeburn <raeburn@gnu.org>
6020
6021 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
6022 in inner block.
6023
a758f97d
GM
60242001-01-08 Gerd Moellmann <gerd@gnu.org>
6025
6d0afc03
GM
6026 * window.c (window_scroll_pixel_based): Adjust glyph matrices
6027 when increasing window's vscroll.
6028
a758f97d
GM
6029 * macros.c (Qkbd_macro_termination_hook): New variable.
6030 (syms_of_macros): Initialize and staticpro it.
6031 (pop_kbd_macro): Run kbd-macro-termination-hook.
6032
6033 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
6034
1bfb1345 60352001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
6036
6037 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
6038 arglist, for documentation's sake.
6039
0dac6924
AI
60402001-01-06 Andrew Innes <andrewi@gnu.org>
6041
6042 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
6043 of *.pdb.
6044
8182406a
AI
60452001-01-05 Andrew Innes <andrewi@gnu.org>
6046
6047 * term.c (update_end): Don't check updating_frame; for some reason
6048 this can be 0 sometimes, such as after dismissing a popup menu,
6049 and isn't necessary given the explicit frame argument.
6050
3828218c
GM
60512001-01-05 Gerd Moellmann <gerd@gnu.org>
6052
6053 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
6054 on some systems, and an unsigned long on others, like FreeBSD 4.1.
6055
2f5ded21
GM
60562001-01-04 Gerd Moellmann <gerd@gnu.org>
6057
52283633 6058 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
6059
6060 * xfns.c (x_create_tip_frame): Preserve the value of
6061 face_change_count around the creation of the tip frame.
52283633 6062
2f5ded21
GM
6063 * xfns.c (last_show_tip_args): New variable.
6064 (compute_tip_xy): New function.
6065 (Fx_show_tip): Reuse an existing tip frame, if possible.
6066 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
6067
dfad65fa
DL
60682001-01-04 Dave Love <fx@gnu.org>
6069
64d4ec0f
DL
6070 * editfns.c (Fformat): Doc fix.
6071
dfad65fa
DL
6072 * systime.h (set_file_times): Prototype.
6073
6074 * widget.h (EmacsFrameSetCharSize_): Prototype.
6075
6076 * sysdep.c (random, srandom): Declare explicitly.
6077
6078 * dispextern.h (move_it_vertically_backward): Declare.
6079
85fe3b5e
GM
60802001-01-04 Gerd Moellmann <gerd@gnu.org>
6081
0f2ac578
GM
6082 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
6083 like in Fx_create_frame.
6084
482cca61
GM
6085 * xfaces.c (set_font_frame_param): Don't do anything for
6086 non-graphical frames.
6087
85fe3b5e
GM
6088 * window.c (Fdelete_other_windows): Set window's window_end_valid
6089 to nil when changing the window's start. Don't change the
6090 window's start when its top position hasn't changed. If we do,
6091 this will set the window's optional_new_start, which act's like a
6092 force_start during redisplay with C-x 1 M-> under particular
6093 circumstances (see report from Per Starback to emacs-pretest-bug
6094 from 2000-12-13.).
6095
3e99d3b4
GM
60962001-01-03 Gerd Moellmann <gerd@gnu.org>
6097
a77dc1ec
GM
6098 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
6099 short cut at the start of the function. Add an assertion.
6100 (reseat_at_next_visible_line_start): Add an assertion.
6101
2f3cad6c
GM
6102 * window.c (Frecenter): When changing the window start, set the
6103 window's window_end_valid to nil.
6104 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
6105
6106 * dispextern.h (move_it_past_eol): Add prototype.
6107
6108 * xdisp.c (move_it_past_eol): New function.
6109
3e99d3b4
GM
6110 * window.c (Fwindow_end): Doc fix.
6111
61122001-01-03 Dave Love <fx@gnu.org>
6113
52283633 6114 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 6115
bafb434c
GM
61162001-01-03 Gerd Moellmann <gerd@gnu.org>
6117
6118 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
6119 the enabled_p flag of the glyph row at window_end_vpos to 0.
6120 (handle_single_display_prop): Fix last change.
6121
5297fb00
RS
61222001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6123
6124 * window.c (Frecenter): Doc fix.
6125
13d6a61c
AI
61262001-01-02 Andrew Innes <andrewi@gnu.org>
6127
6128 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
6129
6130 * frame.h (output_method): Add output_w32_console method.
6131 (FRAME_W32_CONSOLE_P): New macro.
6132
6133 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
6134 use output_w32_console method.
6135 (Qw32_console): New Lisp_Object.
6136 (Fframep): Return it.
6137 (syms_of_frame): Init it.
52283633 6138 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
6139
6140 * xfaces.c (realize_default_face): Set face foreground and
6141 background to unspecified for w32_console frames.
6142 (realize_face): Realize face cache for w32_console frames.
6143 (realize_tty_face): Accept w32_console frames.
6144
52283633 6145 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
6146 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
6147 necessary, even if running interactively.
6148
6149 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
6150 w32_console frames.
6151
52283633
SM
6152 * w32term.c (x_update_begin):
6153 (x_update_end):
6154 (x_clear_frame):
6155 (x_ins_del_lines):
6156 (x_change_line_highlight):
6157 (x_delete_glyphs):
6158 (w32_ring_bell):
6159 (x_update_begin):
6160 (x_update_end):
6161 (w32_reassert_line_highlight):
6162 (w32_frame_rehighlight):
13d6a61c
AI
6163 (w32_frame_raise_lower): Do nothing if not w32 frame.
6164
6165 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6166
6167 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6168 system doesn't tell us directly.
6169 (Fx_display_visual_class): Implement properly.
6170
d6bb0c0d
GM
61712001-01-02 Gerd Moellmann <gerd@gnu.org>
6172
6173 * window.c (Frecenter): Handle centering in graphical frames
6174 specially. Centering on the basis of line counts doesn't work
6175 reliably with variable-height lines.
52283633 6176
315f5865
EZ
61772001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6178
6179 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6180 and al[].
6181
52283633 6182 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
6183 (update_compositions): Remove unused variable `hook'.
6184
6185 * intervals.c (get_local_map): Remove unused variable `tem'.
6186
6187 * doprnt.c (doprnt1): Remove unused variable `size'.
6188
6189 * fns.c (Flength): Remove unused variable `tail'.
6190 (Fdelete): Remove unused variable `size'.
6191
6192 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6193 and `gcpro2'.
6194
52283633 6195 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6196
6197 * data.c (find_symbol_value): Remove extra 3rd argument in the
6198 call to swap_in_symval_forwarding.
6199
52283633 6200 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6201
6202 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6203 (trivial_regexp_p): Remove unused variable `c'.
6204 (boyer_moore): Remove unused variable `k'.
6205
6206 * indent.c (current_column): Remove unused variable `stopchar'.
6207 (Fcompute_motion): Remove unused variable `contin'.
6208
6209 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6210
6211 * dired.c (directory_files_internal): Fix a typo in a comment.
6212 Remove an unused variable `handler'.
52283633 6213 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6214 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6215 on BSD4_2.
6216
52283633 6217 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6218
6219 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6220 and `buf'.
6221 (Fmarker_insertion_type): Remove unused variable `buf'.
6222
6223 * insdel.c (make_gap): Remove unused variable `result'.
6224
52283633 6225 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6226 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6227 (menu_bar_items): Remove unused function-scope variable `tem'.
6228
6229 * fontset.c (fontset_ref): Remove unused variable `i'.
6230 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6231 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6232 (make_fontset_for_ascii_face): Remove unused variable `name'.
6233 (fs_load_font): Remove unused variable `font_idx'.
52283633 6234 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6235 (list_fontsets): Remove unused variable `tail'.
6236 (Fnew_fontset): Remove unused variables `family' and `registry'.
6237 (accumulate_font_info): Remove unused variable `tmp'.
6238 (Ffontset_font): Remove unused variable `id'.
6239 (syms_of_fontset): Remove unused variable `i'.
6240
6241 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6242 to x_term_init.
6243 (lookup_image): Remove unused variable `file'.
6244 (xbm_load): Remove unused variables `bitmap_data', `height', and
6245 `width'. Remove function-local variable `i', leave the
6246 block-local one.
6247 (gif_load): Remove unused variable `inc'.
6248
52283633 6249 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6250 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6251 leave only the one in the inner block.
6252
6253 * xfaces.c (face_fontset, realize_default_face): Remove unused
6254 variable `fontset'.
6255 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6256
6257 * term.c (encode_terminal_code): Remove unused variable `c'.
6258
6259 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6260 char *' instead of `char *'.
6261
6262 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6263 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6264 (Fchar_category_set): Remove unused variables `val', `charset',
6265 `c1' and `c2'.
6266
52283633
SM
6267 * coding.c (detect_coding_iso2022, setup_coding_system):
6268 Remove unused variable `i'.
315f5865
EZ
6269 (detect_coding_mask): Remove unused variable `idx'.
6270 (detect_coding): Remove unused variable `i'.
6271 (ccl_coding_driver): Remove unused variable `result'.
6272 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6273 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6274 (encode_coding_string): Remove unused variables `gcpro1' and
6275 `saved_coding_symbol'.
6276 (Ffind_coding_systems_region_internal): Remove function-local
6277 variable args[], leave only the block-local one.
6278 (code_convert_region1): Remove unused variable `len'.
6279
6280 * charset.c (char_printable_p): Remove unused variable `chars'.
6281 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6282 (str_to_multibyte): Remove unused variable `c'.
6283
6284 * window.c (size_window): Remove block-local variable `min_size'.
6285
6286 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6287 `header_line_height'.
6288 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6289 enum display_element_type.
6290
1a8a9daf
GM
62912001-01-02 Gerd Moellmann <gerd@gnu.org>
6292
6dde6abc 6293 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6294 statements that call X. Save away the error message in a local copy.
6295
1883b2c6
GM
6296 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6297 the start.
6298
a13be207
GM
6299 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6300 in or at the start of invisible text.
6301
1a8a9daf
GM
6302 * dispnew.c (update_window): Don't check_current_matrix_flags.
6303
3608c0f9
JR
63042001-01-01 Jason Rumney <jasonr@gnu.org>
6305
6306 * w32fns.c (x_figure_window_size): Do not allow new_height and
6307 new_width of frame to override specified values.
6308
abb1acc4
KH
63092000-12-30 Kenichi Handa <handa@etl.go.jp>
6310
52283633 6311 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6312
762a68ec
GM
63132000-12-29 Gerd Moellmann <gerd@gnu.org>
6314
52283633 6315 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6316 (update_window) [GLYPH_DEBUG]: Call it.
6317 (scrolling_window): Prevent including current rows which are below
6318 what's displayed in the window.
6319
6320 * xdisp.c (try_window_reusing_current_matrix)
6321 <new start <= old start>: Disable rows in the current matrix
6322 which are below the window after scrolling.
52283633 6323
762a68ec
GM
6324 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6325 is zero. It's not worth the complexity.
6326 (invisible_text_between_p): Put in #if 0 because unused.
6327
2d5912c1
GM
63282000-12-28 Gerd Moellmann <gerd@gnu.org>
6329
46f6a258
GM
6330 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6331 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6332
89f93679
GM
6333 * keyboard.c (echo_char): If C is an integer, always call
6334 push_key_description. Former code could signal an invalid
6335 character error.
6336
6337 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6338 If set, print multibyte text.
6339 (Fsingle_key_description): Call push_key_description with
6340 FORCE_MULTIBYTE set.
6341 (describe_buffer_bindings): Likewise.
6342
6343 * lisp.h (push_key_description): Add prototype.
6344
c06017fb
GM
6345 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6346 around the call to redisplay_internal.
6347
f1d2ce7f
GM
6348 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6349
2d5912c1
GM
6350 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6351
9371f831
KH
63522000-12-28 Kenichi Handa <handa@etl.go.jp>
6353
6354 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6355 (ccl_driver): New local variable `extra_bytes'.
6356
6357 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6358
52283633
SM
6359 * coding.c (setup_coding_system):
6360 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6361 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6362
0c80628a
KH
63632000-12-28 Kenichi Handa <handa@etl.go.jp>
6364
6365 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6366 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6367 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6368 (decode_composition_emacs_mule): New function.
6369 (decode_coding_emacs_mule): Decode composition sequence by calling
6370 decode_composition_emacs_mule.
6371 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6372 (encode_coding_emacs_mule): Changed from macro to function.
6373 If a text contains compositions, encode them correctly.
0c80628a
KH
6374 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6375 that decoding and encoding are required.
6376
3e32cc27
GM
63772000-12-27 Gerd Moellmann <gerd@gnu.org>
6378
5e25feee
GM
6379 * xfaces.c (PT_PER_INCH): New macro.
6380 (xlfd_point_size): Compute real point size from font's pixel size.
6381 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6382 instead of 72.
6383
892d8fcd
GM
6384 * .gdbinit: Comment out the line pointing to the Lesstif source
6385 directory.
6386
12c8b416
GM
6387 * window.c (Frecenter): Use displayed_window_lines instead
6388 of window_internal_height.
6389
6061fbf0
GM
6390 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6391 instead of x-toolkit-scroll-bars-p.
6392 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6393
6394 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6395 instead of x-toolkit-scroll-bars-p.
6396 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6397
3e32cc27
GM
6398 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6399 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6400 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6401 New variables.
6402 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6403 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6404 (build_frame_matrix_from_leaf_window): Remove unused code.
6405 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6406 redisplay history.
6407 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6408 (update_window) [GLYPH_DEBUG]: Likewise.
6409 (syms_of_display): Defsubr dump-redisplay-history.
6410
31798cfe
GM
64112000-12-23 Gerd Moellmann <gerd@gnu.org>
6412
f717c2ba
GM
6413 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6414 the end of the prompt. Set echo_after_prompt to the offset
6415 of echoptr in echobuf.
6416
aeb2b8fc
GM
6417 * xdisp.c (init_from_display_pos): Pop until the iterator's
6418 stack is empty; there may be frames for stretch or images
6419 on the stack.
6420
31798cfe
GM
6421 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6422 (save_or_restore_current_matrix): New function for the same
6423 purpose, but more efficient.
6424 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6425
f8156156
EZ
64262000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6427
6428 * xdisp.c (syms_of_xdisp): Fix last change.
6429
bdd6d4e8
GM
64302000-12-23 Gerd Moellmann <gerd@gnu.org>
6431
6432 * xdisp.c (syms_of_xdisp): Doc fix.
6433
6434 * xdisp.c (redisplay_window): Remove label restore_buffers;
6435 use finish_scroll_bars instead to make sure that scroll bars
6436 are redeemed. If we don't do this, flickering can result from
6437 scroll bars being destroyed and recreated.
6438
9436cdf9
JR
64392000-12-22 Jason Rumney <jasonr@gnu.org>
6440
6441 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6442 in the wrong colors when the foreground is not black.
6443 (expose_window): Don't redraw the window that's currently being
6444 updated.
6445
951f9df5
GM
64462000-12-22 Gerd Moellmann <gerd@gnu.org>
6447
856ff7a7
GM
6448 * window.c (size_window): When setting the window's too_small_ok
6449 flag, compare old size with minimum size depending on WIDTH_P,
6450 don't compare with window_min_width.
52283633 6451
951f9df5
GM
6452 * window.c (delete_window): Simplify somewhat.
6453 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6454 freeing window matrices. The flag windows_or_buffers_changed is
6455 set, so the next redisplay will consider all windows; this should
6456 suffice.
6457
886bc933
KH
64582000-12-22 Kenichi Handa <handa@etl.go.jp>
6459
6460 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6461
6462 * ccl.h (struct ccl_program): New member cr_consumed.
6463
6464 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6465 (CCL_READ_CHAR): Handle EOL conversion here.
6466 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6467
177f4e88
GM
64682000-12-21 Gerd Moellmann <gerd@gnu.org>
6469
52283633 6470 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6471
6472 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6473 otherwise tabs of different size compare equal.
6474
6475 * callint.c (Fcall_interactively): Prevent a compiler warning.
6476
6477 * print.c (print_unwind): Return nil.
6478 (PRINTDECLARE): Initialize all local variables.
6479 (print_preprocess): Add a default case.
6480
8e15274f
GM
6481 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6482
6483 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6484
52283633 6485 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6486 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6487
6488 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6489
6490 * dispnew.c (ensure_frame_matrix): Removed.
6491 (save_frame_matrix, restore_frame_matrix): New functions.
6492 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6493
6494 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6495 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6496
99012074
AI
64972000-12-21 Andrew Innes <andrewi@gnu.org>
6498
6499 * w32term.c (x_update_begin): Regenerate the palette here, rather
6500 than for each window.
6501
6502 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6503 palette is NULL, since this corrupts memory! Also get
6504 display_info reference from frame.
6505
29ef7d2d
JR
65062000-12-21 Jason Rumney <jasonr@gnu.org>
6507
6508 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6509
6510 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6511 to avoid returning without releasing it.
3e27fa1f 6512
3f9d67a6
KH
65132000-12-21 Kenichi Handa <handa@etl.go.jp>
6514
587fc3f9
KH
6515 * keymap.c (push_key_description): Don't convert eight-bit-control
6516 and eight-bit-graphic to multibyte character.
6517
3f9d67a6
KH
6518 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6519 generic character and CODE1 is nil, return the smallest character
6520 in CHARSET.
6521
774ba8c9
DL
65222000-12-20 Dave Love <fx@gnu.org>
6523
6524 * s/osf5-0.h (NSIG): Don't redefine.
6525
88416888
SM
65262000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6527
6528 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6529 excluding menu-bar and tool-bar.
6530 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6531 (menu_item_p): Remove.
6532 (where_is_internal_1): Don't ignore menu-items.
6533
a6426c6f
GM
65342000-12-20 Gerd Moellmann <gerd@gnu.org>
6535
03ff8aab
GM
6536 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6537 into account.
6538
6539 * window.c (make_window): Initialize window's min_hscroll.
6540 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6541 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6542 to zero.
6543 (struct saved_window): New member min_hscroll.
6544 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6545 (Fset_window_configuration): Set window's min_hscroll.
6546 (save_window_save): Save window's min_hscroll.
6547 (compare_window_configurations): Compare min_hscroll values.
6548
6549 * window.h (struct window): New member min_hscroll.
6550
6551 * keyboard.c (echo_prompt): Prevent a compiler warning.
6552
8de4aaf8
GM
6553 * xdisp.c (try_cursor_movement): Fix last change. The real
6554 condition is that PT is at the end of the row, and should
6555 be displayed at the start of the next row.
52283633 6556
3f7e3031
GM
6557 * xdisp.c (try_cursor_movement): If we end on a partially
6558 visible line, end we already decided to scroll, return -1.
6559
a6426c6f
GM
6560 * dispextern.h (ensure_frame_matrix): Add prototype.
6561
6562 * window.c (delete_window, Fsplit_window)
6563 (Fset_window_configuration): Call ensure_frame_matrix.
6564
52283633
SM
6565 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6566 New functions.
a6426c6f
GM
6567 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6568 completed, call fake_current_matrices instead of marking frame
6569 garbaged.
6570
57fa2774
JR
65712000-12-20 Jason Rumney <jasonr@gnu.org>
6572
6573 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6574
d925df90
EZ
65752000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6576
6577 * fns.c (Frequire): Doc fix.
6578
7b93a85b
GM
65792000-12-19 Gerd Moellmann <gerd@gnu.org>
6580
52283633 6581 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6582
c74e645b
GM
6583 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6584 currently displaying a message.
6585
7b93a85b
GM
6586 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6587 xterm.h.
6588 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6589
90d97e64
AI
65902000-12-18 Andrew Innes <andrewi@gnu.org>
6591
6592 * w32.c (w32_strerror): New function.
6593
6594 * w32.h (w32_strerror): New extern.
6595
6596 * w32fns.c (Fw32_shell_execute): Use it.
6597
91c9e6ce
GM
65982000-12-18 Gerd Moellmann <gerd@gnu.org>
6599
6600 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6601
6f4745e2
EZ
66022000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6603
6604 * msdos.c (IT_set_face): Obey inverse_video.
6605
c9e088ce
KH
66062000-12-18 Kenichi Handa <handa@etl.go.jp>
6607
6608 * dired.c (directory_files_internal): Always return decoded filenames.
6609
c3695f5f
GM
66102000-12-18 Gerd Moellmann <gerd@gnu.org>
6611
52d8e4ff
GM
6612 * xterm.c (x_connection_closed): Prevent being called recursively
6613 because of an error condition in XtCloseDisplay.
52283633 6614
62be9979
GM
6615 * xdisp.c (init_iterator): If noninteractive, and the frame's
6616 face cache is null, make one.
6617
52283633 6618 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6619
c3695f5f
GM
6620 * process.c (wait_reading_process_input): Check for pending
6621 input when running timers.
6622
78555fbe
EZ
66232000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6624
52283633 6625 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6626
b2b36264
KH
66272000-12-18 Kenichi Handa <handa@etl.go.jp>
6628
6629 * process.c (read_process_output): Don't run a filter if the code
6630 decoder produces nothing but carryover.
6631
9c543fbf
AI
66322000-12-17 Andrew Innes <andrewi@gnu.org>
6633
6634 * w32.c (sys_rename): Only check errno against EEXIST, and not
6635 EACCES, when determining whether rename failed because the target
6636 exists. This was resulting in indefinite looping on Windows 9x if
6637 the source file was locked by another process.
6638
6639 * w32fns.c (Ffile_system_info): New function.
6640 (syms_of_w32fns): Defsubr it.
6641
10c2b5a8
GM
66422000-12-17 Gerd Moellmann <gerd@gnu.org>
6643
b0228ace
GM
6644 * window.c (coordinates_in_window): Fix computation for
6645 position on vertical line between mode lines.
6646
10c2b5a8
GM
6647 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6648 Don't alter tip_frame or tip_window.
6649 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6650 was deleted.
6651
c844a81a
GM
6652 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6653 Don't alter tip_frame or tip_window.
6654 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6655 was deleted.
6656
6c825f8e
EZ
66572000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6658
6659 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6660 be consistent with the doc string. Reported by NAKAJIMA Mikio
6661 <minakaji@osaka.email.ne.jp>.
6662
af4bb4c8
KH
66632000-12-16 Kenichi Handa <handa@etl.go.jp>
6664
6665 * xfaces.c (Vface_ignored_fonts): New variable.
6666 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6667 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6668
8062e53a
GM
66692000-12-15 Gerd Moellmann <gerd@gnu.org>
6670
e87b8809
GM
6671 * dispnew.c (update_window): Detect pending input every nth line
6672 updated, i.e. do it depending on real work done, and not on the
6673 vpos of the line.
6674
6675 * xterm.c (expose_window): Don't redraw the window that's
6676 currently being updated.
6677
a6768cc5
GM
6678 * window.c (Fset_window_point): Remove test for
6679 cursor_in_non_selected_windows.
6680
4ea7fdca
GM
6681 * lread.c (read1): Recognize end of file after `\\'.
6682
8062e53a
GM
6683 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6684 not unwind_create_frame.
6685
bb7959c1
GM
66862000-12-15 Dave Love <fx@gnu.org>
6687
6688 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6689 bcopy & al.
6690
6691 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6692
ced04c42
KH
66932000-12-15 Kenichi Handa <handa@etl.go.jp>
6694
c5443913
KH
6695 * coding.c (setup_coding_system): Clear all members of the struct
6696 coding_system at first.
bc137305
KH
6697 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6698 argument.
6699 (code_convert_region): Don't override coding->src_multibyte and
6700 coding->dst_multibyte.
c5443913 6701
ced04c42
KH
6702 * fns.c (Fmd5): Docstring improved.
6703
c2d7f289
MB
67042000-12-15 Miles Bader <miles@gnu.org>
6705
6706 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6707 are actually marked as mode-lines; otherwise use
6708 estimate_mode_line_height.
6709
9d7d9263
GM
67102000-12-14 Gerd Moellmann <gerd@gnu.org>
6711
6712 * editfns.c (Fformat): Prevent a buffer overrun when the format
6713 specifies a precision.
6714
7cf0153a
EZ
67152000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6716
6717 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6718 argument is outside the range [2..3].
6719
1de0f662
AI
67202000-12-14 Andrew Innes <andrewi@gnu.org>
6721
6722 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6723 nothing to do. Bind inhibit-quit.
6724 (tip_frame): Make it a Lisp_Object.
6725 (x_create_tip_frame): Set tip_frame after it has been added to
6726 Vframe_list.
6727 (Fx_show_tip): Don't set tip_frame here.
52283633 6728 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6729 (unwind_create_frame, unwind_create_tip_frame): New functions.
6730 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6731 while a frame is only partially constructed.
6732
6733 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6734 (x_free_frame_resources): New function.
6735 (x_destroy_window): Use it.
6736
02387dcc
GM
67372000-12-14 Gerd Moellmann <gerd@gnu.org>
6738
6739 * xfns.c (Fx_backspace_delete_keys_p): New function.
6740 (syms_of_xfns): Defsubr it.
6741
6742 * config.in (HAVE_XKBGETKEYBOARD): Add.
6743
0544ef49
KH
67442000-12-14 Kenichi Handa <handa@etl.go.jp>
6745
98d62747
KH
6746 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6747 Always store string in multibyte representation in echobuf.
6748 (echo_char): Always store string in multibyte representation in
6749 echobuf.
6750 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6751 (read_key_sequence): Adjusted for the change of echo_prompt.
6752
a20193cd
KH
6753 * fns.c (Fmd5): Docstring improved.
6754
191b83b6
KH
6755 * lisp.h (detect_coding_system): Prototype adjusted.
6756
0544ef49
KH
6757 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6758 (detect_coding_emacs_mule, detect_coding_iso2022,)
6759 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6760 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6761 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6762 (detect_coding_mask, detect_coding_system): New argument
6763 MULTIBYTEP. Callers changed.
1da1bb05
KH
6764 (decode_coding_string): Set coding->src_multibyte and
6765 coding->dst_multibyte before calling detect_coding and detect_eol.
6766 Update them after some coding system is detected.
52283633 6767
d5b3eb1b
SM
67682000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6769
6770 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6771
6772 * keyboard.c (menu_bar_items, tool_bar_items):
6773 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6774
f7f8bb69
GM
67752000-12-13 Gerd Moellmann <gerd@gnu.org>
6776
52283633 6777 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6778 New variables.
6779 (unwind_create_frame, unwind_create_tip_frame): New functions.
6780 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6781 while a frame is only partially constructed.
6782
6783 * xterm.h (x_free_frame_resources): Declare.
6784
6785 * xterm.c (x_free_frame_resources): New function.
6786 (x_destroy_window): Use it.
6787
e10da507
GM
6788 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6789 don't interrupt the update for pending input initially, i.e.
6790 update at least some lines.
6791
6792 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6793
d5b3eb1b 6794 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6795
6796 * xfns.c (gray_bitmap_bits): Declare `char *'.
6797
90aa2856
GM
67982000-12-12 Gerd Moellmann <gerd@gnu.org>
6799
6800 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6801 lines start with a relief line.
6802
a308c9cd
DL
68032000-12-12 Dave Love <fx@gnu.org>
6804
6805 * window.c (Fdisplay_buffer): Doc fix.
6806 (Fwindow_list): Remove unused var.
6807
6808 * buffer.h (mmap_set_vars): Declare.
6809
6810 * window.h (Fset_window_point): Declare.
6811
d575011f
EZ
68122000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6813
bf6282d2 6814 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6815 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6816 variable `area'. When looking for a row under (X,Y), give up if some
6817 of the previous rows is not enabled.
d575011f 6818
ecf4d726
GM
68192000-12-12 Gerd Moellmann <gerd@gnu.org>
6820
2ebf6139
GM
6821 * window.c (Fset_window_point): If displaying cursors in windows
6822 other than the selected window, make sure redisplay updates
6823 other windows to show the new value of point in the window.
6824
6825 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6826
bfdb75ee
GM
6827 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6828 the buffer is the sole visible buffer when in the mini-buffer.
6829
52283633 6830 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6831 Bind `inhibit-read-only' to t.
6832 (unwind_with_echo_area_buffer): Use AREF.
6833
c0006262
GM
6834 * xfns.c (Fx_hide_tip): Simplified.
6835
52283633
SM
6836 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6837 instead of `1'.
e9a59cad 6838
ecf4d726
GM
6839 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6840
e5959a9a
GM
68412000-12-11 Gerd Moellmann <gerd@gnu.org>
6842
a3642e49 6843 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6844
44b5a125
GM
6845 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6846 nothing to do. Bind inhibit-quit.
6847 (tip_frame): Make it a Lisp_Object.
6848 (x_create_tip_frame): Set tip_frame after it has been added to
6849 Vframe_list.
6850 (Fx_show_tip): Don't set tip_frame here.
6851
6852 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6853
6854 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6855 Lisp_Object.
6856
6857 * dispextern.h: Change external declaration of tip_frame.
6858
d990421f
GM
6859 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6860 return an empty string.
6861
4db87380
GM
6862 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6863 of the window's update_mode_line flag, since the former is set by
6864 force-mode-line-update, not the latter. This makes
6865 column-number-mode slightly faster.
52283633 6866
e5959a9a
GM
6867 * xdisp.c (try_window_id) <all changes above window start>:
6868 Set the cursor.
6869
169fe44e
GM
68702000-12-11 Paul Eggert <eggert@twinsun.com>
6871
6872 * config.in (HAVE_FTELLO): Remove.
6873 (HAVE_FSEEKO): Add.
6874 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6875 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6876 HAVE_FTELLO.
6877 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6878 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6879
59ec59ae
MB
68802000-12-11 Miles Bader <miles@gnu.org>
6881
6882 * window.c (displayed_window_lines): Don't round up when
6883 converting empty space at bottom to lines.
ff904dd6
MB
6884 Handle non-newline-terminated final lines properly.
6885 (Fwindow_text_height): New function (used to be in lisp).
6886 (syms_of_window): Initialize it.
59ec59ae 6887
42ebfa31
SM
68882000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6889
6890 * syntax.c (scan_lists): Check that the right quote char has the
6891 right Sstring syntax when jumping over strings.
6892 (init_syntax_once): Use Smax rather than 13.
6893
5cdb3cf3
MB
68942000-12-09 Miles Bader <miles@gnu.org>
6895
6896 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6897 with PARTIALLY, inverting the sense.
6898 (window_scroll_pixel_based): Scroll partially visible lines into
6899 place if we hit the beginning or end of the buffer.
a12167c5
MB
6900 (displayed_window_lines): Don't include partially visible lines.
6901 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6902
842b2a94
GM
69032000-12-08 Gerd Moellmann <gerd@gnu.org>
6904
6905 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6906
6907 * tparam.c (tparam1): Change the way buffers are reallocated to be
6908 portable and less obfuscated.
6909
6910 * termcap.c (tgetent): Change the way buffers are reallocated to
6911 be portable and less obfuscated.
6912
6913 * macros.c (store_kbd_macro_char): Change the way buffers are
6914 reallocated to be portable and less obfuscated.
6915
6916 * lread.c (read1): Change the way buffers are reallocated to be
6917 portable and less obfuscated.
6918
6919 * doc.c (Fsubstitute_command_keys): Change the way buffers
6920 are reallocated so that it is portable.
6921
137cad7c
EZ
69222000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6923
6924 * dosfns.c (Ffile_system_info): New function.
6925 (syms_of_dosfns): Defsubr it.
6926
5c7f629c
SM
69272000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6928
6929 * alloc.c (gc_sweep): Add comment.
6930
959e647d
GM
69312000-12-07 Gerd Moellmann <gerd@gnu.org>
6932
52283633
SM
6933 * sound.c (vox_configure): Change order of ioctls.
6934 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6935 Ignore errors when changing volume.
6936 (vox_close): Don't reset the device.
6937
926b7e5e
GM
6938 * process.c (read_process_output): Make sure the process marker's
6939 position is valid when the process buffer is changed in
6940 after-change functions. W3 does that.
52283633 6941
959e647d
GM
6942 * xfns.c (x_free_gcs): New function.
6943
6944 * xterm.h (x_free_gcs): Add prototype.
6945
6946 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6947 freeing GCs here.
6948
6949 * xterm.c (x_destroy_window): Call x_free_gcs so that
6950 resources of non-toolkit X windows will be freed.
6951
478ea067
AI
69522000-12-07 Andrew Innes <andrewi@gnu.org>
6953
6954 * w32fns.c (xlfd_charset_of_font): Fix last change.
6955
fbee3231
DL
69562000-12-06 Dave Love <fx@gnu.org>
6957
67292061
DL
6958 * md5.h (__P): Don't define -- it comes from config.h.
6959
fbee3231
DL
6960 * strftime.c: Change some #if foo to #ifdef foo.
6961
4ee87dbb
AI
69622000-12-06 Andrew Innes <andrewi@gnu.org>
6963
6964 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6965
52283633 6966 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6967 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6968 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6969
9765b4a4
GM
69702000-12-06 Gerd Moellmann <gerd@gnu.org>
6971
d285b373
GM
6972 * alloc.c (gc_sweep): Prevent symbols read during loadup
6973 from being freed.
6974
384333ee
GM
6975 * xdisp.c (underlying_face_id): New function.
6976 (handle_face_prop, face_before_or_after_it_pos): Use it
6977 to determine the face ``under'' a string. Let strings inherit
6978 the face of the buffer under them.
6979
6980 * xfaces.c (face_at_string_position): Update function comment.
52283633 6981
d4b72d58
GM
6982 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6983 matrix if the window's left position has changed; we need to
6984 redraw it in this case.
6985
6986 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6987
e1d05387
GM
6988 * window.c (coordinates_in_window): Check mouse on mode-line or
6989 header-line first.
6990
eb1b0c74
GM
6991 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6992 advertized by the function documentation.
6993
d94d636f
GM
6994 * window.c (syms_of_window): Doc fix.
6995
3887b449
GM
6996 * sound.c (vox_configure): Set volume for left and right channel.
6997 (sound_cleanup): Return nil.
6998
efc8f57a
GM
6999 * xdisp.c (move_it_by_lines): Fix paren typo.
7000
9765b4a4
GM
7001 * xterm.c (x_load_font): Don't use the font's max_bounds for
7002 computing the height of the font. If max_bounds' ascent or
7003 descent are greater than the font's ascent or descent, this means
7004 glyphs overlap, which should be handled now by redisplay.
7005
6529ed87
GM
7006 * window.c (Veven_window_heights): New variable.
7007 (syms_of_window): DEFVAR_LISP it.
7008 (Fdisplay_buffer): Check Veven_window_heights before evening the
7009 window heights.
52283633 7010
0eb2ecde
MB
70112000-12-06 Miles Bader <miles@gnu.org>
7012
7013 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
7014 update `default-frame-alist' instead of setting no frame parameters.
7015
03d7a167
KH
70162000-12-06 Kenichi Handa <handa@etl.go.jp>
7017
7018 * composite.c (update_compositions): Fix typo (use the correct
7019 variable).
7020
5f8803c2
JR
70212000-12-05 Jason Rumney <jasonr@gnu.org>
7022
7023 * md5.h: Remove underscores from function declarations.
7024 (__attribute__, __alignof__) [!__GNUC__]: Define.
7025
7026 * md5.c: Delay include of md5.h until after namespace cleaning.
7027
c28a075b
JR
7028 * makefile.w32-in (fns.o): Depend on md5.h
7029 (md5.o): New target.
7030 (sunfns.o): Remove.
7031
7032 * makefile.nt: Likewise.
7033
ff3c7056
JR
70342000-12-05 Jason Rumney <jasonr@altavista.net>
7035
7036 * w32term.c (expose_area): Complete last change.
7037
0c21eeeb
KR
70382000-12-05 Ken Raeburn <raeburn@gnu.org>
7039
7040 * minibuf.c: Include intervals.h.
7041
f201d732
JR
70422000-12-05 Jason Rumney <jasonr@gnu.org>
7043
7044 * w32term.c (x_produce_glyphs): If a font for a component of
7045 a composition is not found, use 1 pixel dot ascent and 0 dot
7046 descent value to avoid displaying terribly tall empty boxes.
7047 (expose_area): Pass x-coordinate relative to the exposed
7048 area to x_draw_glyphs instead of a window-relative coordinate.
7049
21999ab9
GM
70502000-12-05 Gerd Moellmann <gerd@gnu.org>
7051
4d2036e4
GM
7052 * xdisp.c (next_element_from_ellipsis): Save face before selective
7053 display in saved_face_id, and set face_before_selective_p.
7054 (reseat_1): Reset face_before_selective_p.
7055 (append_space, extend_face_to_end_of_line): If iterator's
7056 face_before_selective_p is set, use the face from saved_face_id.
7057 (extend_face_to_end_of_line): For tty frames, make sure to
7058 use the right face id when producing spaces at the end of
7059 the line.
7060
7061 * dispextern.h (struct it): Add face_before_selective_p.
7062
52be17cc
GM
7063 * keyboard.c (record_char): Don't record identical help-echo
7064 events in recent_keys.
7065
8a4f36cc
GM
7066 * xterm.c [USE_X_TOOLKIT]: Close the display.
7067 (xim_close_dpy): Handle case that the display has been closed.
7068
57d6e381
GM
7069 * xterm.c (x_destroy_window): Reset the frame's X window after
7070 destroying it.
7071
21999ab9
GM
7072 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
7073 variable window_width.
7074 (line_draw_cost): Fix code skipping over spaces at the end of the
7075 line when must_write_spaces is not set.
7076 (scrolling_window): Fix code inserting runs in list of all runs.
7077
91372bb7
KH
70782000-12-05 Kenichi Handa <handa@etl.go.jp>
7079
7080 * coding.c (setup_coding_system): Be sure to initialize
7081 coding->category_idx.
7082
6c083b4c
GM
70832000-12-04 Gerd Moellmann <gerd@gnu.org>
7084
0c68ce6f 7085 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 7086
6452929e
GM
7087 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
7088 area to x_draw_glyphs instead of a window-relative coordinate.
7089
d7f31e22
GM
7090 * fileio.c (auto_save_error): Add parameter ERROR. Show the
7091 error in the message.
7092
ae18aa3b
GM
7093 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
7094 timer after having read a key. It's not good for code reading
7095 several keys in a loop, like an input method.
7096
caa15ef7
GM
7097 * fileio.c (Finsert_file_contents): When VISIT is t, don't
7098 record undo information for format-decode.
7099
7100 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
7101 current buffer is read-only, not if it isn't.
7102
6c083b4c
GM
7103 * keyboard.c (record_char): Record `help-echo' input events
7104 in recent_keys only if they display some help. Don't record
7105 `help-echo' events as macro char.
7106
caa15ef7
GM
71072000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7108
7109 * editfns.c (save_excursion_restore): Don't move point
7110 in another window if it is showing the wrong buffer.
7111 Avoid the call to Fwindow_live_p, for speed.
7112
5a13529b
KH
71132000-12-04 Kenichi Handa <handa@etl.go.jp>
7114
e225faa7
KH
7115 * xfaces.c (struct font_name): New member registry_priority.
7116 (split_font_name): Initialize the above member to zero.
7117 (concat_font_list): New function.
7118 (font_list): Include fonts of all alternative registries.
7119 (FONT_POINT_SIZE_QUANTUM): New macro.
7120 (better_font_p): Ignore point size difference less than
7121 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
7122
e89648b4
KH
7123 * xterm.c (x_produce_glyphs): If a font for a component of
7124 a composition is not found, use 1 pixel dot ascent and 0 dot
7125 descent value to avoid displaying terribly tall empty boxes.
7126
5a13529b
KH
7127 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
7128
d7935eb6
KR
71292000-12-03 Ken Raeburn <raeburn@gnu.org>
7130
7131 * coding.h (code_convert_string1): Declare.
7132
7133 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
7134
52283633 7135 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 7136
0dd5e255
JR
71372000-12-02 Jason Rumney <jasonr@gnu.org>
7138
7139 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
7140 correctly for single byte character case.
7141 (w32_per_char_metric): Do not try to make any assumptions about
7142 the metrics of BDF fonts.
250cfece 7143 (x_estimate_mode_line_height): If `mode-line' face
52283633 7144 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
7145 (note_mouse_highlight): Change the cursor shape on the vertical
7146 border between windows [not enabled].
7147
7148 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
7149
7150 * w32fns.c (Fx_create_frame): Reintroduce the call to
7151 face-set-after-frame-defaults.
7152 (Vx_window_horizontal_drag_shape): New variable.
7153 (syms_of_xfns): DEFVAR_LISP it.
7154 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
7155 enabled].
0dd5e255 7156
b5d8d2ca
GM
71572000-12-02 Simon Josefsson <simon@josefsson.org>
7158
7159 * fns.c (Fmd5): Use a different logic to decide the coding system
7160 to use.
7161
7162 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
7163
fbb87147
EZ
71642000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7165
52283633 7166 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 7167
447e9da0
GM
71682000-12-01 Gerd Moellmann <gerd@gnu.org>
7169
7708ced0
GM
7170 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7171 height for YNegative.
7172 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7173 height; also see comment there.
7174
447e9da0
GM
7175 * window.c (coordinates_in_window): Handle computations for
7176 positions on the vertical bar and fringes differently for
7177 window-system frames. Consider some pixels near the vertical bar
7178 as on the bar if the frame doesn't have vertical scroll bars.
7179 Associate positions between mode or header lines with the
7180 right window, the left one.
7181
86d1db20
JR
71822000-12-01 Jason Rumney <jasonr@gnu.org>
7183
7184 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7185
7186 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7187 invalid frame.
7188
a1d58e5b
GM
71892000-12-01 Gerd Moellmann <gerd@gnu.org>
7190
52283633 7191 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7192 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7193 (save_window_save, Fset_window_configuration): Save/restore
7194 window's orig_top and orig_height.
7195
89c609af
JR
71962000-12-01 Jason Rumney <jasonr@gnu.org>
7197
4d177746 7198 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7199
89c609af
JR
7200 * w32fns.c (x_set_cursor_color): Fix last change.
7201
eccc05db
GM
72022000-11-30 Gerd Moellmann <gerd@gnu.org>
7203
31b6671b
GM
7204 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7205 sure that the next redisplay displays the minibuffer, so that
7206 the cursor will be replaced with what the minibuffer wants.
7207
eccc05db
GM
7208 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7209 #ifndef instead of using #if.
7210 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7211 USE_TOOLKIT_SCROLL_BARS is defined.
7212
162de750
JR
72132000-11-30 Jason Rumney <jasonr@gnu.org>
7214
7215 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7216 x_display_cursor.
7217
693c4692
GM
72182000-11-30 Gerd Moellmann <gerd@gnu.org>
7219
7220 * fns.c (Fmd5): Doc fix.
7221
b5d8d2ca 72222000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7223
7224 * fns.c (Fmd5): New function.
7225 (syms_of_fns): Defsubr md5.
7226
7227 * Makefile.in (obj): Add md5.o
7228
b02cd40b
GM
72292000-11-30 Gerd Moellmann <gerd@gnu.org>
7230
edfb795e
GM
7231 * md5.h, md5.c: New files, taken from glibc.
7232
df3aedcf
GM
7233 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7234
b02cd40b 7235 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7236 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7237
8b5176cd
SM
72382000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7239
7240 * eval.c (Frun_hooks): Allow 0 arguments.
7241
346598f1
GM
72422000-11-29 Gerd Moellmann <gerd@gnu.org>
7243
f9396e03
GM
7244 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7245 is over the menu bar widget, say it's not on the frame.
7246
4a967a9b
GM
7247 * xfns.c (Fx_create_frame): Reintroduce the call to
7248 face-set-after-frame-defaults.
7249
346598f1
GM
7250 * eval.c (Fsignal): Reset handling_signal.
7251
222456a1
JR
72522000-11-28 Jason Rumney <jasonr@gnu.org>
7253
7254 * w32menu.c (add_menu_item): Reset menu item text when changing
7255 type to radio button.
7256
8049ddc0
GM
72572000-11-28 Gerd Moellmann <gerd@gnu.org>
7258
346598f1 7259 * xselect.c: Update copyright.
f4f4ee4d 7260
bebe4a2c
GM
7261 * window.c (coordinates_in_window): If on a mode or header line,
7262 but sufficiently close to its start, return ``on vertical
7263 border''. This gives us a way to drag windows horizontally when
7264 using toolkit scroll bars.
7265
7266 * xterm.c (note_mouse_highlight): Change the cursor shape
7267 on the vertical border between windows.
7268
7269 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7270
7271 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7272 (syms_of_xfns): DEFVAR_LISP it.
7273 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7274
8d2c2642
GM
7275 * textprop.c (text_read_only): New function.
7276 (verify_interval_modification): Use it instead of signaling
7277 `text-read-only'. This makes it easier to catch this error
52283633 7278 with a breakpoint.:
8d2c2642 7279
52283633 7280 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7281 not end of line, which includes CR.
7282
5a2bae6c
KH
72832000-11-28 Kenichi Handa <handa@etl.go.jp>
7284
7285 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7286 include no-conversion.
7287
ae31f84d
JR
72882000-11-27 Jason Rumney <jasonr@gnu.org>
7289
7290 * w32fns.c (w32_load_system_font): Always mark font as double byte
7291 if codepage is unicode.
7292
67f1cf4c
GM
72932000-11-27 Gerd Moellmann <gerd@gnu.org>
7294
4a74d071 7295 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7296 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7297
902ae620
GM
7298 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7299 `vertical-line', `mode-line' and `header-line' events.
7300
7301 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7302 of a character, a TAB for instance. This is easier than to set
7303 up the iterator exactly, and it's not a frequent case, so the
7304 additional effort wouldn't really pay off.
7305
c1e279c2
AC
73062000-11-26 Andrew Choi <akochoi@i-cable.com>
7307
67f1cf4c 7308 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7309 init_window_once.
7310
a609568a
JR
73112000-11-25 Jason Rumney <jasonr@gnu.org>
7312
52283633
SM
7313 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7314 Args to window_from_coordinates should be pixel coordinates.
48b21762 7315
a609568a
JR
7316 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7317 redisplay handles them properly.
7318
a658d039
MB
73192000-11-25 Miles Bader <miles@gnu.org>
7320
7321 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7322
d3416cca
JR
73232000-11-24 Jason Rumney <jasonr@gnu.org>
7324
7325 * w32.c (init_environment): Set LANG environment variable based on
7326 locale settings, if not set.
7327
7328 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7329 making tool bar smaller. When clearing the frame, also
7330 clear current matrices. Clear frame when tool bar disappears.
7331 Don't use more lines for the tool-bar than is available.
7332 (x_change_window_heights): New function.
7333
ba193890
GM
73342000-11-24 Gerd Moellmann <gerd@gnu.org>
7335
2be8f184
GM
7336 * xdisp.c (init_from_display_pos): If POS says we're already after
7337 an overlay string ending at POS, make sure to pop the iterator
7338 because it will be in front of that overlay string. When POS is
7339 ZV, we've thereby also ``processed'' overlay strings at ZV.
7340
ba193890
GM
7341 * xfaces.c (lface_from_face_name): Function comment fix.
7342
1862a24e
MB
73432000-11-24 Miles Bader <miles@gnu.org>
7344
7345 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7346 apply `mode-line-inverse-video' -- zero means force display using
7347 the default face, non-zero means display using the specialized face.
7348 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7349
f07fa1b8
KH
73502000-11-23 Kenichi Handa <handa@etl.go.jp>
7351
7352 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7353 hard coded `4'.
7354
2bcdf662
EZ
73552000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7356
7357 * coding.c (decode_coding_emacs_mule): Fix the case of
7358 CODING_EOL_LF, which used uninitialized value of c.
7359
ba8299ff
SM
73602000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7361
7362 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7363
f4117c4d
GM
73642000-11-22 Gerd Moellmann <gerd@gnu.org>
7365
03e757c1
GM
7366 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7367 buffer object.
7368
f4117c4d
GM
7369 * frame.h (struct frame): Replace desired_tool_bar_items,
7370 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7371 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7372
7373 * frame.c (make_frame): Change initialization of tool bar
7374 items accordingly.
7375
7376 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7377 Change references to members deleted from struct frame to use the
f4117c4d
GM
7378 new ones.
7379
7380 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7381 references to members deleted from struct frame to use the new ones.
f4117c4d 7382
52283633 7383 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7384
7385 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7386
7387 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7388 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7389 from struct frame to use the new ones.
7390
f8e2f3f2
MB
73912000-11-23 Miles Bader <miles@gnu.org>
7392
7393 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7394 the face's inverse-video attribute, rather than overriding it.
7395
60e8e0a5
GM
73962000-11-22 Gerd Moellmann <gerd@gnu.org>
7397
7398 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7399 making tool bar smaller.
7400
92dd1b29
DL
74012000-11-22 Dave Love <fx@gnu.org>
7402
7403 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7404
e672fdce
MB
74052000-11-22 Miles Bader <miles@gnu.org>
7406
3a17d6cc
MB
7407 * keyboard.c (Vminibuffer_message_timeout): New variable.
7408 (command_loop_1): Use it to determine message timeout.
7409 (syms_of_keyboard): Initialize it.
7410
60e8e0a5 7411 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7412
e9655d81
KH
74132000-11-22 Kenichi Handa <handa@etl.go.jp>
7414
7415 * sysdep.c: Move the code for declaring h_errno after #include
7416 <netdb.h>.
7417
77270fac
GM
74182000-11-21 Gerd Moellmann <gerd@gnu.org>
7419
cd913aae
GM
7420 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7421 the menu bar when the tooltip is unmapped.
7422
77270fac
GM
7423 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7424 sole visible buffer when we're currently in the mini-buffer, and
7425 give up if so.
52283633 7426
556635d6
JR
74272000-11-21 Jason Rumney <jasonr@gnu.org>
7428
7429 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7430 put on the clipboard.
7431 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7432 copy of what Emacs last put there. If they are the same, do not
52283633 7433 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7434
5b7bde64
MB
74352000-11-22 Miles Bader <miles@gnu.org>
7436
7437 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7438 (syms_of_minibuf): Initialize it.
7439 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7440 to prompt, don't make read-only.
7441
ff23e1dd
GM
74422000-11-21 Gerd Moellmann <gerd@gnu.org>
7443
52283633
SM
7444 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7445 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7446
7aaf4388
GM
7447 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7448
f5f47add 7449 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7450
ff23e1dd
GM
7451 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7452
37c35586
KH
74532000-11-21 Kenichi Handa <handa@etl.go.jp>
7454
7455 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7456 ... #endif scope.
7457
ff9ab414
GM
74582000-11-20 Gerd Moellmann <gerd@gnu.org>
7459
52283633 7460 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7461 screen supports it.
7462
29a01b72
GM
7463 * s/gnu-linux.h: Don't use `#cpu'.
7464
09dfdf85
GM
7465 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7466 not defined in mman.h.
7467
52283633 7468 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7469 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7470 and store an index in the XClientMessageEvent. Storing a
7471 Lisp_Object or pointer can fail on a 64 bit system, since X only
7472 transfers 32 bits.
52283633
SM
7473 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7474
81459ac9
DL
74752000-11-20 Dave Love <fx@gnu.org>
7476
7477 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7478
56c13ae6
GM
74792000-11-20 Gerd Moellmann <gerd@gnu.org>
7480
7481 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7482
495a6df3
KH
74832000-11-20 Kenichi Handa <handa@etl.go.jp>
7484
2bcf3714
KH
7485 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7486 by WIDTH.
7487
495a6df3
KH
7488 * alloc.c (make_string): Fix previous change. Be sure to make
7489 unibyte string correctly.
7490
6d950f4c
GM
74912000-11-19 Gerd Moellmann <gerd@gnu.org>
7492
39b39373
GM
7493 * window.c (Fwindow_list): Change parameter list to be XEmacs
7494 compatible.
7495 (window_list_1): New function.
7496 (window_loop): Use it instead of Fwindow_list.
7497
b95b34e5
GM
7498 * sysdep.c (emacs_ospeed): New variable.
7499 (toplevel): Don't declare ospeed extern.
7500 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7501
7502 * termcap.c (ospeed): Remove.
7503 (tputs) [!emacs]: Remove unused code.
7504 (tgetent): Avoid a compiler warning.
7505
e83dc917
GM
7506 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7507 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7508 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7509
7510 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7511 removed.
7512 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7513 Take the X display as additional argument.
7514 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7515 `Widget' is a pointer type that's not easily stored in Lisp_Object
7516 form in a portable way.
52283633 7517
6d950f4c
GM
7518 * dispnew.c (update_text_area): Fix last change.
7519
e47306e6
GM
75202000-11-18 Gerd Moellmann <gerd@gnu.org>
7521
fb3cd89b
GM
7522 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7523
7524 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7525 clear current matrices.
7526
edaa9aed
GM
7527 * buffer.c (mmap_enlarge): Don't print a message on stderr
7528 if mapping new memory at the end of the existing region fails.
7529
e47306e6
GM
7530 * dispnew.c (update_text_area): Don't skip over equal glyphs
7531 when the last current glyph overlaps the glyph to its right.
7532
509633e3
MB
75332000-11-18 Miles Bader <miles@gnu.org>
7534
7535 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7536 lines that *end* with "..." too (that's the most common case!).
7537
d392e9c5
GM
75382000-11-18 Gerd Moellmann <gerd@gnu.org>
7539
67988445
GM
7540 * xdisp.c (resize_mini_window): Temporarily change to the
7541 mini-window's buffer if necessary.
1bfdbe43 7542
d392e9c5
GM
7543 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7544 the tooltip obscures less text under it.
7545
75462000-11-17 Gerd Moellmann <gerd@gnu.org>
7547
7548 * puresize.h (BASE_PURESIZE): Increase to 700000.
7549
92bb977f
JR
75502000-11-18 Jason Rumney <jasonr@gnu.org>
7551
7552 * w32term.c (w32_draw_bitmap): Use face to set colors.
7553
26fbf20b
DL
75542000-11-17 Dave Love <fx@gnu.org>
7555
7556 * lread.c (Fload): Fix #ifdef for pcc.
7557
100b593b
GM
75582000-11-17 Gerd Moellmann <gerd@gnu.org>
7559
7560 * xdisp.c (pos_visible_p): Compute the default character height
7561 differently.
7562
a288d0d1
GM
75632000-11-16 Gerd Moellmann <gerd@gnu.org>
7564
cac94de6 7565 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7566 knowing the line's height; use the default font's height in that case.
cac94de6 7567
a288d0d1
GM
7568 * xfaces.c (weight_table): Add `demi' with the same meaning as
7569 `demibold'.
7570
981fb6f6
KH
75712000-11-16 Kenichi Handa <handa@etl.go.jp>
7572
2cca872d 7573 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7574 (clear_glyph_row): Delete local static variable null_row.
7575
e5fa381b
JR
75762000-11-15 Jason Rumney <jasonr@gnu.org>
7577
7578 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7579 (w32_alloc_lighter_color): Use new brightness calculations from
7580 xterm.c. Scale delta to be in the range expected by W32.
7581 (w32_draw_relief_rect): Use frame relief colors.
7582
8e42f043
GM
75832000-11-15 Gerd Moellmann <gerd@gnu.org>
7584
6d133d1f
GM
7585 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7586 (Qinhibit_default_face_x_resources): New variable.
7587 (syms_of_frame): Initialize it.
7588 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7589
7590 * xdisp.c (pos_visible_p): Improve function comment.
7591
7592 * lisp.h (BINDING_STACK_SIZE): New macro.
7593
8e42f043
GM
7594 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7595 reading the directory if readdir returns null and errno is EAGAIN
7596 or EINTR.
7597
e8c87124
SM
75982000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7599
7600 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7601 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7602 Set amount_to_scroll to max of dx and scroll_step so that
7603 scroll-conservatively doesn't defeat scroll-step>1.
7604 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7605 scroll-conservatively for line-at-a-time scrolling.
7606
5f0c971d
GM
76072000-11-14 Gerd Moellmann <gerd@gnu.org>
7608
7609 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7610 extra argument.
7611
7612 * xdisp.c (current_mode_line_height, current_header_line_height):
7613 New variables.
7614 (init_xdisp): Initialize them.
7615 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7616 and use exact mode line heights if it is set.
7617
7618 * lisp.h (pos_visible_p): Change prototype.
7619
7620 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7621 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7622 and current_header_line_height first.
52283633
SM
7623 (current_mode_line_height, current_header_line_height):
7624 Declare extern.
5f0c971d 7625
d7361edf
MB
76262000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7627
7628 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7629 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7630 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7631
ee5e440a
MB
76322000-11-14 Miles Bader <miles@gnu.org>
7633
7634 * xterm.c (x_alloc_lighter_color): Include an additive component
7635 too for dark colors, because FACTOR isn't enough.
7636 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7637 New macros.
7638
5ca020fc
GM
76392000-11-13 Gerd Moellmann <gerd@gnu.org>
7640
7641 * keyboard.c (show_help_echo): Call message3_nolog with number of
7642 bytes in the help string as 2nd parameter, instead of the number
7643 of characters.
7644
9d348294
MB
76452000-11-13 Miles Bader <miles@gnu.org>
7646
7647 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7648 (Fload): Use new openp return protocol.
7649 Don't try to use Vload_source_file_function to load .elc files.
7650 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7651 openp return protocol.
7652 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7653
1729bb9a
KH
76542000-11-11 Kenichi Handa <handa@etl.go.jp>
7655
4e677396
KH
7656 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7657
7658 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7659 Defined these macros.
7660 (NLIST_STRUCT): Avoid re-defining it.
7661
1729bb9a
KH
7662 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7663 -I/usr/contrib/X11R6/include.
7664 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7665
a82fe213
JR
76662000-11-10 Jason Rumney <jasonr@gnu.org>
7667
7668 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7669
7670 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7671 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7672
7673 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7674 (Qw32_charset_vietnamese): New symbol.
7675 (xlfd_charset_of_font): New function.
7676 (w32_load_system_font): Use it.
7677 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7678 when Vw32_charset_info_alist is nil to ensure default face always
7679 has font. Use Fcar and Fcdr for safety.
7680 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7681 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7682 pseudo-codepages for special cases.
7683 (w32_to_x_font): New parameter to allow charset portion to be
7684 specified where there is many to one mapping. Callers changed.
7685 (w32_list_fonts): Avoid listing fonts that won't display.
7686
52d89894
GM
76872000-11-10 Gerd Moellmann <gerd@gnu.org>
7688
7689 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7690 (font_list_1): Renamed from font_list.
7691 (font_list): New function, trying alternative registries from
7692 Vface_alternative_font_registry_alist.
7693 (Finternal_set_alternative_font_registry_alist): New function.
7694 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7695 Vface_alternative_font_registry_alist.
7696 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7697
651cd3da
KR
76982000-11-09 Ken Raeburn <raeburn@gnu.org>
7699
7700 * lisp.h (Flooking_at): Declare.
7701
388ac098
GM
77022000-11-09 Gerd Moellmann <gerd@gnu.org>
7703
778fbc46 7704 * dired.c (directory_files_internal): Fix a braino.
52283633 7705
388ac098
GM
7706 * dired.c (directory_files_internal): Add missing GCPRO's.
7707 Some cleanup.
7708
ecaedde1
GM
77092000-11-08 Gerd Moellmann <gerd@gnu.org>
7710
f7eb32aa
GM
7711 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7712 (resize_mini_window): Return quickly if Vresize_mini_window is
7713 nil. Don't return if Vmax_mini_window_height is nil.
7714
7715 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7716 (syms_of_xdisp): Initialize them.
7717 (resize_mini_window): Act according to the setting of
7718 Vresize_mini_window.
7719 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7720
ecaedde1
GM
7721 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7722 scroll bar widget after configuring it, so that it will appear at
7723 the right position from the start.
7724 (XTredeem_scroll_bar): Cleaned up.
7725
3747ef2c
KH
77262000-11-08 Kenichi Handa <handa@etl.go.jp>
7727
7728 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7729 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7730 division by two.
7731
7732 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7733
03391420
DL
77342000-11-07 Dave Love <fx@gnu.org>
7735
7758f1c1 7736 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7737
7738 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7739
b5de343d
GM
77402000-11-07 Gerd Moellmann <gerd@gnu.org>
7741
acad3c0b
GM
7742 * window.c (Fset_window_configuration): Don't try to preserve
7743 point in the current buffer, if that buffer is displayed in more
7744 than one window.
7745
b5de343d
GM
7746 * xfaces.c (lookup_named_face): If default face isn't realized,
7747 try to realize it. Return -1 if not successful.
7748 (Fx_list_fonts): Handle case that face cannot be determined.
7749 (Fface_font): Likewise.
7750
cdb1fe49
GM
77512000-11-06 Gerd Moellmann <gerd@gnu.org>
7752
7753 * window.c (displayed_window_lines): Detect partially
7754 visible lines at the bottom correctly.
7755
d3a67486
SM
77562000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7757
7758 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7759 when ensuring we don't do visit in indirect buffer.
7760
ff8dd5d5
KH
77612000-11-06 Kenichi Handa <handa@etl.go.jp>
7762
7763 * composite.h (compose_chars_in_text): Add prototype.
7764
7765 * composite.c (Vcomposition_function_table): New variable.
7766 (Qcomposition_function_table): New variable.
7767 (run_composition_function): Call
7768 Vcompose_chars_after_function with three arguments.
7769 (compose_chars_in_text): New function.
7770 (syms_of_composite): Modified the doc-string of
7771 Vcompose_chars_after_function. Declare composition-function-table
7772 as a lisp variable, and initialize it.
7773
7774 * xfns.c (x_encode_text): Suppress producing escape sequences for
7775 composition.
7776
7777 * xselect.c: Include composite.h.
7778 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7779
d1145f85
AI
77802000-11-05 Andrew Innes <andrewi@gnu.org>
7781
7782 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7783
7784 * sysdep.c (read_input_waiting): Remove extraneous argument to
7785 read_socket_hook.
7786
7787 * w32fns.c (Fx_server_version): Include w32_build_number in the
7788 return list.
7789
7790 * w32heap.c (w32_build_number): New variable.
7791 (cache_system_info): Set it.
7792
7793 * w32heap.h (w32_build_number): Add extern.
7794
7795 * emacs.c (syms_of_emacs): Update docstring for
7796 system-configuration, to reflect the actual usage on MS-Windows.
7797
e85ee976
GM
77982000-10-31 Gerd Moellmann <gerd@gnu.org>
7799
26dcb81b
GM
7800 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7801 process idle timers while waiting for another event.
7802
52283633 7803 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7804 the default face are colored.
7805
e85ee976
GM
7806 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7807 window height hasn't changed.
7808
01b220b6
JR
78092000-10-31 Jason Rumney <jasonr@gnu.org>
7810
7811 * w32term.c (x_produce_glyphs): Handle composite characters.
7812 (x_draw_glyph_string_foreground)
7813 (x_draw_composite_glyph_string_foreground): Restore old font.
7814
4e6b7204
MB
78152000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7816
7817 * minibuf.c (read_minibuf): Reset the undo history just before
7818 starting the recursive-edit.
7819
d4358b37
GM
78202000-10-30 Gerd Moellmann <gerd@gnu.org>
7821
563f68f1
GM
7822 * xfaces.c (menu_face_change_count): New variable.
7823 (Finternal_set_lisp_face_attribute): Increment it for changes
7824 of the `menu' face.
7825 (realize_basic_faces): Reflect changes in the `menu' faces
7826 in menu bars.
7827
82e274d1
GM
7828 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7829 dy obtained from the iterator's y-position after moving from
7830 scroll_margin_pos to PT; see comment there.
52283633 7831
0dbf9fd2
GM
7832 * xdisp.c (safe_eval_handler): Call add_to_log.
7833
906b3b14
GM
7834 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7835 is not a symbol or string.
7836
d4358b37
GM
7837 * xdisp.c (echo_area_display): Don't perform a display update from
7838 inside redisplay. The update will happen anyway at the end of
7839 redisplay, and it can confuse redisplay (GC messages while
7840 redisplaying, for instance.)
7841
70c825df
SM
78422000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7843
cf9b4b0b
SM
7844 * xrdb.c (x_load_resources): Use the class name in the defaults.
7845
70c825df
SM
7846 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7847 (regex_compile): Catch bogus \(\1\).
7848
a1d34b1e
GM
78492000-10-30 Gerd Moellmann <gerd@gnu.org>
7850
cae71efe
GM
7851 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7852 RGB values.
52283633 7853
35efe0a1
GM
7854 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7855 we have a color cache, check that the cached color equals the
7856 allocated color. If not, clear the color cache.
7857
1d3baf74
GM
7858 * window.c (displayed_window_lines): Change buffers if necessary.
7859 Fix computation of displayed lines.
7860
a1d34b1e
GM
7861 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7862 update_menu_bindings to DEFVAR_BOOL.
7863
70737ea9
KH
78642000-10-30 Kenichi Handa <handa@etl.go.jp>
7865
70c825df 7866 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7867
fa0cb51d
KH
7868 * puresize.h (BASE_PURESIZE): Increase to 680000.
7869
70737ea9
KH
7870 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7871
0e4c08e8
JR
78722000-10-29 Jason Rumney <jasonr@gnu.org>
7873
7874 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7875
7876 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7877 (w32_cache_char_metrics): Handle possibility that 'x' does not
7878 exist in a BDF font.
7879 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7880
7881 * w32bdf.h (bdffont): Add nchars.
7882
7883 * w32bdf.c (set_bdf_font_info): Set it.
7884 (w32_BDF_TextOut): Swap byte order of double byte characters.
7885 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7886
45b84006
EZ
78872000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7888
7889 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7890 don't override the colors in frame's param_alist, unless they are
7891 unspecified.
7892
7893 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7894 reverse the effect of the highlight flag.
7895
caf9deee
KR
78962000-10-27 Ken Raeburn <raeburn@gnu.org>
7897
7898 * window.h (Fwindow_live_p): Declare.
7899
ae0b9b46
KR
7900 * undo.c (record_delete): Check that last_undo_buffer is really a
7901 buffer before applying XBUFFER to it.
7902
7903 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7904 Faref.
7905
02067692
SM
79062000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7907
7908 * lisp.h (KEYMAPP): New macro.
7909 (get_keymap): Remove.
7910 (get_keymap_1): Rename get_keymap.
7911
7912 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7913
7914 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7915
7916 * xmenu.c (single_submenu): Use KEYMAPP.
7917 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7918 Use KEYMAPP rather than Fkeymapp.
7919
7920 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7921
7922 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7923 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7924 Use KEYMAPP rather than Fkeymapp.
7925 (single_submenu): Use KEYMAPP.
7926 (w32_menu_show, w32_dialog_show): Use TRUE.
7927
7928 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7929
7930 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7931 (Fkeymapp): Use KEYMAPP.
7932 (get_keymap): Rename from get_keymap_1. Remove old def.
7933 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7934 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7935 (Fminor_mode_key_binding): Don't raise an error if the binding
7936 is not a keymap.
7937 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7938 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7939
7940 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7941 Allow Vspecial_event_map to be autoloaded.
7942 (menu_bar_items): Fetch the keymap rather than using keymapp.
7943 (menu_bar_one_keymap): No need to follow func-indirect any more.
7944 (parse_menu_item): get_keymap_1 -> get_keymap.
7945 (tool_bar_items): Fetch the keymap rather than using keymapp.
7946 (read_key_sequence): Use KEYMAPP.
7947
7948 * intervals.c (get_local_map): Use get_keymap rather than following
7949 function-indirections explicitly.
7950
7951 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7952
f9d80af3
JR
79532000-10-27 Jason Rumney <jasonr@gnu.org>
7954
7955 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7956 point, as Windows has oversized fonts.
7957
7958 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7959
a3ba27da
GM
79602000-10-27 Gerd Moellmann <gerd@gnu.org>
7961
7962 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7963 (freehook, reallochook): Handle null pointer arguments.
7964 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7965
aa3b80cc
SM
79662000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7967
7968 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7969 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7970 Giving in to popular pressure to shut up the compiler with casts.
7971
e24e84cc
GM
79722000-10-27 Gerd Moellmann <gerd@gnu.org>
7973
7974 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7975 signed value, and use a default value computed from the font's
7976 maximum descent.
7977
05ea7ef2
MB
79782000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7979
7980 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7981 that specify a negative underline position can still use underlines.
7982
7983 * window.c (Fpos_visible_in_window_p): Make POS default to
7984 WINDOW's point, not the current buffer's point.
7985
0b95284b
DL
79862000-10-26 Dave Love <fx@gnu.org>
7987
7988 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7989 when it's necessary.
7990
6c5b90af
GM
79912000-10-26 Gerd Moellmann <gerd@gnu.org>
7992
8b6d9dc9
GM
7993 * window.c (size_window): Compute size difference from sum of old
7994 child window sizes instead of from parent's size.
7995
6bc92b2e
GM
7996 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7997 Handle obscured lines at the top of the window.
7998
7999 * frame.c (Fdelete_frame): Doc fix. Move running the hook
8000 down after the last error condition check.
8001
6c5b90af
GM
8002 * frame.c (Fdelete_frame): Run delete-frame-hook.
8003
42f92d4d
KH
80042000-10-26 Kenichi Handa <handa@etl.go.jp>
8005
8006 * coding.c (decode_coding): Fix previous change (check also
8007 CODING_MODE_LAST_BLOCK).
8008
d97151cb
SM
80092000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8010
e7efc503
SM
8011 * regex.c: More `unsigned char' -> `re_char' changes.
8012 Also change several `int' into `re_wchar_t'.
8013 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
8014 (PUSH_FAILURE_POINTER): Don't cast any more.
8015 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
8016 We want GCC to complain, since this piece of code makes
8017 re_match non-reentrant, which *should* be fixed.
8018 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
8019 (EXTEND_BUFFER): Use RETALLOC.
8020 (SET_LIST_BIT): Don't cast.
8021 (re_wchar_t): New type.
8022 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
8023 that those two functions will always properly return.
8024 (IMMEDIATE_QUIT_CHECK): Cast to void.
8025 (analyse_first): Use recursion rather than an explicit stack.
8026 (re_compile_fastmap): Can't fail anymore.
8027 (re_search_2): Don't check re_compile_fastmap for failure.
8028 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
8029 Now also sets the new value (passed in a new argument).
8030 (re_match_2_internal): Use it.
8031 Also, use a new var `reg' of type size_t when looping through regs
8032 rather than reuse the inappropriate `mcnt'.
8033
d97151cb
SM
8034 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
8035 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
8036 (where_is_internal): Renamed from Fwhere_is_internal.
8037 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
8038 (Fwhere_is_internal): New function wrapping where_is_internal.
8039 (where_is_internal_1): Handle the case where we're filling the cache.
8040 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
8041
d5789b65
MB
80422000-10-25 Miles Bader <miles@gnu.org>
8043
8044 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
8045
4ecda532
GM
80462000-10-25 Gerd Moellmann <gerd@gnu.org>
8047
8048 * window.c (pos_fully_visible_p): Removed.
8049 (Fpos_visible_in_window_p): Use pos_visible_p to determine
8050 if position is visible and/or fully visible.
8051
8052 * lisp.h (pos_visible_p): Add prototype.
8053
8054 * xdisp.c (pos_visible_p): New function.
8055
68c3a137
KH
80562000-10-25 Kenichi Handa <handa@etl.go.jp>
8057
8058 * process.c (send_process): If OBJECT is t, it means that the data
8059 is from C string, but we should encode it. Before calling
8060 setup_raw_text_coding_system, be sure to flush out data by the
8061 previous coding system.
8062
7ae1c032
MB
80632000-10-25 Miles Bader <miles@lsi.nec.co.jp>
8064
ff4dcd4b
MB
8065 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
8066 assignment of startpos to prev when startpos == pos.
8067
7ae1c032
MB
8068 * editfns.c (find_field): Set the field stickiness correctly from
8069 overlay fields. Use renamed `text_property_stickiness'.
8070 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 8071 Only check text properties, not overlays.
7ae1c032
MB
8072 * textprop.c (get_char_property_and_overlay): New function.
8073 (Fget_char_property): Use it.
8074 * intervals.h (get_char_property_and_overlay): Add declaration.
8075
49801145
SM
80762000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8077
8078 * keymap.c: Use AREF, ASET and ASIZE macros.
8079 (Fmake_sparse_keymap): Docstring fix.
8080 (synkey): Remove.
8081 (shadow_lookup): Move up.
8082 Handle the case where lookup-key returns an integer.
8083 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
8084 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
8085 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
8086 Simplify/rewrite the keymap-finding code.
8087 Add check for command shadowing, using shadow_lookup.
8088
39e776cd
SM
80892000-10-24 Stefan Monnier <monnier@cs.yale.edu>
8090
8091 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
8092 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
8093 a symbol.
8094
2488aba5
AI
80952000-10-24 Andrew Innes <andrewi@gnu.org>
8096
8097 * dired.c (directory_files_internal_unwind): New function.
8098 (directory_files_internal): Use it to ensure closedir is called
8099 even if expand-file-name or file-attributes throw, eg. because of
8100 a user interrupt. Also enable immediate_quit while calling
8101 re_search, so that matching can be interrupted as well.
8102
b94fdf61
AI
81032000-10-24 Andrew Innes <andrewi@gnu.org>
8104
8105 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
8106 NT-Emacs only.
8107 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
8108 so that re_search functions only quit when callers expect them to.
8109
81102000-10-24 Kenichi Handa <handa@etl.go.jp>
8111
8112 * regex.c (regex_compile): Change the way of handling a range from
8113 a char less than 256 to a char not less than 256.
8114
1946f901
GM
81152000-10-24 Gerd Moellmann <gerd@gnu.org>
8116
7ae2f10f
GM
8117 * window.c (size_window): Prevent setting window's width or
8118 height to a negative value (esp. with XSETFASTINT).
8119
5dcab13e
GM
8120 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
8121 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
8122 (protect_malloc_state) [GC_MALLOC_CHECK &&
8123 GC_PROTECT_MALLOC_STATE]: New function.
8124 (PROTECT_MALLOC_STATE): New macro.
8125 (__malloc_initialize, morecore, _malloc_internal)
8126 (_free_internal) _realloc_internal): Use it to make _heapinfo
8127 read-only outside of gmalloc.
8128
63e1b552
GM
8129 * keymap.c: Update copyright.
8130
1946f901
GM
8131 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
8132 a symbol.
8133
4fa09beb
GM
81342000-10-24 Colin Walters <walters@cis.ohio-state.edu>
8135
8136 * filelock.c (unlock_all_files): Use unlock_file to expand each
8137 buffer's file_truename before trying remove its lock file.
8138
23afac01
EZ
81392000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
8140
8141 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
8142 or CRLF, decode EOLs.
8143
04448b95
KH
81442000-10-24 Kenichi Handa <handa@etl.go.jp>
8145
8146 * window.c (Fdisplay_buffer): Fix doc.
8147
3090a5a5
JR
81482000-10-23 Jason Rumney <jasonr@gnu.org>
8149
8150 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
8151 ASCII font of default fontset on Windows.
8152
8153 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
8154 xterm.c comment below).
8155
8156 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
8157
a83fee2c
GM
81582000-10-23 Gerd Moellmann <gerd@gnu.org>
8159
8160 * xterm.c (x_connection_closed): Reset handling_signal.
8161
52283633 8162 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 8163
6ffdb539
MB
81642000-10-23 Miles Bader <miles@gnu.org>
8165
8166 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8167 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8168 maintain old behavior.
8169 * minibuf.c (Fminibuffer_complete): Likewise.
8170
7f1c969b
MB
81712000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8172
8173 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8174 that when a font can't be exactly centered, it errs up rather than
8175 down.
8176
23afac01 81772000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 8178
52283633 8179 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 8180
1a578e9b
AC
81812000-10-23 Andrew Choi <akochoi@i-cable.com>
8182
8183 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8184
8185 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8186 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8187
8188 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8189 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8190 syms_of_search, x_term_init, and init_keyboard before calling
8191 init_window_once. Also, call syms_of_xmenu.
8192
8193 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8194 default fontset to Monaco.
8195
8196 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8197 NewMacWindow and DisposeMacWindow.
8198 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8199 instead of calling NewMacWindow and setting fields of
8200 f->output_data.mac directly. Call init_frame_faces.
8201 (Fdelete_frame) [macintosh]: Remove unused code.
8202 (Fmodify_frame_parameters) [macintosh]: Call
8203 x_set_frame_parameters instead of mac_set_frame_parameters.
8204
8205 * frame.h [macintosh]: Define menu_bar_lines field in struct
8206 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8207
8208 * keyboard.c [macintosh]: Include macterm.h.
8209 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8210 and menu_bar_activate_event type events as for X and NT.
8211 (make_lispy_event) [macintosh]: Construct lisp events of type
8212 MENU_BAR_EVENT as for X and NT.
8213
8214 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8215 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8216 (sys_subshell) [macintosh]: Remove definition entirely.
8217 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8218 Vwindow_system_version here. Remove initialization of
8219 Vx_bitmap_file_path.
8220 (read_input_waiting): Correct the number of parameters passed to
8221 read_socket_hook.
8222 Move all Macintosh functions to mac/mac.c.
8223
8224 * term.c [macintosh]: Include macterm.h.
8225
8226 * window.c [macintosh]: Include macterm.h.
8227
8228 * xdisp.c [macintosh]: Include macterm.h. Declare
8229 set_frame_menubar and pending_menu_activation.
8230 (echo_area_display) [macintosh]: Do not return if terminal frame
8231 is the selected frame.
8232 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8233 Allow only the selected frame to set menu bar.
8234 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8235 calling FRAME_EXTERNAL_MENU_BAR (f).
8236 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8237
8238 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8239 and check_x. Declare XCreateGC. Define x_create_gc and
8240 x_free_gc. Initialize font_sort_order.
8241 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8242 but call x_list_fonts instead of w32_list_fonts.
8243 (Finternal_face_x_get_resource) [macintosh]: Do not call
8244 display_x_get_resource.
8245 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8246 (realize_x_face) [macintosh]: Load the font if it is specified in
8247 ATTRS.
52283633 8248 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8249
1ffbabe3
SM
82502000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8251
8252 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8253 is nil: since we go to the end of submap anyway, we'd end up
8254 setting nil to nil.
8255 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8256 doesn't obey autoload.
8257
bed43f1d
EZ
82582000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8259
1ffbabe3 8260 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8261
ea4233a7
JR
82622000-10-21 Jason Rumney <jasonr@gnu.org>
8263
8264 * w32term.c (w32_cache_char_metrics): Double check that font is
8265 really fixed pitch before trusting tmPitchAndFamily.
8266
f3d3c491
AI
82672000-10-21 Andrew Innes <andrewi@gnu.org>
8268
8269 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8270
8271 * w32term.h: Extern decl for w32_cache_char_metrics.
8272
8273 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8274
8275 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8276 (w32_unload_font): Free per_char array if present.
8277
8278 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8279 cached information in emulated XFontStruct to handle common cases
8280 quickly. Do not allocate XCharStruct for return.
8281 (w32_native_per_char_metric): New function.
8282 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8283 allocating one.
8284 (x_produce_glyphs): Don't get an HDC. Change calls to
8285 w32_per_char_metric to match arg change above. Remove calls to
8286 free results.
8287 (w32_get_glyph_overhangs): Ditto.
8288 (w32_cache_char_metrics): New function.
8289
8290 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8291 ($(BLD)/casefiddle.$(O)): Remove compile command.
8292 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8293 ($(BLD)/dispnew.obj):
8294 ($(BLD)/keyboard.obj):
8295 ($(BLD)/w32inevt.obj):
8296 ($(BLD)/w32bdf.obj):
8297 ($(BLD)/alloc.obj):
8298 ($(BLD)/buffer.obj):
8299 ($(BLD)/editfns.obj):
8300 ($(BLD)/emacs.obj):
8301 ($(BLD)/fileio.obj):
8302 ($(BLD)/fns.obj):
8303 ($(BLD)/indent.obj):
8304 ($(BLD)/insdel.obj):
8305 ($(BLD)/intervals.obj):
8306 ($(BLD)/minibuf.obj):
8307 ($(BLD)/print.obj):
8308 ($(BLD)/scroll.obj):
8309 ($(BLD)/sysdep.obj):
8310 ($(BLD)/textprop.obj):
8311 ($(BLD)/widget.obj):
f3d3c491
AI
8312 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8313 ($(BLD)/term.obj): Add dependency on dispextern.h.
8314
52283633
SM
8315 * makefile.nt ($(BLD)\dispnew.obj):
8316 ($(BLD)\keyboard.obj):
8317 ($(BLD)\w32inevt.obj):
8318 ($(BLD)\w32bdf.obj):
8319 ($(BLD)\alloc.obj):
8320 ($(BLD)\buffer.obj):
8321 ($(BLD)\editfns.obj):
8322 ($(BLD)\emacs.obj):
8323 ($(BLD)\fileio.obj):
8324 ($(BLD)\fns.obj):
8325 ($(BLD)\indent.obj):
8326 ($(BLD)\insdel.obj):
8327 ($(BLD)\intervals.obj):
8328 ($(BLD)\minibuf.obj):
8329 ($(BLD)\print.obj):
8330 ($(BLD)\scroll.obj):
8331 ($(BLD)\sysdep.obj):
8332 ($(BLD)\textprop.obj):
8333 ($(BLD)\widget.obj):
f3d3c491
AI
8334 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8335 ($(BLD)\term.obj): Add dependency on dispextern.h
8336
18ad4821
EZ
83372000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8338
8339 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8340 with an additional argument of Qt.
8341
de54681a
MB
83422000-10-21 Miles Bader <miles@gnu.org>
8343
8344 * window.c (pos_fully_visible_in_window_p): New function.
8345 (Fpos_visible_in_window_p): Add FULLY argument.
8346 Use pos_fully_visible_in_window_p.
8347 (window_scroll_pixel_based, window_scroll_line_based): Update
8348 calls to Fpos_visible_in_window_p.
8349 * lisp.h (Fpos_visible_in_window_p): Update prototype
8350
13c844fb
GM
83512000-10-20 Gerd Moellmann <gerd@gnu.org>
8352
8353 * alloc.c (toplevel): Conditionalize compilation of mem_*
8354 functions differently.
52283633 8355
d9506268
JR
83562000-10-20 Jason Rumney <jasonr@gnu.org>
8357
8358 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8359 mem_init where it used to be. mem_z etc not defined otherwise.
8360
8094989b
GM
83612000-10-20 Gerd Moellmann <gerd@gnu.org>
8362
8363 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8364 GC_MALLOC_CHECK.
8365 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8366 structure definition and related variabled to the top of the file.
8367 Include this code when GC_MALLOC_CHECK is defined.
8368 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8369 register/unregister allocated region.
8370 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8371 which isn't allocated.
8372 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8373 something which is already in use.
8374 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8375 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8376 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8377 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8378
8379 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8380 _malloc_internal instead of malloc.
8381 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8382 of free.
8383
ea456eb4
AI
83842000-10-20 Andrew Innes <andrewi@gnu.org>
8385
8386 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8387 Windows.
8388 (my_strftime) <macro>: Don't use macro arg list when redefining as
8389 _strftime_copytm.
8390 (my_strftime) <function>: Supply 0 as ut argument.
8391
e64c3a75
JR
83922000-10-19 Jason Rumney <jasonr@altavista.net>
8393
8394 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8395 including dispextern.h, as it stops faces from working.
8396
8397 * w32fns.c (Fx_create_frame): Don't bother calling
8398 face-set-after-frame-default since the caller does it for us
8399 anyway. Clean up calls to x_get_arg to be consistent with X.
8400
8401 * w32term.c (x_produce_glyphs): Handle
8402 unibyte_display_via_language_environment correctly.
8403 (w32_draw_box_rect): Fix the calculation of width and height.
8404
8405 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8406 as it has stopped working.
8407 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8408 menu-bar.
8409
17401c97
GM
84102000-10-19 Gerd Moellmann <gerd@gnu.org>
8411
8412 * eval.c (skip_debugger): Prevent a compiler warning.
8413 (Fcondition_case): Likewise.
8414 (Fbacktrace_frame): Use a null interactive spec.
8415
773272d8
KH
84162000-10-19 Kenichi Handa <handa@etl.go.jp>
8417
8418 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8419
a42943e9
GM
84202000-10-18 Gerd Moellmann <gerd@gnu.org>
8421
e50517d9
GM
8422 * strftime.c: Sync with glibc, file version 1.78.
8423 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8424 should no longer be used according to ISO 8601.
8425
9035a35a
GM
8426 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8427 no map for meta_prefix_char, don't try to use it as a keymap.
8428 Instead, if T_OK is non-zero, look up a default binding, if any,
8429 otherwise, if T_OK is zero, return nil.
8430
a42943e9
GM
8431 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8432 (x_to_xcolors, png_load): Use x_query_color.
8433
52283633
SM
8434 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8435 New functions.
a42943e9
GM
8436 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8437 which can be slow.
8438 (x_copy_color, x_alloc_lighter_color): Likewise.
8439
8440 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8441 (x_query_color, x_query_colors): Add prototype.
8442
8443 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8444 check_string_bytes only if not noninteractive, increase count to 50.
8445
00de2987
MB
84462000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8447
8448 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8449 markers correctly.
8450
54918e2b
GM
84512000-10-17 Gerd Moellmann <gerd@gnu.org>
8452
1f0b3fd2
GM
8453 * alloc.c (pure_bytes_used): Renamed from pureptr.
8454 (ALIGN): New macro.
8455 (pure_alloc): New function.
8456 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8457 Use it.
8458 (Fpurecopy): Use PURE_POINTER_P.
8459
68c5d1db
GM
8460 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8461 PT has moved backward.
52283633 8462
9a038881
GM
8463 * xdisp.c (cursor_row_p): Take continued lines into account.
8464
361b097f
GM
8465 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8466 string's size_byte.
8467 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8468 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8469 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8470 string allocated.
8471
54918e2b
GM
8472 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8473 of selective display off while searching for the next line start.
8474
03ed0806
KH
84752000-10-17 Kenichi Handa <handa@etl.go.jp>
8476
8477 * Makefile.in (term.o): Depend on dispextern.h.
8478
7e05cdaf
SM
84792000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8480
8481 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8482
a6801fd1
GM
84832000-10-16 Gerd Moellmann <gerd@gnu.org>
8484
483de32b
GM
8485 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8486 the iterator at the beginning, so that they can be set later on,
8487 for instance in reseat_at_next_visible_line_start, without being
8488 overwritten.
8489
a6801fd1
GM
8490 * xfns.c (pbm_format): Add :foreground and :background keywords.
8491 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8492 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8493
dbf1fcc1
EZ
84942000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8495
8496 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8497
52283633 8498 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8499
8500 * msdos.c (IT_set_face): Compare highlighted face with the default
8501 face, and invert colors if these faces' colors are identical.
8502 (Fmsdos_remember_default_colors): Don't swap foreground and
8503 background colors in initial_colors[].
8504 (IT_set_frame_parameters): Don't swap frame's foreground and
8505 background pixels. If ALIST includes "(reverse . t)", swap
8506 foreground-color and background-color properties in frame's
8507 param_alist. If the original frame's param_alist doesn't specify
8508 the colors, store unspecified-fg and unspecified-bg, reversed if
8509 required.
8510
8511 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8512 the colors are unspecified and reversed, reverse fore- and back-
8513 ground in the returned value.
8514 (Fframe_parameter): Ditto.
8515
b41fe2c3 85162000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8517
3a6b59d9
GM
8518 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8519 get_last_unchanged_at_beg_row.
8520 (find_first_unchanged_at_end_row): Renamed from
8521 get_first_unchanged_at_end_row.
8522 (find_first_unchanged_at_end_row): Convert assertions to
8523 unconditional tests which abort. When looking for a row in
8524 unchanged text, don't go further back than first_text_row.
8525
b41fe2c3
GM
8526 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8527 Don't add in the last line's height when deciding if the new
8528 position is below the scroll margin.
9d1af64f 8529
b41fe2c3 85302000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8531
8532 * editfns.c (Fconstrain_to_field): Check carefully for field
8533 boundaries if either OLD_POS or NEW_POS has a non-nil field
8534 property, even if they're the same.
8535
c412cb7b
KH
85362000-10-16 Kenichi Handa <handa@etl.go.jp>
8537
8538 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8539 height for XFillRectangle.
8540
5586f3eb
SM
85412000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8542
8543 * syntax.c (Fstring_to_syntax): New function extracted from
8544 Fmodify_syntax_entry.
8545 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8546 (skip_chars, Fforward_comment): Remove unused variables.
8547 (syms_of_syntax): Add defsubr for string-to-syntax.
8548 (describe_syntax): Add code for comment and string fences.
8549
db785038
SM
85502000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8551
8552 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8553 Do the meta->esc mapping. Call get_keyelt before returning.
8554 Start scanning from the second element (the first is always `keymap')
8555 to make it easier to detect when we reach a parent map.
8556 Handle the case of inheriting from a symbol whose function is a map.
8557 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8558 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8559 (get_keyelt, Flookup_key): Update call to access_keymap.
8560 Remove the meta->esc mappings.
8561 (define_as_prefix): Delete old disabled code.
8562 (menu_item_p): New function.
8563 (where_is_internal_1): Skip over the few remaining menu items.
8564 * lisp.h (access_keymap): Update prototype.
8565 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8566 Update call to access_keymap.
8567 (follow_key, read_key_sequence): Update calls to access_keymap.
8568 Remove the meta->esc mappings.
8569
cafafe0b
GM
85702000-10-13 Gerd Moellmann <gerd@gnu.org>
8571
a2e2a7f6
GM
8572 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8573 with additional argument.
8574
cafafe0b
GM
8575 * xdisp.c (cursor_row_p): New function.
8576 (try_cursor_movement, display_line): Use it.
52283633 8577
cafafe0b
GM
8578 * xdisp.c (append_space): Also save/restore iterator's current
8579 character and its length.
8580
8581 * xdisp.c (init_from_display_pos): Add an assertion.
8582 (handle_stop): Don't set iterator's add_overlay_start.
8583 (handle_invisible_prop): Likewise.
8584 (load_overlay_strings): If text under an overlay is invisible,
8585 take both before- and after-strings into account when the iterator
8586 is positioned either at the start or at the end of the overlay.
8587 (forward_to_next_line_start): Rewritten.
8588 (reseat_at_next_visible_line_start): Rewritten.
8589 (set_iterator_to_next): Add parameter RESEAT_P.
8590
8591 * dispextern.h (struct it): Remove member add_overlay_start.
8592 (set_iterator_to_next): Change prototype.
8593
c744452b
KH
85942000-10-13 Kenichi Handa <handa@etl.go.jp>
8595
8596 * coding.c (code_convert_region): Be sure to initialize
8597 coding->category_idx.
e4a3f4e1
KH
8598 (decode_coding_string): Set coding->src_multibyte and
8599 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8600 (encode_coding_string): Set coding->src_multibyte and
8601 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8602
321fd26f
SM
86032000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8604
8605 * xfns.c (Fx_create_frame): Don't bother calling
8606 face-set-after-frame-default since the caller does it for us anyway.
8607
76832439
EZ
86082000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8609
8610 * window.c (coordinates_in_window): Fix detection of vertical line
8611 on character terminals.
8612
2483cf58
GM
86132000-10-12 Gerd Moellmann <gerd@gnu.org>
8614
8615 * editfns.c (save_excursion_save): Additionally record the
8616 selected window.
8617 (save_excursion_restore): If buffer was visible in a window, and a
8618 different window was selected, and the old selected window is
8619 still live, restore point in that window.
8620
eb991b25
KH
86212000-10-12 Kenichi Handa <handa@etl.go.jp>
8622
8a0eba09
KH
8623 * xterm.c (x_produce_glyphs): Handle
8624 unibyte_display_via_language_environment correctly.
8625
20401fcc
KH
8626 * regex.c (regex_compile): Change the way of handling a range from
8627 unibyte char to multibyte char.
8628
8629 * syntax.c (skip_chars): Change the way of handling a range from
8630 unibyte char to multibyte char.
8631
eb991b25
KH
8632 * process.c (read_process_output): Cancel previous change.
8633
365dd325
EZ
86342000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8635
c1b096cb
EZ
8636 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8637
365dd325
EZ
8638 * charset.c (Ffind_charset_string): Doc fix.
8639 (Ffind_charset_region): Doc fix.
8640
eb483c2b
KH
86412000-10-11 Kenichi Handa <handa@mule.m17n.org>
8642
8643 * process.c (read_process_output): Fix previous change. Adjust
8644 multibyteness of text to insert in a buffer by
52283633 8645 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8646
b40bfb99
AS
86472000-10-10 Andreas Schwab <schwab@suse.de>
8648
8649 * alloc.c (mark_object): Remove all workarounds installed on
8650 1993-08-08.
8651
caff31d4
KH
86522000-10-10 Kenichi Handa <handa@etl.go.jp>
8653
52283633 8654 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8655 (base64_encode_1): Make it work for a text of multibyte form.
8656 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8657 case. Don't call str_to_multibyte because base64_decode_1
8658 produces correct multibyte form for eight-bit codes.
52283633 8659 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8660 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8661 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8662 codes.
8663
8664 * charset.h (CHAR_STRING): Optimized for single byte characters.
8665
cba026ef
AS
86662000-10-09 Andreas Schwab <schwab@suse.de>
8667
8668 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8669 -1 after socket is closed, to fall through to error processing.
8670
1e21fe48
EZ
86712000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8672
8673 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8674 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8675 background-color, change also the colors of the default face for
8676 this frame.
8677
a640322e
EZ
86782000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8679
8680 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8681 them extern (they are defined on xfaces.c).
8682 (syms_of_msdos): Don't intern and don't staticpro
8683 Qbackground_color and Qforeground_color.
8684
a115794c
EZ
86852000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8686
8687 * frame.c (Fframe_parameter): For non-windowed frames, if
8688 f->param_alist says foreground or background color is unspecified,
8689 call tty_color_name to return the color name computed from the
8690 frame's current colors.
8691
f5533b63
DL
86922000-10-06 Dave Love <fx@gnu.org>
8693
8694 * terminfo.c (ospeed): Don't declare.
8695
8696 * sysdep.c: Don't include string.h.
8697 (h_errno): Declare conditional also on TRY_AGAIN.
8698
8699 * charset.c (Ffind_charset_string): Doc fix.
8700
52283633 8701 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8702 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8703 error messages.
8704
2b06561a
DL
87052000-10-05 Dave Love <fx@gnu.org>
8706
8707 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8708 position like menu-bar.
8709
ca839c85
GM
87102000-10-05 Gerd Moellmann <gerd@gnu.org>
8711
8712 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8713
8714 * xdisp.c (handle_single_display_prop): Use safe_call1.
8715 (safe_call): Renamed from call_function.
8716 (safe_call1): New function.
8717 (handle_fontified_prop): Use safe_call1 instead of call1.
8718 (safe_eval): Renamed from eval_form.
8719 (safe_eval_handler): Renamed from eval_handler.
8720 (handle_single_display_prop, display_mode_element): Use safe_eval
8721 instead of eval_form.
8722
8723 * xfaces.c (merge_face_heights): Use safe_call instead of
8724 call_function.
8725
8726 * keyboard.c (show_help_echo): Use safe_call instead of
8727 call_function; use safe_eval instead of eval_form.
8728
8729 * lisp.h (safe_call): Renamed from call_function.
8730 (safe_eval): Renamed from eval_form.
8731 (safe_call1): Add prototype.
8732
a3489ece
MB
87332000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8734
8735 * xfns.c (image_ascent): Rearrange ascent calculation for the
8736 has-a-font case.
8737
35810b6f
SM
87382000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8739
8740 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8741 (where_is_internal_1): Don't bother ignoring menu-items any more.
8742
3dc78168
GM
87432000-10-04 Gerd Moellmann <gerd@gnu.org>
8744
8745 * keyboard.c (update_menu_bindings): New variable.
8746 (parse_menu_item): Use AREF. If update_menu_bindings
8747 is 0, don't update menu bindings.
8748 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8749
1efc2bb9
EZ
87502000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8751
8752 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8753 to `mark_object'.
8754
3f679f55
SM
87552000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8756
8757 * syntax.c (forw_comment): Match nestedness of ender/starter.
8758 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8759 (prev_char_comstart_first): Remove.
8760 (back_comment): Check two-char comment markers more carefully
8761 to better handle overlapping cases like *//* or /* */* */ ...
8762 Match nestedness of ender/starter.
8763
2021ab61
DL
87642000-10-02 Dave Love <fx@gnu.org>
8765
8766 * config.in (HAVE_GAI_STRERROR): Add undef.
8767
8768 * process.c (Fopen_network_stream): Use it.
8769
8770 * m/alpha.h (NO_REMAP): Don't define.
8771
64e6cc18
GM
87722000-10-02 Gerd Moellmann <gerd@gnu.org>
8773
8774 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8775 return with a string converted to an integer or vice versa when
8776 Vmocklisp_arguments is t.
8777 (Fsignal): Likewise. The function can return for `quit'.
8778 (struct gcpro): Declare member `var' to point to a volatile
8779 Lisp_Object.
8780
8781 * eval.c (error): Prevent compiler warning.
8782
b1904cd9
SM
87832000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8784
8785 * keymap.c (keymap_memberp): New function.
8786 (Fset_keymap_parent): Use it.
8787 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8788 Use keymap_memberp to avoid creating cycles.
8789 (access_keymap): Use KEYMAPP.
8790
71c9ec51
GM
87912000-09-30 Gerd Moellmann <gerd@gnu.org>
8792
8793 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8794 gai_strerror. Make sure xerrno is set if connect fails. Improve
8795 error recovery.
71c9ec51 8796
c70c6b58
JR
87972000-09-29 Jason Rumney <jasonr@gnu.org>
8798
8799 * w32term.c (w32_char_font_type, w32_encode_char)
8800 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8801 (w32_bdf_per_char_metric): New function.
8802 (w32_per_char_metric): Use it.
8803 (x_draw_glyph_string_background): Always draw background for BDF
8804 glyphs.
8805
8806 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8807 GDI object which is a scarce resource.
8808
8809 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8810 (get_quoted_string): Fix limit on memchr search.
8811 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8812 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8813 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8814 (get_cached_font_char, cache_char_offset): Use macro
8815 BDF_CODEPOINT_RANGE_COVER_P.
8816 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8817 (clear_cached_bitmap_slots): New function.
8818 (GET_HEX_VALUE): G-Z, g-z are not hex.
8819 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8820 (get_bitmap_with_cache): Use new cache implementation.
8821 (create_offscreen_bitmap): New function.
8822 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8823
8824 * w32term.c (x_produce_glyphs): If the distance from the current
8825 position to the next tab stop is less than a canonical character
8826 width, use the tab stop after that.
8827 (x_draw_glyphs): Handle case START and END are out of bounds more
8828 carefully.
8829 (x_clear_mouse_face): Block/unblock input.
8830 (x_display_and_set_cursor): Don't show a hollow box cursor for
8831 buffers whose cursor_type is nil.
8832
fe01239f
GM
88332000-09-29 Gerd Moellmann <gerd@gnu.org>
8834
52283633 8835 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8836
8837 * dispextern.h (updating_frame): Declare extern.
8838
e7c52f1f
AS
88392000-09-29 Andreas Schwab <schwab@suse.de>
8840
8841 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8842
de6e1f7c
GM
88432000-09-29 Gerd Moellmann <gerd@gnu.org>
8844
25126faa
GM
8845 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8846 use its function definition.
8847 (tool_bar_items): Likewise.
8848
de6e1f7c 8849 * lisp.h (fatal): Declare NO_RETURN.
52283633 8850
454ee39b
KH
88512000-09-29 Kenichi Handa <handa@etl.go.jp>
8852
8853 * keymap.c: Remove the line "#undef NULL".
8854
96301c5f
GM
88552000-09-28 Gerd Moellmann <gerd@gnu.org>
8856
52283633 8857 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8858
efffeeb4
DL
88592000-09-28 Dave Love <fx@gnu.org>
8860
ecb8b666
DL
8861 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8862
dc3cd20f
DL
8863 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8864
8865 * .gdbinit (xreload): Note its need on GNU/Linux.
8866
efffeeb4
DL
8867 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8868 r_alloc, r_alloc_free.
8869
8610d903
KH
88702000-09-28 Kenichi Handa <handa@etl.go.jp>
8871
8872 * syntax.c (skip_chars): Handle negation correctly.
8873
8901d1ac
GM
88742000-09-27 Gerd Moellmann <gerd@gnu.org>
8875
6f22f1ad
GM
8876 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8877 with non-zero FORCE_P argument.
8878
52283633 8879 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8880 Add assertions.
8881
8882 * xdisp.c (window_box_height): Add an assertion.
8883
8884 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8885 tool-bar than is available.
8886 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8887
36f1966f
DL
88882000-09-27 Dave Love <fx@gnu.org>
8889
efffeeb4 8890 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8891
31d929e5
GM
88922000-09-26 Gerd Moellmann <gerd@gnu.org>
8893
c98863bf
GM
8894 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8895 instead of BITS_PER_INT.
8896 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8897 EMACS_UINT, respectively.
8898 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8899
8900 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8901
8902 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8903
77072ab1
GM
8904 * window.c (freeze_window_starts): Construct last argument for
8905 foreach_window differently.
8906
8907 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8908
8909 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8910 EMACS_UINT instead of `int' and `unsigned int'.
8911 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8912
8913 * frame.h (struct frame): Make the `nothing' member of union
8914 output_data an EMACS_INT.
8915
52283633 8916 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8917 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8918 size in the sdata structure.
8919 (SDATA_NBYTES, SDATA_DATA): New macros.
8920 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8921 differently for the different layout of the sdata structure.
8922 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8923 in sdata.
8924 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8925 Check that size recorded in the string size and size recorded in
8926 the sdata structure agree.
8927
3e60b029
DL
89282000-09-25 Dave Love <fx@gnu.org>
8929
8930 * buffer.c: Include stdio.h.
8931
8932 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8933
3e60b029
DL
8934 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8935
8936 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8937 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8938 (__malloc_extra_blocks): Declare as __malloc_size_t.
8939
8ff16b4e
GM
89402000-09-25 Gerd Moellmann <gerd@gnu.org>
8941
755a2ccd
GM
8942 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8943
d8b4516f
GM
8944 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8945 (read_char): If help-echo is showing, preserve the echo area
8946 when redisplaying.
8947
8948 * xdisp.c (help_echo_showing_p): New variable.
8949 (set_message): Reset it to 0.
8950 (init_xdisp): Initialize help_echo_showing_p.
8951
8952 * dispextern.h (help_echo_showing_p): Declare extern.
8953
8954 * config.in: Fix typo in __GNUC_MINOR__.
8955
8956 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8957
b11af2dd
GM
8958 * s/freebsd.h (POSIX_SIGNALS): Define.
8959
8ff16b4e
GM
8960 * xterm.c (x_clear_mouse_face): Block/unblock input.
8961
844eb643
DL
89622000-09-24 Dave Love <fx@gnu.org>
8963
8964 * fns.c (base64_encode_1): Fix last change.
8965
b30ab1b3
GM
89662000-09-22 Gerd Moellmann <gerd@gnu.org>
8967
8968 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8969
8970 * xdisp.c (try_window_reusing_current_matrix): More fixes
8971 for the case window has a header-line.
8972
c6cbe5f0
DL
89732000-09-22 Dave Love <fx@gnu.org>
8974
4c7c1f3f
DL
8975 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8976 a doc string.
8977
8978 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8979
c6cbe5f0
DL
8980 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8981
550a625e
GM
89822000-09-21 Gerd Moellmann <gerd@gnu.org>
8983
4c7c1f3f 8984 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8985 for GCC >= 2.5.
8986
52283633
SM
8987 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8988 Declare NO_RETURN.
fca99116 8989
80d26f99
GM
8990 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8991 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8992 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8993 warnings.
52283633 8994
80d26f99
GM
8995 * marker.c (byte_char_debug_check): Return void.
8996
623a0aae
GM
8997 * xfns.c (Fx_create_frame): Set default frame parameter value
8998 for tool-bar-lines to 1.
8999
9000 * dispnew.c (scrolling_window): Compare y-positions of rows
9001 equal at the start. Some simplification.
9002
9003 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
9004 reused rows' y-position in the case window has a header-line, and
9005 new window start is greater than old window start.
9006
42ac0ae5
GM
9007 * process.c (process_sent_to): New variable.
9008 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
9009 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
9010 Declare more parameters volatile.
9011
550a625e
GM
9012 * lread.c (Vrecursive_load_depth_limit): New variable.
9013 (Fload): Check recursive loads whose recursion depth exceeds
9014 Vrecursive_load_depth_limit.
9015 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
9016
8320414c
GM
90172000-09-20 Gerd Moellmann <gerd@gnu.org>
9018
f46c275e
GM
9019 * fileio.c (Fread_file_name): Doc fix.
9020
9021 * editfns.c (Fmessage_or_box): Doc fix.
9022
9023 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
9024
b7e11c5b 9025 * xfns.c (xbm_scan): Allow C-style comments.
52283633 9026
8320414c
GM
9027 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
9028 symbols are specified, add color translations to the cache.
52283633 9029 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
9030 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
9031 xpm_cache_color.
9032 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
9033 structures to xpm_init_color_cache.
9034
da1608d9
GM
90352000-09-19 Gerd Moellmann <gerd@gnu.org>
9036
52283633 9037 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 9038
6badfa25
AI
90392000-09-19 Andrew Innes <andrewi@gnu.org>
9040
9041 * makefile.nt (bootstrap-emacs): Don't change directory.
9042
3a5f42bb
KH
90432000-09-19 Kenichi Handa <handa@etl.go.jp>
9044
1b7649bd
KH
9045 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
9046
3a5f42bb
KH
9047 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
9048 If output buffer is too small, signal an appropriated error.
9049
9f83cf0b
DL
90502000-09-18 Dave Love <fx@gnu.org>
9051
52283633 9052 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
9053 (current_active_maps): Remove redundant get_local_map call.
9054
28c7826c
GM
90552000-09-18 Gerd Moellmann <gerd@gnu.org>
9056
5cefa566
GM
9057 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
9058 cursor for buffers whose cursor_type is nil.
52283633 9059
6fed3546
GM
9060 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
9061 a feature to implement that is already implemented.
9062 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
9063 warnings.
9064
9065 * xfns.c (x_clear_image_1): New function.
9066 (x_clear_image): Use it.
52283633 9067 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 9068
05b1f851
GM
9069 * dispnew.c (update_window): Move test for invisible lines
9070 at the top to update_window_line.
9071 (update_window_line): Handle invisible lines here.
9072
f4779de9
GM
9073 * xfns.c (clear_image_cache): Clear current matrices of all
9074 frames sharing an image cache. Block input while freeing
9075 images. Fix timestamp comparison.
9076 (x_clear_image): Also free the mask.
9077
28c7826c
GM
9078 * xfns.c (lookup_image): Block input while loading the image so
9079 that we won't get interrupted in a state where the image isn't yet
9080 set up completely.
9081 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
9082 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
9083 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 9084 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 9085
b7412313
GM
90862000-09-16 Gerd Moellmann <gerd@gnu.org>
9087
9088 * dispnew.c (update_window): Make sure to make desired rows
9089 current even if they are completely invisible at the top
9090 of a window.
9091
47e351a3
GM
90922000-09-15 Gerd Moellmann <gerd@gnu.org>
9093
7f8f1edc
GM
9094 * xfns.c (lookup_image): Build mask before applying an algorithm.
9095 Recognize algorithm `disabled'.
9096 (cross_disabled_images): New variable.
9097 (COLOR_INTENSITY): New macro.
9098 (x_detect_edges): Use COLOR_INTENSITY.
9099 (x_disable_image): New function.
9100 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
9101
9102 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
9103 disabled state, don't apply an image transformation algorithm if
9104 the user specified an image for the disabled state. Use
28c7826c 9105 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
9106 user hasn't specified an image.
9107
ebb8f116
GM
9108 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
9109 allocation functions with the XPM lib.
9110 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
9111 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
9112 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
9113 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 9114 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
9115 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
9116 functions, if possible, because these handle color allocation
9117 failure more gracefully.
9118 (Fimage_mask_p): New function.
9119
47e351a3
GM
9120 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
9121 (Qedge_detection, Qheuristic): New symbols.
9122 (syms_of_xfns): Initialize new symbols.
9123 (lookup_image): Handle `:mask X', `:algorithm emboss', and
9124 `algorithm (edge-detection ...)'.
9125 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
9126 (tiff_format, gif_format, gs_format): Add `:mask'.
9127 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
9128 (GIF_MASK, GS_MASK): New enumerators.
9129 (x_laplace_read_row, x_laplace_write_row): Functions removed.
9130 (emboss_matrix, laplace_matrix): New variables.
9131 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
9132 (x_edge_detection): New functions.
9133 (x_laplace): Rewritten in terms of x_detect_edges.
9134 (x_build_heuristic_mask): If image has a mask, free it.
9135
fe83b953
AI
91362000-09-14 Andrew Innes <andrewi@gnu.org>
9137
9138 * makefile.w32-in: Revert to Unix line endings.
9139
3021e816
AI
91402000-09-14 Andrew Innes <andrewi@gnu.org>
9141
9142 * makefile.w32-in: Standardize indentation somewhat.
9143 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
9144 cater for differences between shells.
9145
9146 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
9147
2a32b5ea
GM
91482000-09-14 Gerd Moellmann <gerd@gnu.org>
9149
9150 * xterm.c (x_produce_glyphs): If the distance from the current
9151 position to the next tab stop is less than a canonical character
9152 width, use the tab stop after that.
9153
b4331e96
DL
91542000-09-14 Dave Love <fx@gnu.org>
9155
9156 * buffer.c (alloc_buffer_text): Fix xmalloc call.
9157
ef9e4345
GM
91582000-09-14 Gerd Moellmann <gerd@gnu.org>
9159
085536c2
GM
9160 * xdisp.c (handle_fontified_prop): While running fontification
9161 functions, bind `fontification-functions' and
9162 `after-change-functions' to nil.
9163
ef9e4345
GM
9164 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9165 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9166
9167 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9168
9169 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9170 USE_MMAP_FOR_BUFFERS.
9171
9172 * insdel.c (make_gap): Use enlarge_buffer_text.
9173
9174 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9175 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9176 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9177 from former r_alloc_* functions in ralloc.c.
52283633 9178 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
9179 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9180 (mmap_init) [REL_ALLOC_MMAP]: New function.
9181 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9182 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9183 BUFFER_FREE.
9184
9185 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9186 (enlarge_buffer_text): Add prototype.
9187
9188 * ralloc.c: Remove everything having to do with the use of mmap.
9189
f8608968
GM
91902000-09-13 Gerd Moellmann <gerd@gnu.org>
9191
2a494b2d
GM
9192 * sound.c (Fplay_sound): Doc fix.
9193
8c907a56
GM
9194 * keyboard.c: Avoid some more compiler warnings.
9195 (parse_tool_bar_item): Ignore cached key bindings.
9196
f8608968
GM
9197 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9198 and allocation of Lisp data.
9199
6ab70e9a
GM
92002000-09-12 Gerd Moellmann <gerd@gnu.org>
9201
d12d0a9b
GM
9202 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9203 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9204 defaults first.
9205
6ab70e9a
GM
9206 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9207
63c36c3c
KH
92082000-09-12 Miyashita Hisashi <himi@meadowy.org>
9209
9210 * ccl.c: Comment fixed.
9211 (MAX_MAP_SET_LEVEL): Increased to 30.
9212 (PUSH_MAPPING_STACK): Enclose with do-while block.
9213 (POP_MAPPING_STACK): Likewise.
9214 (stack_idx_of_map_multiple): New variable.
9215 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9216 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9217 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9218 (ccl_driver) <CCL_MapSingle>: Likewise.
9219 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9220 with the case where looking up process reaches to the end of
9221 map-set, and call CCL programs as the above change.
9222
7ee3bd7b
GM
92232000-09-11 Gerd Moellmann <gerd@gnu.org>
9224
8ec8a5ec
GM
9225 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9226 that might be clobbered by longjmp.
9227 (check_x_display_info, x_decode_color, create_frame_xic)
9228 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9229 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9230
f74b0705
GM
9231 * lread.c (init_lread): Set Vloads_in_progress to nil.
9232 (Fload): Show list of recursively loaded files, when signaling an
9233 error.
9234
7ee3bd7b
GM
9235 * lread.c (Vloads_in_progress): New variable.
9236 (record_load_unwind): New function.
9237 (Fload): Check for recursive loads.
9238 (syms_of_lread): Initialize Vloads_in_progress.
9239 (read_integer, read1): Avoid some compiler warnings.
9240
9241 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9242 compiler warnings.
9243
974e1e5b
MB
92442000-09-11 Miles Bader <miles@gnu.org>
9245
9246 * editfns.c (Fbuffer_string): Doc fix.
9247
9824c4e3
GM
92482000-09-10 Gerd Moellmann <gerd@gnu.org>
9249
9250 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9251
6a72fdd1
KR
92522000-09-09 Ken Raeburn <raeburn@gnu.org>
9253
9254 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9255 whether to include other header files.
9256
28e6fb66
GM
92572000-09-09 Gerd Moellmann <gerd@gnu.org>
9258
52283633 9259 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9260 by Fmemq as a boolean.
28e6fb66 9261
7f8b6551
SM
92622000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9263
9264 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9265
a8710abf
GM
92662000-09-08 Gerd Moellmann <gerd@gnu.org>
9267
d1a02881
GM
9268 * ralloc.c (mmap_fd): Remove initializer which can make it
9269 read-only in a dumped Emacs.
9270 (mmap_fd_1): New variable.
9271 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9272 restore it from there.
9273 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9274 unconditionally so that mmap_fd can be initialized there.
9275 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9276 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9277 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9278
c454aac1
GM
9279 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9280
9281 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9282 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9283
fc653ef2
GM
9284 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9285
3015eec0
GM
9286 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9287 inheritance.
9288
bfe0ee88
GM
9289 * xdisp.c (try_window_id): When trying to locate cursor in
9290 unchanged rows at the top, handle the case that we can't find it.
9291
a8710abf
GM
9292 * xterm.c (x_draw_glyphs): Handle case START and END are out
9293 of bounds more carefully.
9294
6b7d4ae4
DL
92952000-09-08 Dave Love <fx@gnu.org>
9296
423193c5
DL
9297 * s/sol2.h (REL_ALLOC_MMAP): Define.
9298 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9299
9300 * ralloc.c: Don't include string.h (redundant).
9301 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9302 [!MAP_ANON]: Include fcntl.h.
9303 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9304 (r_alloc, r_re_alloc, r_alloc_free)
9305 (mmap_enlarge, mmap_set_vars): Use it.
9306 (r_alloc_init_fd): New function.
9307 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9308 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9309 malloc type.
9310
9311 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9312 Remove vm-limit.o.
9313
6b7d4ae4
DL
9314 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9315 change to __NetBSD__.
9316
44d31981
KH
93172000-09-08 Kenichi Handa <handa@etl.go.jp>
9318
9319 * search.c (compile_pattern): Check the multibyteness of cached
9320 string and PATTERN.
9321
aad40737
MB
93222000-09-08 Miles Bader <miles@gnu.org>
9323
9324 * xfaces.c (default_face_vector): Function removed.
9325 (Finternal_merge_in_global_face): Restore old global/local
9326 attribute override order. Use inline loop instead of calling
9327 default_face_vector.
9328
91a211b5
GM
93292000-09-07 Gerd Moellmann <gerd@gnu.org>
9330
9331 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9332 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9333 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9334 where necessary, in case POINTER_TYPE is `void'.
9335
03419440
EZ
93362000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9337
9338 * frame.c (make_terminal_frame): Initialize frame foreground and
9339 background colors to unspecified, for the initial instance of an
9340 MSDOS frame.
9341
f46f845b
GM
93422000-09-07 Gerd Moellmann <gerd@gnu.org>
9343
24f76fbf
GM
9344 * ralloc.c (mmap_find): Fix overlap computation.
9345 (mmap_enlarge): Compute nbytes before trying to find an
9346 overlapping region.
9347
f46f845b
GM
9348 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9349 instead of `!='.
9350
9351 * lread.c (syms_of_lread): Change value of regexp
9352 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9353
9354 * xmenu.c (xdialog_show): When looking up the selection in
9355 menu_items, take `quote' boundaries into account; this corresponds
9356 to a nil ITEM in x-popup-dialog.
9357
3c014385
KH
93582000-09-07 Kenichi Handa <handa@etl.go.jp>
9359
fd6f711b
KH
9360 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9361 not 0x81.
9362 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9363
3c014385 9364 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9365 encoding, not decoding. Fix the handling of latin-jisx0201.
9366 Check for the charset katakana-jisx0201 too.
3c014385 9367 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9368 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9369
0da3ecef
GM
93702000-09-07 Gerd Moellmann <gerd@gnu.org>
9371
ab0ee409
GM
9372 * xfaces.c (Vparam_value_alist): New variable.
9373 (syms_of_xfaces): Initialize it.
9374 (Finternal_set_lisp_face_attribute): Avoid more consing.
9375
9376 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9377 specially.
9378 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9379 (Qbackground_mode): New variable.
9380 (syms_of_frame_1): Initialize Qbackground_mode.
9381
9382 * lisp.h (Qdisplay): Declare extern.
1091dd67 9383
0da3ecef
GM
9384 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9385 change face on all frames, and change the default for new frames.
9386
b14654b9
DL
93872000-09-07 Dave Love <fx@gnu.org>
9388
9389 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9390
d24fd56f
KH
93912000-09-07 Kenichi Handa <handa@etl.go.jp>
9392
794f3670
KH
9393 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9394
0fddd0dc
KH
9395 * charset.c: Include composite.h
9396 (lisp_string_width): New function.
9397 (Fstring_width): Call lisp_string_width instead of strwidth.
9398
9399 * Makefile.in (charset.o): Depends on composite.h.
9400
d24fd56f
KH
9401 * process.c (read_process_output): Before inserting the decoded
9402 text in the buffer, adjust the multibyteness.
9403
fa0b693c
GM
94042000-09-06 Gerd Moellmann <gerd@gnu.org>
9405
52283633 9406 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9407 buffer's text buffer is null, map new memory.
9408
0a58f946
GM
9409 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9410 POINTER_TYPE and size_t.
9411 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9412 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9413 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9414 [REL_ALLOC_MMAP]: New macros.
9415 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9416 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9417 [REL_ALLOC_MMAP]: New functions.
9418
9419 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9420 before and after unexec.
9421
9422 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9423 text buffers if necessary.
9424
9425 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9426 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9427 in prototypes.
9428
fa0b693c
GM
9429 * config.in (HAVE_MMAP): Add #undef.
9430
877055f6
GM
94312000-09-05 Gerd Moellmann <gerd@gnu.org>
9432
08ba3862
GM
9433 * frame.c (Qdisplay_type): New variable.
9434 (syms_of_frame_1): Initialize it.
9435 (Fframe_parameter): New function that avoids consing.
9436 (syms_of_frame): Defsubr it.
9437
66ffe51c
GM
9438 * buffer.c (Fother_buffer): Consider buffers as invisible when
9439 they are displayed in a window on an invisible frame.
9440
877055f6
GM
9441 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9442 get-largest-window always return nil.
9443
bb970e67
GM
94442000-09-04 Gerd Moellmann <gerd@gnu.org>
9445
9446 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9447 variable; recognize Emacs 19 elc files.
9448
7a3d0e0e
MB
94492000-09-04 Miles Bader <miles@gnu.org>
9450
9451 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9452 before initially popping up the menu, so the menu doesn't flash
52283633 9453 when the face settings are significantly different from the defaults.
7a3d0e0e 9454
14473664
SM
94552000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9456
9457 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9458 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9459 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9460 (BIT_UNIBYTE): Remove.
9461 (re_match_2_internal): Delete corresponding code and streamline the
9462 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9463 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9464 (re_wctype_t): New type.
9465 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9466 (regex_compile): Use them and fix handling of overly long char classes.
9467
c1174479
AI
94682000-09-03 Andrew Innes <andrewi@gnu.org>
9469
f8803e97
AI
9470 * makefile.w32-in: Change to DOS line endings.
9471
c1174479
AI
9472 * s/ms-w32.h (ORDINARY_LINK): New define.
9473
9474 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9475 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9476
9477 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9478 (distclean): Delete them here instead.
9479
44ef7cf6
AI
9480 * w32proc.c (compare_env): Convert to uppercase for comparison,
9481 not lowercase, to match how the native Windows shell works.
9482
49b3bd82
JR
94832000-09-03 Jason Rumney <jasonr@gnu.org>
9484
9485 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9486 CVS changes the line-ends when checking in/out on DOS/Windows.
9487
9488 * makefile.nt (emacs): Do not change directory to run temacs, as
9489 the load-path is set relative to current directory.
9490
a3d35a39
MB
94912000-09-03 Miles Bader <miles@gnu.org>
9492
9493 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9494
d276b0cf
GM
94952000-09-02 Gerd Moellmann <gerd@gnu.org>
9496
715e84c9
GM
9497 * xdisp.c (redisplay_mode_lines): New function.
9498 (display_mode_lines): Return number of mode lines displayed.
9499 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9500 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9501
8892f40b
GM
9502 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9503 string.h and strings.h.
9504 (index) [HAVE_INDEX]: Add prototype.
9505
d276b0cf
GM
9506 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9507 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9508
9509 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9510 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9511
38404229
GM
95122000-09-01 Gerd Moellmann <gerd@gnu.org>
9513
9514 * lread.c (read1): Accept `?' as symbol constituent, for
9515 compatiblity with XEmacs.
9516
c0f9ea08
SM
95172000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9518
9519 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9520 (struct re_pattern_buffer): Remove newline_anchor.
9521 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9522 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9523 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9524 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9525 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9526 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9527 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9528 Get rid of references to newline_anchor.
9529 (regcomp): Allocate and precompute a fastmap.
9530
8c0f83fe
GM
95312000-08-31 Gerd Moellmann <gerd@gnu.org>
9532
9533 * lread.c (openp): GCPRO local variable `filename'.
9534
4bb91c68
SM
95352000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9536
9537 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9538
9539 * regex.c: Merge some changes from GNU libc. Add prototypes.
9540 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9541 Use memcmp and memcpy instead of bcopy and bcmp.
9542 (init_syntax_once): Use ISALNUM.
9543 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9544 (REG_UNSET_VALUE): Remove. Use NULL instead.
9545 (REG_UNSET, re_match_2_internal): Use NULL.
9546 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9547 New macros.
9548 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9549 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9550 (regex_compile): In handle_interval, return an error rather than try to
9551 unfetch the interval if we can't find the closing brace.
9552 Obey the RE_NO_GNU_OPS syntax bit.
9553 (TOLOWER): New macro.
9554 (regcomp): Use it.
9555 (regexec): Allocate regs.start and regs.end as one block.
9556
5226a931
GM
95572000-08-30 Gerd Moellmann <gerd@gnu.org>
9558
868dd24b
GM
9559 * xdisp.c (echo_area_display): Check display_completed instead
9560 of calling detect_input_pending.
9561
9562 * dispnew.c (update_frame): Only set display_completed here; move
9563 the update_begin and update_end calls here from update_frame_1.
9564 (update_frame_1): Don't set display_completed here, don't call
9565 update_begin/update_end.
9566
5226a931
GM
9567 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9568 instead of store_frame_param.
9569
2a8bd25f
GM
95702000-08-29 Gerd Moellmann <gerd@gnu.org>
9571
9572 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9573 desired window matrix hasn't been displayed, use the current row
9574 instead. Make sure that only those frame rows are updated for
9575 which there exists a corresponding enabled desired row.
52283633 9576
ba3478d9
MB
95772000-08-29 Miles Bader <miles@gnu.org>
9578
9579 * xfaces.c (default_face_vector): New function.
9580 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9581
87d0f685
GM
95822000-08-29 Gerd Moellmann <gerd@gnu.org>
9583
9584 * lread.c (openp): Prevent temporary string passed to
9585 Ffile_readable_p from being garbage collected.
9586
6fa86045
DL
95872000-08-28 Dave Love <fx@gnu.org>
9588
9589 * keymap.c (store_in_keymap): Add `static' to declaration.
9590
bb17930d
GM
95912000-08-28 Gerd Moellmann <gerd@gnu.org>
9592
9593 * emacs.c, callint.c, doc.c, editfns.c
9594 (toplevel) [HAVE_STRING_H]: Include string.h.
9595 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9596 (index): Remove prototypes which might conflict with non-standard
9597 definitions of index/strchr.
9598
9599 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9600 (rindex): Define only if !HAVE_RINDEX.
9601
9602 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9603
9604 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9605
87188200
MB
96062000-08-28 Miles Bader <miles@gnu.org>
9607
9608 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9609 made inconsistent by a font-related attribute in FROM.
9610 (merge_face_inheritance): Add function comment.
9611
41a68aef
KH
96122000-08-28 Kenichi Handa <handa@etl.go.jp>
9613
9614 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9615 the 4th arg (PREV_EVENT) Qt to suppress input method.
9616
f7c436c1
SM
96172000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9618
0b32bf0e
SM
9619 * regex.c: Indent cpp directives and remove parens after `defined'.
9620 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9621 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9622 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9623 (re_compile_pattern): Use size_t for length.
9624 (init_syntax_once): Move to a better place.
9625 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9626 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9627
f7c436c1
SM
9628 * syntax.c (back_comment): Detect cases where a comment-starter is
9629 actually inside another comment as in: /* a // b */ c // d \n.
9630 Make it clear that `comstart_pos' is unused for nested comments.
9631
9632 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9633 (KEYMAPP): New macro.
9634 (Fkeymap_parent, Fset_keymap_parent): Use it.
9635 (fix_submap_inheritance): Mark it static.
9636 (define_as_prefix, describe_buffer_bindings, describe_command)
9637 (describe_translation, describe_map): Complete prototypes.
9638
9639 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9640
9641 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9642 to better match the key-lookup behavior.
9643
6288c62f
GM
96442000-08-27 Gerd Moellmann <gerd@gnu.org>
9645
9646 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9647 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9648
e931344e
EZ
96492000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9650
9651 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9652 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9653 (xterm.o): Depend on coding.h
9654
d10dfeef
KH
96552000-08-26 Kenichi Handa <handa@etl.go.jp>
9656
9657 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9658 the corresponding '#endif'.
9659
2d73e8d3
MB
96602000-08-26 Miles Bader <miles@gnu.org>
9661
9662 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9663 * xfaces.c (QCinherit): New variable.
9664 (syms_of_xfaces): Initialize it.
9665 (LFACE_INHERIT): New macro.
9666 (Finternal_get_lisp_face_attribute)
52283633 9667 (merge_face_vector_with_property)
2d73e8d3
MB
9668 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9669 (check_lface_attrs): Allow new types of face height. Check
9670 inherit attribute.
9671 (CYCLE_CHECK): New macro.
9672 (merge_face_inheritance): New function.
9673 (merge_face_vectors): Merge inherited faces too. Add F and
9674 CYCLE_CHECK arguments.
9675 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9676 (lookup_named_face, lookup_derived_face, realize_named_face)
9677 (face_at_string_position, face_at_buffer_position): Supply
9678 new F and CYCLE_CHECK arguments to merge_face_vectors.
9679 (merge_face_heights): New function.
52283633 9680 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9681 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9682 handle relative face heights.
9683 (lface_same_font_attributes_p): Compare heights using EQ.
9684
6ce974d4
KH
96852000-08-26 Kenichi Handa <handa@etl.go.jp>
9686
9687 * charset.c (char_to_string): Check the character validity.
52283633 9688 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9689
dc1e502d
SM
96902000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9691
9692 * regex.c (PUSH_FAILURE_COUNT): New macro.
9693 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9694 Handle popping of a register's or a counter's data.
9695 (POP_FAILURE_POINT): Use the new name.
9696 (re_match_2_internal): Push counter data on the stack for succeed_n,
9697 jump_n and set_number_at and remove misleading dead code in succeed_n.
9698
bd9d0f3f
GM
96992000-08-25 Gerd Moellmann <gerd@gnu.org>
9700
9701 * xdisp.c (redisplay_internal): If considering all windows on all
9702 frames, update the display for each frame as soon as possible,
9703 instead of first building all desired matrices for all frames, and
9704 then updating them all.
9705 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9706
aa5b8e15
GM
97072000-08-24 Gerd Moellmann <gerd@gnu.org>
9708
17494071
GM
9709 * bytecode.c (mark_byte_stack): Add a comment.
9710
52283633
SM
9711 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9712 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9713 a graphical frame.
9714
c543db81
KH
97152000-08-24 Kenichi Handa <handa@etl.go.jp>
9716
d246d5f5
KH
9717 * minibuf.c (do_completion): Always use compare-string, not
9718 string-equal because the latter doesn't pay attention to
9719 multibyteness of strings.
9720
c543db81
KH
9721 * process.c (create_process): Don't setup raw-text coding here.
9722 (Fopen_network_stream): Don't set coding->src_multibyte and
9723 coding->dst_multibyte here.
9724 (read_process_output): For process filter, return unibyte string
9725 if default-enable-multibyte-characters is nil.
9726 (send_process): If OBJECT is multibyte text, be sure to encoded it
9727 by the specified coding system for the process. Otherwise, setup
9728 raw-text coding.
52283633 9729 (init_process): Don't initialize default-process-coding-system here.
c543db81 9730
9b47cfe0
EZ
97312000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9732
9733 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9734 <scroll-down-aggressively>: Likewise.
9735
f5a36960
KH
97362000-08-23 Kenichi Handa <handa@etl.go.jp>
9737
9738 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9739 zero. Set coding->produced_char correctly.
9740
69a7ffa7
AI
97412000-08-22 Andrew Innes <andrewi@gnu.org>
9742
9743 * makefile.w32-in: New file.
9744
9745 * unexw32.c (unexec): Ignore old_name, and use the actual location
9746 of the current executable instead. Base new_name on this.
9747
9748 * w32proc.c (create_child): Remove reference to security
9749 descriptor, which isn't needed and doesn't compile with mingw32.
9750
9751 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9752 up dllimport attributes.
9753 (x_update_window_end): Update prototype.
9754
9755 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9756 extern, which screws up dllimport attributes.
9757
9758 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9759 up dllimport attributes.
9760
9761 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9762 screws up dllimport attributes.
9763
9764 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9765 up dllimport attributes.
9766 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9767 screws up dllimport attributes.
9768
9769 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9770 up dllimport attributes.
9771
9772 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9773 screws up dllimport attributes.
9774
9775 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9776 screws up dllimport attributes.
9777
9778 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9779 up dllimport attributes.
9780
9781 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9782 unnecessary extern, which screws up dllimport attributes.
9783 (main): Ditto.
9784
9785 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9786 up dllimport attributes.
9787
9788 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9789 unnecessary extern, which screws up dllimport attributes.
9790
9791 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9792 screws up dllimport attributes.
9793
9794 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9795 up dllimport attributes.
9796
9797 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9798
52283633
SM
9799 * w32bdf.c (search_file_line):
9800 (set_bdf_font_info):
9801 (seek_char):
9802 (w32_get_bdf_glyph):
69a7ffa7
AI
9803 (w32_BDF_to_x_font): Fix compile warnings.
9804
52283633 9805 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9806
9807 * w32select.c: Include keyboard.h before frame.h.
9808
9809 * w32fns.c (max): Define macro.
9810 (JOHAB_CHARSET): Define if not known.
9811 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9812 (Fx_show_tip): Synch with X version.
9813
9814 * w32xfns.c: Include keyboard.h before frame.h.
9815
9816 * w32fns.c: Include keyboard.h before frame.h.
9817
9818 * w32term.c: Include keyboard.h before frame.h.
9819
9820 * fontset.c: Include keyboard.h before frame.h.
9821
9822 * w32inevt.c: Include keyboard.h before frame.h.
9823 (MOUSE_MOVED): Define if not known.
9824
9825 * minibuf.c: Include keyboard.h before frame.h.
9826
9827 * keyboard.c: Include keyboard.h before frame.h.
9828
9829 * indent.c: Include keyboard.h before frame.h.
9830
9831 * dispnew.c: Include keyboard.h before frame.h.
9832
9833 * buffer.c: Include keyboard.h before frame.h.
9834
9835 * alloc.c: Include keyboard.h before frame.h.
9836
9837 * print.c: Include keyboard.h before frame.h.
9838
9839 * process.c: Include keyboard.h before frame.h.
9840
9841 * scroll.c: Include keyboard.h before frame.h.
9842
9843 * sysdep.c: Include keyboard.h before frame.h.
9844
9845 * term.c: Include keyboard.h before frame.h.
9846
9847 * window.c: Include keyboard.h before frame.h.
9848
9849 * xdisp.c: Include keyboard.h before frame.h.
9850 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9851
9852 * frame.c: Include keyboard.h before frame.h.
9853
9854 * w32heap.h: Undefine min, max.
9855
9856 * w32gui.h: Undefine min, max.
9857
9858 * unexw32.c: Change PUCHAR to PCHAR.
9859 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9860 (relocate_offset):
9861 (get_section_info):
69a7ffa7
AI
9862 (copy_executable_and_dump_data): Remove unnecessary static defs.
9863 (copy_executable_and_dump_data): Fix compile warnings.
9864
9865 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9866
9867 * w32console.c (min): Define macro.
9868 (clear_frame, write_glyphs): Fix compile warning.
9869
52283633 9870 * w32proc.c (compare_env):
69a7ffa7
AI
9871 (find_child_console): Fix compile warning.
9872
9873 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9874 sys_errlist instead of _sys_errlist.
9875 (get_emacs_configuration_options): New function.
9876
9877 * s/ms-w32.h (sys_nerr): Provide default definition.
9878 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9879 name with _ prepended.
9880 (NSIG): Define if not known.
9881 (get_emacs_configuration): Provide extern declaration.
9882 (get_emacs_configuration_options): Provide extern declaration.
9883 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9884
9885 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9886 (map_w32_filename):
69a7ffa7
AI
9887 (read_unc_volume): Fix compile warning.
9888
9889 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9890 definitions from being used.
9891
9892 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9893
52283633 9894 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9895 (open_unc_volume): Make arg const.
9896
9897 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9898 (read_input_waiting): Remove excess parameter.
9899
9900 * w32.c (init_environment): Call _access.
9901 (check_windows_init_file): Call _close.
9902 (init_user_info): Call _putenv.
9903 (init_environment): Call _putenv and _strdup.
9904 (init_ntproc): Reset volume info cache on startup.
9905
9906 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9907 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9908 cannot override the CRT malloc.
9909
9910 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9911 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9912
9913 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9914 unless we are linking with a static CRT.
9915 (RVA_TO_PTR): Cast result to unsigned char*.
9916
9917 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9918 (add_volume_info): Use xstrdup.
9919
25060080
SM
99202000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9921
9922 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9923 (do_completion, Fminibuffer_complete_word): Use it.
9924 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9925 var so it can take non-boolean values.
9926
6917e6bb
GM
99272000-08-21 Gerd Moellmann <gerd@gnu.org>
9928
acb7cc89 9929 * editfns.c (find_field): Formatting changes.
52283633 9930 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9931 changed to prototypes, some new protypes added, some functions
9932 made static.
9933
9934 * lisp.h (set_time_zone_rule): Add prototype.
9935 (use_dialog_box): External declaration.
9936
0bbfdc25
GM
9937 * keyboard.c (gen_help_event): Add parameter SIZE.
9938 (kbd_buffer_events_waiting): Slightly rewritten.
9939 (clear_event): New function.
9940 (kbd_buffer_get_event): Use it, and clear the input_events of
9941 HELP_EVENTs.
9942 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9943 don't fill the newly created array with nils.
9944 (toplevel): Convert some old-style function forward declarations
9945 to prototypes.
9946
9947 * keyboard.h (gen_help_event): Change prototype.
9948
9949 * xterm.c (XTread_socket): Change calls to gen_help_event.
9950
9951 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9952
6917e6bb
GM
9953 * eval.c (Fmacroexpand): Doc fix.
9954
e5cd3d11
JR
99552000-08-20 Jason Rumney <jasonr@gnu.org>
9956
9957 * w32term.h (x_display_info_for_display): Remove as this function
9958 does not exist on W32.
9959
9960 * w32term.c (help_echo_window): New variable.
9961 (syms_of_w32term): staticpro it.
9962 (note_mode_line_highlight): Set it.
9963 (XTextExtents16): Removed as there is no equivalent on W32.
9964 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9965 the X way of doing this will not work for W32.
9966 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9967 (x_draw_image_foreground): Avoid drawing outside of the clip area
9968 when image doesn't have a mask.
9969 (note_mouse_highlight): Process overlays in the right order of
9970 priority. Set help_echo_window.
9971 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9972 because that's more visible for large images.
9973
9974 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9975 name to single_keymap_panes.
9976 (w32_menu_show): Set wv->title when dealing with titles.
9977 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9978
6e69ab8c
MB
99792000-08-21 Miles Bader <miles@gnu.org>
9980
9981 * minibuf.c (do_completion): Try again if we rewrite the input
9982 string, but no completion was done, so that any completion message
9983 will be correct.
9984
511bd4eb
GM
99852000-08-20 Gerd Moellmann <gerd@gnu.org>
9986
9987 * xfaces.c (lface_equal_p): Compare strings differently.
9988 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9989 (realize_tty_face): Use them.
9990 (syms_of_xfaces): Initialize new variables.
9991 (map_tty_color): New function, extracted from realize_tty_face.
9992 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9993 foreground or background color, store the new color name in the
9994 realized face; previous code trying to do this had no effect.
9995 (realize_tty_face): Use map_tty_color.
9996 (Fclear_face_cache): Set face_change_count and ensure thorough
9997 redisplay.
9998
1433385f
GM
99992000-08-19 Gerd Moellmann <gerd@gnu.org>
10000
511bd4eb
GM
10001 * undo.c (record_first_change, record_marker_adjustment): Don't
10002 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 10003
419ac0a2
KH
100042000-08-18 Kenichi Handa <handa@etl.go.jp>
10005
10006 * coding.c (decode_coding_string): Set members consumed,
10007 consumed_char, produced, produced_char of *coding correctly. If
10008 decode_coding doesn't consume any byte, don't try anymore.
10009 (encode_coding_string): Likewise.
10010
7eb9e30d
GM
100112000-08-18 Gerd Moellmann <gerd@gnu.org>
10012
511bd4eb
GM
10013 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
10014 conditional have void type, for Standard C compilers.
7eb9e30d
GM
10015
10016 * xdisp.c (redisplay_internal): Compare windows for equality with
10017 EQ, instead of applying XWINDOW to something that might not
10018 be a window.
52283633 10019
dd34a735
KH
100202000-08-18 Kenichi Handa <handa@etl.go.jp>
10021
10022 * fontset.c (Finternal_char_font): Search only the selected frame
10023 for a window of the current buffer.
10024
385ff9e3
GM
100252000-08-18 Gerd Moellmann <gerd@gnu.org>
10026
511bd4eb 10027 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
10028 Lisp_Objects.
10029
385ff9e3
GM
10030 * keyboard.c (kbd_buffer_get_event): Handle the case that the
10031 second half of a HELP_EVENT is found at the start of kbd_buffer.
10032
d6abb4c7
MB
100332000-08-18 Miles Bader <miles@gnu.org>
10034
4618074a
MB
10035 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
10036
d6abb4c7
MB
10037 * editfns.c (save_restriction_save): Rewrite to use markers.
10038 (save_restriction_restore): Rewrite to understand new form of data
10039 saved by save_restriction_save.
10040 (Fsave_restriction): Remove cautionary note in doc-string.
10041
a7b28523
GM
100422000-08-17 Gerd Moellmann <gerd@gnu.org>
10043
10044 * fileio.c (build_annotations): Add a comment explaining the
10045 return value of format-annotate-function. Replace a spurious call
10046 to Flength with a CONSP test. Call format-annotate-function with
10047 a fifth arg specifying how many times the function is been called
10048 in a row, to let it choose temporary buffers appropriately.
10049
03c9ed77
DL
100502000-08-17 Dave Love <fx@gnu.org>
10051
10052 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
10053 declare make_temp_name twice.
10054
52283633 10055 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
10056 (unreadpure): Give it an arg.
10057
10058 * unexalpha.c: Prototype fatal_unexec, mark_x,
10059 update_dynamic_symbols. Declare unexec as void.
10060
10061 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
10062 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
10063
10064 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 10065 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
10066
10067 * alloca.c: Use #error.
10068 [POINTER_TYPE]: Use it.
10069
10070 * eval.c (Fdefvar): Doc fix.
10071
10072 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
10073 INITIALIZE_INTERVAL.
10074
10075 * buffer.h: Avoid DECLARE_INTERVALS.
10076
10077 * config.in: Add size_t.
10078
aae41d97
EZ
100792000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
10080
10081 * w16select.c (set_clipboard_data): If there's not enough memory
10082 to put text into clipboard, return 1, as Fw16_set_clipboard_data
10083 expects. In case of other failures, return 3.
10084 (system_error_msg): New error message.
10085 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
10086 system_error_msg.
10087
65aa5e85
GM
100882000-08-16 Gerd Moellmann <gerd@gnu.org>
10089
10090 * term.c (write_glyphs): Also turn off inverse video after turning
10091 off other appearances in case TS_exit_attribute_mode is not equal
10092 to TS_end_standout_mode.
10093 (insert_glyphs): Turn inverse video on/off for each run of glyphs
10094 with the same face.
10095 (turn_off_face): Reset standout_mode only if
10096 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
10097 is equal to TS_end_standout_mode.
10098
ece23901
KH
100992000-08-16 Kenichi Handa <handa@etl.go.jp>
10100
9d7bcb2e
KH
10101 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
10102 sequence at the end of the source block.
10103
ece23901
KH
10104 * ccl.c (Fccl_program_p): Docstring modified.
10105 (Fccl_execute): Likewise.
10106 (Fccl_execute_on_string): Likewise.
10107
5e30eaa2
EZ
101082000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
10109
10110 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
10111
290602fd
KH
101122000-08-16 Kenichi Handa <handa@etl.go.jp>
10113
10114 The following changes are mainly to fix bugs of
10115 encode/decode-coding-string failing if encoding/decoding return
10116 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
10117 variable conversion_buffer.
10118
10119 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
10120 decrement dst_end to avoid buffer overflow in the later call of
10121 string_as_multibyte
10122
10123 * coding.h (conversion_buffer_size, conversion_buffer)
10124 (get_conversion_buffer): Extern deleted.
10125
10126 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
10127 (conversion_buffer, conversion_buffer_size): Variables deleted.
10128 (get_conversion_buffer): Function deleted.
10129 (struct conversion_buffer): New structure.
10130 (MAX_ALLOCA): New macro.
10131 (allocate_conversion_buffer): New macro.
10132 (extend_conversion_buffer, free_conversion_buffer): New functions.
10133 (ccl_coding_driver): Set coding->result.
10134 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
10135 this is the last block of source.
10136 (encode_coding): Likewise. Handle the source block as the last
10137 one only when the whole source text is consumed.
10138 (decode_coding_string): Handle the case that the output buffer is
10139 too small to decode the whole source text. Use
10140 allocate_conversion_buffer, extend_conversion_buffer and
10141 free_conversion_buffer, not get_conversion_buffer.
10142 (encode_coding_string): Likewise.
10143 (init_coding): Function deleted.
52283633 10144 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
10145
10146 * emacs.c (main): Don't call init_coding.
10147
52283633 10148 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
10149
10150 * term.c (write_glyphs): Use a locally declared conversion_buffer.
10151 (insert_glyphs): Likewise.
10152
10153 * w32console.c (write_glyphs): Use a locally declared
10154 conversion_buffer.
10155
b9f80d41
EZ
101562000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
10157
10158 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
10159 member of display_info is NULL.
10160
32dc52f7
GM
101612000-08-15 Gerd Moellmann <gerd@gnu.org>
10162
52283633 10163 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 10164
32dc52f7 10165 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 10166 appearances with capability `me'.
32dc52f7
GM
10167 (write_glyphs): Switch on inverse video before each face change.
10168
4eb22d33
DL
101692000-08-14 Dave Love <fx@gnu.org>
10170
10171 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10172 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10173 (lisp_free): Declare and make static.
10174
10175 * window.c: Fix embedded comment.
10176 (syms_of_window): Fix doc string.
10177
90cbf47e
GM
101782000-08-14 Gerd Moellmann <gerd@gnu.org>
10179
52283633 10180 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
10181 make sure to print `C-' before `M-', like in the manual.
10182
440fc135
GM
101832000-08-11 Gerd Moellmann <gerd@gnu.org>
10184
10185 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10186 since they aren't relocated anymore.
52283633 10187 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10188
10189 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10190 partially visible line which is smaller than the window's height.
440fc135 10191
6e264fad
KH
101922000-08-11 Kenichi Handa <handa@etl.go.jp>
10193
10194 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10195 the multibyte form of eight-bit-control characters.
6e264fad
KH
10196 (Fccl_execute_on_string): Initialize ccl->multibyte.
10197
10198 * ccl.h (struct ccl_program): New member multibyte.
10199
10200 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10201
c371f69a
KH
102022000-08-11 Kenichi Handa <handa@etl.go.jp>
10203
10204 * regex.c (regex_compile) <normal_char>: Pay attention to
10205 multibyteness.
10206 (analyse_first) <exactn>: Setup fastmap correctly for
10207 eight-bit-control characters.
10208
102092000-08-11 Kenichi Handa <handa@etl.go.jp>
10210
52283633 10211 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10212
10213 * keyboard.c (make_lispy_event): Handle the new event type
10214 multibyte_char_keystroke.
10215
10216 * xterm.c: Include coding.h.
10217 (XTread_socket): Work around a bug of XmbLookupString. If the
10218 input is from XIM, decode it according to the current locale. In
10219 that case, generate multibyte_char_keystroke events.
10220
b8ddbe71
KH
102212000-08-11 Kenichi Handa <handa@etl.go.jp>
10222
10223 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10224 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10225
47589c8c
GM
102262000-08-10 Gerd Moellmann <gerd@gnu.org>
10227
10228 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10229 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10230 (move_it_in_display_line_to): Record iterator's ascent and descent
10231 before producing glyphs, and restore them when we know the glyph
10232 doesn't fit on the line.
10233 (move_it_to): Restructured so that it's easier to debug. If
10234 moving to a vpos, and not moving to an x or character position,
10235 stop as soon as the specified vpos is reached; don't move further
10236 into that line because that might change the computed line height.
10237 (try_cursor_movement): New function, extracted from the cursor
10238 movement branch of redisplay_window. If ending on a partially
10239 visible line, don't try to scroll if the cursor line is taller
10240 than the window.
10241 (redisplay_window): Use try_cursor_movement.
10242
10243 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10244 because that function doesn't cope with variable-height lines.
10245
10246 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10247 box cursor because that's better visible for large images.
52283633 10248
c51bacd6
MB
102492000-08-10 Miles Bader <miles@gnu.org>
10250
10251 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10252
bea56df7
GM
102532000-08-10 Gerd Moellmann <gerd@gnu.org>
10254
10255 * xdisp.c (Vmessages_buffer_name): New variable.
10256 (message_dolog): Use it.
10257 (syms_of_xdisp): Initialize it.
10258
99cd7364
EZ
102592000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10260
52283633 10261 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10262 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10263 redundant now that keyboard.h is included.
10264
7d093d56
EZ
102652000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10266
10267 * keyboard.c (kbd_buffer_events_waiting): New function.
10268
10269 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10270
10271 * msdos.c: Include keyboard.h.
10272 (XMenuActivate): Empty no_event events from the event buffer. If
10273 no events are left after that, call clear_input_pending.
10274 (mouse_clear_clicks): New function, code moved from mouse_init.
10275 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10276 mouse driver to ``forget'' any past clicks.
10277
10278 * Makefile.in (msdos.o): Depend on keyboard.h.
10279
41e757a6
GM
102802000-08-09 Gerd Moellmann <gerd@gnu.org>
10281
8e7bd231
GM
10282 * lisp.h (input_pending): External declaration.
10283
10284 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10285
8e7bd231
GM
10286 * xdisp.c (echo_area_display): Display thoroughly if input is
10287 pending. Bind redisplay-dont-pause to t during the redisplay.
10288 in case input is pending.
10289
10290 * dispnew.c (Qredisplay_dont_pause): New variable.
10291 (syms_of_display): Initialize and staticpro it.
10292 (update_frame_1): Don't interrupt the display for pending input if
10293 redisplay_dont_pause is set.
52283633 10294
43028b7e
GM
10295 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10296
41e757a6
GM
10297 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10298
2f2174fa
KH
102992000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10300
10301 * callproc.c (Fcall_process): Terminate the unwind-protect around
10302 the post-read-conversion of coding system.
10303
0a6fd67e
MB
10304 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10305 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10306 * buffer.h (overlays_at): Update prototype.
10307 * xdisp.c (next_overlay_change): Update call to overlays_at.
10308 * xfaces.c (face_at_buffer_position): Likewise.
10309 * textprop.c (Fget_char_property): Likewise.
10310 * xterm.c (note_mouse_highlight): Likewise.
10311
0c80756e
MB
10312 * minibuf.c (do_completion): Don't consider a simple change of
10313 case as `completion'.
10314
975f250a
KR
103152000-08-08 Ken Raeburn <raeburn@gnu.org>
10316
52283633 10317 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10318 * undo.c (record_delete): Make sure last_point_position_buffer is
10319 a buffer before comparing pointers.
10320
10321 * coding.h (decode_coding_string): Declare.
10322
10323 * intervals.h (Fprevious_single_char_property_change): Declare.
10324
10325 * textprop.c (Fprevious_single_char_property_change): Don't do
10326 arithmetic directly on lisp objects.
10327
52283633 10328 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10329
10330 * keyboard.h (menu_item_eval_property): Declare.
10331
10332 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10333 reuse as buffer name, instead of recreating (and discarding) every
10334 time a message is logged.
10335 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10336 (current_message_1, truncate_message_1, set_message_1)
10337 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10338 (current_message, truncate_echo_area, display_echo_area)
10339 (resize_echo_area_axactly): Changed calls.
b347b3fd 10340
975f250a 10341 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10342 Lisp object.
975f250a 10343 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10344 must be an integer, not a Lisp object.
975f250a 10345
46dc9912
KH
103462000-08-08 Kenichi Handa <handa@etl.go.jp>
10347
10348 * charset.c (Fchar_width): Doc fix.
10349
9f6d1a6c
GM
103502000-08-08 Gerd Moellmann <gerd@gnu.org>
10351
10352 * charset.c (Fstring_width): Doc fix.
10353
ff3d9573
GM
103542000-08-07 Gerd Moellmann <gerd@gnu.org>
10355
41e757a6 10356 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10357 line, clear ascent and descent members of the iterator structure;
10358 the height of the continued line does not affect the height of the
10359 continuation line.
10360 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10361 line taller than the window.
10362 (redisplay_window) <forced window start>: Handle case that the
10363 middle of the window is not found in any row.
10364 (dump_glyph_row): Show more information.
10365 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10366 first text line in a glyph matrix.
10367
10368 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10369 of the clip area when image doesn't have a mask.
10370
70fc58b3
GM
10371 * fns.c (sweep_weak_table): Fix survival conditions for
10372 key-or-value and key-and-value weakness.
10373
10374 * .gdbinit (xhashtable): New command.
10375
ac0e96ee
GM
10376 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10377 tables out of the list of all weak hash tables.
10378
ff3d9573
GM
10379 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10380 a new buffer is created, make sure echo_area_buffer[] references
10381 the new buffer.
10382
e0d8827b
EZ
103832000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10384
10385 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10386 the doc string.
10387
c6f35378
KH
103882000-08-07 Kenichi Handa <handa@etl.go.jp>
10389
10390 * syntax.c (skip_chars): Fix previous change. Make the handling
10391 of unibyte string consistent with that of regex search.
10392
1fd4c450
GM
103932000-08-05 Gerd Moellmann <gerd@gnu.org>
10394
e49aa397
GM
10395 * xmenu.c (popup_get_selection): Use xfree instead of free.
10396
10397 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10398
10399 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10400
10401 * callproc.c (child_setup): Use xfree instead of free.
10402
10403 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10404 instead of malloc.
10405 (run_mac_command, closedir): Use `xfree' instead of `free'.
10406
10407 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10408
10409 * eval.c (error): Use xfree instead of free.
10410
1fd4c450
GM
10411 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10412
10413 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10414 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10415
82d497fc
KH
104162000-08-05 Kenichi Handa <handa@etl.go.jp>
10417
10418 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10419 conversion.
10420
59f953a2
NF
104212000-08-04 Noah Friedman <friedman@splode.com>
10422
10423 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10424 docstring.
10425
688351f2
GM
104262000-08-04 Gerd Moellmann <gerd@gnu.org>
10427
10428 * syntax.c (skip_chars): Fix typo in error message.
10429
2dad51cc
AS
104302000-08-04 Andreas Schwab <schwab@suse.de>
10431
10432 * m/ia64.h: Moved from s/ia64.h.
10433
99bb2c60
KH
104342000-08-04 Kenichi Handa <handa@etl.go.jp>
10435
082a1df2
KH
10436 * process.c (read_process_output): Big simplification. Handle
10437 composition and post-read-conversion of coding system correctly.
10438 (send_process): Handle composition correctly.
10439
10440 * callproc.c (Fcall_process): Handle post-read-conversion of
10441 coding system if any.
10442
99bb2c60
KH
10443 * coding.c (decode_coding_iso2022): More strict check for handling
10444 single shifting.
082a1df2
KH
10445 (coding_restore_composition): Pay attention to the case that
10446 cmp_data is not set properly (because of invalid code in the
10447 source text).
10448 (run_pre_post_conversion_on_str): Include text properties in the
10449 resulting string.
10450 (decode_coding_string): Set members of coding correctly.
99bb2c60 10451
f4988be7
GM
104522000-08-03 Gerd Moellmann <gerd@gnu.org>
10453
10454 * s/ia64.h: New file.
10455
10456 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10457 Use NULL instead of 0 at the end of variable argument list of
10458 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10459 sizeof (int) < sizeof (void *).
10460
10461 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10462 of variable argument lists of XtVaGetValues and XtVaSetValues.
10463
10464 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10465 variable argument lists of XtVaGetValues and XtVaSetValues.
10466
ead53494
GM
104672000-08-02 Gerd Moellmann <gerd@gnu.org>
10468
10469 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10470 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10471
10472 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10473 prototype.
10474
10475 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10476 in call to Fsingle_key_description.
10477
10478 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10479 Callers changed.
10480
104812000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10482
10483 * window.c (display_buffer_reuse_frames): New variable.
10484 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10485 frames displaying BUFFER.
52283633 10486 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10487
10b0f752
MB
104882000-08-01 Miles Bader <miles@gnu.org>
10489
10490 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10491 when to constrain NEW_POS (they were pretty screwed up before).
10492
16425c4a
EZ
104932000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10494
10495 * msdos.c (run_msdos_command): Save and restore the master
10496 environment, for the case that child_setup signals an error.
10497 When mirroring slashes in DOS shell commands, don't fail when
10498 argv[2] has embedded blanks.
da288c14
EZ
10499 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10500 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10501 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10502
10503 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10504 using alloca; free it after run_msdos_command returns.
10505
27f73852
DL
105062000-07-27 Dave Love <fx@gnu.org>
10507
52283633
SM
10508 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10509 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10510
10511 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10512
c0261b5e
EZ
105132000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10514
10515 * editfns.c (lisp_time_argument): Fix last change.
10516
b548072f
GM
105172000-07-27 Gerd Moellmann <gerd@gnu.org>
10518
3ab82477
GM
10519 * fns.c (Fdelete): Make it work on vectors and strings in addition
10520 to lists.
10521
b548072f
GM
10522 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10523 (syms_of_fns): Initialize new variables.
52283633 10524 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10525 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10526 weakness, with t meaning the same as `key-and-value'.
10527
91ae8751
KH
105282000-07-27 Kenichi Handa <handa@etl.go.jp>
10529
10530 * coding.h (struct coding_system): Member safe_charset deleted.
10531
10532 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10533 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10534 New variables.
91ae8751
KH
10535 (coding_safe_chars): New function.
10536 (CODING_SAFE_CHAR_P): New macro.
10537 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10538 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10539 (detect_coding_iso2022): New local variable safe_chars.
10540 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10541 safe_charsets member of the coding system.
10542 (decode_coding_iso2022): New local variable safe_chars.
10543 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10544 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10545 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10546 (ENCODE_UNSAFE_CHARACTER): New macro.
10547 (encode_coding_iso2022): New local variable safe_chars. Check
10548 unsafe chars.
10549 (setup_coding_system): Delete the code to initialize
10550 coding->safe_charses
10551 (intersection, find_safe_codings): New functions.
10552 (Ffind_coding_systems_region_internal): New function.
10553 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10554 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10555 variable and initialize it.
10556
10557 * fns.c (char_table_ref_and_index): New function.
10558
10559 * lisp.h (char_table_ref_and_index): Add prototype.
10560
34a7a267
SS
105612000-07-26 Sam Steingold <sds@gnu.org>
10562
10563 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10564 (Ffloat_time): New built-in Lisp function.
34a7a267 10565
a95cb10a
GM
105662000-07-26 Gerd Moellmann <gerd@gnu.org>
10567
3353ef5a
GM
10568 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10569 for the character code.
10570
10571 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10572 GNU/Linux.
10573
a95cb10a
GM
10574 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10575 if called for a popup menu.
10576 (xmenu_show): Store help string in widget values.
10577
b4a12321
DL
105782000-07-26 Dave Love <fx@gnu.org>
10579
10580 * syswait.h: Move some definitions.
10581 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10582 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10583 perspicuous definitions.
10584 (WTERMSIG): Fix bit pattern used.
10585
13f5ad37
KH
105862000-07-26 Kenichi Handa <handa@etl.go.jp>
10587
10588 * print.c (print_object): If vector printing is truncated, print
10589 "..." to indicate it as well as the case of list printing.
10590
070fe99c
GM
105912000-07-25 Gerd Moellmann <gerd@gnu.org>
10592
969065c3
GM
10593 * xdisp.c (next_element_from_display_vector): Improve comments.
10594
10595 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10596 for the character code, and the rest for the face id as in 20.x.
10597 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10598
10599 * window.c (window_display_table): Cleaned up.
10600
070fe99c
GM
10601 * syntax.c (Fforward_word): Add last arg nil in call of
10602 Fconstrain_to_field.
10603
bad77ef7
EZ
106042000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10605
969065c3 10606 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10607 identical but for the letter-case, don't call
10608 barf_or_query_if_file_exists.
bad77ef7 10609
c28da489
MB
106102000-07-25 Miles Bader <miles@gnu.org>
10611
10612 * editfns.c (find_field): Honor special `boundary' fields.
10613 (Qboundary): New variables.
10614 (syms_of_editfns): Initialize Qboundary.
10615 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10616 Use scan_buffer instead of find_before_next_newline, because it
10617 allows us to detect the boundary case where there's a newline at
10618 the search limit.
10619 * lisp.h (Fconstrain_to_field): Update external declaration.
10620
e3c31fd5
GM
106212000-07-24 Gerd Moellmann <gerd@gnu.org>
10622
10623 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10624 if that is nil.
c28da489 10625
c66c29a2
DL
106262000-07-24 Dave Love <fx@gnu.org>
10627
10628 * s/sunos4-0.h, s/sol2.h:
10629 (LIBS_TERMCAP): Move from m/sparc.h.
10630
10631 * m/sparc.h (TERMINFO): Moved to system files (probably only
10632 relevant for sunos4 judging by its vintage).
10633 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10634 __arch64__.
10635
fbe0a958
EZ
106362000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10637
10638 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10639 name to single_keymap_panes.
10640
7d88e5c9
AS
106412000-07-24 Andreas Schwab <schwab@suse.de>
10642
10643 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10644
e024b101
GM
106452000-07-24 Gerd Moellmann <gerd@gnu.org>
10646
10647 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10648 parameters instead of using int parameters. Expect FN to accept
10649 EMACS_INT parameters.
10650 (display_echo_area, resize_echo_area_axactly, current_message)
10651 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10652 with new argument list.
10653 (resize_mini_window_1): New callback function.
10654 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10655 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10656
25c1a9ce
KH
106572000-07-24 Kenichi Handa <handa@etl.go.jp>
10658
10659 * fontset.c (fontset_ref): Remove INLINE declaration.
10660 (fontset_ref_via_base): Likewise.
10661 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10662 to downcase.
10663
7f987ac0
EZ
106642000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10665
10666 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10667 correct order of priority. If help echo was found in an overlay,
10668 use that overlay as the object in which the help echo was found.
10669
e2db3069
MB
106702000-07-22 Miles Bader <miles@gnu.org>
10671
10672 * textprop.c (Fprevious_single_char_property_change): The initial
10673 property value should be from the position preceding POSITION, not
10674 following it.
10675
5e3203e4
EZ
106762000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10677
10678 * coding.c (syms_of_coding): Doc fix for
10679 inhibit-iso-escape-detection.
10680
62145073
GM
106812000-07-21 Gerd Moellmann <gerd@gnu.org>
10682
c20aeb83
GM
10683 * xterm.c (note_mouse_highlight): Process overlays in the right
10684 order of priority.
34a7a267 10685
743934db
GM
10686 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10687
10688 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10689 overlay, use that overlay as the object in which the help was found.
743934db 10690
d1dc7e43 10691 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10692
62145073
GM
10693 * window.c (foreach_window): Instead of a fake variable argument
10694 list, take one USER_DATA argument.
10695 (foreach_window_1): Likewise, and call callback functions with two
10696 args, the window and USER_DATA.
10697 (struct check_window_data): New struct.
10698 (check_window_containing): Use it.
10699 (window_from_coordinates): Set up a struct check_window_data for
10700 foreach_window.
10701 (add_window_to_list, freeze_window_start): Change parameters
10702 according to new calling convention.
10703
10704 * window.h (foreach_window): Change prototype.
10705
10706 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10707
107082000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10709
10710 * xmenu.c (menu_help_callback): Call show_help_echo with
10711 additional arguments OBJECT and POS.
10712
11270583
KH
107132000-07-21 Kenichi Handa <handa@etl.go.jp>
10714
07b14857
KH
10715 * data.c (Faset): Allow storing any multibyte character in a
10716 string. Convert unibyte string to multibyte if necessary.
10717
11270583
KH
10718 * xfns.c (x_encode_text): New function.
10719 (x_set_name): Use x_encode_text.
10720 (x_set_title): Likewise.
10721
10722 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10723
10724 * xterm.h (x_encode_text): Add prototype.
10725
bc75b4fd
DL
107262000-07-20 Dave Love <fx@gnu.org>
10727
10728 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10729 xfree, not free.
10730
48c14970
EZ
107312000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10732
10733 * msdos.c (help_echo_window): New variable.
10734 (syms_of_msdos): Initialize and staticpro it.
10735 (IT_note_mode_line_highlight): Set help_echo_window.
10736 (IT_note_mouse_highlight): Ditto.
10737 (dos_rawgetc): Store help_echo_window in the second event produced
10738 for HELP_EVENTs.
10739
10740 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10741 Record the object that generated the help echo and the position of
10742 that object in help_echo_object and help_echo_pos. Record that
10743 some glyphs in a row are displayed in mouse-face.
10744 (IT_update_begin): Don't clear mouse highlight unless one of the
10745 enabled glyph rows is marked as being displayed in mouse-face.
10746 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10747 and position recorded in help_echo_object and help_echo_pos to the
10748 event queue.
10749 (IT_menu_display): Accept a new argument PN: the pane number of
10750 the current menu pane. Record the pane number and the item
10751 number of the item which has associated help string.
10752 (XMenuActivate): Update the prototype for help_callback in
10753 function declaration. Call IT_menu_display with the current menu
10754 pane number as an additional argument. Call help_callback with
10755 two additional arguments: the pane number and the item number of
10756 the menu item associated with the help text.
10757 (help_echo_object, help_echo_pos): New variables.
10758 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10759
10760 * msdos.h (XMenuActivate): Update prototype.
10761
4279296d
GM
107622000-07-19 Gerd Moellmann <gerd@gnu.org>
10763
47db06aa
GM
10764 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10765 Add some more prototypes.
10766
10767 * xterm.c, xterm.h: Add some more prototypes.
10768
10769 * lisp.h (Fnext_single_char_property_change): Add prototype.
10770
10771 * dispnew.c (direct_output_for_insert): Remove confusing
10772 outer local variable mouse_face_overwritten_p.
10773 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10774
4279296d
GM
10775 * alloc.c (allocate_string_data): Don't copy old string contents.
10776
670acd62
KH
107772000-07-19 Kenichi Handa <handa@etl.go.jp>
10778
10779 * coding.c (code_convert_region): Delete text properties before
10780 shrinking the conversion region.
10781
7cea38bc
GM
107822000-07-18 Gerd Moellmann <gerd@gnu.org>
10783
dc1cac59
GM
10784 * dispnew.c (update_text_area): Write the whole row if it
10785 has mouse-face in it.
10786
85a8aca9
GM
10787 * xfaces.c (face-alternative-font-family-alist): Remove
10788 DEFVAR_LISP; staticpro instead.
10789
34a7a267 10790 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10791 new arguments.
10792
10793 * keyboard.c (show_help_echo): Add parameter WINDOW.
10794 (read_char): Call show_help_echo with window extracted from Lisp
10795 help event.
10796 (gen_help_event): Add parameter WINDOW.
10797
10798 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10799
10800 * xterm.c (help_echo_window): New variable.
52283633 10801 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10802 (XTread_socket): Pass help_echo_window to gen_help_event.
10803 (syms_of_xterm): Initialize and staticpro help_echo_window.
10804
f8276b77
DL
108052000-07-18 Dave Love <fx@gnu.org>
10806
52283633 10807 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10808
088831a6
GM
108092000-07-18 Gerd Moellmann <gerd@gnu.org>
10810
3d6cd763
GM
10811 * alloc.c (allocate_string_data): If string had already data
10812 assigned, copy old contents to new string data.
10813
10814 * coding.c (syms_of_coding): Fix typo in spelling of variable
10815 `inhibit-iso-escape-detection'.
10816
088831a6
GM
10817 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10818
10819 * Makefile.in: Add dependencies on dispextern.h.
10820 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10821 `free'; both can conflict with system header files.
10822
bc8a8d55
KH
108232000-07-18 Kenichi Handa <handa@etl.go.jp>
10824
10825 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10826 undefined.
10827
069f5950
DL
108282000-07-18 Dave Love <fx@gnu.org>
10829
10830 * window.c (Fwindow_list): Declare arg `window'.
10831
aa96c820
KH
108322000-07-18 Kenichi Handa <handa@etl.go.jp>
10833
10834 * coding.c (setup_coding_system): Don't override the explicitly
10835 specified designations.
10836
06be8d32
MB
108372000-07-15 Miles Bader <miles@gnu.org>
10838
10839 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10840 from `text_property_eq' and `text_property_stickiness', respectively.
10841 (find_field, Fconstrain_to_field, char_property_eq)
10842 (char_property_stickiness): Changed to call char-property functions
10843 instead of text-property-only ones.
10844
10845 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10846 `next_single_char_property_change'). Do more error checking, and
10847 cleanup limit behavior.
10848 (Fprevious_single_char_property_change): New function.
10849 (syms_of_textprop): Initialize new subrs.
10850
10851 * xdisp.c (display_prop_end, invisible_text_between_p):
10852 Call Fnext_single_char_property_change instead of
10853 next_single_char_property_change.
10854
3fddcdc3
JR
108552000-07-15 Jason Rumney <jasonr@gnu.org>
10856
10857 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10858 after menu is finished with.
10859 (add_menu_item): Only consider wv->title as a menu title.
10860 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10861
10862 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10863 null title.
10864 (FONT_REGEXP): Remove unused macro, and its sub-components.
10865 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10866
10867 * w32term.c (help_echo_object, help_echo_pos): New variables.
10868 (note_mode_line_highlight): Store additional information about the
10869 help-echo in help_echo_object and help_echo_pos. Check both
10870 `local-map' and `keymap' properties for changing the cursor
10871 (note_mouse_highlight): Store additional information about the
10872 help-echo in help_echo_object and help_echo_pos.
10873 (note_tool_bar_highlight): Set help_echo_object to nil and
10874 help_echo_pos to -1.
10875 (w32_read_socket): Use gen_help_event instead of filling
10876 input_events manually.
10877 (syms_of_w32term): Staticpro help_echo_object.
10878 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10879 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10880 (x_clear_mouse_face): New function.
10881 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10882 (x_update_window_begin): No need to turn off the mouse
10883 highlight here.
10884 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10885 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10886 (x_fill_stretch_glyph_string): Consume runs of stretch
10887 glyphs instead of a single one.
10888 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10889 with new argument list.
10890 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10891 (x_append_glyph, x_append_composite_glyph)
10892 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10893 changes in struct glyph starting 1999-12-27. See comments for
10894 xterm.c on 2000-07-05.
10895
178c5d9c
SS
108962000-07-14 Sam Steingold <sds@gnu.org>
10897
10898 * xfaces.c (realize_x_face): Fix the last patch:
10899 check `default_face' before dereferencing.
10900
6fe533f6
DL
109012000-07-14 Dave Love <fx@gnu.org>
10902
069f5950 10903 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10904
dd7b81cf
KH
109052000-07-14 Kenichi Handa <handa@etl.go.jp>
10906
0693904a 10907 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10908 default_face's fontset, not using the default fontset.
0693904a 10909
dd7b81cf
KH
10910 * coding.c (inhibit_iso_escape_detection): New variable.
10911 (syms_of_coding): Make it a Lisp variable.
10912 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10913 nonzero, ignore ISO2022's escape sequence.
10914
d5aa31d8
GM
109152000-07-14 Gerd Moellmann <gerd@gnu.org>
10916
e5acf0ca
GM
10917 * alloca.c (malloc) [emacs]: Define as xmalloc.
10918
bd23a692
GM
10919 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10920 use that instead of the mouse position. Add parameters DX and DY.
10921
10922 * dispextern.h (Fx_show_tip): Adjust number of parameters
10923 in prototype.
10924
9662da0b
GM
10925 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10926 if HELP is a function, call it with OBJECT and POS as parameters
10927 to get the help to display.
10928 (gen_help_event, kbd_buffer_store_help_event): New functions.
10929 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10930 (read_char): Call show_help_echo with new parameters.
10931
178c5d9c 10932 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10933 Add prototypes.
10934
10935 * xterm.c (help_echo_object, help_echo_pos): New variables.
10936 (note_mode_line_highlight): Store additional information about the
10937 help-echo in help_echo_object and help_echo_pos. Check both
10938 `local-map' and `keymap' properties for changing the cursor
10939 (note_mouse_highlight): Store additional information about the
10940 help-echo in help_echo_object and help_echo_pos.
10941 (note_tool_bar_highlight): Set help_echo_object to nil and
10942 help_echo_pos to -1.
10943 (XTread_socket): Use gen_help_event instead of filling
10944 input_events manually.
10945 (syms_of_xterm): Staticpro help_echo_object.
10946
10947 * xmenu.c (menu_highlight_callback): Use
10948 kbd_buffer_store_help_event instead of setting up and input_event
10949 structure manually.
10950
10951 * xdisp.c (eval_form): GCPRO argument sexpr.
10952 (call_function): New function.
10953 (handle_single_display_prop): Use call_function and FUNCTIONP
10954 instead of checking whether if font_height is a symbol and
10955 using eval_form.
10956
10957 * eval.c (internal_condition_case_2): New function.
10958
10959 * lisp.h (FUNCTIONP): New macro.
10960 (internal_condition_case_2, call_function): Add prototypes.
10961
d5aa31d8
GM
10962 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10963 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10964 Always set `arg' member of input_events.
10965 (construct_menu_click): Unused function removed.
10966
10967 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10968
10969 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10970 (construct_drag_n_drop, x_scroll_bar_handle_click)
10971 (w32_read_socket): Always set `arg' member of input_events.
10972
10973 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10974
10975 * lisp.h (eval_form): Add prototype.
10976
10977 * xdisp.c (eval_form): Make it externally visible.
10978
0f1a9b23
GM
109792000-07-13 Gerd Moellmann <gerd@gnu.org>
10980
10981 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10982 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10983 consing. For prefix events, store the frame in the `arg' slot of
10984 the event, otherwise store the key there.
10985 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10986 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10987
10988 * xmenu.c (menu_highlight_callback): Store help string in the
10989 `arg' member of the input event; don't cons.
10990 (menubar_selection_callback): Use the `arg' slot of input events
10991 to queue additional information, instead of consing.
10992
10993 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10994
10995 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10996 TOOL_BAR_EVENTs.
10997 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10998
10999 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
11000 input events to queue additional information, instead of consing.
11001
11002 * keyboard.c (kbd_buffer_gcpro): Renamed from
11003 kbd_buffer_frame_or_window. Now used for all Lisp objects
11004 referenced from the input queue.
11005 (kbd_buffer_store_event): Always use structure assignment for
11006 copying input events. Record all Lisp objects referenced from
11007 events in kbd_buffer_gcpro.
11008 (kbd_buffer_get_event): Construct Lisp `help-echo' events
11009 differently from input events. Test for prefix menu_bar_events
11010 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
11011 event in kbd_buffer_gcpro to nil.
11012 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
11013 frame_or_window is equal to its arg member as prefix events.
11014 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
11015 used by an input event to nil.
11016 (init_keyboard): Use two times the size of the input queue
11017 for kbd_buffer_gcpro.
11018 (syms_of_keyboard): Likewise.
11019
52283633
SM
11020 * emacs.c (handle_USR2_signal, handle_USR1_signal):
11021 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
11022
11023 * termhooks.h (struct input_event): Add member `arg'.
11024 (MENU_BAR_EVENT): Renamed from menu_bar_event.
11025 (USER_SIGNAL_EVENT): Renamed from user_signal.
11026
11027 * xfaces.c (ASET): Remove definition.
11028
11029 * lisp.h (AREF, ASET, ASIZE): New macros.
11030
11031 * fontset.c (AREF, ASIZE): Remove definitions.
11032
11033 * fns.c (AREF): Remove definition.
178c5d9c 11034
0f1a9b23
GM
11035 * composite.c (AREF): Remove definition.
11036
712eaef2
GM
110372000-07-12 Gerd Moellmann <gerd@gnu.org>
11038
d8ee7803
GM
11039 * dispnew.c (redraw_overlapped_rows): Add missing local.
11040 (scrolling_window): Remove debug code.
11041
712eaef2
GM
11042 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
11043 Before scrolling, turn off a mouse-highlight in the window
11044 being scrolled.
11045
11046 * xterm.c (x_update_window_end): Add parameter
11047 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
11048 redisplay in XTframe_up_to_date.
11049 (x_clear_mouse_face): New function.
11050 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
11051
11052 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
11053 current glyph row.
11054 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
11055 it when any row is written to that contains glyphs highlighted in
11056 mouse-face.
11057 (update_window): Call the window update end hook with new
11058 parameter MOUSE_FACE_OVERWRITTEN_P.
11059 (direct_output_for_insert): Give up if row contains mouse-face.
11060
11061 * dispextern.h (struct redisplay_interface): Add parameter
11062 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
11063 (clear_mouse_face): New function pointer member.
11064
02010917
SM
110652000-07-11 Stefan Monnier <monnier@cs.yale.edu>
11066
11067 * syntax.c (back_comment): Use one switch rather than a few `if's.
11068 Obey open_paren_in_column_0_is_defun_start.
11069 When reverting to the `slow' method, try to nicely handle the case
11070 of nested comments by checking that the comment-starter we found
11071 does indeed match the comment-ender.
11072 (scan_sexps_forward, scan_sexps_forward):
11073 Ignore excessive opening parenthesis rather than throwing an error.
11074
d76c03ea
GM
110752000-07-11 Gerd Moellmann <gerd@gnu.org>
11076
11077 * doc.c (Fsubstitute_command_keys): Handle case that a GC
11078 in Fwhere_is_internal or get_keymap_1 relocates string contents.
11079
11080 * dispnew.c (direct_output_forward_char): Give up if currently
11081 displaying a message instead of the minibuffer contents.
11082
11083 * xterm.c (x_update_window_begin): No need to turn off the mouse
11084 highlight here.
11085 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 11086 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
11087
11088 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
11089 compare the mouse_face_p flags of both rows.
11090
11091 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
11092
d55ead18
EZ
110932000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
11094
11095 * keyboard.c (show_help_echo): Accept additional parameter
11096 ok_to_overwrite_keystroke_echo.
11097 (read_char): Call show_help_echo with a zero
11098 ok_to_overwrite_keystroke_echo argument.
52283633 11099 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
11100 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
11101 ok_to_overwrite_keystroke_echo argument.
11102 * w32menu.c (w32_menu_display_help): Call show_help_echo with
11103 non-zero ok_to_overwrite_keystroke_echo argument.
11104
df75b1a3
GM
111052000-07-10 Gerd Moellmann <gerd@gnu.org>
11106
4b92c49a
GM
11107 * xdisp.c (try_window_id): If changes are all below what is
11108 displayed in the window, and point is in the window, we still
11109 might have to find point on the display.
11110
11111 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
11112 glyphs instead of a single one.
11113 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11114 with new argument list.
11115 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11116
df75b1a3
GM
11117 * keymap.c (get_keymap_1): Add comment that this function can GC.
11118 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
11119 comment that functions can GC.
11120 (Fset_keymap_parent): GCPRO arg KEYMAP.
11121
4314cf3e
EZ
111222000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
11123
11124 * msdos.c (XMenuActivate): After exiting the menu, restore the
11125 echo area message and erase it.
11126
ab49ce15
KH
111272000-07-10 Kenichi Handa <handa@etl.go.jp>
11128
11129 * fontset.c (Ffontset_info): Make the return value more compatible
11130 with that of Emacs 20.
11131
090a072f
GM
111322000-07-07 Gerd Moellmann <gerd@gnu.org>
11133
11134 * eval.c (Fsignal): Handle case that backtrace_list is null.
11135
f92de4a6
KH
111362000-07-07 Kenichi Handa <handa@etl.go.jp>
11137
11138 * ccl.c (Fccl_execute): Typo fixed.
11139
dd8888a1
GM
111402000-07-06 Gerd Moellmann <gerd@gnu.org>
11141
e5c81191 11142 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 11143
dd8888a1
GM
11144 * window.c (Fwindow_list): Reverse list at the end.
11145 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
11146 means allow windows on OWINDOW's frame, only.
11147 (window_loop): Simplified; use Fwindow_list.
11148
11149 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
11150
485266d0
GM
111512000-07-05 Gerd Moellmann <gerd@gnu.org>
11152
11153 * xterm.c (XTread_socket): Increment handling_signal at the start,
11154 decrement it at the end.
11155
11156 * eval.c (handling_signal): New variable.
11157 (Fsignal): Abort if handling_signal is non-zero.
11158
11159 * lisp.h (handling_signal): External declaration.
178c5d9c 11160
485266d0
GM
11161 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
11162
80fcd514
KR
111632000-07-05 Ken Raeburn <raeburn@gnu.org>
11164
11165 Sound support for NetBSD through "Linux emulation" support:
11166 * config.in (HAVE_SOUNDCARD_H): Undef.
11167 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11168 * Makefile.in (LIBSOUND): New variable.
11169 (LIBES): Include it.
52283633
SM
11170 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11171 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
11172 (vox_open): Use DEFAULT_SOUND_DEVICE.
11173 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11174
d5c5cddd
GM
111752000-07-05 Gerd Moellmann <gerd@gnu.org>
11176
11177 * print.c (print_error_message): If Vsignaling_function is set,
11178 show it in *Messages*.
11179
11180 * lisp.h (Vsignaling_function): External declaration.
11181
11182 * eval.c (Vsignaling_function): New variable.
11183 (Fsignal): Compute it.
11184 (syms_of_eval): Staticpro it.
11185
65171e3a
DL
111862000-07-05 Dave Love <fx@gnu.org>
11187
11188 * syswait.h: Use the autoconf recommended approach. Old code
11189 #if'd out in case we need to revert.
11190
178c5d9c 11191 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11192
e2c46326
AI
111932000-07-05 Andrew Innes <andrewi@gnu.org>
11194
11195 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11196 when non-NULL instead of __morecore, to take account of buffer
11197 memory. This also solves a problem with spurious memory warnings
11198 on Windows.
11199
11200 * ralloc.c: Make real_morecore non-static.
11201
11202 * eval.c (internal_condition_case): Comment out abort if
11203 interrupt_input_blocked is not zero.
11204
11205 * makefile.nt: Add support for `bootstrap' and related targets.
11206 Include minimal debug info in emacs.exe in release build.
11207 Remove all dependencies on lisp.h, and fixup some others.
11208
11209 * w32.c (init_environment): Install code from 20.7 for providing
11210 default values for environment variables, based on the
11211 executable's own location.
52283633 11212 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11213 (sys_socket): Install socket inheritance bug fix from 20.7.
11214
11215 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11216 here via blockinput.h).
11217
a027a91b
SM
112182000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11219
e4b31601
SM
11220 * w32menu.c (w32_menu_display_help):
11221 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11222
11223 * keyboard.h (show_help_echo): Declare.
11224
11225 * keyboard.c (show_help_echo): New function, extracted from read_char.
11226 Feval its `msg' argument if it's a cons cell.
11227 (read_char): Use it.
4cf8d9d5 11228 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11229
178c5d9c 11230 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11231 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11232 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11233 (dos_rawgetc):
11234 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11235 (note_tool_bar_highlight, w32_read_socket):
11236 Do not gratuitously ignore non-string `help-echo' properties.
11237
88d75730
GM
112382000-07-05 Gerd Moellmann <gerd@gnu.org>
11239
969f7e79
GM
11240 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11241
71201b00
GM
11242 * window.c (delete_all_subwindows): Reset Vwindow_list.
11243
88d75730
GM
11244 * xterm.c (x_append_glyph, x_append_composite_glyph)
11245 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11246 changes in struct glyph starting 1999-12-27. Some bit-fields of
11247 struct glyph were not set, which made glyphs unequal when compared
11248 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11249 effects were the result. This also depended on the contents of
11250 memory returned by xmalloc. If flickering happens again, activate
11251 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11252 gone with that, chances are that it is caused by something similar.
88d75730
GM
11253
11254 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11255
88d75730
GM
11256 * dispextern.h: Add some comments.
11257
11258 * window.c (add_window_to_list): Add parameter LIST.
11259 (window_list): Order list so that, for each frame, windows are
11260 in canonical order, and so that frames appear in the list in
11261 the order given by Vframe_list.
11262 (next_window): Reverse the handling of NEXT_P.
11263
53654733
GM
112642000-07-04 Gerd Moellmann <gerd@gnu.org>
11265
87efd256
GM
11266 * window.c (Vwindow_list): New variable.
11267 (make_window, delete_window): Set Vwindow_list to nil.
11268 (check_window_containing): New function.
11269 (window_from_coordinates): Rewritten.
11270 (add_window_to_list, window_list, candidate_window_p)
11271 (decode_next_window_args, next_window): New functions.
52283633 11272 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11273 (Fwindow_list): New function.
11274 (Fother_window): Cleaned up.
11275 (foreach_window): Add a longer "variable argument list". Let
11276 callback function return 0 to indicate that cycling over windows
11277 should stop.
11278 (foreach_window_1): Likewise.
11279 (freeze_window_start): Return int.
11280 (init_window): New function.
11281 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11282
11283 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11284 input_event with bzero.
11285 (main): Call init_window.
11286
53654733
GM
11287 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11288 a menu filter.
11289
4a8c194f
KH
112902000-07-04 Kenichi Handa <handa@etl.go.jp>
11291
11292 * composite.h (make_composition_value_copy): Extern it.
11293
11294 * composite.c (make_composition_value_copy): New function.
11295
11296 * editfns.c (Fformat): While copying text properties, make each
11297 composition property value a copy.
11298
11299 * fns.c (concat): While copying text properties, make each
11300 composition property value a copy.
11301
831a6cb0
GM
113022000-07-03 Gerd Moellmann <gerd@gnu.org>
11303
2f516940
GM
11304 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11305
178c5d9c 11306 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11307 marked already.
11308
831a6cb0
GM
11309 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11310 include those frames as candidates which have their focus
11311 redirected to the minibuffer frame.
11312
d9c4f922
SM
113132000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11314
11315 * fns.c (Fputhash): Return `value' rather than nil.
11316
3780bc22
GM
113172000-06-30 Gerd Moellmann <gerd@gnu.org>
11318
97d176db
GM
11319 * frame.c (next_frame): Don't check focus redirection in case
11320 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11321 unless their focus is redirected, which contradicts the
11322 specification of next-frame, and leads to infinite loops in
11323 certain situations when cycling through windows with next-window.
11324
dca9961d
KH
113252000-06-30 Kenichi Handa <handa@etl.go.jp>
11326
11327 * coding.c (code_convert_region): Even if the length of text is
11328 zero, try to convert it if coding->type is coding_type_ccl.
11329 (decode_coding_string, encode_coding_string): Likewise.
11330
d5483ab1
GM
113312000-06-28 Gerd Moellmann <gerd@gnu.org>
11332
af5c25e1 11333 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11334 the display if windows_or_buffers_changed.
af5c25e1
GM
11335
11336 * dispnew.c (struct row_entry): New structure.
11337 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11338 (row_table_size, old_lines, new_lines, old_lines_size)
11339 (new_lines_size, run_pool, runs_size, runs): New variables.
11340 (add_row_entry): New function.
11341 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11342 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11343 holding them in local variables. Use a larger hash table whose
11344 size depends on glyph matrix sizes. Don't use bzero to clear the
11345 hash table; instead, clear used slots only.
11346
11347 * fns.c (next_almost_prime): Make it externally visible.
11348
11349 * lisp.h (next_almost_prime): Add prototype.
11350
d5483ab1
GM
11351 * s/isc4-0.h (sigunblock): Define.
11352
11353 * s/sco5.h (sigunblock): Define.
11354
93e40f40
DL
113552000-06-27 Dave Love <fx@gnu.org>
11356
11357 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11358 (moved to osf5-0.h).
11359 [!NOT_C_CODE]: Protect string.h stuff.
11360
11361 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11362 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11363
3c4b7685
GM
113642000-06-27 Gerd Moellmann <gerd@gnu.org>
11365
97d176db 11366 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11367 below the last line from the needed window height.
11368
32cad0aa
SM
113692000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11370
11371 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11372 (Fwidget_get): Use it.
11373 (syms_of_fns): Defsubr it.
11374
2c69ced2
GM
113752000-06-26 Gerd Moellmann <gerd@gnu.org>
11376
178c5d9c 11377 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11378 display info for XIM.
11379 (xim_open_dpy): Likewise.
11380 (xim_close_dpy): Don't free the display info's XIM.
11381
11382 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11383
11384 * config.in (USE_XIM): New define.
11385
3fc720e4
GM
11386 * keymap.c (get_keyelt): For menu-items containing a `:filter
11387 FILTER', apply FILTER to the menu-item's definition to get the
11388 real definition to use.
11389
11390 * lisp.h (QCfilter): External declaration.
11391
2c69ced2
GM
11392 * xfns.c (Fimage_size): New function.
11393 (syms_of_xfns): Defsubr it.
11394
f978b2a2
AS
113952000-06-26 Andreas Schwab <schwab@suse.de>
11396
11397 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11398 Fstring_as_unibyte.
11399
94cc7892
DL
114002000-06-25 Dave Love <fx@gnu.org>
11401
52283633 11402 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11403
11404 * Makefile.in (blockinput.h): Depend on atimer.h.
11405 (atimer.h): Depend on systime.h.
11406
52283633 11407 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11408
52283633 11409 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11410
11411 * lisp.h (swap_in_global_binding): Declare.
11412
b8c24556
KR
114132000-06-24 Ken Raeburn <raeburn@gnu.org>
11414
11415 * process.c (Fopen_network_stream): Turn off atimers for duration
11416 of call to connect. (Patch from Gerd.)
11417
8cf8560b
DL
114182000-06-23 Dave Love <fx@gnu.org>
11419
511c7541
DL
11420 * ralloc.c: Maybe include unistd.h
11421
8cf8560b
DL
11422 * emacs.c (setgrp): Undefine before defining.
11423 (malloc_warning, set_time_zone_rule, index): Prototype.
11424
11425 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11426 HAVE_STRUCT_TIMEZONE.
11427
11428 * s/osf1.h: Move string.h hack here from alpha.h and make it
11429 conditional.
11430 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11431 _XOPEN_SOURCE.
11432 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11433 (SOCKLEN_TYPE): Don't define.
11434
11435 * m/alpha.h: Remove string.h hack.
11436
11437 * s/osf5-0.h: New file.
11438
11439 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11440 include time.h, done by systime.h.
11441 [__FreeBSD__]: Remove redundant includes.
11442
3fc720e4 11443 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11444 (delete_temp_file): Return Qnil to avoid warning.
11445
11446 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11447
11448 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11449 HAVE_X_WINDOWS.
11450
11451 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11452
11453 * composite.h (compose_text): Declare.
11454
11455 * xterm.c: Don't include sys/types.h unconditionally. Don't
11456 protect its inclusion with !USG (following xmenu.c).
11457
ea055732
GM
114582000-06-23 Gerd Moellmann <gerd@gnu.org>
11459
11460 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11461 in x_create_frame.
11462
74b01b80
EZ
114632000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11464
11465 * coding.c (decode_eol_post_ccl): Special handling for undecided
11466 and inconsistent EOL types.
11467
64f3a166
GM
114682000-06-22 Gerd Moellmann <gerd@gnu.org>
11469
16cf31f7
GM
11470 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11471 trough color and main window's background color.
11472
52283633 11473 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11474
11475 * xterm.h (Xt_app_con): External declaration.
11476
11477 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11478
486a103d
GM
11479 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11480
64f3a166
GM
11481 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11482 (handle_invisible_prop): Record the start of invisible text in
11483 it->add_overlay_start.
11484 (struct overlay_entry): Add member `overlay'.
11485 (handle_overlay_change): Simplify.
11486 (next_overlay_string): After having processed overlay strings at the
11487 end of the buffer, record that fact in
11488 it->overlay_strings_at_end_processed_p.
11489 (compare_overlay_entries): If before- and after-strings come
11490 from the same overlay, let before-strings come first.
11491 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11492 (load_overlay_strings): Take it->add_overlay_start into account
11493 when adding overlay strings.
11494
11495 * dispextern.h (struct it): Add member add_overlay_start.
11496
bb746ea6
DL
114972000-06-22 Dave Love <fx@gnu.org>
11498
11499 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11500
11501 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11502
a8f573f3
KH
115032000-06-22 Kenichi Handa <handa@etl.go.jp>
11504
11505 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11506 is greater than 0.
11507
9f2bbc92
DL
115082000-06-21 Dave Love <fx@gnu.org>
11509
178c5d9c 11510 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11511
3ee5041c
SM
115122000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11513
11514 * syntax.c (back_comment): Simplify string-parity counting (with
11515 the added benefit of handling multiple string-styles as long as
11516 they are not intertwined).
11517 Jump to the slow code as soon as a comment starter is found in
11518 a "string_lossage" position. Fixes the case: " /* " /* " */.
11519
4c343001
DL
115202000-06-21 Dave Love <fx@gnu.org>
11521
11522 * Makefile.in: Use GETLOADAVG_LIBS.
11523
11524 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11525 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11526
e6365855
SM
115272000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11528
11529 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11530 (Fforward_comment, scan_lists):
11531 Check the comstyle of single-char comment-starters.
11532 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11533 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11534 Check the comstyle of single-char comment-starters.
11535 Clarify control-flow around the Scomment case.
e6365855 11536
5700d2cc
DL
115372000-06-20 Dave Love <fx@gnu.org>
11538
d355bd8a
SM
11539 * fns.c (make_hash_table, maybe_resize_hash_table):
11540 Cast arg of next_almost_prime.
5700d2cc 11541
178c5d9c 11542 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11543
11544 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11545 and unistd.h.
11546
4a27bdfb
GM
115472000-06-20 Gerd Moellmann <gerd@gnu.org>
11548
a61d762c 11549 * keyboard.c (adjust_point_for_property): Check if display
52283633 11550 property should be treated as intangible by looking at its value.
a61d762c 11551
178c5d9c 11552 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11553 (display_prop_intangible_p): New functions.
11554
11555 * dispextern.h (display_prop_intangible_p): Add prototype.
11556
11557 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11558
4a27bdfb
GM
11559 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11560 argument to sigprocmask.
11561
11562 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11563 argument to sigprocmask.
11564
11565 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11566 sigprocmask_set, and pass a pointer to it to sigprocmask.
11567
11568 * sysdep.c (sigprocmask_set): New variable.
11569
11570 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11571 report_file_error.
11572
427ec082
SS
115732000-06-20 Sam Steingold <sds@gnu.org>
11574
11575 * xrdb.c: Don't declare xmalloc, xrealloc.
11576
8972fe79 115772000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11578
11579 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11580 (re_comp): Cast gettext return value to avoid complaints when
11581 !HAVE_LIBINTL.
11582
074b6efe
DL
115832000-06-20 Dave Love <fx@gnu.org>
11584
52283633 11585 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11586
5700d2cc 11587 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11588
d355bd8a 11589 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11590
11591 * m/alpha.h: Don't declare xmalloc, xrealloc.
11592
0af4f205
DL
11593 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11594
11595 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11596
11597 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11598
11599 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11600 HAVE_GETWD.
11601
074b6efe
DL
11602 * keyboard.h (poll_for_input_1): Declare.
11603
11604 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11605
11606 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11607
11608 * doprnt.c: Don't declare xmalloc, xrealloc.
11609
11610 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11611 (getenv, ctime, getwd): Removed.
11612 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11613
11614 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11615 x_set_tool_bar_lines.
11616
11617 * config.in: Add HAVE_GETWD. Move some definitions above
11618 machine/system includes.
11619
68a5e97b
KH
116202000-06-20 Kenichi Handa <handa@etl.go.jp>
11621
95417e1e
KH
11622 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11623
68a5e97b
KH
11624 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11625 contain information about ENCODING.
11626
11627 * fontset.c (FONTSET_ASCII): Use the first element of char table
11628 for an ASCII font, not defalt slot.
11629 (fontset_ref_via_base): If FONTSET doesn't contain information for
11630 C, try the default fontset.
11631 (make_fontset): Don't copy the default fontset.
11632 (fontset_font_pattern): Likewise.
11633 (accumulate_font_info): If ELT is nil, use the corresponding
11634 element in the default fontset.
11635
3b4fa1b2
DL
116362000-06-19 Dave Love <fx@gnu.org>
11637
943e731c
DL
11638 * syntax.c (Fparse_partial_sexp): Doc fix.
11639
11640 * regex.h: Test PROTOTYPES as well as __STDC__.
11641
3b4fa1b2
DL
11642 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11643 errno, strerror. Put text after #endif in comment.
11644
52283633 11645 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11646
11647 * xterm.c (x_frame_of_widget): Likewise.
11648
cdf0357b
GM
116492000-06-19 Gerd Moellmann <gerd@gnu.org>
11650
11651 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11652 to Vfundamental_mode_abbrev_table.
11653
11654 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11655 bogus objects are marked. This slows down GC by ~80 percent, but
11656 it might be worth trying when debugging GC-related problems.
11657 This feature requires conservative stack marking to be enabled.
11658
11659 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11660 returns XLookupChars, reset `modifiers' to zero.
11661
998e9f8c
DL
116622000-06-19 Dave Love <fx@gnu.org>
11663
11664 * mktime.c: Unprotoized.
11665
18e21ce8 116662000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11667
11668 * data.c (set_internal): If variable is frame-local,
11669 store the new value immediately into the frame parameter alist.
11670
140c4ac6
KR
116712000-06-19 Ken Raeburn <raeburn@gnu.org>
11672
14358466
KR
11673 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11674 in the custom handler pointer.
11675
140c4ac6
KR
11676 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11677 value, or checks for CHAR_META can fail when Lisp_Object is a
11678 union type.
11679 * keymap.c (get_keyelt): Likewise.
11680
10d7bf84
KH
116812000-06-19 Kenichi Handa <handa@etl.go.jp>
11682
11683 * ccl.h (struct ccl_program): New member eol_type.
11684 (struct ccl_spec): New member cr_carryover.
11685
11686 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11687 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11688
11689 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11690 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11691 (decode_eol_post_ccl): New function.
11692 (decode_coding): Don't detect EOL format here for CCL based coding
11693 systems.
11694 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11695 decode_eol_post_ccl after running the CCL program.
11696 (code_convert_region): Don't detect EOL format here for CCL based
11697 coding systems.
11698 (decode_coding_string): Likewise.
11699
52e386c2
KR
117002000-06-18 Ken Raeburn <raeburn@gnu.org>
11701
11702 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11703 when treating it as an integer.
11704
11705 * coding.h (encode_coding_string): Declare.
11706
11707 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11708 it as an integer.
11709
11710 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11711 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11712 to be passed to get_local_map.
11713
11714 * sound.c (Fplay_sound): Don't call make_number on
11715 Frun_hook_with_args count argument.
11716
11717 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11718 for lisp objects in X event structure data field, when lisp
11719 objects are represented with unions.
11720 (x_scroll_bar_to_input_event): Ditto.
11721
b357b9d4
KR
117222000-06-16 Ken Raeburn <raeburn@gnu.org>
11723
11724 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11725 termination of string. Fix sense of test whether
11726 Vline_number_display_limit is an integer.
b357b9d4 11727
a871441d
GM
117282000-06-16 Gerd Moellmann <gerd@gnu.org>
11729
a9021acd
GM
11730 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11731 only if HAVE_X_WINDOWS.
11732
6344985d
GM
11733 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11734 of titles.
11735
427ec082 11736 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11737 out of bounds.
11738
228b083e
EZ
117392000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11740
11741 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11742 of its headers.
11743
c25b53a2
KH
117442000-06-15 Kenichi Handa <handa@etl.go.jp>
11745
11746 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11747 start of the while loop.
11748
a6981b11
GM
117492000-06-15 Gerd Moellmann <gerd@gnu.org>
11750
e9924e52
GM
11751 * atimer.c (alarm_signal_handler): Add forward declaration.
11752
a6981b11
GM
11753 * data.c (set_internal): Remove debug code.
11754
25fa6deb
GM
117552000-06-14 Gerd Moellmann <gerd@gnu.org>
11756
dce6b995
GM
11757 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11758
9f817ea4
GM
11759 * unexec.c (toplevel) [COFF]: Include coff.h.
11760
11761 * s/lynxos.h: New file.
11762
11763 * keymap.c (Fsingle_key_description): Enclose function key and
11764 event symbol names in angle brackets.
11765
8a4e3c0c
GM
11766 * xdisp.c (setup_echo_area_for_printing): Call
11767 message_log_maybe_newline if message_buf_print is not set.
11768
11769 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11770 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11771 function does something useful even when message_buf_print is
11772 already set.
11773
52283633
SM
11774 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11775 New variables.
25fa6deb
GM
11776 (ensure_echo_area_buffers): Initialize echo buffer's
11777 truncate lines setting to nil.
11778 (with_echo_area_buffer): Don't set the echo buffer's truncate
11779 lines setting here.
8a4e3c0c 11780 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11781 of message_truncate_lines.
11782 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11783 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11784 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11785
11786 * keyboard.c (read_char): Bind message-truncate-lines to t
11787 while displaying a help-echo.
11788
11789 * lisp.h (Qmessage_truncate_lines): External declaration.
11790
163dcff3
GM
117912000-06-13 Gerd Moellmann <gerd@gnu.org>
11792
1681ead6
GM
11793 * xdisp.c (Vline_number_display_limit): Renamed from
11794 line_number_display_limit.
11795 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11796 Extend documentation string. Initialize
11797 Vline_number_display_limit to nil meaning no limit.
11798 (decode_mode_spec): Use Vline_number_display_limit with its new
11799 meaning.
11800
163dcff3
GM
11801 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11802
18e21ce8 118032000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11804
11805 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11806
163dcff3
GM
11807 * xfns.c (x_set_frame_parameters): Comment fix.
11808
11809 * frame.c (store_frame_param): Call swap_in_global_binding if the
11810 variable's current binding was chosen based on this frame.
11811
11812 * data.c (swap_in_global_binding): New function.
11813
a704139d
EZ
118142000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11815
11816 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11817 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11818
9b6610db
EZ
118192000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11820
11821 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11822
c68833d2
JR
118232000-06-12 Jason Rumney <jasonr@gnu.org>
11824
11825 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11826
11827 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11828
11829 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11830
11831 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11832
ed1056b3
GM
118332000-06-12 Gerd Moellmann <gerd@gnu.org>
11834
11835 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11836 (syms_of_xfaces): Defsubr Sdump_colors.
11837 (x_free_colors): Don't treat b&w specially on default visual.
11838 (x_free_dpy_colors): New function.
11839 (free_face_colors): Don't check visual class; it's done
11840 in x_free_colors.
11841
11842 * xterm.c (x_frame_of_widget): New function.
11843 (x_alloc_nearest_color_for_widget): Use it.
11844 (x_copy_dpy_color): New function.
11845 (x_destroy_window): Free various colors.
11846
5050a2ef
KH
118472000-06-12 Kenichi Handa <handa@etl.go.jp>
11848
11849 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11850
11851 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11852
11853 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11854
11855 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11856
11857 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11858
fb1b041d
DL
118592000-06-11 Dave Love <fx@gnu.org>
11860
11861 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11862
ff96b5f4
EZ
118632000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11864
11865 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11866
db8eeecd
GM
118672000-06-11 Gerd Moellmann <gerd@gnu.org>
11868
ed1056b3 11869 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11870 to `XEvent *'.
11871
49b71c5f
KH
118722000-06-10 Kenichi Handa <handa@etl.go.jp>
11873
c479bd55
KH
11874 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11875 (regex_compile): Fix the code for handling the case of single byte
11876 char and multibyte char being mixed in a range within [...].
11877
ff6a65c2
KH
11878 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11879 and dst_multibyte members of coding.
11880
49b71c5f
KH
11881 * charset.c (update_charset_table): Update the table
11882 bytes_by_char_head.
11883 (init_charset_once): Initialize elements of bytes_by_char_head to
11884 1 except for leading codes for private charases.
11885
11886 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11887 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11888
9e80b57d
KR
118892000-06-09 Ken Raeburn <raeburn@gnu.org>
11890
11891 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11892 access the data it doesn't point to.
11893
f83fe4b4
GM
118942000-06-08 Gerd Moellmann <gerd@gnu.org>
11895
11896 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11897 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11898 event queue. This is necessary because Emacs otherwise won't
11899 perform a switch-frame to a new frame until some other event, for
11900 example a keystroke event, forces it to do so. This has various
11901 effects, one visible being that the cursor of a frame created with
11902 C-x 5 2 or switched to with a window manager key binding like
11903 A-TAB stays hollow because selected_window isn't on the newly
11904 focused frame until the switch-frame is performed.
11905
11906 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11907 generating a switch-frame event if necessary.
11908
11909 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11910
11911 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11912 it's an integer.
11913
0890801b
KH
119142000-06-08 Kenichi Handa <handa@etl.go.jp>
11915
52283633 11916 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11917
173cbca8
GM
119182000-06-07 Gerd Moellmann <gerd@gnu.org>
11919
3091c2a6
GM
11920 * window.c (displayed_window_lines): Take empty lines at
11921 the bottom of a window into account.
427ec082 11922
f38952fe
GM
11923 * window.c (displayed_window_lines): New function.
11924 (Fmove_to_window_line): Use displayed_window_lines to determine
11925 the number of lines to move, instead of using the window's height.
11926
11927 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11928 to stop reading, even if the form read sets point to a different
11929 value when evaluated.
11930
427ec082 11931 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11932 put the cursor.
11933
6ba6c818
KH
119342000-06-07 Kenichi Handa <handa@etl.go.jp>
11935
11936 * fileio.c (e_write): Free composition data if stored in
11937 coding->cmp_data.
11938
5f1aea9a
GM
119392000-06-06 Gerd Moellmann <gerd@gnu.org>
11940
666852af
GM
11941 * xdisp.c (display_line): Set row's and iterator's
11942 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11943 Set cursor even if row ends in the middle of a character.
11944 (dump_glyph_row): Print values of new flags.
11945 (redisplay_window) <cursor movement in unchanged window>: When
11946 point has been moved forward, and PT is at the end of the cursor
11947 row, don't place the cursor in the next row if the cursor row ends
11948 in the middle of a character or at ZV.
11949
11950 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11951 (struct glyph_row): Add starts_in_middle_of_char_p and
11952 ends_in_middle_of_char_p.
11953 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11954 ends_in_middle_of_char_p flag.
11955 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11956
d13f3e2e
GM
11957 * term.c (append_glyph): Revert change of 2000-06-06.
11958
11959 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11960 padding glyph not fitting on line as whole character not
11961 fitting on line.
11962
5f1aea9a
GM
11963 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11964 this isn't true for images with `:ascent 100'.
11965
10cda9b0
KH
119662000-06-06 Kenichi Handa <handa@etl.go.jp>
11967
ed00559d
KH
11968 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11969 as modified if it is originally unmodified.
11970
10cda9b0
KH
11971 * term.c (encode_terminal_code): Change the way to check if
11972 terminal coding does any conversion.
11973 (append_glyph): Set glyph->pixel_width correctly.
11974
11975 * xdisp.c (display_line): While checking line continuation, pay
11976 attention to a padding glyph.
11977
1969fae2
GM
119782000-06-05 Gerd Moellmann <gerd@gnu.org>
11979
11980 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11981
162ccef4
DL
119822000-06-05 Dave Love <fx@gnu.org>
11983
f19f32dd
DL
11984 * xdisp.c: Include fontset.h.
11985
11986 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11987
11988 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11989
11990 * dispnew.c: Conditionally include term.h.
11991
11992 * coding.h: Declare code_convert_string_norecord.
11993
11994 * frame.h (struct frame): Use volatile unconditionally.
11995
11996 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11997
11998 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11999
12000 * systime.h: Protect against multiple inclusion.
12001 (timezone) [USG5_4]: Define as time_t.
12002
12003 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
12004 (Foptimize_char_table, make_temp_name): Declare.
12005
12006 * Makefile.in (xdisp.o): Depend on fontset.h.
12007
12008 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
12009
12010 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
12011 (Foptimize_char_table, make_temp_name): Declare.
12012
427ec082 12013 * s/irix4-0.h:
162ccef4
DL
12014 * s/irix5-0.h:
12015 * s/netbsd.h: Don't define autoconfiscated MATHERR.
12016
2082fe81
DL
120172000-06-02 Dave Love <fx@gnu.org>
12018
12019 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
12020
dcf671d2
GM
120212000-06-02 Gerd Moellmann <gerd@gnu.org>
12022
12023 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 12024 result face, set flags in that face indicating that colors may not
dcf671d2
GM
12025 be freed.
12026
12027 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
12028 glyph, use the ASCII NUL character to determine the face.
12029
d42122a3
DL
120302000-06-02 Dave Love <fx@gnu.org>
12031
12032 * sysdep.c: Conditionally include stdlib.h, unistd.h.
12033 (VFORK_RETURN_TYPE): Remove.
427ec082 12034
d42122a3
DL
12035 * config.in: Add NO_MATHERR.
12036
dd432f16
DL
120372000-06-01 Dave Love <fx@gnu.org>
12038
90aa4ea8
DL
12039 * cmds.c (internal_self_insert): Don't check
12040 Vbefore_change_function, Vafter_change_function.
12041
12042 * insdel.c (signal_before_change, signal_after_change): Likewise.
12043
12044 * buffer.c (Vbefore_change_function, Vafter_change_function):
12045 Variables and their initializations deleted.
12046
2330c9d4
DL
12047 * callint.c (Fcall_interactively): Doc fix.
12048
dd432f16
DL
12049 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
12050
bf9e8804
DL
120512000-05-31 Dave Love <fx@gnu.org>
12052
12053 * textprop.c: Revert last change -- duplicated.
12054
3694b4ab
GM
120552000-05-31 Gerd Moellmann <gerd@gnu.org>
12056
12057 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
12058 in #if 0.
12059
12060 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
12061
f14156cd
JR
120622000-05-31 Jason Rumney <jasonr@gnu.org>
12063
8119aab8
JR
12064 * search.c (Fre_search_forward, Fre_search_backward)
12065 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
12066
f14156cd
JR
12067 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
12068
4aab9be3
JR
120692000-05-30 Jason Rumney <jasonr@gnu.org>
12070
12071 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
12072 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
12073
52283633 12074 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
12075
12076 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
12077 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
12078 expand a nil default_filename.
12079
12080 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
12081 pointer to glyph_to_pixel_coords, not a frame.
12082
12083 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
12084 coding.h to dependencies.
12085
12086 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
12087
12088 * w32console.c (glyph_to_pixel_coords): Change first parameter to
12089 window pointer to be consistent with w32term.c and xterm.c.
12090
12091 * w32fns.c: Format and doc changes to bring closer to xfns.c.
12092 (VIETNAMESE_CHARSET): Define if not defined in system headers.
12093 (Qline_spacing, Qcenter): New variables.
12094 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
12095 (x_set_line_spacing): New function.
52283633 12096 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
12097 (x_specified_cursor_type): New function.
12098 (x_set_cursor_type): Use it.
12099 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
12100 and icon strings.
12101 (validate_x_resource_name, x_get_resource_string): Measure lengths
12102 of external strings in bytes.
12103 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
12104 GetTextExtentPoint32 with NULL title.
12105 (Fx_create_frame): Initialize Qline_spacing.
12106 (w32_load_system_font): Initialize font->double_byte_p.
12107 (x_to_w32_charset): Use Vw32_charset_info_alist.
12108 (Image, busy cursor, tooltip functions): Merged changes from
12109 xfns.c. Not yet functional on Windows.
12110
12111 * w32gui.h (W32FontStruct): Add double_byte_p member.
12112
12113 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
12114 (emacs_button_translation): Use it.
12115 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
12116 in `mask' to be set.
12117
12118 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
12119 menu strings.
12120
12121 * w32term.c: Format and doc changes to bring closer to xterm.c.
12122 (w32_char_font_type): New enum.
12123 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
12124 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
12125 (w32_encode_char): New function.
12126 (x_encode_char): Removed.
12127 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
12128 x_encode_char and w32_font_is_double_byte.
12129 (x_produce_image_glyph): Use image_ascent.
12130 (x_produce_glyphs): Use new version of w32_per_char_metric and
12131 handle NULL return value. Allow extra line spacing.
12132 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
12133 (w32_get_glyph_overhangs): Remove unicode_p param. Use
12134 w32_font_type member of glyph instead.
12135 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
12136 (fast_find_position): Make sure not to consider rows not visible
12137 in the window.
12138 (w32_read_socket) [WM_MENUSELECT]: Cannot call
12139 w32_menu_display_help with input blocked, as it can abort.
12140 (x_display_and_set_cursor): Choose cursor depending
12141 on buffer-local value of cursor_type.
12142 (x_draw_bar_cursor): Add parameter WIDTH.
12143
12144 * w32term.h (CP_DEFAULT): Define.
12145 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
12146
10fc3187
GM
121472000-05-30 Gerd Moellmann <gerd@gnu.org>
12148
12149 * search.c (Fre_search_forward, Fre_search_backward)
12150 (Fposix_search_backward, Fposix_search_forward): Doc fix.
12151
d0555360
KH
121522000-05-30 Kenichi Handa <handa@etl.go.jp>
12153
12154 * coding.c (detect_coding_iso2022): Fix code for checking
12155 CODING_CATEGORY_MASK_ISO_8_2.
12156
f1ad044f
SM
121572000-05-29 Stefan Monnier <monnier@cs.yale.edu>
12158
12159 * regex.c (PREFETCH_NOLIMIT): New function.
12160 (re_match_2_internal): Use it and adjust the end_match_2 logic.
12161
84ec3b4b
GM
121622000-05-29 Gerd Moellmann <gerd@gnu.org>
12163
66254a13
GM
12164 * syntax.c (find_defun_start): Move test for
12165 open_paren_in_column_0_is_defun_start outside of the loop.
12166
49e70dec
GM
12167 * xdisp.c (redisplay_window): Really switch buffers when
12168 displaying mode lines, and temporarily set selected_frame to the
12169 frame of the window that's redisplayed.
12170
84ec3b4b
GM
12171 * xfaces.c (free_realized_faces): Block/unblock input.
12172 (free_realized_multibyte_face): Ditto.
12173
869a3a14
DL
121742000-05-29 Dave Love <fx@gnu.org>
12175
12176 * textprop.c (Qkeymap): New variable.
12177 (syms_of_textprop): Intern it.
12178
12179 * keymap.c: Include intervals.h.
12180 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12181
12182 * Makefile.in (keymap.o): Depend on intervals.h.
12183
12184 * keyboard.c (menu_bar_items, tool_bar_items)
12185 (Fexecute_extended_command): Deal with `keymap' property.
12186 (read_key_sequence): Track map from `keymap' property as well as
12187 `local_map'.
12188
12189 * intervals.c (get_local_map): Extra arg to allow looking for
12190 `keymap' too.
12191
12192 * intervals.h (map_property): New enum.
12193 (get_local_map): Extra arg using it.
12194 (Qkeymap): Declare.
12195
84ec3b4b 12196 * lisp.h (get_local_map): Don't declare here.
869a3a14 12197
89d0c844
KH
121982000-05-29 Kenichi Handa <handa@etl.go.jp>
12199
12200 * Makefile.in (callproc.o): Depend on composite.h.
12201
12202 * callproc.c: Include composite.h.
12203 (Fcall_process): Handle composition correctly.
12204
12205 * coding.h (coding_allocate_composition_data): Extern it.
12206 (coding_restore_composition): Likewise.
12207
12208 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12209 yet allocated, finish decoding with result
12210 CODING_FINISH_INSUFFICIENT_CMP.
12211 (coding_allocate_composition_data): Make it non-static.
12212 (coding_restore_composition): Likewise.
12213
797a084a
EZ
122142000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12215
12216 * charset.c (syms_of_charset): Revert last change.
12217
cf872af5
EZ
122182000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12219
12220 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12221 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12222 Handa.
cf872af5 12223
5b1ae051
EZ
122242000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12225
12226 * charset.c (syms_of_charset): Set width of character sets
12227 eight-bit-control and eight-bit-graphic to 1 column.
12228
34ec9ebe
GM
122292000-05-26 Gerd Moellmann <gerd@gnu.org>
12230
12231 * config.in (HAVE_SPEED_T): New define.
12232
12233 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12234 `extern speed_t'.
12235
dd854dc2
DL
122362000-05-26 Dave Love <fx@gnu.org>
12237
12238 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12239
12240 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12241 (Fsubr_arity): New function.
12242 (syms_of_data): Install them.
12243
ba9f8f95
KH
122442000-05-26 Kenichi Handa <handa@etl.go.jp>
12245
0f3e0672
KH
12246 * charset.c (init_charset_once): Set the table bytes_by_char_head
12247 correctly.
12248
cebefb44
KH
12249 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12250 the default fontset to what Emacs uses by default.
0f3e0672
KH
12251 (check_registry_encoding): This function deleted.
12252 (Fset_fontset_font): Remove the adhoc condition for the default
12253 fontset. Allow cons in FONTNAME.
cebefb44 12254
0f3e0672
KH
12255 * fns.c (map_char_table): Ignore char-table entries for
12256 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12257
7a18af49
KR
122582000-05-25 Ken Raeburn <raeburn@gnu.org>
12259
12260 * emacs.c (main): Initialize keyboard syms before initializing
12261 window code, so face names are available.
12262
d2af47df
SM
122632000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12264
12265 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12266 of an anchor at the beginning of a shy-group.
12267
fc6a6a4e
GM
122682000-05-25 Gerd Moellmann <gerd@gnu.org>
12269
12270 * xdisp.c (handle_invisible_prop): Don't try to skip over
12271 invisible text if end of text is already reached.
12272
005f0d35
DL
122732000-05-25 Dave Love <fx@gnu.org>
12274
02513cdd
DL
12275 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12276
005f0d35
DL
12277 * coding.c (encode_eol): Add null statement after label.
12278
89f6ca4e
EZ
122792000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12280
12281 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12282 2000-05-20.
12283
a4e1759e
KH
122842000-05-25 Kenichi Handa <handa@etl.go.jp>
12285
12286 * ccl.c (ccl_driver): Fix previous change.
12287
eacfd7fe
KH
122882000-05-25 Kenichi Handa <handa@etl.go.jp>
12289
46ab33a9
KH
12290 * coding.c (run_pre_post_conversion_on_str): Set point to the
12291 beginning of buffer before calling coding->post_read_conversion.
12292 (decode_coding_string): Give correct args to
12293 run_pre_post_conversion_on_str.
12294 (encode_coding_string): Likewise.
12295
eacfd7fe
KH
12296 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12297 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12298 eight-bit-graphic correctly.
12299
f8569325
DL
123002000-05-24 Kenichi HANDA <handa@etl.go.jp>
12301
12302 * fileio.c (Finsert_file_contents): Even if a file is not found,
12303 execute codes for setting up coding system. Call
12304 after-insert-file-functions unconditionally.
12305
04545643
GM
123062000-05-24 Gerd Moellmann <gerd@gnu.org>
12307
12308 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12309 BSD_PGRPS are not defined.
12310
747d90ea
KH
123112000-05-24 Kenichi Handa <handa@etl.go.jp>
12312
12313 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12314 DESCRIPTION.
12315 (syms_of_charset): Avoid building same strings.
12316
716e3b88
GM
123172000-05-23 Gerd Moellmann <gerd@gnu.org>
12318
12319 * lread.c (Fload): Add a comment about the meaning of
12320 Vuser_init_file being t.
12321
12322 * puresize.h (BASE_PURESIZE): Increase to 675000.
12323
12324 * s/gnu-linux.h (setpgrp): Don't define it here because this
12325 prevents compilation on GNU/Linux systems with glib 2.2.
12326
12327 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12328 as setpgid.
427ec082 12329
9aeb39fa
EZ
123302000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12331
12332 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12333 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12334 version.
12335 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12336
29ced61b
KH
123372000-05-23 Kenichi Handa <handa@etl.go.jp>
12338
52283633 12339 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12340
3d80f24d
KH
12341 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12342
52283633 12343 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12344
29ced61b
KH
12345 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12346
d7e00792
KH
123472000-05-22 Kenichi Handa <handa@etl.go.jp>
12348
c9d80d38
KH
12349 * keyboard.c (read_char): Allow character codes 128..255 to be
12350 handled by input-method-function.
12351
d7e00792
KH
12352 * insdel.c (adjust_markers_for_replace): Fix previous change.
12353 (adjust_after_replace): If PREV_TEXT is nil, call
12354 adjust_markers_for_insert, not adjust_markers_for_replace.
12355
087121cc 123562000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12357
087121cc
GM
12358 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12359 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12360 [HAVE_GRANDPT]: Define.
12361 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12362
12363 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12364 like SYSV_PTYS.
12365
12366 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12367
12368 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12369
c9671f81
KH
123702000-05-20 Kenichi Handa <handa@etl.go.jp>
12371
12372 The following changes are to handle 8-bit characters in a
12373 multibyte buffer/string without facing with byte combining
12374 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12375 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12376
12377 * Makefile.in (fns.o): Depend on charset.h.
12378
12379 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12380 convert it to unibyte.
12381 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12382
12383 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12384 apparent char boundary.
12385 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12386 0x80..0x9F to/from multibyte form.
12387
12388 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12389 to unibyte.
12390
12391 * callproc.c (Fcall_process): Always encode an argument string if
12392 it is multibyte. Setup src_multibyte and dst_multibyte members of
12393 process_coding properly.
ce75fd23 12394
c9671f81
KH
12395 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12396 SPLIT_NON_ASCII_CHAR.
12397
12398 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12399 as is.
12400 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12401
52283633 12402 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12403 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12404 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12405 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12406 and eight-bit-graphic.
12407 (char_to_string): Likewise. Signal an error for too large
12408 character code.
12409 (char_printable_p): Return 0 for 8-bit characters.
12410 (update_charset_table): Update iso_charset_table only when a final
12411 character is non-negative.
12412 (find_charset_in_text): Renamed from find_charset_in_str.
12413 Arguments and return value changed. Callers changed.
12414 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12415 be -1 if CHARSET is used only internally.
12416 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12417 eight-bit-graphic.
12418 (Fcharset_after): Simplified.
12419 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12420 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12421 (multibyte_chars_in_text): Simplified by assuming there's no
12422 invalid multibyte sequence.
52283633
SM
12423 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12424 (str_as_unibyte): New functions.
12425 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12426 (init_charset_once): Initialization for
12427 LEADING_CODE_8_BIT_CONTROL.
12428 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12429 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12430 eight-bit-control and eight-bit-graphic.
12431
52283633
SM
12432 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12433 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12434 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12435 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12436 (CHARSET_REVERSE_CHARSET): Likewise.
12437 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12438 eight-bit-graphic.
12439 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12440 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12441 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12442 encounter an invalid multibyte sequence.
12443 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12444 sequence is always valid.
12445 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12446 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12447 (CHAR_STRING): For 8-bit characters, call char_to_string.
12448 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12449 multibyte sequence is always valid.
12450 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12451 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12452 (str_as_unibyte): Extern them.
c9671f81 12453 (BCOPY_SHORT): Fix a bug.
52283633 12454 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12455 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12456 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12457 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12458
bd4bde7f 12459 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12460 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12461 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12462 (EMIT_BYTES): New macros.
12463 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12464 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12465 macros deleted.
12466 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12467 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12468 check the validity of multibyte sequence.
12469 (decode_coding_emacs_mule): New function.
12470 (encode_coding_emacs_mule): New macro.
12471 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12472 the source.
12473 (DECODE_ISO_CHARACTER): Just return a character code.
12474 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12475 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12476 EMIT_CHAR to produced decoded characters. Exit the loop only by
12477 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12478 block here.
12479 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12480 only position codes for an invalid character.
12481 (encode_designation_at_bol): Return new destination pointer. 5th
12482 arg DSTP is changed to DST.
12483 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12484 from the source by ONE_MORE_CHAR. Don't handle the case of last
12485 block here.
12486 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12487 macros deleted.
52283633
SM
12488 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12489 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12490 TWO_MORE_BYTES to fetch a byte from the source.
12491 (encode_eol): Pay attention to coding->src_multibyte.
12492 (detect_coding, detect_eol): Preserve members src_multibyte and
12493 dst_multibyte.
12494 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12495 (encoding_buffer_size): Set magnification to 3 for all coding
12496 systems that require encoding.
12497 (ccl_coding_driver): For decoding, be sure that the result is
12498 valid multibyte sequence.
12499 (decode_coding): Initialize coding->errors and coding->result.
12500 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12501 and raw-text, always call decode_eol. Handle the case of last
12502 block here. If not coding->dst_multibyte, convert the resulting
12503 sequence to unibyte.
12504 (encode_coding): Initialize coding->errors and coding->result.
12505 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12506 and raw-text, always call encode_eol. Handle the case of last
12507 block here.
12508 (shrink_decoding_region, shrink_encoding_region): Detect cases
12509 that we can't skip data more rigidly.
12510 (code_convert_region): Setup src_multibyte and dst_multibyte
12511 members of coding. For decoding, if the buffer is multibyte,
12512 convert the source sequence to unibyte in advance. For encoding,
12513 if the buffer is multibyte, convert the resulting sequence to
12514 multibyte afterward.
12515 (run_pre_post_conversion_on_str): New function.
12516 (code_convert_string): Deleted and divided into the following two.
12517 (decode_coding_string, encode_coding_string): New functions.
12518 (code_convert_string1, code_convert_string_norecord): Call one of
12519 above.
12520 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12521 MAKE_NON_ASCII_CHAR.
52283633
SM
12522 (Fset_terminal_coding_system_internal)
12523 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12524 and dst_multibyte members.
12525 (init_coding_once): Initialize iso_code_class with new enum
12526 ISO_control_0 and ISO_control_1.
12527
12528 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12529 devided into ISO_control_0 and ISO_control_1.
12530 (struct coding_system): New members src_multibyte, dst_multibyte,
12531 errors, and result. Delete member fake_multibyte.
12532 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12533 nonzero.
12534 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12535 nonzero.
12536
12537 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12538 (Faset): Likewise.
12539
12540 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12541 multibyte form.
12542 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12543 combining occurs.
12544 (Ftranspose_region): Delete codes for handling byte combining.
12545
12546 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12547 dst_multibyte members of coding. On handling REPLACE on unibyte
12548 buffer, convert the result of decode_coding to unibyte. On
12549 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12550 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12551 multibyteness of the source (buffer or string).
12552
12553 * fns.c (concat): Handle 8-bit characters correctly.
12554 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12555 unibyte in the result.
12556 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12557 valid multibyte form in the result.
12558 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12559 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12560 return -1, signal an error.
12561 (base64_encode_1): New arg MULTIBYTE. Get each character by
12562 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12563 character is found, return -1.
12564 (Fbase64_decode_region): Delete codes for handling byte-combining.
12565 Treat each decoded byte as a unibyte character.
12566 (Fbase64_decode_string): Return unibyte string.
12567 (Fcompare_strings, concat, string_byte_to_char): Use
12568 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12569 FETCH_STRING_CHAR_ADVANCE.
12570 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12571 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12572
12573 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12574 SPLIT_NON_ASCII_CHAR.
12575 (fontset_ref_via_base, fontset_set): Likewise
12576
12577 * insdel.c (adjust_markers_for_record_delete): Deleted.
12578 (adjust_markers_for_insert): Argument changed. Caller changed.
12579 (adjust_markers_for_replace): Likewise.
52283633
SM
12580 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12581 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12582 (copy_text): Delete unused local varialbe c_save. For converting
12583 to multibyte, be sure to make all 8-bit characters in valid
12584 multibyte form.
12585 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12586 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12587 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12588 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12589 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12590 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12591 handling byte combining.
12592 (adjust_before_replace): Deleted.
427ec082 12593
c9671f81
KH
12594 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12595 SPLIT_NON_ASCII_CHAR.
12596 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12597 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12598 (Fkey_description): Likewise.
12599
12600 * lread.c (read1): On reading multibyte string, be sure to make
12601 all 8-bit chararacters in valid multibyte form.
12602 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12603
12604 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12605 unconditionally.
12606
12607 * process.c (Fstart_process): GCPRO current_dir before calling
12608 Ffind_operation_coding_system. Encode arguments here.
12609 (create_process): Don't encode arguments here. Setup
12610 src_multibyte and dst_multibyte members of struct coding.
12611 (read_process_output): Setup src_multibyte and dst_multibyte
12612 members of struct coding. If the output is to multibyte buffer,
12613 always decode the output of the process. Adjust the
52283633 12614 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12615 (send_process): Setup coding->src_multibyte according to the
12616 multibyteness of the source.
12617
52283633 12618 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12619 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12620 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12621
52283633 12622 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12623
12624 * w16select.c (Fw16_set_clipboard_data): Setup members
12625 src_multibyte and dst_multibyte of coding. Adjusted for the
12626 change for find_charset_in_str.
12627 (Fw16_get_clipboard_data): Likewise.
12628
12629 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12630 dst_multibyte of coding.
12631 (x_to_w32_font): Likewise.
12632
12633 * w32select.c (Fw32_set_clipboard_data): Setup members
12634 src_multibyte and dst_multibyte of coding. Adjusted for the
12635 change for find_charset_in_str.
12636 (Fw32_get_clipboard_data): Likewise.
12637
12638 * xdisp.c (get_next_display_element): Handle 8-bit characters
12639 correctly.
52283633
SM
12640 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12641 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12642
12643 * xselect.c (selection_data_to_lisp_data): Setup members
12644 src_multibyte and dst_multibyte of coding. Adjusted for the
12645 change for find_charset_in_str.
12646 (lisp_data_to_selection_data): Likewise.
12647
5f64c9e0
GM
126482000-05-19 Gerd Moellmann <gerd@gnu.org>
12649
52283633 12650 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12651
5f64c9e0
GM
12652 * dispextern.h (Vimage_types): Add extern declaration.
12653
12654 * xdisp.c (Vimage_types): Moved here from xfns.c.
12655 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12656
12657 * xfns.c (Vimages_types): Moved to xdisp.c.
12658 (syms_of_xfns): Move `image-types' to xdisp.c.
12659
12660 * w32fns.c (Vimage_types): Removed.
12661 (syms_of_w32fns): Remove `image-types'.
12662
813086ea
KH
126632000-05-18 Kenichi Handa <handa@etl.go.jp>
12664
12665 * fns.c (map_char_table): Pay attention to character number of
12666 charset. Check the validity of charset at the first level. For
12667 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12668 the default value.
12669
12670 * fontset.c: Include "buffer.h".
12671 (fs_load_font): If the face has fontset, record the face ID in
12672 that fontset.
12673 (Finternal_char_font): New function.
12674 (accumulate_font_info): New function.
12675 (Ffontset_info): Rewritten for the new fontset implementation.
12676 (syms_of_fontset): Register Vdefault_fontset in the first element
12677 of Vfontset_table. Include Vdefault_fontset in
12678 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12679 function.
12680
bdaebbf0
DL
126812000-05-16 Dave Love <fx@gnu.org>
12682
12683 * m/iris5d.h: Deleted -- unused.
12684
cb613bb8
GM
126852000-05-16 Gerd Moellmann <gerd@gnu.org>
12686
b15f3b77
GM
12687 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12688 `invalid' instead of `illegal'.
12689
12690 * indent.c (Fmove_to_column): When ending within a tab, insert
12691 spaces first so that markers at the end of the tab get adjusted.
12692
835c1b36
GM
12693 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12694 buffer list that wasn't selected in that frame.
12695
cb613bb8
GM
12696 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12697 is needed on mescaline, use a 2 char prefix, and call
12698 make_temp_name with second arg non-zero.
12699
12700 * fileio.c (make_temp_name): New function, extracted from
12701 Fmake_temp_name.
12702 (Fmake_temp_name): Use it.
12703
f685bea9
EZ
127042000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12705
52283633 12706 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12707
a1b8d58b
GM
127082000-05-15 Gerd Moellmann <gerd@gnu.org>
12709
12710 * Makefile.in (lisp): Add env.elc.
12711
12712 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12713
a265079f
GM
127142000-05-12 Gerd Moellmann <gerd@gnu.org>
12715
12716 * search.c (Freplace_match): Handle case of `\N' in the
12717 replacement when there's no group N.
12718
da4496b6
GM
127192000-05-11 Gerd Moellmann <gerd@gnu.org>
12720
0ace421a
GM
12721 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12722 of the message to message_dolog.
12723
1172eb8d
GM
12724 * keyboard.c (read_char): Don't clear current message for help
12725 events; let the code handling help events handle this. Change
12726 code detecting help events that should be ignored.
12727
da4496b6
GM
12728 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12729 we're interating over a string.
12730
0623e40f
DL
127312000-05-09 Dave Love <fx@gnu.org>
12732
12733 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12734 that offset before writing. Move gcpro region past call of
12735 Ffile_regular_p.
12736
bae2503b
DL
127372000-05-04 Dave Love <fx@gnu.org>
12738
12739 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12740
ec82fb2f
GM
127412000-05-04 Gerd Moellmann <gerd@gnu.org>
12742
12743 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12744 of inserted characters when BUF equals the current buffer, and PT
12745 is in front of or equal to FROM.
12746
cbf18892
GM
127472000-05-03 Gerd Moellmann <gerd@gnu.org>
12748
4ff40dd0
GM
12749 * xdisp.c (handle_single_display_prop): If display property value
12750 is invalid, or something not supported on the frame, restore
12751 iterator's position to what it was initially. Make sure to return
12752 0 for invalid and unsupported property values.
12753
cbf18892
GM
12754 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12755 that x_per_char_metric returns null.
12756
1b0672c3
GM
127572000-05-02 Gerd Moellmann <gerd@gnu.org>
12758
576da55d
GM
12759 * xterm.h (struct face): Add forward declaration.
12760 (struct image): Ditto.
12761 (image_ascent): Add prototype.
12762
12763 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12764 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12765 image_ascent instead of using IMAGE_ASCENT.
12766
12767 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12768 (IMAGE_ASCENT): Removed.
12769
12770 * xfns.c (Qcenter): New variable.
12771 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12772 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12773 (image_ascent): New function.
12774 (lookup_image): Recognize `:ascent center'.
12775 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12776 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12777 (xbm_load): Don't set image's ascent here.
12778 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12779 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12780 check ascent values here.
12781 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12782 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12783 (syms_of_xfns): Initialize Qcenter.
12784
1b0672c3
GM
12785 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12786 to the limits, increase the limits.
12787
0d7811ed
KH
127882000-05-01 Kenichi Handa <handa@etl.go.jp>
12789
12790 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12791 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12792
a943a5ca
GM
127932000-04-28 Gerd Moellmann <gerd@gnu.org>
12794
12795 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12796 taller than the window.
12797
5dba1e29
KH
127982000-04-28 Kenichi Handa <handa@etl.go.jp>
12799
12800 * xfaces.c (realize_x_face): Fix the argument of the second
12801 xassert. BASE_FACE may not be a face for ASCII.
12802
353964e3
GM
128032000-04-27 Gerd Moellmann <gerd@gnu.org>
12804
c76e04a8
GM
12805 * print.c (print_object): Treat print-length < 0 as nil.
12806
12807 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12808
12809 * s/freebsd.h (TERMCAP_OBJ): Removed.
12810 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12811
12812 * lread.c (read1): Don't treat period followed by certain
12813 characters as symbol start.
12814
12815 * xfns.c (slurp_file): New function.
12816 (xbm_image_p): Handle case of in-memory XBM files.
12817 (xbm_scan): Rewritten to work on memory buffers instead of files.
12818 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12819 Work on memory buffers instead of files. If DATA is null test
12820 if buffer looks like an in-memory XBM file.
12821 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12822 memory buffers instead of files.
12823 (xbm_file_p): New function.
12824 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12825
353964e3
GM
12826 * lread.c (end_of_file_error): New function.
12827 (read1): Call it instead of signaling `end-of-file' directly.
12828
427ec082 12829 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12830 with Fprinc instead of Fprin1.
12831
24d744ac
KR
128322000-04-26 Ken Raeburn <raeburn@gnu.org>
12833
12834 * window.c (freeze_window_start): Check that minibuffer scroll
12835 window isn't nil before extracting the window structure pointer
12836 from it.
12837
12838 * undo.c (record_delete): If we hit the end of the undo list, stop
12839 picking elements apart.
12840
7464346d
GM
128412000-04-26 Gerd Moellmann <gerd@gnu.org>
12842
12843 * xdisp.c (display_line): If lines are continued, restore
12844 iterator's ascent/descent information to the values before the
12845 first glyph not fitting on the line.
12846
612839b6
GM
128472000-04-25 Gerd Moellmann <gerd@gnu.org>
12848
12849 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12850 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12851
12852 * dispnew.c (increment_matrix_positions): Renamed from
12853 increment_glyph_matrix_buffer_positions.
12854 (increment_row_positions): Renamed from
12855 increment_glyph_row_buffer_positions.
12856
12857 * dispextern.h: Change names of renamed functions from dispnew.c
12858 in prototypes.
12859
cc181e95
GM
128602000-04-24 Gerd Moellmann <gerd@gnu.org>
12861
abfcc168
GM
12862 * fileio.c (Fdo_auto_save): Create directories for auto-save
12863 list file if necessary.
12864
cc181e95
GM
12865 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12866 from buffer or frame.
12867 (automatic_hscrolling_p): New variable.
12868 (hscroll_windows): Scroll windows horizontally only if automatic
12869 hscrolling is allowed.
12870 (syms_of_xdisp): New variable `automatic-hscrolling'.
12871
12872 * frame.h (struct frame): Add member extra_line_spacing.
12873
12874 * xfns.c (x_set_line_spacing): New function.
12875 (Fx_create_frame): Set line spacing from resources.
12876 (Qline_spacing): New variable.
12877 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12878
cc181e95
GM
12879 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12880
12881 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12882 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12883 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12884 extra_line_spacing from default value.
12885 (init_buffer_once): Initialize default value of extra_line_spacing.
12886
12887 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12888 and extra3.
12889
12890 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12891 prompt_width. Add extra line spacing.
12892
12893 * term.c (produce_glyphs): Remove reference to struct it's
12894 prompt_width.
12895
12896 * dispextern.h (struct it): Remove member prompt_width, add
12897 extra_line_spacing.
12898
58827478
GM
128992000-04-22 Gerd Moellmann <gerd@gnu.org>
12900
12901 * dispnew.c (update_frame_line): When writing a whole line, make
12902 sure cursor is in the right row afterwards, otherwise a use of
12903 capability `ch' in cmgoto might leave the cursor in the row below.
12904
25a87f42
GM
129052000-04-21 Gerd Moellmann <gerd@gnu.org>
12906
12907 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12908
12909 * keyboard.c (timer_check): Fix typo in comment.
12910
54edf5c2
KH
129112000-04-21 Kenichi Handa <handa@etl.go.jp>
12912
12913 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12914 name change: ch -> character.
12915
3a64eef5
GM
129162000-04-20 Gerd Moellmann <gerd@gnu.org>
12917
12918 * keyboard.c (echo_message_buffer): New variable.
12919 (echo_now): Set echo_message_buffer to the echo area buffer used
12920 to display the echo.
12921 (cancel_echoing): Reset echo_message_buffer to nil.
12922 (read_char): Code rewritten that handles canceling an echo or
12923 echoing a dash, respectively.
12924
12925 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12926 directory doesn't exist.
12927
6142fdcb
DL
129282000-04-19 Dave Love <fx@gnu.org>
12929
12930 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12931 (concat): Don't allow numeric args.
12932 (Fconcat): Doc change.
6142fdcb 12933
ac6b5352
SM
129342000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12935
12936 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12937 instead define end_match(1|2) more carefully.
12938 Use GET_CHAR_BEFORE_2 for `begline'.
12939
cb9215e4
GM
129402000-04-19 Gerd Moellmann <gerd@gnu.org>
12941
5e3dac3f
GM
12942 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12943 on 64-bit systems where NULL is defined as `0'.
12944
12945 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12946 the `variable argument list' to make it work on Alpha.
12947
cb9215e4
GM
12948 * m/alpha.h (_LP64) [!_LP64]: Define.
12949 (ORDINARY_LINK): Define for NetBSD.
12950
12951 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12952
f532dca0
DL
129532000-04-19 Dave Love <fx@gnu.org>
12954
c750667e
DL
12955 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12956 change.
12957
12958 * Makefile.in (LIBS): Don't use.
12959 (GETLOADAVG_OBJ): Define again.
12960 (otherobj): Add GETLOADAVG_OBJ.
12961
f532dca0
DL
12962 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12963
1c7e22fd
GM
129642000-04-18 Gerd Moellmann <gerd@gnu.org>
12965
f6d3257b
GM
12966 * lread.c (read_filtered_event): Cancel and start busy cursor.
12967
427ec082 12968 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12969 that the per-character metrics may be null.
12970
e10f64e7
GM
129712000-04-17 Gerd Moellmann <gerd@gnu.org>
12972
0daee095
GM
12973 * buffer.c (clone_per_buffer_values): New function.
12974 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12975 clone_per_buffer_values if CLONE is not nil.
12976
e10f64e7
GM
12977 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12978
38687d43
DL
129792000-04-16 Dave Love <fx@gnu.org>
12980
12981 * Makefile.in: Remove obsolete localcpp stuff.
12982 (GETLOADAVG_OBJ): Don't define.
12983 (obj): Move LIBOBJS...
12984 (otherobj): ... to here.
12985 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12986 whitespace-only lines after the continuation (Irix).
12987
c21c7262
GM
129882000-04-14 Gerd Moellmann <gerd@gnu.org>
12989
12990 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12991
12992 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12993
314767c0
DL
129942000-04-14 Dave Love <fx@gnu.org>
12995
12996 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12997 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12998 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12999 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
13000 NLIST_STRUCT.
13001
13002 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
13003 autoconfiscated HAVE_GETLOADAVG.
13004
13005 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
13006 BROKEN_MKTIME.
13007
a2522dca
GM
130082000-04-14 Gerd Moellmann <gerd@gnu.org>
13009
13010 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 13011 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 13012
33744b5d
DL
130132000-04-14 Dave Love <fx@gnu.org>
13014
c21c7262 13015 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
13016 (INTERVAL_SRC): Convert to make variable.
13017 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
13018 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
13019 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
13020 add LIBOBJS.
13021 (SOME_MACHINE_OBJECTS): Remove interval stuff.
13022 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
13023 (shortlisp): Add facemenu, float-sup, frame.
13024 (SOME_MACHINE_LISP): Remove them from here.
13025 (LIBES): Change unused LDLIBS to autoconf LIBS.
13026
13027 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
13028
9d3d5916
KH
130292000-04-14 Kenichi Handa <handa@etl.go.jp>
13030
13031 * composite.c (update_compositions): If FROM and TO are not in a
13032 valid range, do nothing.
13033
198e3c7a
GM
130342000-04-13 Gerd Moellmann <gerd@gnu.org>
13035
52283633 13036 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 13037
52283633 13038 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
13039
13040 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
13041 as TERMCAP_OBJ.
13042
055a28c9
EZ
130432000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
13044
13045 * fileio.c (a_write): Remove redundant semi-colons.
13046 (e_write): Return -1 if failed to write all the data.
13047 This fixes the changes made at 1999-12-15.
13048
f5c75033
DL
130492000-04-12 Dave Love <fx@gnu.org>
13050
13051 * fns.c (mapcar1): Test for null vals to support mapc.
13052 (Fmapc): New function.
13053
0c3cfc51
EZ
130542000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
13055
13056 * msdos.c (NUM_MOUSE_BUTTONS): Define.
13057 (IT_frame_up_to_date): Support the buffer local value of
13058 cursor-type, if defined.
13059
33465a31
DL
130602000-04-10 Dave Love <fx@gnu.org>
13061
13062 * editfns.c (preceding-char, following-char): Doc fix.
13063
6ed56568
KR
130642000-04-10 Ken Raeburn <raeburn@gnu.org>
13065
13066 * Makefile.in (temacs): Revert 2000-03-12 change.
13067
7cf80d4e
JR
130682000-04-10 Jason Rumney <jasonr@gnu.org>
13069
13070 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
13071
34f3f342
GM
130722000-04-10 Gerd Moellmann <gerd@gnu.org>
13073
1a1b1895
GM
13074 * xdisp.c (setup_echo_area_for_printing): Choose an echo
13075 area buffer, if it's not set up yet.
13076
34f3f342
GM
13077 * indent.c (compute_motion): Set immediate_quit.
13078
be0dbdab
GM
130792000-04-09 Gerd Moellmann <gerd@gnu.org>
13080
52283633 13081 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
13082 (realize_tty_face): Suppress boldness if colors are the inverse of
13083 the default colors, and tty_suppress_bold_inverse_default_colors_p
13084 is set.
13085 (Ftty_suppress_bold_inverse_default_colors): New function.
13086 (syms_of_xfaces): Defsubr it.
13087
be0dbdab
GM
13088 * buffer.c (Frestore_buffer_modified_p): New function.
13089 (syms_of_buffer): Defsubr it.
13090
e8413c3b
KR
130912000-04-08 Ken Raeburn <raeburn@gnu.org>
13092
87f67317
KR
13093 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
13094 charset id (int) argument, not a charset (Lisp_Object).
13095
e8413c3b
KR
13096 * coding.h (code_convert_string): Declare.
13097 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
13098 object, as the fourth argument to code_convert_string.
13099
52283633 13100 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
13101 (Fset_fontset_font): Use EQ to compare lisp objects.
13102
7c752c80
KR
131032000-04-05 Ken Raeburn <raeburn@gnu.org>
13104
c0333abc
KR
13105 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
13106 a pointer that looks like a lisp object.
13107 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
13108 zero, instead see whether it's an integer object, since they can't
13109 have intervals.
13110 (GET_INTERVAL_OBJECT): Simply assign to the destination.
13111
52283633
SM
13112 * dispnew.c (allocate_matrices_for_frame_redisplay)
13113 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
13114 to convert between (unsigned) int values and lisp integers.
13115 * keyboard.c (read_key_sequence): Likewise.
13116 * lread.c (substitute_object_recurse): Likewise.
13117 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
13118 * minibuf.c (do_completion, Fminibuffer_complete_word)
13119 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
13120 * term.c (produce_special_glyphs): Likewise.
13121
13122 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
13123 * print.c (print_preprocess, print_object): Likewise.
13124
13125 * search.c (compile_pattern): Use NILP when checking for nil.
13126
74e49b38
KR
13127 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
13128 __OPTIMIZE__]: Provide a GNU C macro version that handles
13129 lisp-object unions.
13130 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
13131 field, to better cope with ENABLE_CHECKING and calls that modify a
13132 Lisp_Object using its old value.
13133
685e5ed2
GM
131342000-04-04 Gerd Moellmann <gerd@gnu.org>
13135
c407c570
GM
13136 * window.c (compare_window_configurations): Signal an error
13137 if parameters C1 or C2 aren't window configurations.
13138
685e5ed2
GM
13139 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
13140 AFTER_POTENTIAL_GC calls around calls to functions that can
13141 signal an error and thus invoke the debugger.
13142
587a49ab
GM
131432000-04-03 Gerd Moellmann <gerd@gnu.org>
13144
62f20204
GM
13145 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
13146 an error if decoding fails.
13147
587a49ab
GM
13148 * keyboard.c (lispy_mouse_names): Variable removed.
13149 (Vlispy_mouse_stem): New variable.
13150 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
13151 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
13152 for any mouse button number. Increase size of mouse_syms and
13153 button_down_location as needed. Call modify_event_symbol with
13154 different arguments.
13155 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
13156 Call modify_event_symbol with different arguments.
13157 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
13158 for any button number. Call modify_event_symbol with different
13159 arguments.
13160 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
13161 Accept a string for NAME_ALIST_OR_STEM.
13162
13163 * lisp.h (larger_vector): Add prototype.
13164
13165 * fns.c (larger_vector): Make externally visible.
13166
13167 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13168
2d1675e4
SM
131692000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13170
13171 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13172 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13173 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13174 we are between str1 and str2.
13175 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13176 (PATFETCH): Use `TRANSLATE'.
13177 (PATFETCH_RAW): Fetch multibyte char if applicable.
13178 (PATUNFETCH): Remove.
13179 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13180 When writing a char, write it directly into the pattern buffer rather
13181 than going needlessly through a temp char-array.
13182 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13183 multibyte magic and remove the useless `#ifdef emacs'.
13184 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13185 buffer.
13186
13187 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13188 conditional on `emacs'.
13189
13190 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13191
cc2d8c6b
KR
131922000-04-01 Ken Raeburn <raeburn@gnu.org>
13193
13194 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13195 non-union-type versions of XMARK and friends here, because XMARK
13196 and friends won't work on an integer field if NO_UNION_TYPE is not
13197 defined.
52283633 13198 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13199
52283633 13200 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13201 (syms_of_composite): Delete local var NARGS, pass an int as first
13202 argument to Fmake_hash_table.
13203
2387b382
KR
13204 * editfns.c (text_property_stickiness): Use NILP to test
13205 Lisp_Object boolean value.
13206 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13207 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13208 problems reading from and changing the same lisp value in an
13209 XSETSTRING call.
13210
27660e89
GM
132112000-04-01 Gerd Moellmann <gerd@gnu.org>
13212
13213 * term.c (TN_no_color_video): New variable.
13214 (term_init): Intitialize TN_no_color_video.
13215 (enum no_color_bit): New enumeration.
13216 (MAY_USE_WITH_COLORS_P): New macro.
13217 (turn_on_face): Use it to determine if attributes may be used
13218 combined with colors.
13219
3578db3c
KR
132202000-04-01 Ken Raeburn <raeburn@gnu.org>
13221
13222 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13223 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13224 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13225 proper accessor macros.
13226 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13227 (grow_mini_window): Fix typo getting int value of root->height.
13228
6fc556fd
KR
13229 * xdisp.c (compute_string_pos): Fix order of arguments to
13230 string_pos_nchars_ahead.
13231 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13232 count arg to variable-arg routines like Frun_hook_with_args and
13233 Fformat.
587a49ab
GM
13234 (back_to_previous_visible_line_start)
13235 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13236 fixed-arg routines like Fget_char_property and Fmake_string.
13237 (reconsider_clip_changes): Use XINT when comparing integer lisp
13238 objects, or passing them as int arguments.
587a49ab
GM
13239 (mark_window_display_accurate, insert_left_trunc_glyphs)
13240 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13241 storing or passing integer values as lisp objects.
13242 (set_cursor_from_row, highlight_trailing_whitespace): Use
13243 INTEGERP, not implicit test against zero, for glyph object.
13244 (try_window_id): Don't use make_number when we want an int value.
13245
13246 * xfaces.c (xlfd_symbolic_value): Make last argument a
13247 Lisp_Object, to be consistent with callers.
13248 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13249 (lface_hash): Apply XFASTINT to lisp values before folding in.
13250
13251 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13252 fill in window width and height. Pass an int, not a lisp object,
13253 as first arg to Finsert.
13254
6e7b2457
GM
132552000-04-01 Gerd Moellmann <gerd@gnu.org>
13256
610d841e
GM
13257 * xfaces.c (realize_basic_faces): Block input while realizing
13258 the faces.
13259
6e7b2457
GM
13260 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13261
13262 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13263
aa110c0c
GM
132642000-03-31 Gerd Moellmann <gerd@gnu.org>
13265
13266 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13267 or ASCII, handle case that per-char metric is null.
aa110c0c 13268
8801a864
KR
132692000-03-30 Ken Raeburn <raeburn@gnu.org>
13270
c6129d7e
KR
13271 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13272
52283633
SM
13273 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13274 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13275 pointer, using eassert.
13276 * frame.h (XFRAME): Likewise.
13277
52283633
SM
13278 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13279 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13280 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13281 * data.c (set_internal): Likewise.
52283633
SM
13282 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13283 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13284 * fileio.c (auto_save_1): Likewise.
13285 * insdel.c (check_markers): Likewise.
13286 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13287 * undo.c (record_insert): Likewise.
13288 * vmsproc.c (child_sig): Likewise.
13289 * window.c (unshow_buffer, window_loop): Likewise.
13290 * xterm.c (x_erase_phys_cursor): Likewise.
13291
8e7af858
GM
132922000-03-30 Gerd Moellmann <gerd@gnu.org>
13293
13294 * xfns.c (free_image_cache): Free the cache structure itself
13295 last, after all its members have been freed.
13296
13297 * lisp.h (xstrdup): Add prototype.
13298
13299 * alloc.c (xstrdup): Moved here from xfaces.c.
13300 (allocating_for_lisp): Variable removed.
52283633 13301 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13302
13303 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13304 of Fsymbol_value.
13305 (xstrdup): Moved to alloc.c.
13306
e0b8c689
KR
133072000-03-29 Ken Raeburn <raeburn@gnu.org>
13308
b96f9fb7
KR
13309 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13310
13311 * emacs.c (main): Fix sense of no-loadup test.
13312
e0b8c689
KR
13313 * config.in (ENABLE_CHECKING): Undef.
13314
13315 * lisp.h (struct interval): Replace "parent" field with a union of
13316 interval pointer and Lisp_Object; add new bitfield to use as
13317 discriminant. Change other flag fields to bitfields.
13318 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13319 is defined and the supplied test fails, print a message and abort.
13320 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13321
13322 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13323 pointers; abort if the value looks like a lisp object.
52283633
SM
13324 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13325 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13326 Modify for new interval parent definition.
13327
52283633
SM
13328 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13329 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13330 addressable lisp object in the interval structure.
13331 (die): New function.
13332 (suppress_checking): New variable.
13333
13334 * intervals.c (interval_start_pos): Just return 0 if there's no
13335 parent object.
13336
f83c5440
GM
133372000-03-29 Gerd Moellmann <gerd@gnu.org>
13338
13339 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13340 and earlier Emacs versions.
13341
13342 * keyboard.c (Ftop_level): Cancel busy-cursor.
13343
13344 * eval.c (call_debugger): Cancel busy-cursor.
13345
fdce64ff
KH
133462000-03-29 Kenichi Handa <handa@etl.go.jp>
13347
13348 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13349 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13350
f6a3f532
SM
133512000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13352
13353 * regex.c (analyse_first): New function obtained by ripping out most
13354 of re_compile_fastmap and generalizing it a little bit so that it
13355 can also just return whether a given (sub)pattern can match the empty
13356 string or not.
13357 (regex_compile): Use `analyse_first' to decide whether the loop-check
13358 needs to be done or not for *, +, *? and +? (the loop check is costly
13359 for non-greedy repetition).
13360 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13361
e9b309ac
DL
133622000-03-28 Dave Love <fx@gnu.org>
13363
52283633 13364 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13365
e9b309ac
DL
13366 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13367
ed0767d8
SM
133682000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13369
13370 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13371 an expression.
13372 (enum re_opcode_t): Update description of succeed_n.
13373 (PATFETCH): Always define.
13374 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13375 operators, char classes, shy-groups and intervals).
13376 Optimize special cases of intervals so as to only use succeed_n and
13377 jump_n when really needed.
13378 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13379 that we don't have to handle the special cases any more.
13380 Simplify on_failure_jump handling as well.
13381
e11e7e46
JR
133822000-03-28 Jason Rumney <jasonr@gnu.org>
13383
13384 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13385
88faab89
GM
133862000-03-27 Gerd Moellmann <gerd@gnu.org>
13387
182ff242
GM
13388 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13389
13390 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13391
182ff242
GM
13392 * alloc.c (mark_maybe_object): New function.
13393 (mark_memory): Use it.
13394 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13395 (setjmp_tested_p, longjmp_done): New variables.
13396 (test_setjmp): New function.
13397 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13398 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13399
c1005d06
GM
13400 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13401 to DEC_TEXT_POS and INC_TEXT_POS.
13402
13403 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13404 with parameter MULTIBYTE_P.
13405
52283633 13406 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13407
7439e5b9 13408 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13409 buffers because it looks for multibyte character byte sequences
13410 which don't exist in unibyte text.
7439e5b9 13411
d9c545da
GM
13412 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13413
11fd416e 13414 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13415 [DEBUG_X_COLORS]: New functions.
13416 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13417
13418 * xfns.c (x_set_cursor_color): Get color reference counts right.
13419
13420 * xterm.c (x_copy_color): New function.
13421 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13422
13423 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13424 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13425 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13426 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13427 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13428 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13429 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13430 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13431 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13432 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13433
11fd416e
GM
13434 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13435 names for handling per-buffer variables.
d9c545da
GM
13436
13437 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13438 instead of MAX_BUFFER_LOCAL_VARS.
13439 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13440
13441 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13442
88faab89
GM
13443 * xfns.c (x_specified_cursor_type): New function.
13444 (x_set_cursor_type): Use it.
13445
13446 * buffer.h (struct buffer): Add cursor_type.
13447
d80f42b7
SM
134482000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13449
13450 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13451 (print_partial_compiled_pattern, re_compile_fastmap):
13452 Handle new opcode.
d80f42b7
SM
13453 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13454 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13455 executing it as well as when popping it off the stack to find infinite
13456 loops in non-greedy repetition operators.
13457
89e80928
GM
134582000-03-26 Gerd Moellmann <gerd@gnu.org>
13459
3d4ff2dd
GM
13460 * doc.c (Qfunction_documentation): New variable.
13461 (syms_of_doc): Initialize Qfunction_documentation.
13462 (Fdocumentation): If FUNCTION is a symbol with non-nil
13463 `function-documentation' property, return a documentation derived
13464 from that.
13465
bd96bd79
GM
13466 * buffer.c (syms_of_buffer): Add default-cursor-type.
13467 (init_buffer_once): Don't let cursor_type have a local value
13468 in every buffer.
13469
19d1bc27
GM
13470 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13471 on buffer-local value of cursor_type.
13472 (x_draw_bar_cursor): Add parameter WIDTH.
13473
13474 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13475 (init_buffer_once): Set default cursor_type value to t.
13476 Mark cursor_type as local everywhere.
13477 (syms_of_buffer): New per-buffer variable cursor-type.
13478
89e80928
GM
13479 * buffer.h (struct buffer): Remove member local_var_flags,
13480 add local_flags.
13481 (MAX_BUFFER_LOCAL_VARS): New macro.
13482 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13483 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13484 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13485 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13486
52283633 13487 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13488
13489 * category.c (Fset_category_table): Use new macros for per-buffer
13490 variables.
13491
13492 * buffer.c (buffer_permanent_local_flags): Make a char array.
13493 (max_buffer_local_idx): New variable.
13494 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13495 for new handling of per-buffer variables.
13496 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13497 (init_buffer_once): Initialize per-buffer vars differently.
13498 Set max_buffer_local_idx.
13499
13500 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13501 variables.
13502
52283633 13503 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13504
13505 * data.c (do_symval_forwarding, store_symval_forwarding)
13506 (find_symbol_value, set_internal, default_value, Fset_default)
13507 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13508 per-buffer variables.
13509
13510 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13511
9a0dd3dc
GM
135122000-03-24 Gerd Moellmann <gerd@gnu.org>
13513
b68c375f
GM
13514 * xterm.c (x_term_init): Unblock input around call1 of
13515 Qvendor_specific_keysyms.
13516
9a0dd3dc
GM
13517 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13518 (find_defun_start): Consider an open parenthesis in column 0
13519 a defun start only if open_paren_in_column_0_is_defun_start is set.
13520 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13521
7973e637
SM
135222000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13523
13524 * eval.c (Fautoload): Add entry in load-history (if after dump).
13525 * lread.c (load-history): Update docstring.
13526
39210e90
GM
135272000-03-24 Gerd Moellmann <gerd@gnu.org>
13528
13529 * indent.c (Fvertical_motion): Always use the current buffer.
13530 Temporarily change the window's buffer, if necessary.
13531
72db3ab5
GM
135322000-03-23 Gerd Moellmann <gerd@gnu.org>
13533
13534 * xterm.c (fast_find_position): Make sure not to consider rows
13535 not visible in the window.
13536
990b2375
SM
135372000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13538
13539 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13540 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13541
ff4df011
JR
135422000-03-22 Jason Rumney <jasonr@gnu.org>
13543
13544 * w32menu.c (single_submenu): Set help string to NULL if none.
13545 (w32_menu_show): Set help string correctly.
13546 (add-menu-item): Set help string in MIIM_DATA for menu item.
13547 Load SetMenuItemInfoA explicitly.
13548 (w32_menu_display_help): New function.
427ec082 13549
ff4df011
JR
13550 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13551 (QCdata): Moved to xdisp.c.
13552
13553 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13554 (Vw32_charset_to_codepage_alist): Removed.
13555 (Vw32_charset_info_alist): New variable.
52283633
SM
13556 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13557 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13558 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13559 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13560 with TODO comment.
13561 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13562 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13563 Define Vw32_charset_info_alist and w32_charset symbols.
13564
135652000-03-22 Jason Rumney <jasonr@gnu.org>
13566
13567 * makefile.nt (w32bdf.obj): Update dependencies.
13568
13569 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13570
13571 * w32fns.c: Include fontset.h after dispextern.h.
13572 (Fx_create_frame): Do not create fontset.
13573 (w32_load_system_font): Doc fix.
13574 (Fx_close_connection): Free full_name if it is not shared.
13575
13576 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13577 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13578 Callers updated.
ff4df011
JR
13579 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13580 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13581 (w32_font_is_double_byte): New function, needs body.
13582 (x_append_glyph): Set glyph->glyph_not_available_p.
13583 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13584 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13585 character, convert it to a unibyte character.
13586 (struct glyph_string): Delete member `charset'.
13587 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13588 calculating it is found.
13589 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13590 the case that per char metric is not available correctly.
13591 (x_fill_glyph_string): Handle the case that the specific glyph is
13592 not available correctly.
13593 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13594 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13595 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13596 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13597 fontset. Don't call FS_LOAD_FONT.
13598
439d5cb4
KR
135992000-03-22 Ken Raeburn <raeburn@gnu.org>
13600
13601 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13602 (INT_LISPLIKE): New macro.
13603 (NULL_INTERVAL_P): Use it.
52283633
SM
13604 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13605 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13606 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13607
13608 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13609 explicit references to "parent" field of struct interval and
13610 associated unclean type conversions.
52283633
SM
13611 * intervals.c (create_root_interval, root_interval, rotate_right)
13612 (rotate_left, balance_possible_root_interval, split_interval_right)
13613 (split_interval_left, interval_start_pos, find_interval)
13614 (next_interval, previous_interval, update_interval)
13615 (adjust_intervals_for_insertion, delete_node, delete_interval)
13616 (adjust_intervals_for_deletion, merge_interval_right)
13617 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13618 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13619 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13620 Likewise.
13621 * syntax.c (update_syntax_table): Likewise.
13622
13623 * intervals.c (reproduce_tree_obj): New function, like
13624 reproduce_tree but takes a Lisp_Object for the parent. Declare
13625 with prototype.
13626 (graft_intervals_into_buffer): Use it when appropriate.
13627 (reproduce_tree): Declare with prototype.
13628 (balance_possible_root_interval): Check that the parent is a lisp
13629 object before trying to examine its type.
13630
ee1c5b21
GM
136312000-03-22 Gerd Moellmann <gerd@gnu.org>
13632
13633 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13634 as strings only if both are known to be strings.
13635
13636 * s/openbsd.h (LIBS_TERMCAP): Undef.
13637
1fb352e0
SM
136382000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13639
13640 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13641 definitions for non-Emacs compilation.
13642 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13643 outside of `#ifdef emacs'.
13644 (print_partial_compiled_pattern): Update.
13645 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13646 (re_compile_fastmap): Merge handling of charset and charset_not (for
13647 emacs and non-emacs compilation as well).
13648 Similarly for (not)categoryspec and (not)syntaxspec.
13649 Don't use the fastmap when reaching `anychar' since the added
13650 complexity is not justified.
13651 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13652 and (not)syntaxspec. Merge (not)categoryspec.
13653
fdaa1f77
KH
136542000-03-22 Kenichi Handa <handa@etl.go.jp>
13655
52283633
SM
13656 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13657 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13658 --without-x.
fdaa1f77 13659
d152fb46
DL
136602000-03-21 Dave Love <fx@gnu.org>
13661
13662 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13663 doc string.
13664
d2cafc8c
GM
136652000-03-21 Gerd Moellmann <gerd@gnu.org>
13666
13667 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13668 (lface_fully_specified_p): Don't check contents of
13669 LFACE_FONT_INDEX because that attribute is optional.
13670 (realize_x_face): Remove now unwarranted xassert.
13671
9111d4b5
KH
136722000-03-21 Kenichi HANDA <handa@etl.go.jp>
13673
13674 The following changes are to make font selection based on
13675 characters, not charset. In addition, they recover fontset
13676 facilities while utilizing the new font selection mechanism.
13677
6c4bfdc0
KH
13678 * Makefile.in (fontset.o): Depend on dispextern.h.
13679
13680 * alloc.c (mark_face_cache): Don't mark face->registry.
13681
9111d4b5
KH
13682 * dispextern.h (struct glyph): New member glyph_not_available_p.
13683 Use 22 bits for face_id.
13684 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13685 (struct face): Delete member registry, new member ascii_face.
13686 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13687 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13688 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13689 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13690
13691 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13692 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13693 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13694 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13695 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13696 (fs_free_face_fontset, fontset_font_pattern)
13697 (face_suitable_for_char_p, face_for_char)
13698 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13699 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13700 (FS_LOAD_FACE_FONT): New macro.
13701
13702 * fontset.c: All codes rewritten or adjusted for the change of
13703 fontset implementation. Now fontset is represented by char table.
52283633
SM
13704 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13705 Variables removed.
9111d4b5 13706 (my_strcasecmp): Function removed.
52283633 13707 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13708 (AREF, ASIZE): New macros.
52283633
SM
13709 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13710 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13711 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13712 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13713 (fontset_id_valid_p, font_family_registry, fontset_name)
13714 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13715 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13716 New functions.
13717 (fs_load_font): New arg FACE. Caller changed.
13718 (fs_query_fontset): Argument changed. Caller changed.
13719 (Fquery_fontset): call fs_query_fontset.
13720 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13721 Functions removed.
52283633
SM
13722 (clear_fontset_elements, check_registry_encoding)
13723 (check_fontset_name): New functions.
9111d4b5
KH
13724 (syms_of_fontset): Set char-table-extra-slots property of fontset
13725 to 3. Staticpro and initialize Vfontset_table and
13726 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13727
13728 * frame.h (struct frame): Member `fontset_data' removed.
13729 (FRAME_FONTSET_DATA): Macro removed.
13730
13731 * frame.c (make_frame): Don't allocate f->fontset_data.
13732 (Fdelete_frame): Don't free f->fontset_data.
13733
6c4bfdc0
KH
13734 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13735
9111d4b5
KH
13736 * xdisp.c (charset_at_position): Function removed.
13737 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13738 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13739 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13740 Likewise.
13741 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13742 FACE_FOR_CHARSET.
52283633
SM
13743 (get_next_display_element, append_space)
13744 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13745
13746 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13747 Variables removed.
13748 (clear_font_table, frame_update_line_height, load_face_font):
13749 Adjusted for the change of fontset implementation.
13750 (load_face_fontset_font): Function removed.
13751 (pixel_point_size): New function.
13752 (font_list): Argument type changed. Caller changed.
13753 (LFACE_FONT): New macro.
13754 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13755 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13756 Lisp_Object. Determine the font name by actually loading a font
13757 by the specified pattern. Set LFACE_FONT (lface) to the specified
13758 pattern. Even if a font is not found, don't try alternatives.
13759 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13760 (set_font_frame_param): If `font' is specified in lface, use it.
13761 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13762 (lface_same_font_attributes_p): Likewise.
13763 (make_realized_face): Arguent changed. Caller changed. Set
13764 face->ascii_face to face itself.
13765 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13766 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13767 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13768 (free_realized_multibyte_face): New function.
13769 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13770 changed. Caller changed.
13771 (try_font_list): Argument type changed.
13772 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13773 (choose_face_font): Argument changed. Handle fontset properly.
13774 (choose_face_fontset_font): Function removed.
13775 (realize_default_face, realize_named_face): Don't remove the
13776 former face here.
13777 (realize_face): Argument changed. Caller changed. Remove face
52283633 13778 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13779 (realize_x_face): Argument changed. Caller changed. For a
13780 multibyte character, share fontset with base_face. For a single
52283633 13781 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13782 (realize_tty_face): Argument changed. Caller changed.
13783 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13784 (face_at_buffer_position): Don't check multibyte_p for returning
13785 DEFAULT_FACE_ID.
13786 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13787 FACE_SUITABLE_FOR_CHARSET_P.
13788 (syms_of_xfaces): Remove code for Qx_charset_registry and
13789 Vface_default_registry.
13790
6c4bfdc0
KH
13791 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13792 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13793 (x_per_char_metric): Don't try FONT->default_char. Even if
13794 pcm->width is zero, glyph bits may exist.
13795 (x_encode_char): Always initialize char2b->byte1.
13796 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13797 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13798 (x_append_glyph): Set glyph->glyph_not_available_p.
13799 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13800 it->charset. Handle the case that per char metric is not
13801 available. If it->multibyte_p is zero and it->c is a multibyte
13802 character, convert it to a unibyte character.
13803 (struct glyph_string): Delete member `charset'.
13804 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13805 the case that per char metric is not available correctly.
13806 (x_fill_glyph_string): Handle the case that the specific glyph is
13807 not available correctly.
13808 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13809 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13810 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13811 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13812 fontset. Don't call FS_LOAD_FONT.
13813
13814 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13815 (x_create_tip_frame): Likewise.
13816 (Fx_close_connection): Free full_name of font_info.
13817
13818 * fns.c (optimize_sub_char_table): New function.
13819 (Foptimize_char_table): New function.
13820 (syms_of_fns): Defsubr Soptimize_char_table.
13821
b33dd3b0
GM
138222000-03-20 Gerd Moellmann <gerd@gnu.org>
13823
13824 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13825 only if buffer is displayed in some window.
13826
13827 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13828 (try_window_reusing_current_matrix): Don't call scroll run
13829 function if run's current and desired position are the same;
13830 this prevents cursor flickering.
13831
4e8a9132
SM
138322000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13833
13834 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13835
13836 * regex.c (RE_STRING_CHAR): New macro.
13837 (GET_CHAR_AFER_2): Remove.
13838 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13839 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13840 (print_partial_compiled_pattern, re_compile_fastmap)
13841 (re_match_2_internal): Remove on_failure_jump_exclusive.
13842 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13843 optimization only need to work for * (ie. can use of_keep_string_jump).
13844 Remove the special case for .*\n since it is now covered by the general
13845 optimization.
13846 (re_search_2): Don't bother with `room'.
13847 (skip_one_char): New function.
13848 (skip_noops): Simplify since `memory' is not needed any more.
13849 (mutually_exclusive_p): Restructure slightly to use `switch' and
13850 add handling for "all" remaining cases.
13851 (re_match_2_internal): Change on_failure_jump_smart to use
13852 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13853 rather than on_failure_jump_exclusive.
13854
2136fdd4
GM
138552000-03-19 Gerd Moellmann <gerd@gnu.org>
13856
13857 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13858 number of bits per RGB because it's everywhere used as the depth
13859 of the visual.
13860
13861 * term.c (calculate_costs): Remove code dealing with X frames.
13862
18e21ce8 138632000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13864
13865 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13866
d7b511c4
GM
138672000-03-18 Gerd Moellmann <gerd@gnu.org>
13868
13869 * lread.c (read_integer): Unread the last char not consumed.
13870
16b5d424
GM
138712000-03-17 Gerd Moellmann <gerd@gnu.org>
13872
13873 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13874 which are in the process of being deleted.
16b5d424 13875
1fa28578
GM
138762000-03-16 Gerd Moellmann <gerd@gnu.org>
13877
83488cce
GM
13878 * Makefile.in (mostlyclean): Add `*.core'.
13879 (clean): Add `bootstrap-emacs'.
13880
1fa28578
GM
13881 * lread.c (read_integer): New function.
13882 (read1): Support read syntax #o, #x, #b, #r.
13883
99633e97
SM
138842000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13885
1fa28578
GM
13886 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13887 make sure POINTER_TO_OFFSET gives the same value before and after
13888 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13889 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13890 (debug): Now only active if > 0 rather than if != 0.
13891 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13892 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13893 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13894 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13895 (store_op1, store_op2, insert_op1, insert_op2)
13896 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13897 (group_in_compile_stack): Move to after its arg's types are
13898 declared and add a prototype.
99633e97 13899 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13900 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13901 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13902 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13903 indentation of the greedy-op and shy-group code.
99633e97
SM
13904 (at_(beg|end)line_loc_p): Fix argument's types.
13905 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13906 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13907 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13908 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13909 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13910 QUIT unconditionally.
99633e97 13911
699238d9
GM
139122000-03-15 Gerd Moellmann <gerd@gnu.org>
13913
13914 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13915 a sole completion.
13916
13917 * process.c (send_process): Add a hint that the function
13918 can call Lisp code to its comment.
13919
13920 * lread.c (load_dangerous_libraries): New variable.
13921 (Vbytecomp_version_regexp): New variable.
13922 (safe_to_load_p): New function.
13923 (Fload): Handle files not compiled with Emacs specially.
13924 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13925
34e23e5a
GM
139262000-03-14 Gerd Moellmann <gerd@gnu.org>
13927
9c763cca
GM
13928 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13929
13930 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13931 support functions only if HAVE_X11R6_XIM is defined.
13932 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13933
13934 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13935
13936 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13937 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13938 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13939
13940 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13941 (HAVE_X11R6_XIM): Define.
13942
13943 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13944
34e23e5a
GM
13945 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13946 If set, call XSynchronize.
13947
66f0296e
SM
139482000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13949
34e23e5a
GM
13950 * regex.c: Declare a new type `re_char' used throughout the code
13951 for the string char type. It's `const unsigned char' to match the
13952 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13953 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13954 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13955 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13956 code duplication.
66f0296e
SM
13957
13958 * charset.h (GET_CHAR_AFTER_2): Remove.
13959 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13960
854a025c
KR
139612000-03-12 Ken Raeburn <raeburn@gnu.org>
13962
13963 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13964 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13965 of them try to use backquotes.
13966
b9d2c7e2
DL
139672000-03-12 Dave Love <fx@gnu.org>
13968
13969 * unexelf.c: Restore changes of 1999-10-19.
13970 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13971 fix its type and alignment; copy it from current process.
13972
5e5dff44
GM
139732000-03-12 Gerd Moellmann <gerd@gnu.org>
13974
9b2f3c38
GM
13975 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13976 has been found. Fix bug not computing timer's predecessor.
13977
427ec082 13978 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13979 file name.
13980
e1cff360
GM
13981 * window.c (Fsave_window_excursion): Doc fix.
13982
52283633 13983 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13984
e411ce4b
EZ
139852000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13986
13987 * msdos.c (vga_installed): New function, code moved from
13988 dos_set_window_size.
13989 (Qbar, Qcursor_type, outside_cursor): New variables.
13990 (syms_of_msdos): Intern and staticpro them.
13991 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13992 shape used outside Emacs when called for the first time.
13993 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13994 cursor shape used outside Emacs.
13995 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13996 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13997 type has changed.
13998 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13999 parameters specify the cursor. Make qreverse a global
14000 variable (renamed to Qreverse).
14001
80460654
GM
140022000-03-09 Gerd Moellmann <gerd@gnu.org>
14003
14004 * fns.c (Fy_or_n_p): Cancel busy-cursor.
14005
95cd4c40
SM
140062000-03-08 Stefan Monnier <monnier@cs.yale.edu>
14007
14008 This is a big redesign of failure-stack and register handling, prompted
14009 by bugs revealed when trying to add shy-groups. Overall, what happened
14010 is that loops are now structured a little differently, groups can be
14011 shy and the code is a little simpler.
14012
14013 * regex.h: Update the copyright.
14014 (RE_SHY_GROUPS): New value.
14015 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
14016 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
14017
80460654
GM
14018 * regex.c (enum re_opcode_t): Remove jump_past_alt,
14019 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
14020 on_failure_jump_(exclusive, loop and smart). Also fix the comment
14021 for (start|stop)_memory since they now only take one argument (the
14022 second has becomes unnecessary).
52283633 14023 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
14024 (print_compiled_pattern): Use %ld to printf long ints and flush to
14025 make debugging a little easier.
95cd4c40
SM
14026 (union fail_stack_elt): Make the integer unsigned.
14027 (struct fail_stack_type): Add a `frame' element.
14028 (INIT_FAIL_STACK): Init `frame' as well.
14029 (POP_PATTERN_OP): New macro for re_compile_fastmap.
14030 (DEBUG_PUSH, DEBUG_POP): Remove.
14031 (NUM_REG_ITEMS): Remove.
14032 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
14033 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
14034 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 14035 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
14036 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
14037 New macros.
80460654
GM
14038 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
14039 address pushed is not the destination of the jump but the source
14040 of it instead.
95cd4c40
SM
14041 (NUM_FAILURE_ITEMS): Remove.
14042 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
14043 registers before the actual failure point). Don't hardcode any
14044 meaning for str==NULL anymore.
95cd4c40 14045 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
14046 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
14047 Remove.
95cd4c40
SM
14048 (REG_UNSET_VALUE): Use NULL (why not?).
14049 (compile_range): Remove declaration since it doesn't exist.
14050 (struct compile_stack_elt_t): Remove inner_group_offset.
14051 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
14052 (regex_grow_registers): Remove dead code.
14053 (FIXUP_ALT_JUMP): New macro.
80460654
GM
14054 (regex_compile): Add shy-groups Change loops to use
14055 on_failure_jump_smart&jump instead of
14056 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
14057 initial (dummy_failure_)jump. Remove c1_base (looks like unused
14058 variable to me). Use `jump' instead of `jump_past_alt' and don't
14059 bother with push_dummy_failure in alternatives since it is now
14060 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
14061 emacs' for (re)allocating the stack.
14062 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
14063 from loop when bufp->can_be_null rather than jumping to `done'.
14064 Avoid jumping backwards so as to ensure termination. Use
14065 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
14066 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 14067 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
14068 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
14069 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
14070 (lowest_active_reg, highest_active_reg)
14071 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
14072 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
14073 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
14074 variables. Push register (in `start_memory') on the stack rather
14075 than storing it in old_reg(start|end). Remove the cycle detection
14076 from `stop_memory', replaced by the use of on_failure_jump_loop
14077 for greedy loops. Add code for the new on_failure_jump_<foo>.
14078 Remove ad-hoc code in `on_failure_jump' to push more registers in
14079 the case of a loop. Take out code from `maybe_pop_jump' into
14080 separate functions and adapt it to the semantics of
14081 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
14082 and push_dummy_failure. Remove dummy_failure handling and
14083 handling of `failures to jump to on_failure_jump' (this last one
14084 was already dead code, it seems).
14085 (group_match_null_string_p, alt_match_null_string_p)
14086 (common_op_match_null_string_p): Remove.
95cd4c40 14087
7397acc4
DL
140882000-03-08 Dave Love <fx@gnu.org>
14089
14090 * config.in: Don't depend on __STDC__ for volatile.
14091 Add POINTER_TYPE, PTR, PROTOTYPES.
14092
14093 * hftctl.c, strftime.c: Use PROTOTYPES.
14094 * eval.c (find_handler_clause): Likewise.
14095
14096 * mem-limits.h: Use POINTER_TYPE.
14097
14098 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
14099 (memory_warnings): Declare using POINTER_TYPE.
14100
5e91ff9e
GM
141012000-03-08 Gerd Moellmann <gerd@gnu.org>
14102
feab4fba
GM
14103 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
14104
52283633 14105 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 14106
5e91ff9e
GM
14107 * xfns.c: Remove obsolete code in #if 0.
14108 (Fx_focus_frame): New function.
14109
a735b7e1
KH
141102000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14111
14112 * coding.c (coding_category_name): Add coding-category-utf-8,
14113 coding-category-utf-16-be, coding-category-utf-16-le.
14114 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
14115 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
14116 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
14117 (detect_coding_utf_8): New function.
14118 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
14119 UTF_16_LOW_SURROGATE_P): New macros.
14120 (detect_coding_utf_16): New function
14121 (detect_coding_mask): When priorities are specified, skip any
14122 categories that have `nil' coding-system. Fix bug of returning
14123 wrong mask when PRIORITIES is specified and detect_coding_XXX()
14124 returns a mask not set in PRIORITIES.
14125 (detect_eol_type_in_2_octet_form): New function.
14126 (detect_eol): selects detect_eol_type_XXX to call according to
14127 cooding->category_idx.
14128 (detect_coding_system): Remove `nil' coding-system in the result.
14129 (Fupdate_coding_systems_internal): Update all coding-categories.
14130
52283633
SM
14131 * coding.h (CODING_CATEGORY_IDX_UTF_8)
14132 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
14133 New macros.
14134 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
14135 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
14136 (CODING_CATEGORY_IDX_UTF_16_LE)
14137 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
14138 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
14139 (CODING_CATEGORY_MASK_ANY): Include the above macros.
14140 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
14141
9994cc69
GM
141422000-03-07 Gerd Moellmann <gerd@gnu.org>
14143
e9b4e5ff
GM
14144 * doc.c (Fdocumentation_property): If value is not a string,
14145 and doesn't refer to etc/DOC, evaluate it to obtain a string.
14146
f7daf1e1
GM
14147 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
14148 close the display with XtCloseDisplay. This caused a bus error
14149 on OpenWindows.
14150
9994cc69
GM
14151 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
14152 complete but not unique.
14153
4336c705
GM
141542000-03-06 Gerd Moellmann <gerd@gnu.org>
14155
18bb0684
GM
14156 * process.c (send_process): Remove local variable `procname' that
14157 might become invalid when a GC happens. Instead, access the
14158 process name slot directly.
14159
4336c705
GM
14160 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
14161 orig_height if set.
14162
14163 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14164 orig_height if set.
14165
515d0d0e
EZ
141662000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14167
14168 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14169 glyph matrices have been freed.
14170
100b3cbb
GM
141712000-03-05 Gerd Moellmann <gerd@gnu.org>
14172
50df5e5a 14173 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 14174 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
14175
14176 * xfns.c (QCdata): Moved to xdisp.c.
14177
14178 * xdisp.c (QCdata): Moved here from xfns.c.
14179 (syms_of_xdisp): Initialize QCdata.
14180
14181 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14182
14183 * window.c (coordinates_in_window): Use
14184 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14185 FRAME_INTERNAL_BORDER_WIDTH.
14186
100b3cbb 14187 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14188 it is obviously invalid.
100b3cbb
GM
14189
14190 * xterm.c (x_term_init): Create a colormap if not using the
14191 default visual.
14192
14193 * xterm.h (select_visual): Change prototype.
14194
14195 * xfns.c (select_visual): Rewritten. Recognize user-specified
14196 visual classes.
14197 (visual_classes): New variable.
14198
64d739c4
GM
141992000-03-04 Gerd Moellmann <gerd@gnu.org>
14200
14201 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14202 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14203 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14204 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14205 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14206 XtNcolormap resources.
14207 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14208 (Fx_create_frame): Initialize color members of x_output structure.
14209 (xpm_load): Pass colormap to XPM lib.
14210
14211 * xfaces.c (x_free_colors): Access colormap of frame using
14212 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14213 when default colormap is used.
14214
14215 * xterm.c (x_term_init): Set Colormap member of x_display_info
14216 structure. Copy colormap if resource `privateColormap' is
14217 specified (PseudoColor only).
14218 (x_setup_relief_color): Access colormap of frame using
14219 FRAME_X_COLORMAP.
14220
14221 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14222 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14223
c3cee013
JR
142242000-03-04 Jason Rumney <jasonr@gnu.org>
14225
14226 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14227 other non-platform-specific equivalents.
64d739c4 14228 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14229 specific functions and macros as their w32 equivalents where
14230 non-platform-specifics are not available.
14231 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14232 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14233 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14234 (frame_update_line_height): Use macros to access f->output_data.
14235 (defined_color): Remove FIXME comments; fixed.
14236 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14237 into #ifdef blocks. Add WINDOWSNT blocks.
14238 (Fx_list_fonts): Use macros for accessing font data.
14239 (set_lface_from_font_name): Different default fonts for X and
14240 WINDOWSNT.
14241 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14242 scalable for backward compatibility.
64d739c4 14243 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14244 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14245
64d739c4 14246 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14247 syms_of_w32faces.
14248
14249 * makefile.nt (w32faces.obj): Remove.
14250 (xfaces.obj): Add.
14251
807cc41c
JR
142522000-03-03 Jason Rumney <jasonr@gnu.org>
14253
14254 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14255 correct parameters.
14256
0007072a
KR
142572000-03-03 Ken Raeburn <raeburn@gnu.org>
14258
14259 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14260 standard ELF definitions here if the system header does not.
14261
71a6ba55
GM
142622000-03-03 Gerd Moellmann <gerd@gnu.org>
14263
14264 * xterm.c (PER_CHAR_METRIC): Removed.
14265 (x_per_char_metric_1, x_default_char): New functions.
14266 (x_per_char_metric): If font's default char is invalid, return
14267 metrics of a suitably chosen usable default char.
14268 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14269 char, replace occurrences of unprintable chars with a suitably
14270 chosen usable default char.
71a6ba55 14271
900fa1f1
GM
142722000-03-02 Gerd Moellmann <gerd@gnu.org>
14273
42f55fe0
GM
14274 * xterm.c (note_mouse_highlight): Return quickly if frame's
14275 glyph matrices have been freed.
14276
14277 * dispnew.c (free_glyphs): Block input while freeing matrices.
14278
900fa1f1
GM
14279 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14280
52283633
SM
14281 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14282 Use x_free_colors.
900fa1f1
GM
14283
14284 * dispextern.h (x_free_colors): Add prototype.
14285
14286 * xfaces.c (x_free_colors): New function.
14287 (unload_color, free_face_colors): Use it.
14288
2f950292
EZ
142892000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14290
14291 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14292
14293 * window.c [MSDOS]: Include msdos.h.
14294
54d04320
DL
142952000-03-02 Dave Love <fx@gnu.org>
14296
14297 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14298
14299 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14300 set C_OPTIMIZE_SWITCH for gcc.
14301
0ba93ac4
KH
143022000-03-02 Kenichi Handa <handa@etl.go.jp>
14303
14304 * coding.c (coding_save_composition): Be sure to allocate
14305 composition data area in coding even if there's no composition in
14306 the current run.
14307
a2bc11d4
JR
143082000-03-01 Jason Rumney <jasonr@gnu.org>
14309
14310 * w32term.c: Equivalent changes to those made to xterm.c on
14311 2000-02-25 and 2000-02-24.
14312
14313 * w32fns.c: Equivalent changes to those made to xfns.c on
14314 2000-02-25 and 2000-02-21.
14315
14316 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14317 correct line-end convention is followed.
14318
14319 * w32menu.c [HAVE_BOXES]: Remove #undef.
14320 (single_keymap_panes): Remove code for simulating checkmarks.
14321 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14322 Remove code for drawing simulated checkmarks.
14323 (w32_menu_show): make unibyte help string correctly.
14324 (add_menu_item): draw standard Windows checkmarks. Draw radio
14325 buttons as radio buttons if possible.
14326
72d19d75
GM
143272000-03-01 Gerd Moellmann <gerd@gnu.org>
14328
2df636f4
GM
14329 * sysdep.c (start_of_text): Don't define this function for NetBSD
14330 with ELF.
14331
427ec082 14332 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14333 Don't define.
14334 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14335 (LINKER): Don't undef if __NetBSD__ is defined.
14336
14337 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14338
14339 * fileio.c [__NetBSD__]: Define `unix'.
14340
72d19d75
GM
14341 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14342
ed4d0512
GM
143432000-02-29 Gerd Moellmann <gerd@gnu.org>
14344
50b1039f
GM
14345 * atimer.c (start_atimer): Don't abort when timers are stopped.
14346 (append_atimer_lists): New function.
14347 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14348 arbitrary lists of stopped and running atimers.
14349
ed4d0512
GM
14350 * atimer.c (cancel_atimer): Handle canceling an atimer when
14351 some timers are stopped.
14352
14353 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14354 after canceling it.
14355
14356 * fns.c (maybe_resize_hash_table): Handle case of new size
14357 coming out as being the same as old size.
14358
387023ee
JR
143592000-02-27 Jason Rumney <jasonr@gnu.org>
14360
14361 * makefile.nt: Add atimer.h to dependencies.
14362 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14363 * w32console.c: Only disable window system features for dispextern.h
14364 (initialize_w32_display): Build a display info for the console.
14365 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14366 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14367 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14368 as 2 button mice.
14369 * w32gui.h (struct W32FontStruct): Revert last change after change
14370 to xdisp.c.
14371 * w32menu.c (single_submenu): Set up help string.
14372 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14373 (w32_dialog_show): Set up help string.
14374 * w32term.c (w32_display_info_for_display): Remove unused function.
14375 (w32_draw_bitmap): Use pre-built bitmaps.
14376 (w32_initialize_display_info): New function to initialize parts of
14377 display info that are common to both GUI and console frames.
14378 (w32_term_init): Use w32_initialize_display_info. Do not set
14379 Vw32_num_mouse_buttons here, as it is not called for console
14380 frames. Build bitmaps for indicating truncated lines etc.
14381 (x_delete_display): Destroy pre-built bitmaps.
14382 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14383 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14384
4516715a
DL
143852000-02-27 Dave Love <fx@gnu.org>
14386
14387 * lisp.h: Add a bunch of prototypes.
14388
171ca836
KH
143892000-02-26 Kenichi Handa <handa@etl.go.jp>
14390
14391 * keyboard.c (read_char): Set `usec' correctly.
14392
4013921d
KH
143932000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14394
14395 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14396 `lambda', set reg[RRR] to the map index.
14397 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14398 reg[RRR] to 0. Otherwise, set it to -1.
14399
9244a058
GM
144002000-02-25 Gerd Moellmann <gerd@gnu.org>
14401
2df636f4 14402 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14403
18e21ce8 144042000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14405
f43d79c1
GM
14406 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14407 and contains a `:', prepend `/:'.
14408
14409 * window.c (select_window_1): If selected_window is nil,
14410 don't "swap out" the buffer's point.
14411 (Fset_window_configuration): Set selected_window to nil
14412 before calling Fselect_window.
14413 (unshow_buffer): Don't set point in buffer from window's point
14414 if another more recently selected window also shows the buffer.
14415
bed0c171
GM
144162000-02-25 Gerd Moellmann <gerd@gnu.org>
14417
449c3c52
GM
14418 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14419
f5b58615
GM
14420 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14421 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14422 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14423 New variables.
f5b58615
GM
14424 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14425 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14426 (hide_busy_cursor): New functions.
14427 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14428
14429 * minibuf.c (read_minibuf): Cancel busy-cursor.
14430
14431 * keyboard.c (command_loop_1): Call start_busy_cursor before
14432 Fcommand_execute and cancel_busy_cursor after it.
14433 (timer_check): Remove busy-cursor code.
14434 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14435 cursor timer.
14436
14437 * process.c (wait_reading_process_input): Remove busy-cursor code.
14438
14439 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14440 Fx_hide_busy_cursor.
14441
14442 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14443 Remove prototyoes.
14444 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14445
14446 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14447
14448 * xterm.c (XTread_socket): Remove busy-cursor code.
14449
4eb8436f
GM
14450 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14451 (build_frame_matrix_from_leaf_window): Put code handling
14452 glyph row's not being a slice of a frame row in #if 0.
14453 (sync_window_with_frame_matrix_rows): New function.
14454 (frame_row_to_window): New function.
14455 (mirror_line_dance): Handle copies between windows.
14456
3cb65b0e
GM
14457 * lread.c (Fload): Use `xfree' instead of `free'.
14458 (init_obarray): Use `xmalloc' instead of `malloc'.
14459
bed0c171
GM
14460 * window.c (Fset_window_buffer): Set WINDOW to the window
14461 after decoding.
2add4349
GM
14462 (coordinates_in_window): Take frame's internal border width
14463 into account.
bed0c171 14464
42088c12
GM
144652000-02-24 Gerd Moellmann <gerd@gnu.org>
14466
14467 * xterm.c (x_display_and_set_cursor): Display cursor of
14468 non-selected windows depending on the setting of
14469 cursor_in_non_selected_windows.
14470
14471 * xdisp.c (cursor_in_non_selected_windows): New variable.
14472 (syms_of_xdisp): DEFVAR_BOOL it.
14473
d1e103b2
GM
144742000-02-23 Gerd Moellmann <gerd@gnu.org>
14475
723e779c
GM
14476 * data.c (Fstring_to_number): If number is greater than what
14477 fits into an integer, return a float.
14478
d1e103b2
GM
14479 * eval.c (specbind): Remove references to
14480 keyword_symbols_constant_flag.
14481
14482 * data.c (keyword_symbols_constant_flag): Removed.
14483 (Fmakunbound, set_internal, syms_of_data): Remove references to
14484 keyword_symbols_constant_flag.
14485
14486 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14487
214f877f
KH
144882000-02-23 Kenichi Handa <handa@etl.go.jp>
14489
14490 * syntax.c (multibyte_syntax_as_symbol): New variable.
14491 (syms_of_syntax): Declare it as a Lisp variable.
14492 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14493 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14494 nonzero, treat all multibyte characters as symbol.
52283633 14495 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14496
130adcb7
EZ
144972000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14498
3cb65b0e 14499 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14500 a deleted frame.
130adcb7 14501
17cbbf95
GM
145022000-02-21 Gerd Moellmann <gerd@gnu.org>
14503
14504 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14505
14506 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14507 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14508
beb0bc36
DL
145092000-02-21 Dave Love <fx@gnu.org>
14510
14511 * frame.c (Vmouse_position_function): New variable.
14512 (Fmouse_position): Use it.
14513 (syms_of_frame): Install it.
14514
14515 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14516
1d92afcd
GM
145172000-02-20 Gerd Moellmann <gerd@gnu.org>
14518
14519 * fileio.c (Finsert_file_contents): Unbind the binding of
14520 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14521
14522 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14523 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14524 (specbind, unbind_to): Handle most common case of non-constant
14525 symbol with trivial value specially.
14526
14527 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14528
18e21ce8 145292000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14530
14531 * data.c (Fmake_variable_buffer_local): Doc fix.
14532 Init found_for_buffer to 0.
14533 (Fmake_variable_frame_local): If the variable has already
14534 been buffer-local, set the check_frame field.
14535
1d4311c3
EZ
145362000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14537
14538 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14539 produced for CODING_MODE_LAST_BLOCK requires.
14540
2dc95ddd
DL
145412000-02-18 Dave Love <fx@gnu.org>
14542
14543 * keyboard.c (echo_keystrokes): Remove declaration.
14544 (Vecho_keystrokes) New variable.
14545 (read_char, record_menu_key, read_key_sequence): Use it to allow
14546 use of float value.
14547 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14548
14549 * lread.c: Undef feature selection macros before defining.
14550
f0930f35
GM
145512000-02-18 Gerd Moellmann <gerd@gnu.org>
14552
14553 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14554 for symbols other than the symbol in question.
14555
e3d4de90
DL
145562000-02-17 Dave Love <fx@gnu.org>
14557
14558 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14559
0b378936
GM
145602000-02-17 Gerd Moellmann <gerd@gnu.org>
14561
d621caf7
GM
14562 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14563
0b378936
GM
14564 * alloc.c (enum mem_type): Compile unconditionally.
14565
3b451f74
EZ
145662000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14567
14568 * xfaces.c (tty_defined_color): Don't return faulire indication
14569 for unspecified-fg and unspecified-bg pseudo-colors.
14570
10689a01
GM
145712000-02-17 Gerd Moellmann <gerd@gnu.org>
14572
1216f5e4
GM
14573 * alloc.c (mark_object): Don't mark symbol names in pure space.
14574 (gc_sweep): Don't unmark symbol names in pure space.
14575
14576 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14577 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14578 [GC_MARK_STACK]: New defines.
427ec082 14579 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14580 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14581
14582 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14583
14584 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14585 allocate_buffer instead of xmalloc.
14586
14587 * alloc.c (toplevel): Include setjmp.h.
14588 (PURE_POINTER_P): New define.
14589 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14590 (Vdead) [GC_MARK_STACK]: New variable.
14591 (lisp_malloc): Add parameter TYPE, call mem_insert if
14592 GC_MARK_STACK is defined.
14593 (allocate_buffer): New function.
427ec082 14594 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14595 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14596 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14597 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14598 (MEM_NIL) [GC_MARK_STACK]: New define.
14599 (struct mem_node) [GC_MARK_STACK]: New structure.
14600 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14601 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14602 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14603 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14604 (mark_stack) [GC_MARK_STACK]: New functions.
14605 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14606 (clear_marks): Removed.
14607 (gc_sweep): Set free conses' car, free floats' type, free
14608 symbols' function to Vdead. Use lisp_free to free buffers.
14609 (init_alloc_once): Initialize Vdead.
14610 (survives_gc_p): Return non-zero for pure objects.
14611
14612 * alloc.c: Add comments throughout the file.
14613
2503c8b1
GM
14614 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14615 that unblocks alarms.
14616
8389e1e2
GM
14617 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14618 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14619 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14620
10689a01 14621 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14622
bfc17d18
KH
146232000-02-17 Kenichi Handa <handa@etl.go.jp>
14624
4a09dee0
KH
14625 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14626 avoid infinite error signaling. Allocate sufficient memory for
14627 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14628
2b927d02
SM
146292000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14630
14631 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14632 depends on the previous behavior.
14633
b49cb764
GM
146342000-02-16 Gerd Moellmann <gerd@gnu.org>
14635
14636 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14637
99e95407
GM
146382000-02-15 Gerd Moellmann <gerd@gnu.org>
14639
14640 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14641
14642 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14643 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14644 write(2).
14645
6ffd3cf7
RS
146462000-02-15 Richard M. Stallman <rms@gnu.org>
14647
14648 * data.c (set_internal): Don't make variable buffer-local
14649 if within a let-binding for the same buffer.
14650 (let_shadows_buffer_binding_p): New function.
14651
14652 * eval.c (specbind): For buffer-local value,
14653 record the current buffer also.
14654 (unbind_to): Cope with that change.
14655
cad53475
GM
146562000-02-15 Gerd Moellmann <gerd@gnu.org>
14657
14658 * window.c (Fsave_window_excursion): Doc fix.
14659
1aa963c8
SM
146602000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14661
14662 * syntax.c (back_comment): Make sure we only consider comment-starters
14663 of the relevant style and return -1 in case of a failure to find the
14664 beginning of the comment.
14665 (Fforward_comment): If back_comment fails, go back to the position just
14666 after the comment-end.
14667 (scan_lists): Add comment describing a very minor bug.
14668
b9b84fd3
SM
146692000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14670
14671 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14672 `completion-regexp-list' in the docstring.
14673
3a28db80
DL
146742000-02-14 Dave Love <fx@gnu.org>
14675
14676 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14677
fb4a568d
SM
146782000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14679
14680 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14681 to Emacs' syntax. Also fix the comment about set/not-set meanings
14682 since Emacs syntax is not the value 0 any more.
14683 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14684 since it's now part of RE_SYNTAX_EMACS.
14685
1063ebb5
DL
146862000-02-12 Dave Love <fx@gnu.org>
14687
52283633 14688 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14689
fb07a302
GM
146902000-02-12 Gerd Moellmann <gerd@gnu.org>
14691
14692 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14693
aaf2320c
DL
146942000-02-12 Dave Love <fx@gnu.org>
14695
14696 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14697
14698 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14699 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14700 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14701
14702 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14703
14704 * s/nextstep.h: Don't define HAVE_ALLOCA.
14705
14706 * config.in: Add vfork bits.
14707
eedf8bde
GM
147082000-02-12 Gerd Moellmann <gerd@gnu.org>
14709
14710 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14711 unwind function to undo the effect of stopping atimers.
14712
52283633 14713 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14714
14715 * atimer.c (stopped_atimers): New variable.
14716 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14717 New functions.
14718
14719 * atimer.h (stop_other_atimers, run_all_atimers)
14720 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14721
eedf8bde
GM
14722 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14723
8476c2f8
KR
147242000-02-11 Ken Raeburn <raeburn@gnu.org>
14725
14726 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14727 library may depend on jpeg.
14728 (atimer.o): Depends on atimer.c.
14729
0e85e4a3
KH
147302000-02-11 Kenichi Handa <handa@etl.go.jp>
14731
14732 * insdel.c (del_range_1): Call update_compositions.
14733 (del_range_both): Call update_compositions just once..
14734
97fa0cc8
DL
147352000-02-10 Dave Love <fx@gnu.org>
14736
14737 * xfns.c (create_frame_xic): Fix initialization of automatic
14738 aggregates for pcc.
14739
25566a3c
KH
147402000-02-09 Kenichi Handa <handa@etl.go.jp>
14741
14742 * ccl.c (CCL_MAKE_CHAR): New macro.
14743 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14744 registers by CCL_MAKE_CHAR before calling translate_char.
14745 <CCL_TranslateCharacterConstTbl> Likewise.
14746
69da54ba
DL
147472000-02-08 Dave Love <fx@gnu.org>
14748
14749 * lread.c (__EXTENSIONS__): Define.
14750
f7136ee8
GM
147512000-02-08 Gerd Moellmann <gerd@gnu.org>
14752
14753 * puresize.h (BASE_PURESIZE): Increase to 650000.
14754
7768790b
EZ
147552000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14756
14757 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14758 the help message.
14759
38fd211b
EZ
147602000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14761
14762 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14763 md, mh, mb, mr, and me to the fake termcap entry.
14764
66e4690f
KR
147652000-02-06 Ken Raeburn <raeburn@gnu.org>
14766
14767 * sound.c (sound_cleanup): Don't call device close routine if the
14768 function pointer is null.
14769
a75dfea0
AI
147702000-02-06 Andrew Innes <andrewi@gnu.org>
14771
14772 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14773 around image definitions and prototypes.
14774 (gamma_correct) [WINDOWSNT]: New prototype.
14775
14776 * w32term.c (x_make_frame_visible): Replace call to
14777 input_poll_signal with poll_for_input.
14778
14779 * window.c [WINDOWSNT]: Include w32term.h.
14780
14781 * xdisp.c [WINDOWSNT]: Include w32term.h.
14782
14783 * makefile.nt: Add dependencies on w32gui.h.
14784 (OBJ1): Include atimer.obj.
14785 ($(BLD)\atimer.obj): New dependency rule.
14786
14787 * w32.c (sigmask): New function (does nothing).
14788 (sigunblock): Ditto.
14789
14790 * frame.c [WINDOWSNT]: Include w32term.h.
14791
14792 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14793
14794 * lread.c (syms_of_lread): Fix literal newlines.
14795
14796 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14797 the string constant limit (2048 bytes) in MSVC.
14798 (main): Ditto.
14799
59ddecde
GM
148002000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14801
52283633 14802 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14803 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14804 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14805 dispatch the event.
14806
07590973
DL
148072000-02-04 Dave Love <fx@gnu.org>
14808
14809 * fileio.c: Remove some unused vars.
14810 (_GNU_SOURCE): Define (for euidaccess).
14811
14812 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14813
14814 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14815 gcpro1, gcpro2.
14816 (read_minibuf): Deal with allow_props correctly.
14817
649351f9
EZ
148182000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14819
14820 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14821
66e4690f 148222000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14823
14824 * search.c (compile_pattern): If a cache entry has a nil regexp,
14825 fill in that entry instead of clobbering a previously cached
14826 string regexp.
14827
66e4690f 148282000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14829
14830 * puresize.h (BASE_PURESIZE): Increase to 610000.
14831
d240a249
GM
148322000-02-02 Gerd Moellmann <gerd@gnu.org>
14833
14834 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14835 can GC.
14836
ca91fb26
KH
148372000-02-02 Kenichi Handa <handa@etl.go.jp>
14838
25660570
KH
14839 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14840 instead of incrementing ic directly.
14841 <CCL_WriteExprConst> Likewise.
14842 <ccl_set_expr>: Set ic to jump_address.
14843
ca91fb26
KH
14844 * fileio.c (e_write): Fix the handling of
14845 CODING_FINISH_INSUFFICIENT_SRC.
14846
2ede9689
DL
148472000-02-01 Dave Love <fx@gnu.org>
14848
14849 * editfns.c (Fpropertize): Doc fix.
14850
14851 * process.c (Fstart_process): Doc fix.
14852
14853 * eval.c: Fix various doc strings not to duplicate information
14854 from help-manyarg-func-alist.
14855
52283633 14856 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14857
14858 * doc.c (Vhelp_manyarg_func_alist): New variable.
14859 (Fdocumentation): Use it.
14860 (syms_of_doc): Define it.
14861
b6680a0e
GM
148622000-01-31 Gerd Moellmann <gerd@gnu.org>
14863
2cb750ba
GM
14864 * xterm.c (xim_open_dpy): Remove unused local variable.
14865
52283633 14866 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14867
14868 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14869 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14870
b6680a0e
GM
14871 * fns.c (sweep_weak_table): New function.
14872 (sweep_weak_hash_tables): Use it. Keep on marking until there
14873 is no more change.
14874
994c5afe
GM
148752000-01-30 Gerd Moellmann <gerd@gnu.org>
14876
14877 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14878 that XTread_socket does not crash by trying to call XNoOp on a
14879 closed display.
427ec082 14880
f00276e3
JR
148812000-01-30 Jason Rumney <jasonr@gnu.org>
14882
14883 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14884 Change selected_frame to SELECTED_FRAME ().
14885 (w32_console_mouse_position): Remove #ifndef MULE from around
14886 `insist' parameter.
14887
14888 * makefile.nt: Remove dosfns.obj.
14889
14890 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14891
14892 * w32fns.c (w32_defined_color): Check for valid frame before
14893 applying gamma correction. Eliminate dependency on frame elsewhere.
14894 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14895 (w32_to_x_font): Use resx and resy not height_in and width_in.
14896 (x_to_w32_font): Doc fix.
14897 (xlfd_strip_height): New function to strip and return font height.
14898 (w32_font_match): Compare height separately from rest of xlfd
14899 spec, using xlfd_strip_height.
14900
14901 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14902 width_in. Use w32_defined_color in place of defined_color.
14903
14904 * w32faces.c: Merge more of DOS and X specifics in preparation for
14905 merge with xfaces.c.
14906 (defined_color): Remove FIXME comment.
14907 (tty_color_name): Provide w32-specific function.
14908 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14909
14910 * w32console.c (turn_on_face, turn_off_face): Removed.
14911 (w32_face_attributes): New function.
14912 (Global_variables): Reduce scope where possible.
14913 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14914 fill attribute.
14915 (hl_mode): Don't modify text attributes.
14916 (write_glyphs): Don't do anything if len <= 0. Use
14917 w32_face_attributes to get attributes for drawing. Write
14918 terminating codes using char_attr_normal.
14919 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14920 (update_begin, update_end): Likewise.
14921 (vga_stdcolor_name): New function.
14922 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14923 (Fset_screen_color): Remove char_attr_reverse.
14924
b08e8bb2
GM
149252000-01-29 Gerd Moellmann <gerd@gnu.org>
14926
14927 * xfns.c (xic_set_preeditarea): Take window parameter and
14928 window-relative pixel-positions.
14929
14930 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14931 is its frame's selected window.
14932 (xim_instantiate_callback): Likewise.
14933
14934 * xfns.c (x_create_im): Removed.
14935 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14936 (supported_xim_styles): Renamed from supported_styles.
14937 (best_xim_style): Renamed from best_style.
14938 (create_frame_xic): Renamed from xic_create_frame.
14939 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14940
b08e8bb2
GM
149412000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14942
14943 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14944 our frames, call XFilterEvent with 2nd parameter `None'.
14945 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14946 returning XBufferOverflow.
52283633 14947 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14948 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14949 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14950 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14951 (xim_initialize, xim_close)
14952 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14953 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14954 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14955 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14956
14957 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14958 and `xim_styles'.
14959 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14960 `xic_style' and `xic_xfs'.
14961 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14962 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14963 (FRAME_XIM): Removed.
14964
14965 * xfns.c (supported_styles): New variable.
14966 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14967 (xic_create_xfontset, best_style, xic_create_frame)
14968 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14969 (xic_set_xfontset): New functions.
14970
142e109c
DL
149712000-01-28 Dave Love <fx@gnu.org>
14972
14973 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14974
14975 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14976
b02786f9
GM
149772000-01-28 Gerd Moellmann <gerd@gnu.org>
14978
d060bc9f
GM
14979 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14980 for *scratch* if it already existed.
14981
b02786f9
GM
14982 * emacs.c (USAGE): New macro.
14983 (main): Use it to display usage information.
14984
2c52d7e4
EZ
149852000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14986
14987 Support for the menu-help feature:
14988
52283633 14989 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14990
14991 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14992 part of the line to the termscript file.
14993 (IT_clear_to_end): Clear the entire line, not just its beginning.
14994 (menu_help_message, prev_menu_help_message): New variables.
14995 (IT_menu_make_room): Make room for the help_text member.
14996 (IT_menu_display): New argument disp_help; all callers changed.
14997 If disp_help is non-zero, store the help text of the active menu
14998 item in menu_help_message.
14999 (XMenuAddPane): Initialize the help_text member to NULL.
15000 (XMenuAddSelection): New argument help_text. Store it in the
15001 XMenu structure.
15002 (XMenuActivate): New argument help_callback. If the value of
15003 menu_help_message has changed since the last time, display the
15004 menu help message text while waiting for the mouse to move. Clear
15005 the echo area before exiting.
15006 (XMenuDestroy): Free the help_text member.
15007
ffe0bcd1
GM
150082000-01-27 Gerd Moellmann <gerd@gnu.org>
15009
15010 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
15011 XMenuAddSelection. Pass help callback to XMenuActivate.
15012 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
15013
50dbd23f
EZ
150142000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
15015
15016 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
15017 and EMACS_SET_USECS.
15018
f5941bf8
GM
150192000-01-26 Dave Love <fx@gnu.org>
15020
6c67ddee
DL
15021 * editfns.c (Fchar_after, Fchar_before): Doc fix.
15022
f5941bf8
GM
15023 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
15024 an error may be signalled.
15025
9e49c990
GM
150262000-01-26 Gerd Moellmann <gerd@gnu.org>
15027
fc3cb460
GM
15028 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
15029 LD_SWITCH_SYSTEM inherited from irix5-0.h.
15030
9e49c990
GM
15031 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
15032
d0c037d8
GM
150332000-01-25 Gerd Moellmann <gerd@gnu.org>
15034
15035 * charset.c (Fstring): If there is a multibyte char among
15036 the args, always return a multibyte string.
15037
e12489f9
GM
150382000-01-25 Gerd Moellmann <gerd@gnu.org>
15039
15040 * sysdep.c (sys_select): Turn atimers off and on instead of
15041 recording and restoring old alarm handler
15042
15043 * process.c (toplevel): Include atimer.h.
15044 (create_process_1): Rewritten.
15045 (create_process): Use atimers instead of alarm.
15046 (wait_reading_process_input) [hpux]: Turn atimers off instead
15047 of turning off SIGALRM.
15048 (wait_reading_process_input): Turn off atimers instead off
15049 calling stop_polling.
15050
15051 * emacs.c (main): Call init_atimer.
15052
15053 * keyboard.c (toplevel): Include systime.h and atimer.h.
15054 (polling_for_input): Removed because unused.
15055 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
15056 (poll_timer): New variable.
15057 (poll_for_input, poll_for_input_1): New functions.
15058 (start_polling, stop_polling): Rewritten.
15059
15060 * keyboard.h (polling_for_input): Removed.
427ec082 15061
e12489f9
GM
15062 * atimer.h, atimer.c: New files.
15063
15064 * Makefile.in (obj): Add atimer.o.
15065 (atimer.o): New target.
15066
15067 * blockinput.h (pending_atimers): Add extern declaration.
15068 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
15069
15070 * lisp.h (popup_activated_flag): Add extern declaration.
15071
15072 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 15073 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
15074 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
15075
15076 * xterm.c (toplevel): Include atimer.h.
15077 (toolkit_scroll_bar_interaction): New variable.
15078 (Fxt_process_timeouts): Removed.
15079 (x_process_timeouts): New function.
15080 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
15081 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
15082 (x_make_frame_visible): Call poll_for_input_1 instead of
15083 input_poll_signal. Don't call alarm.
15084 (x_initialize): Install timer calling x_process_timeouts.
427ec082 15085
1e5279b9
DL
150862000-01-24 Dave Love <fx@gnu.org>
15087
6c67ddee 15088 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
15089 Don't use -cckr -- apparently not now necessary.
15090
edf6aeb8
EZ
150912000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
15092
15093 * msdos.c (IT_menu_display): Truncate long menu lines at the right
15094 screen boundary.
15095
9badad41
JR
150962000-01-23 Jason Rumney <jasonr@gnu.org>
15097
15098 * w32fns.c (w32_defined_color): Apply gamma correction before
15099 trying to map to the palette.
15100 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
15101 to w32_clear_rect.
15102
15103 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
15104 here. Callers changed to always pass real device context.
15105 (w32_draw_bitmap): Likewise.
15106 (w32_get_glyph_overhangs): Likewise.
52283633 15107 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
15108 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
15109 pfnSetScrollInfo and SetScrollRange.
15110 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
15111 back into MULE characters after decoding them.
15112 (x_get_glyph_face_and_encoding): Likewise.
15113 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
15114 GetCharABCWidthsW fails, since this is defined on Windows 9x.
15115 (x_produce_glyphs): Calculate per char metrics for a character
15116 that we know exists in default font when font_not_found_p is true.
15117
63bd786b
JR
151182000-01-22 Jason Rumney <jasonr@gnu.org>
15119
15120 * makefile.nt (intervals.obj, composite.obj): New modules.
15121 (composite.h): Added as dependency where appropriate.
15122
15123 * w32gui.h (XGCValue): New struct for emulating X GCs.
15124
15125 * w32term.h (XCharStruct): New struct for emulating X.
15126
15127 * w32console.c (turn_on_face, turn_off_face): New functions.
15128 (change_line_highlight): New prototype for new redisplay.
15129 (write_glyphs): Support multibyte text. Support faces.
15130
52283633 15131 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
15132
15133 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
15134 throughout. struct frame * in place of FRAME_PTR.
15135 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 15136 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
15137 (w32_get_arg): Renamed from x_get_arg.
15138 (Fx_file_dialog): New function.
15139 (w32_list_fonts): Check cache before asking system.
15140 (Vw32_enable_synthesized_fonts): New variable.
15141 (Vw32_enable_italics): Obsolete, removed.
15142
15143 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15144 Use SELECTED_FRAME macro.
15145
15146 * w32menu.c: Add skeleton support for help strings on menus.
15147 (add_menu_item): Native checkbox and radio support added, but not
15148 yet enabled due to bugs.
15149 (push_menu_item): Add parameters type, selection and help.
15150 Callers updated.
15151 Formatting changes to reduce unnecessary diffs with xmenu.c.
15152
15153 * w32select.c (Fw32_set_clipboard_data): Update call to
15154 find_charset_in_str.
15155
15156 * w32term.c: Complete rewrite for new redisplay based on new
15157 xterm.c with necessary sections merged back in from old w32term.c.
15158
6ffd3cf7 151592000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
15160
15161 * data.c (set_internal): Further fix in same criterion.
15162
6ffd3cf7 151632000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
15164
15165 * data.c (set_internal): Fix the criteria for whether
15166 to swap out the old cached binding.
15167
60af03f1
DL
151682000-01-19 Dave Love <fx@gnu.org>
15169
15170 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15171
f9be074f
KH
151722000-01-18 Kenichi Handa <handa@etl.go.jp>
15173
15174 * regex.c (re_compile_fastmap): While checking a range table for
15175 `charset', skip flag bits for a character class correctly.
15176
52b8dbf9
GM
151772000-01-17 Gerd Moellmann <gerd@gnu.org>
15178
d36100c9
GM
15179 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15180
52283633 15181 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
15182
15183 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 15184 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15185
15186 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15187 MENU_ITEMS_ITEM_.*.
15188 (MENU_ITEMS_ITEM_HELP): New enumerator.
15189 (push_menu_item): Add parameter HELP. Record help in menu_items.
15190 (single_menu_item, single_submenu, list_of_items): Call
15191 push_menu_item with new parameter.
15192 (single_submenu): Set help string in widget value.
15193 (menu_highlight_callback): New function.
15194 (set_frame_menubar): Call lw_create_widget with new
15195 parameter list.
15196 (xmenu_show, xdialog_show): Ditto.
15197
3139018f
GM
151982000-01-13 Gerd Moellmann <gerd@gnu.org>
15199
15200 * sound.c (Fplay_sound): Improve doc string.
15201
83c8f461
RS
152022000-01-11 Richard M. Stallman <rms@gnu.org>
15203
15204 * lisp.h (set_internal): Enter the new arg.
15205
15206 * eval.c (specbind): Record buffer-local variables specially,
15207 indicating which buffer's binding was saved.
15208 (unbind_to): Restore buffer-local variables specially
15209 in the proper buffer.
15210
15211 * data.c (set_internal): New arg BUF.
427ec082 15212
83c8f461
RS
15213 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15214 * data.c (Fset): Pass new arg to set_internal.
15215 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15216
1fab1775
GM
152172000-01-11 Gerd Moellmann <gerd@gnu.org>
15218
52283633 15219 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15220
83c8f461 152212000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15222
15223 * minibuf.c (Ftry_completion): Doc fix.
15224
7a85e4df
GM
152252000-01-11 Gerd Moellmann <gerd@gnu.org>
15226
15227 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15228 vector, too.
15229
a970dae4
AS
152302000-01-11 Andreas Schwab <schwab@suse.de>
15231
15232 * coding.c (code_convert_region): Initialize total_skip.
15233
c65d14ee
DL
152342000-01-08 Dave Love <fx@gnu.org>
15235
15236 * eval.c (Fuser_variable_p): Check customizability too.
15237
834938d2
GM
152382000-01-07 Gerd Moellmann <gerd@gnu.org>
15239
15240 * minibuf.c (Fcompleting_read): Doc fix.
15241
e0303cd6
GM
152422000-01-05 Gerd Moellmann <gerd@gnu.org>
15243
8a26744b
GM
15244 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15245 -L /usr/local/lib.
15246
e0303cd6
GM
15247 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15248 Check that input style is supported before trying to create an
15249 IC for it.
15250 (x_window): Call x_create_im.
427ec082 15251
2e471eb5
GM
152522000-01-04 Gerd Moellmann <gerd@gnu.org>
15253
560a7bd2
GM
15254 * xfns.c (current_gif_memory_src): New variable.
15255 (gif_load): Record the address of the current memory source
15256 in current_gif_memory_src.
15257 (gif_read_from_memory): Use current_gif_memory_src.
15258
f9ee84a3
GM
15259 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15260 macros statement form.
15261
d1299cde
GM
15262 * sound.c (struct sound): Renamed from struct sound_file.
15263 (struct sound): Add members `data' and `header_size'.
15264 (enum sound_attr): Add SOUND_DATA.
15265 (current_sound, current_sound_device): Variables renamed from
15266 sound_file and sound_device.
15267 (parse_sound): Parse :data.
15268 (parse_sound): Handle sound data in strings.
15269 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15270 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15271 needed header size.
15272 (wav_play, au_play): Play sounds from string data.
15273
2e471eb5
GM
15274 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15275
15276 * lisp.h: Add prototype for allocate_string_data.
15277
52283633 15278 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15279
15280 * alloc.c (mark_buffer): Remove code in #if 0.
15281 (gc_sweep): Ditto.
15282 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15283 (strings_consed): New variable.
15284 (allocate_string): Set it.
15285 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15286 (Fmemory_use_counts): Return strings_consed. Use Flist.
15287
15288 * alloc.c: General cleanup in comments etc. Remove conditional
15289 compilation for `standalone'.
15290
15291 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15292
15293 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15294 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15295 (DONT_COPY_FLAG): Removed.
15296 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15297 (struct sdata, struct sblock): New
15298 (struct string_block): Rewritten.
15299 (STRINGS_IN_STRING_BLOCK): New macro.
15300 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15301 (large_sblocks, string_blocks, string_free_list): New variables.
15302 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15303 (init_strings): Rewritten.
15304 (allocate_string, allocate_string_data, compact_small_strings)
15305 (free_large_strings, sweep_strings): New functions.
15306 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15307 (struct string_block_head, current_string_block)
15308 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15309 (STRING_PAD): Removed.
15310 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15311 (Fgarbage_collect): Don't set mark bit in large strings.
15312 (mark_object): Mark strings differently. Mark symbol names
15313 differently.
15314 (survives_gc_p): Test marked strings differently.
427ec082 15315 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15316 symbol names.
15317 (compact_strings): Removed.
15318
42608ba8
EZ
153192000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15320
15321 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15322 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15323
e0a09e1a
KH
153242000-01-04 Kenichi Handa <handa@etl.go.jp>
15325
dd9f0750 15326 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15327 in a non-empty buffer.
dd9f0750 15328
3c0f3b15 15329 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15330
44cd3ae5
GM
153312000-01-03 Gerd Moellmann <gerd@gnu.org>
15332
15333 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15334 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15335
15336 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15337
c182a70f
EZ
153382000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15339
15340 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15341 need to test for MSDOS frames.
15342
24480d5b
EZ
153432000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15344
15345 * dosfns.c (unspecified_colors): Remove.
15346 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15347 unspecified_bg.
15348 (msdos_stdcolor_name): Return strings for unspecified fore- and
15349 back-ground colors.
15350
15351 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15352 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15353 (tty_color_name): Return Lisp strings for unspecified fore- and
15354 back-ground colors.
15355 (Finternal_set_lisp_face_attribute): Remove the special treatment
15356 for Qunspecified_{f,b}g.
52283633 15357 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15358
047f434a
GM
153592000-01-03 Gerd Moellmann <gerd@gnu.org>
15360
15361 * xdisp.c (reseat_at_next_visible_line_start): Position before
15362 newline only if ending up on a newline.
15363 (next_element_from_ellipsis): Return success. Handle case of
52283633 15364 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15365 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15366 returns 0.
15367
d684c676
EZ
153682000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15369
15370 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15371 (Fcolor_supported_p): Renamed from face-color-supported-p.
15372
5fe1d139
EZ
153732000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15374
15375 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15376 list of colors renamed to tty-defined-color-alist.
15377 (tty_color_name): Pass the frame to tty-color-by-index.
15378 (realize_tty_face): tty-color-alist is now a function which
15379 accepts the frame as argument.
15380
52283633 15381 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15382
816be8b8
EZ
153832000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15384
15385 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15386 encode_terminal_code.
15387
b635321e
EZ
153882000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15389
15390 * dispnew.c (mode_line_string): Support termcap frames as well.
15391
9b784e96
GM
153922000-01-01 Gerd Moellmann <gerd@gnu.org>
15393
27189709
GM
15394 * syntax.c (Fforward_word): Undo previous change.
15395
15396 * editfns.c (Fconstrain_to_field): Don't constrain if
15397 inhibit-field-text-motion is non-nil.
15398 (Fline_beginning_position): Undo previous change.
15399 (Fline_end_position): Ditto.
15400
15401 * syntax.c (Fforward_word): Notice field boundaries only if
15402 inhibit-field-text-motion is nil.
15403
15404 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15405
15406 * editfns.c (Vinhibit_field_text_motion): New variable.
15407 (inhibit-field-text-motion): New DEFVAR_LISP.
15408 (Fline_beginning_position, Fline_end_position): Notice field
15409 boundaries only if inhibit-field-text-motion is nil.
15410
45158a91
GM
15411 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15412 All calls adjusted.
15413 (x_build_heuristic_mask): Likewise.
15414 (xbm_load_image_from_file): Change error output.
15415 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15416 (gif_load, gs_load, x_kill_gs_process): Ditto.
15417
9b784e96
GM
15418 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15419 color indices when accessing raster pixels.
63cec32f
GM
15420 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15421 one of :file or :data.
15422 (enum pbm_keyword_index): Add PBM_DATA.
15423 (pbm_format): Add :data.
15424 (pbm_image_p): Allow either :file or :data.
15425 (pbm_read_file): New function.
15426 (pbm_scan_number): Rewritten to read from string.
15427 (pbm_load): Support :data.
9b784e96 15428
2cb085db 15429See ChangeLog.8 for earlier changes.
6922b018
KH
15430
15431;; Local Variables:
49b3bd82 15432;; coding: iso-2022-7bit
6922b018 15433;; End:
2a34a036
GM
15434
15435 Copyright (C) 2001 Free Software Foundation, Inc.
15436 Copying and distribution of this file, with or without modification,
15437 are permitted provided the copyright notice and this notice are preserved.