(Fchar_to_string): Make doc string consistent with arguments.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
6a0b793a
PJ
12001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * abbrev.c: Put doc strings in comments.
4
aa601ad0
GM
52001-10-15 Gerd Moellmann <gerd@gnu.org>
6
7 * window.c (window_loop): Don't check for Fother_buffer returning
8 nil.
9
10 * window.c (select_window_1): Unfreeze window start. Remove a
11 doubled test for WINDOW being live.
12
288148a1
PJ
132001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
14
dd8d1e71
PJ
15 * fns.c (Fmapconcat): Fix typo in a doc string.
16
288148a1
PJ
17 * dispnew.c (Fsleep_for): Fix typo in a doc string.
18
9f5eb4a3
GM
192001-10-15 Gerd Moellmann <gerd@gnu.org>
20
21 * xterm.c (x_draw_glyph_string): Restore clipping after
22 drawing box.
23
dbae44c8
PJ
242001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
25
26 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc
27 string.
28
0c88c937
SM
292001-10-14 Stefan Monnier <monnier@cs.yale.edu>
30
56378db4
GM
31 * indent.c (skip_invisible): Use new retval of
32 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 33
845e4cf4
SM
34 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
35 If a parent is reached and noinherit is set, exit immediately.
36 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
37
0c88c937
SM
38 * s/ms-w32.h (EXEC_SUFFIXES):
39 * s/msdos.h (EXEC_SUFFIXES):
40 * process.h (EXEC_SUFFIXES): Remove.
41
42 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
43 (decode_suffixes): Remove.
44
45 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
46 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
47 (invisible_ellipsis_p): Remove.
0c88c937
SM
48
49 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
50 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
51 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
52 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
53 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 54
d19be8a9
PJ
552001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
56
04d7d066
PJ
57 * lisp.h (Ftop_level): Add prototype.
58
d624284c
PJ
59 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
60 (XTread_socket): Improve style of comments to follow other
61 comments.
62
a87414f9
PJ
63 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
64 is already prototyped in included lisp.h).
65
d19be8a9
PJ
66 * frame.c (Fset_mouse_position): Improve style of comment to
67 follow other comments.
68 (Fset_mouse_pixel_position): Improve style of comment to follow
69 other comments.
70 (Fmake_frame_visible): Doc fix and typo in comment.
71 (Fmake_frame_invisible): Doc fix and typo in comment.
72 (Ficonify_frame): Fix typo in comment.
73
c061c855
GM
742001-10-14 Gerd Moellmann <gerd@gnu.org>
75
37f6b5b6 76 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 77 * term.c, alloc.c: Put doc strings in comments.
c061c855 78
e641b454
GM
792001-10-13 Gerd Moellmann <gerd@gnu.org>
80
81 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
82 Provide definitions for doc strings in comments.
83
84 * fns.c: Put doc strings in comments.
85
51724e26
EZ
862001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
87
88 * dired.c (file_name_completion): Ignore a candidate directory if
89 it matches an element in completion-ignored-extensions that ends
90 in a slash.
91 (syms_of_dired) <completion-ignored-extensions>: Mention the above
92 feature in the doc string.
93 (Ffile_name_completion): Ditto.
94
be5fc59b
SM
952001-10-12 Stefan Monnier <monnier@cs.yale.edu>
96
5a1373f3
SM
97 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
98
99 * xfns.c (syms_of_xfns): Update calls to Fprovide.
100
101 * lisp.h (Fprovide): Update prototype.
102 (Ffeaturep, invisible_p): Remove.
103
bbc4a3d3 104 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
105 (DOLIST, LOOP_PROPVAL): New macros.
106 (invisible_p, invisible_ellipsis_p): Use them.
107 (invisible_noellipsis_p): New function.
108 (syms_of_xdisp): Use empty_string.
109
110 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
111
112 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
113 (syms_of_lread) <Vafter_load_alist>: Update docstring.
114
115 * print.c (Fwith_output_to_temp_buffer): Align with
116 internal_with_output_to_temp_buffer.
117 (print_preprocess): Use traverse_intervals_noorder.
118 (print_object): Update call to traverse_intervals.
119
120 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
121 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
122
123 * intervals.c (traverse_intervals_noorder): New function.
124 (search_for_interval, count_intervals): Use it.
125 (traverse_intervals): Use less stack space and drop `depth' arg.
126
127 * fns.c (Ffeaturep): Add new `subfeature' arg.
128 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
129 (Qsubfeatures): New var.
130 (syms_of_fns): Initialize it.
131
026f408d
SM
132 * keymap.c (Fkey_description): Use empty_string.
133 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
134 (syms_of_keymap): Setup inheritance between maps.
135 Don't export Sdescribe_bindings_internal any more.
136
be5fc59b
SM
137 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
138
3365175e
GM
1392001-10-12 Gerd Moellmann <gerd@gnu.org>
140
141 * xterm.c (notice_overwritten_cursor): Renamed from
142 note_overwritten_text_cursor. Rewritten to take glyph widths into
143 account.
144
2ab7765c
EZ
1452001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
146
147 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
148 multi-line strings without a trailing "\n\".
149
311346bb
PJ
1502001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
151
152 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
153 defined.
154
2168e04d
SM
1552001-10-11 Stefan Monnier <monnier@cs.yale.edu>
156
026f408d
SM
157 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
158
c0ec53ad
SM
159 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
160 * w32proc.c (sys_spawnve):
161 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
162 * w32.c (check_windows_init_file):
163 * sound.c (Fplay_sound):
026f408d 164 * emacs.c (init_cmdargs):
c0ec53ad
SM
165 * process.c (Fstart_process): Update calls to openp.
166
167 * callproc.c (Vexec_suffixes): New var.
168 (Fcall_process): Update call to openp.
169 (decode_suffixes): New function.
170 (syms_of_callproc): Init exec-suffixes.
171
172 * lread.c (Vload_suffixes, default_suffixes): New vars.
173 (openp): Take a lisp list of suffixes.
174 Check for file-name-handlers even if the file was absolute already.
175 (syms_of_lread): Declare load-suffixes.
176 (Fload): Fix up call to openp.
177 Don't bother checking for file-name-handler at the very beginning.
178
f6333468
SM
179 * keymap.h (Fcopy_keymap): Don't export.
180
181 * lisp.h (empty_string): Declare.
c0ec53ad
SM
182 (Vload_suffixes, Vexec_suffixes): Declare.
183 (openp): Update prototype.
f6333468
SM
184
185 * emacs.c (empty_string): New var.
186 (syms_of_emacs): Initialize it.
187
188 * search.c (wordify): Use it.
189
190 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
191 selected window if it's not displayed there. Handle the case
192 when the window is dedicated.
193 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
194
195 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
196
2168e04d
SM
197 * syntax.h (struct gl_state_s): Change the meaning of b_property.
198 Remove left_ok and right_ok.
199 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
200 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
201 new meaning of b_property.
202
203 * syntax.c (update_syntax_table): Simplify.
204 (Fforward_comment): Don't skip quoted chars when going backward.
205
13d95cc0
GM
2062001-10-11 Gerd Moellmann <gerd@gnu.org>
207
beb0990f
GM
208 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
209 in case I is of some unsigned type, in which case
210 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
211 comparison becomes bogus.
212
cb938d46
GM
213 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
214 (Fuser_full_name): Fix bug treating a float as a fixnum.
215
216 * data.c (Fstring_to_number): Use make_fixnum_or_float.
217
218 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 219
13d95cc0
GM
220 * lisp.h (circular_list_error): Add prototype.
221
222 * data.c (Qcircular_list): New variable.
223 (circular_list_error): New function.
224 (syms_of_data): Initialize it Qcircular_list.
225
e35f6ff7
SM
2262001-10-10 Stefan Monnier <monnier@cs.yale.edu>
227
228 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
229 casefiddle.c, buffer.c: Include keymap.h.
230
619632ac
GM
2312001-10-10 Gerd Moellmann <gerd@gnu.org>
232
233 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
234 options. From Dave Love <d.love@dl.ac.uk>.
235
5e5388f6
GM
2362001-10-09 Gerd Moellmann <gerd@gnu.org>
237
238 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
239 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
240
14a3dff7
GM
241 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
242 unsigned char.
243 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 244
76ba8daf
AI
2452001-10-08 Andrew Innes <andrewi@gnu.org>
246
247 * lisp.h [max]: Undef min and max before redefining them.
248
249 * w32gui.h: Do not undef min and max.
250
251 * w32heap.h: Do not undef min and max.
252
253 * s/ms-w32.h: Do not undef min and max.
254
166253cb
SM
2552001-10-08 Stefan Monnier <monnier@cs.yale.edu>
256
257 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
258
0c4d9527
SS
2592001-10-08 Sam Steingold <sds@gnu.org>
260
261 * keymap.c (current-active-maps): Quote newlines (compilation error).
262
14bfa771
EZ
2632001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
264
265 * Makefile.in (lisp, shortlisp): Replace bindings.el with
266 bindings.elc, since otherwise doc strings in bindings.el get wrong
267 offsets in etc/DOC.
268
bdb7aa47
SM
2692001-10-08 Stefan Monnier <monnier@cs.yale.edu>
270
9985827f
SM
271 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
272
273 * keyboard.h (map_prompt): Remove.
274
275 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 276 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 277
bdb7aa47
SM
278 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
279
280 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
281
282 * keyboard.c (map_prompt): Remove.
283 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
284 Use Fkeymap_prompt.
285
286 * keymap.h: New file. Extracted from lisp.h.
287
9985827f
SM
288 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
289 (accessible_keymaps_1): New function.
290 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
291 (Fwhere_is_internal): Use Fcurrent_active_maps.
292 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
293 Insert in current buffer rather than standard-output.
294 Don't call `help-mode'. Export to elisp.
295 (describe_buffer_bindings): New wrapper.
296 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
297 and Sdescribe_buffer_bindings.
298
402c9a51
GM
2992001-10-08 Gerd Moellmann <gerd@gnu.org>
300
9985827f 301 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
302 Remove code setting signal handler.
303
9985827f 304 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
305 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
306
3fe81fdf
PJ
3072001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
308
309 * keyboard.c: Don't define min/max.
310
55fa7820
GM
3112001-10-08 Gerd Moellmann <gerd@gnu.org>
312
9985827f 313 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 314 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 315 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 316 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 317 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
318 Don't define min/max.
319
320 * lisp.h (min, max): New macros.
321
55fa7820
GM
322 * puresize.h (BASE_PURESIZE): Increase to 725000.
323
1aad31e4
PJ
3242001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
325
9180dc8c
PJ
326 * xfaces.c (free_frame_menubar): Add prototype.
327
01f67d2c
PJ
328 * lisp.h (init_window): Add prototype.
329
330 * editfns.c: Include ctype.h.
331
332 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 333 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
334 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
335 variable `sb'.
336
5f351ff1
PJ
337 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
338 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
339 `popup_activated_flag' and `title'.
340
479dfe87
PJ
341 * doc.c (Fdocumentation_property): Fix typo in a doc string.
342
dff49fc8
PJ
343 * emacs.c (main): Remove extra `;'.
344
248ac615
PJ
345 * atimer.h (struct atimer): Fix typos in a comment.
346
347 * atimer.c: Fix typo.
348
af232c7d
PJ
349 * Makefile.in: Fix typo.
350
351 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 352
d876f455
MB
3532001-10-07 Miles Bader <miles@gnu.org>
354
355 * Makefile.in (lisp, shortlisp): Add `button.elc'.
356
0037e2f2
KR
3572001-10-07 Ken Raeburn <raeburn@gnu.org>
358
b056f36d
KR
359 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
360 Lisp_Object.
361
0037e2f2
KR
362 * lisp.h (Ffield_end): Declare.
363
1a4372ef
GM
3642001-10-07 Gerd Moellmann <gerd@gnu.org>
365
a4a74e8c
GM
366 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
367
368 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
369
370 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
371
372 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
373
1a4372ef
GM
374 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
375 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
376
377 * alloc.c (inhibit_garbage_collection): Simplify.
378 (Fmemory_use_counts): Ditto.
379
9985827f 380 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
381 (syms_of_data): DEFVAR_INT most-positive-fixnum and
382 most-negative-fixnum.
383
9985827f 384 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
385 (FIXNUM_OVERFLOW_P): New macros.
386
4650e362
MB
3872001-10-06 Miles Bader <miles@gnu.org>
388
389 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
390 scroll_bar_bottom_shadow_pixel fields.
391 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
392 for the shadows, and tell the toolkit about them if we succeed.
393 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
394 Free scroll-bar shadow colors.
395 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
396 Free scroll-bar shadow colors when the background color changes.
397 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
398 Initialize scroll-bar shadow-color fields.
399
ace64e0a
GM
4002001-10-05 Gerd Moellmann <gerd@gnu.org>
401
402 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
403
ec66bdc7
MB
4042001-10-05 Miles Bader <miles@gnu.org>
405
9985827f
SM
406 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
407 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 408 New functions (were in simple.el).
9985827f 409 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
410 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
411 (syms_of_minibuf): Initialize them.
412
a0fb4492
GM
4132001-10-05 Gerd Moellmann <gerd@gnu.org>
414
415 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
416 (tiff_load): Install them as error and warning handler.
417
0bcf87c1
AI
4182001-10-04 Andrew Innes <andrewi@gnu.org>
419
420 * w32fns.c (x_to_w32_color): Fix argument to alloca.
421 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 422 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
423 (x_to_w32_charset): Handle private format for unknown charsets.
424 Handle wildcards in charset spec, by ignoring them.
425 (w32_codepage_for_font): Fix argument to alloca. Don't remove
426 "*-" prefix from charset.
427 (x_to_w32_font): Enlarge remainder array for safety. Specifically
428 handle the truncated font spec form constructed by font_list_1, so
429 that we correctly identify the charset fields. Don't remove "*-"
430 prefix from charset.
431 (w32_list_synthesized_fonts): Fix argument to alloca.
432
c89e4bc5
GM
4332001-10-04 Stefan Monnier <monnier@cs.yale.edu>
434
435 * window.h (MINI_WINDOW_P): Use NILP.
436
437 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
438
439 * termhooks.h (struct input_event): Use proper type for `kind'.
440
4412001-10-04 Gerd Moellmann <gerd@gnu.org>
442
443 This handles unknown keysyms better than before. For example,
444 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
445 Emacs formerly completely ignored F5. With the change, it derives
446 a key symbol from the name of the X keysym, `ccaron' in this case.
447 Reported by Martin Buchholz.
448
449 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
450 unknown keysyms.
451
452 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
453 that EVENT->code isn't a function key, use the keysym's name.
454
4552001-10-04 Gerd Moellmann <gerd@gnu.org>
456
457 FOREACH is a macro that should make it easier to loop over Lisp
458 lists with checks for cycles and proper lists.
459
460 * lisp.h (LIST_END_P, FOREACH): New macros.
461
4622001-10-04 Gerd Moellmann <gerd@gnu.org>
463
464 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
465 called for a lost connection. Prevent dumping core in this case.
466 Instead print the X error, and exit. On user request.
467
468 * xterm.c (error_msg): New variable.
469 (x_fatal_error_signal): New function.
470 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
471 as fatal_error_signal_hook around the call to XtCloseDisplay.
472
473 * emacs.c (fatal_error_signal_hook): New variable.
474 (fatal_error_signal): Call that function.
475
4762001-10-04 Gerd Moellmann <gerd@gnu.org>
477
478 With this, Emacs prints how much pure storage it will
479 approximately need in case pure storage overflows while dumping.
480
481 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
482 New variables.
483 (init_alloc_once): Initialize new variables.
484 (PURE_POINTER_P): Use new variables.
485 (pure_alloc): If pure storage overflows, allocate from the heap.
486 (check_pure_size): New function.
487 (Fgarbage_collect): Don't GC if pure storage has overflowed.
488
489 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
490 (check_pure_size): Add prototype.
491
492 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
493
4942001-10-04 Gerd Moellmann <gerd@gnu.org>
495
496 This adds a post-gc-hook that's run with GC inhibited.
497 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
498
499 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
500 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
501 (Fgarbage_collect): Run post-gc-hook.
502
5032001-10-04 Gerd Moellmann <gerd@gnu.org>
504
505 This adds `defvaralias' and `indirect-variable'. Changes not
506 directly related to this feature are there to gain the same
507 performance again as before variable aliases.
508
509 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
510 code to get and set symbol values, to take defvaralias into account.
511
512 (Note: the new `constant' bit-flag in symbols would make it
513 possible to define arbitrary read-only variables, e.g. with
514 `defconst'.)
515
516 Documentation is in lispref/variables.texi. Added to NEWS.
517
518 * lisp.h (enum symbol_interned): New enumeration.
519 (struct Lisp_Symbol): Remove member `obarray', add
520 `indirect_variable', `constant', and `interned'.
521 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
522 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
523 (indirect_variable): Add prototype.
524
525 * print.c (print_preprocess, print_object): Test internedness of
526 symbols differently.
527
528 * lread.c (Fintern, Funintern): Set symbol's interned and constant
529 bit-fields.
530 (init_obarray): Likewise for t and nil.
531
532 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
533 (Fdefvaralias): New function.
534 (specbind): Simplify the test if symbol is a constant.
535 (syms_of_eval): Defsubr Fdefvaralias.
536
537 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
538 (Qcyclic_variable_indirection): New variable.
539 (Fkeywordp): Check for internedness differently.
540 (Fmakunbound): Simplify the test if symbol is a constant.
541 (indirect_variable, Findirect_variable): New functions.
542 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
543 aliased symbol.
544 (let_shadows_buffer_binding_p): Check for variable aliases.
545 (set_internal): Simplify the test if SYMBOL is a constant.
546 If SYMBOL has a buffer-local value and is an alias, use the aliased
547 symbol instead.
548 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
549 Sindirect_variable.
550
551 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
552 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
553 set directly.
554
555 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
556
557 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
558 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
559 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
560
ab952a4f
GM
5612001-10-04 Gerd Moellmann <gerd@gnu.org>
562
563 * Branch for 21.1.
564
ba88ff28
MB
5652001-10-03 Miles Bader <miles@gnu.org>
566
567 * callproc.c (syms_of_callproc): Explicitly state in the
568 documentation for `process-environment' that earlier entries take
569 precedence over later ones.
570
ae1a9581
MB
5712001-10-02 Miles Bader <miles@gnu.org>
572
573 * textprop.c (Fnext_char_property_change)
574 (Fprevious_char_property_change): Remove reference to non-existant
575 argument OBJECT from doc-string.
576
257e3f57
GM
5772001-10-01 Gerd Moellmann <gerd@gnu.org>
578
579 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
580 (try_window_id): Skip back over lines ending in a newline from a
581 string.
582
583 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
584 New bit flag
585
c1f29759
RS
5862001-10-01 Richard M. Stallman <rms@gnu.org>
587
588 * search.c (Freplace_match): Doc fix.
589
c30dce3d
AI
5902001-09-28 Andrew Innes <andrewi@gnu.org>
591
592 * w32menu.c (set_frame_menubar): Take into account that
593 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
594 <raeburn@gnu.org>.
595
03be5931
EZ
5962001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
597
598 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
599
75bec752
PJ
6002001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
601
602 * s/gnu-linux.h: Fix a typo in comment.
603
83100e0a
AS
6042001-09-28 Andreas Schwab <schwab@suse.de>
605
606 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
607 nocombreloc, in case -z combreloc is the default.
608
a74b48cf
GM
6092001-09-28 Gerd Moellmann <gerd@gnu.org>
610
611 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
612 really going on here.
613
09c4719e
SM
6142001-09-27 Stefan Monnier <monnier@cs.yale.edu>
615
616 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
617
f7d5d963
EZ
6182001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
619
620 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
621 utf-8, menu-bar, and latin-N.
622 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
623 unconditionally now.
624 (lisp): Add latin-N, since they are preloaded.
625
9240e746
GM
6262001-09-27 Gerd Moellmann <gerd@gnu.org>
627
14531065
GM
628 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
629 to the left. Some cleanup.
630
9240e746
GM
631 * xdisp.c (display_mode_element): One more case where a string's
632 multibyteness should be used for display.
633
edd1e654
GM
6342001-09-26 Gerd Moellmann <gerd@gnu.org>
635
b02439c8
GM
636 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
637 reading at EOF.
638
032906b1 639 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 640 of the only temporarily set echoing flag for deciding when
032906b1
GM
641 the cancel echoing.
642
643 * keyboard.c (echo_kboard): Make externally visible.
644
645 * lisp.h (echo_kboard): Declare extern.
646
cb617e7c 647 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 648 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
649 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
650 this round of redisplay if make_cursor_line_fully_visible fails.
651 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 652 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
653
654 * dispextern.h (required_matrix_width, required_matrix_height):
655 Add prototypes.
656
09c4719e
SM
657 * dispnew.c (required_matrix_width, required_matrix_height):
658 New functions.
cb617e7c 659 (allocate_matrices_for_window_redisplay)
09c4719e
SM
660 (allocate_matrices_for_frame_redisplay: Use them.
661 Remove parameters CH_DIM.
cb617e7c 662
edd1e654
GM
663 * xdisp.c (display_mode_lines): Temporarily set selected_frame
664 and selected_window to the frame of the window whose mode-lines
665 are displayed, and to the window itself.
666 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 667 here.
edd1e654 668
924b604c
GM
6692001-09-25 Gerd Moellmann <gerd@gnu.org>
670
daba7643
GM
671 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
672 the image cache under us.
673
b7a22712 674 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 675 with a string value, use that string's multibyteness for displaying.
b7a22712 676
ad648212
GM
677 * keyboard.c (read_char): Don't clear a message for a switch-frame
678 event. From Stefan Monnier <monnier@cs.yale.edu>.
679
9f8531e5
GM
680 * xterm.c (fast_find_position) [0]: Add a presumably more correct
681 version for after 21.1.
682
683 * xdisp.c (row_containing_pos): Make externally visible.
684
685 * dispextern.h (row_containing_pos): Add prototype.
686
924b604c
GM
687 * process.c (send_process): Disable composition if from_byte < 0.
688 From Kenichi Handa <handa@etl.go.jp>.
689
6f3f0db4
GM
6902001-09-24 Gerd Moellmann <gerd@gnu.org>
691
c69c0ebc
GM
692 * xterm.c (refreshicon): Function removed.
693
d1182bc4
GM
694 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
695
696 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
697
698 * xterm.c (toplevel): Remove includes in #if 0.
699
6f3f0db4
GM
700 * process.c (sigchld_handler) [LINUX]: Don't return from
701 the signal handler at the end of the loop.
702
59957f85
GM
7032001-09-21 Gerd Moellmann <gerd@gnu.org>
704
09c4719e
SM
705 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
706 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 707
a0528984
EZ
7082001-09-21 Markus Rost <rost@math.ohio-state.edu>
709
710 * Makefile.in (shortlisp): Add ../lisp/env.elc.
711
db92b288
GM
7122001-09-20 Gerd Moellmann <gerd@gnu.org>
713
3fed8ad5
GM
714 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
715 since this function can be called during GC.
716
db92b288
GM
717 * callproc.c (Fcall_process): Handle errors from pipe(2).
718 (child_setup): Delete code in #ifdef vipc.
719
7121b85a
GM
7202001-09-19 Gerd Moellmann <gerd@gnu.org>
721
72f62cb5
GM
722 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
723 (display_mode_element): Display the string from decode_mode_spec
724 depending on its multibyteness.
725
a2697022
GM
726 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
727
7121b85a
GM
728 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
729
bfc97351
GM
7302001-09-18 Gerd Moellmann <gerd@gnu.org>
731
c9063433
GM
732 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
733 recursive_edit_unwind.
734 (recursive_edit_unwind): Set kboard state according to
735 SINGLE-KBOARD.
736
3fbdba3e
GM
737 * buffer.c (modify_overlay): Don't do nothing if START == END;
738 This can still be a modification, for example when an overlay has
739 a before-string or after-string.
740 (Fdelete_overlay): Prevent redisplay optimizations when deleting
741 an overlay with before-string or after-string.
742
1270031d
GM
743 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
744 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
745
bfc97351
GM
746 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
747 first_unchanged_at_end_row is in front of
748 last_unchanged_at_beg_row. This code should be removed after the
749 release of 21.1.
750
d8a973aa
GM
7512001-09-17 Gerd Moellmann <gerd@gnu.org>
752
e18c8b8d
GM
753 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
754 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
755
d8a973aa
GM
756 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
757 versions >= 2.95.
758
ed7d6ba4
EZ
7592001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
760
761 * dired.c (Ffile_attributes): Doc fix.
762
551629f9
GM
7632001-09-14 Gerd Moellmann <gerd@gnu.org>
764
765 * fileio.c (Ffile_symlink_p): Fix last change.
766
767 * filelock.c (current_lock_owner): Fix last change.
768
4c8c7926
GM
7692001-09-13 Gerd Moellmann <gerd@gnu.org>
770
620c4704
GM
771 * filelock.c (current_lock_owner): If readlink returns ERANGE,
772 take that to mean that the buffer is too small.
773
81c3310d
GM
774 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
775 that to mean that the buffer is too small.
776
06fd3792
GM
777 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
778 current buffer's multibyteness when discarding the iterator's
779 stack.
780
4c8c7926
GM
781 * xfns.c (Fx_window_property): Handle case that property gets
782 deleted between the two calls to XGetWindowProperty.
783
9a72e4c1
GM
7842001-09-11 Gerd Moellmann <gerd@gnu.org>
785
bd819d14
GM
786 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
787
a41edd99
GM
788 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
789 in addition to read-only.
790
791 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
792 to t in addition to read-only.
793
794 * lisp.h (Qinhibit_modification_hooks): Declare.
795
796 * insdel.c (Qinhibit_modification_hooks): New variable.
797 (syms_of_insdel): Initialize and staticpro it.
798
d4881c6a
GM
799 * textprop.c (verify_interval_modification): Don't run
800 modification-hooks if inhibit_modification_hooks.
801
802 * dispnew.c (set_window_cursor_after_update): Fix code
803 finding glyph row containing cursor when cursor_in_echo_area
804 is >= 0.
805
9a72e4c1
GM
806 * xdisp.c (init_from_display_pos): Put some code in #if 0.
807 (add_to_log): Use bcopy instead of strcpy.
808 (init_from_display_pos): Use an explicit loop over bytes in
809 overlay strings instead of calling index.
810
f4a374a1
GM
8112001-09-10 Gerd Moellmann <gerd@gnu.org>
812
300e57bd
GM
813 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
814
815 * dispnew.c (direct_output_for_insert): Don't change IT's
816 stop_charpos to something in front of its current position.
817
f4a374a1
GM
818 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
819 `format'.
820
7e4cbc91
RS
8212001-09-10 Richard M. Stallman <rms@gnu.org>
822
823 * frame.c (Fmouse_position): Doc fix.
824
6afad91e
GM
8252001-09-07 Gerd Moellmann <gerd@gnu.org>
826
827 * xdisp.c (init_from_display_pos): Don't compare the result
828 of calling index with NULL.
829
f76e0368
GM
8302001-09-06 Gerd Moellmann <gerd@gnu.org>
831
832 * xfns.c (x_set_background_color): Don't change the colors
833 of the X window of scroll bar widgets.
834
9ead1b60
AI
8352001-09-05 Andrew Innes <andrewi@gnu.org>
836
837 * w32fns.c (w32_createwindow): Undo last change.
838
c3b497b3
GM
8392001-09-05 Gerd Moellmann <gerd@gnu.org>
840
08e1d6df
GM
841 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
842
c3b497b3
GM
843 * xdisp.c (string_buffer_position): Use *single_char_property*
844 functions instead of the *single_property* functions.
845
8f860180
AI
8462001-09-04 Andrew Innes <andrewi@gnu.org>
847
9a72e4c1
GM
848 * w32term.c (w32_read_socket): Add more information to debugging
849 output.
8f860180
AI
850
851 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
852 from Emacs frames, so that calls to GetClipBox in w32term.c
853 correctly report when part of a frame is visible (including
854 scrollbars, etc). This prevents repeated redrawing of frames when
855 only a scrollbar is visible.
856 (w32_wnd_proc): Add more frame information to debugging output.
857
2ee1aa00
SM
8582001-09-03 Stefan Monnier <monnier@cs.yale.edu>
859
860 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
861
e3b22517
GM
8622001-09-03 Gerd Moellmann <gerd@gnu.org>
863
7e376260
GM
864 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
865 help-echo for a string which doesn't have help-echo itself, use
866 get-char-property to obtain the help-echo from the string's buffer
867 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
868 have mouse-face, look ``under'' the string for mouse-face from an
869 overlay.
870 (fast_find_position): Add parameter STOP. In the final row, stop
871 before glyphs having STOP as object. Don't consider glyphs that
872 are not from a buffer.
873
e3b22517
GM
874 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
875
9a249bba
EZ
8762001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
877
878 * fns.c (Fmd5): Doc fix.
879
c9979669
GM
8802001-08-31 Gerd Moellmann <gerd@gnu.org>
881
882 * composite.c (update_compositions): Do nothing if
883 inhibit-modification-hooks is set.
884
9584e63a
GM
8852001-08-30 Gerd Moellmann <gerd@gnu.org>
886
986ec8f2 887 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 888 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
889 glyph matrices etc. in a core dump.
890
92a25631
GM
891 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
892 (syms_of_xdisp): Initialize them.
893 (handle_single_display_prop): Don't change point, bind `object',
894 `position', and `buffer-position' instead to the object having the
2ee1aa00 895 `display' property, position in the object and position in the buffer.
92a25631 896
9584e63a
GM
897 * fileio.c (Finsert_file_contents): Don't change the multibyteness
898 of the buffer if REPLACE is non-nil.
899
d38633a3
GM
9002001-08-29 Gerd Moellmann <gerd@gnu.org>
901
902 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
903
f4fccc1e
EZ
9042001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
905
906 * w32term.c (x_set_glyph_string_background_width)
907 (show_mouse_face): Track the last changes in xterm.c.
908
eaaa65b0
GM
9092001-08-28 Gerd Moellmann <gerd@gnu.org>
910
7b0870b2
GM
911 * xterm.c (x_set_glyph_string_background_width): Set the glyph
912 string's background width so that multi-line mouse-face is drawn
913 to the right edge of the window.
914 (show_mouse_face): Set the row's mouse_face_p flag after drawing
915 glyphs.
916
6b6e2422 917 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 918 before inserting/writing glyphs.
6b6e2422 919
eaaa65b0
GM
920 * xdisp.c (display_mode_element): Use string_byte_to_char to
921 determine character positions in strings, use chars_in_text
922 instead of strwidth.
923 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
924 a matrix as parameter; this is easier to use from GDB.
925
9ad62cf8
MB
9262001-08-28 Miles Bader <miles@gnu.org>
927
2ee1aa00
SM
928 * textprop.c (Fprevious_single_char_property_change)
929 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 930
32171635
GM
9312001-08-27 Gerd Moellmann <gerd@gnu.org>
932
47d57b22
GM
933 * fileio.c (Finsert_file_contents): Allocate, restore, and
934 free composition data in the case of REPLACE not being nil.
935
936 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
937 there exist overlay strings with newlines at POS.
938 (text_outside_line_unchanged_p): Return 0 if changes start at
939 START and overlays exist at START. Likewise for END.
940 (try_window_id): Give up if init_to_row_end returns 0.
941
32171635
GM
942 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
943 unconditionally.
944
e1249666
GM
9452001-08-24 Gerd Moellmann <gerd@gnu.org>
946
33954c45
GM
947 * keymap.c (access_keymap): Return the cdr of the binding of
948 a generic character instead of its definition (KEY . BINDING).
949
e1249666
GM
950 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
951 to 0 also in the REPLACE case.
952
fb4c6c96
AC
9532001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
954
955 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
956 open to determine whether file is readable (as for DOS_NT).
957
59ecf80b
GM
9582001-08-23 Gerd Moellmann <gerd@gnu.org>
959
960 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
961 coding.type is coding_type_no_conversion or coding_type_raw_text,
962 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
963 non-nil instead of just setting enable_multibyte_characters in the
964 buffer to nil.
965
40e33037
GM
9662001-08-22 Gerd Moellmann <gerd@gnu.org>
967
374388c3
GM
968 * dispextern.h (struct face_cache): Add member
969 menu_face_changed_p.
970
971 * xfaces.c (menu_face_changed_default): New variable.
972 (menu_face_changed_count): Variable removed.
973 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
974 the menu_face_changed_default flag, otherwise set the FRAME's
975 menu_face_changed_p flag if the `menu' face has been changed.
976 Prevent calling set_font_frame_param if FRAME is t.
977 (make_face_cache): Initialize cache's menu_face_changed_p
978 from menu_face_changed_default.
979 (realize_basic_faces): Look into the frame's face cache to
980 determine if the menu appearance needs updating.
981
40e33037
GM
982 * keymap.c (access_keymap): Fix last change to not consider
983 IDX when it has modifiers.
984
859ea4b8
GM
9852001-08-21 Gerd Moellmann <gerd@gnu.org>
986
987 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
988 . BINDING) exists, where GENERIC-CHAR is the generic character of
989 the charset of IDX, return BINDING unless there exists a binding
990 for IDX itself.
991
e8660d73
GM
9922001-08-16 Gerd Moellmann <gerd@gnu.org>
993
cca1b1d7
GM
994 * xrdb.c (SYSV): Don't define on Solaris 2.
995 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
996
e8660d73 997 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 998 of the screen line, not text line, containing IT's current position.
e8660d73 999
93aba6fc
GM
10002001-08-15 Gerd Moellmann <gerd@gnu.org>
1001
288d4e06
GM
1002 * window.c (window_scroll_pixel_based): Don't recenter if
1003 PT is partially visible in the window.
1004
3452efc2
SM
1005 * xterm.c (expose_window_tree, expose_window, expose_line):
1006 Return 1 when overwriting mouse-face.
82f053ab
GM
1007 (expose_frame): If mouse-face was overwritten, redo it.
1008
93aba6fc
GM
1009 * xfaces.c (x_update_menu_appearance): Don't call
1010 set_frame_menubar, let the next redisplay do it.
1011
858a55c1
AI
10122001-08-14 Andrew Innes <andrewi@gnu.org>
1013
1014 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1015 drawing glyph string.
1016
3a990b67
EZ
10172001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1018
1019 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1020 running HI-UX/MPP.
1021
04386463
GM
10222001-08-14 Gerd Moellmann <gerd@gnu.org>
1023
1024 * xfaces.c (x_update_menu_appearance): Save and restore value of
1025 interrupt_input_blocked.
1026
3e6385a4
GM
10272001-08-13 Gerd Moellmann <gerd@gnu.org>
1028
b0e619b4
GM
1029 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1030 a line start, move back to the line start.
3452efc2 1031
0de73d5a
GM
1032 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1033 exactly when a mini-buffer is active.
1034
3e6385a4
GM
1035 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1036 in units of 1/8 character on non window-system frames.
1037 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1038
d1b5f629
EZ
10392001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1040
1041 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1042 a doc string.
1043
eaa2319f
GM
10442001-08-09 Gerd Moellmann <gerd@gnu.org>
1045
8e3189f0
GM
1046 * keyboard.c (Vpre_help_message): New variable.
1047 (syms_of_keyboard): Initialize and staticpro it.
1048 (show_help_echo): Record current message before displaying a
1049 help-echo, and restore that message when clearing the help.
1050
eaa2319f
GM
1051 * xfns.c (x_create_im): Remove prototype.
1052
1053 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1054
1055 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1056
eaa2319f
GM
10572001-08-08 Gerd Moellmann <gerd@gnu.org>
1058
1059 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1060 windows whose height has changed, disable partially visible lines.
eaa2319f 1061
17fdcfc8
GM
10622001-08-07 Gerd Moellmann <gerd@gnu.org>
1063
22d01aed 1064 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1065 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1066
17fdcfc8
GM
1067 * xdisp.c (start_display): Don't try to determine the continuation
1068 lines width if lines are truncated. It's superfluous and leads to
1069 incorrect results if POS is not visible in the window after
1070 reseating the iterator at the previous line start.
1071
8e3fe78e
GM
10722001-08-06 Gerd Moellmann <gerd@gnu.org>
1073
1074 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1075
98a8938c
GM
10762001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1077
1078 * alloc.c (init_stack): Remove declaration.
1079
18f9986a
GM
10802001-08-03 Gerd Moellmann <gerd@gnu.org>
1081
5e1f85e0
GM
1082 * keyboard.c (read_key_sequence): Check that key is an integer
1083 before comparing it with quit_char.
1084 (add_command_key): Use larger_vector.
1085 (read_char_x_menu_prompt): Instead of converting symbol and
1086 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1087 which cannot be confused with valid events.
5e1f85e0
GM
1088 (read_char): When reading from Vunread_command_events, check for
1089 events of the form (EVENT . disabled) instead of
1090 (EVENT . nil).
1091
18f9986a
GM
1092 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1093 a float, determine the max height from the frame's height.
1094
fbc7f2a6
GM
10952001-08-02 Gerd Moellmann <gerd@gnu.org>
1096
1097 * xdisp.c (redisplay_internal): Take message_cleared_p into
1098 account only if minibuf_level == 0.
1099
81b1a79d
GM
11002001-08-01 Gerd Moellmann <gerd@gnu.org>
1101
e5c60873
GM
1102 * xdisp.c (redisplay_internal): Add a check for the last
1103 displayed message.
3452efc2 1104
6e019995
GM
1105 * xdisp.c (message_cleared_p): New variable.
1106 (clear_message): Set message_cleared_p when clearing the current
1107 message.
1108 (redisplay_internal): Look at message_cleared_p to capture
1109 the case that the echo area should be cleared.
1110
308a74d8
GM
1111 * keyboard.c (command_loop_1): Fix spelling of
1112 resize_echo_area_exactly.
1113
3452efc2 1114 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1115
1116 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1117
81b1a79d
GM
1118 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1119 current matrix when the window gets smaller.
1120
ada329e6
EZ
11212001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1122
1123 * print.c (strout): Cast the character passed to insert_char to
1124 unsigned char, to avoid sign extension when it is promoted to int.
1125
ed86208c
GM
11262001-07-31 Gerd Moellmann <gerd@gnu.org>
1127
1128 * fileio.c (Finsert_file_contents): Don't treat a return value
1129 of 0 from emacs_read as an IO error.
1130
6594ac22
GM
11312001-07-30 Gerd Moellmann <gerd@gnu.org>
1132
cef68af5
GM
1133 * keyboard.c (abs): New macro.
1134 (double_click_fuzz): New variable.
1135 (make_lispy_event): Use it to determine what makes a double-click.
1136 (syms_of_keyboard): DEFVAR_INT it.
1137
6594ac22
GM
1138 * xmenu.c (set_frame_menubar): Take into account that
1139 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1140 <raeburn@gnu.org>.
1141
75c5350a
GM
11422001-07-27 Gerd Moellmann <gerd@gnu.org>
1143
1144 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1145
1146 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1147 of row's visible height.
1148
1149 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1150 deal with the first overlay string having an image `display' property.
1151 (try_window_reusing_current_matrix, compute_line_metrics):
1152 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1153 row is invisible above and part of the row is at the same time
1154 invisible below the window.
1155
ac49effe
GM
11562001-07-26 Gerd Moellmann <gerd@gnu.org>
1157
1158 * xfns.c (x-show-tip): Doc fix.
3452efc2 1159
ac49effe
GM
1160 * xfns.c (Vx_max_tooltip_size): New variable.
1161 (syms_of_xfns): DEFVAR_LISP it.
1162 (Fx_show_tip): Set frame's window_width to the width of the
1163 window. Use a maximum tooltip size specified by
1164 Vx_max_tooltip_size, if that has valid contents.
1165 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1166
8c3b00cb
AI
11672001-07-26 Andrew Innes <andrewi@gnu.org>
1168
1169 * w32term.c (x_display_list): New variable.
1170 (w32_term_init): Set it.
1171
1172 * w32term.h (x_display_list): New extern.
1173
16098288
GM
11742001-07-26 Gerd Moellmann <gerd@gnu.org>
1175
1176 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1177 is non-nil, instead of when redisplaying_p is non-zero.
1178 See comment there.
16098288
GM
1179 (mark_window_display_accurate_1): Add an assertion.
1180
64c5be50
GM
11812001-07-25 Gerd Moellmann <gerd@gnu.org>
1182
e743f599
GM
1183 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1184
563b384d
GM
1185 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1186 events so that we get a chance of processing expose events.
1187
64c5be50
GM
1188 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1189
296808a5
GM
11902001-07-24 Gerd Moellmann <gerd@gnu.org>
1191
1192 * xfns.c (valid_image_p): Protect better against invalid image
1193 specifications. Previous code could signal an error.
1194
5247262a
GM
11952001-07-23 Gerd Moellmann <gerd@gnu.org>
1196
3452efc2 1197 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1198 presence of display table entries.
1199 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1200
dd42b31a
GM
1201 * dispnew.c (adjust_glyph_matrix): In the optimization for
1202 windows whose height has changed, use the new window height
1203 to compute which rows to invalidate.
1204
9e5a7f2a
GM
1205 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1206 (MAX_10_EXP): New macro.
1207 (Fformat): Use it.
1208
5247262a
GM
1209 * coding.c (code_convert_region): Handle the multibyte case if
1210 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1211
177ab8ce
GM
12122001-07-20 Gerd Moellmann <gerd@gnu.org>
1213
6e07c0a5
GM
1214 * dispextern.h (struct face): Change type of `stipple' to
1215 int; it's an ID.
1216
177ab8ce
GM
1217 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1218
b5b80599
GM
12192001-07-19 Gerd Moellmann <gerd@gnu.org>
1220
4e2a256b
GM
1221 * dispnew.c (update_window): Don't set the cursor at the end
1222 of the update if display update has been paused.
1223
3452efc2 1224 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1225
c1fd9232
KR
12262001-07-18 Ken Raeburn <raeburn@gnu.org>
1227
1228 * fns.c (Fset_char_table_default): Check that a charset is defined
1229 before checking its dimension.
1230
928a85c1
KR
12312001-07-17 Ken Raeburn <raeburn@gnu.org>
1232
1233 * coding.c (setup_coding_system): Don't do any designation based
1234 on reg_bits if charset is not yet defined.
1235
fb4c6c96 1236 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1237 pointer, using eassert.
1238
de11c1ea
GM
12392001-07-17 Gerd Moellmann <gerd@gnu.org>
1240
3452efc2
SM
1241 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1242 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1243
467f1209
GM
12442001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1245
1246 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1247
c3d6be34
GM
12482001-07-16 Gerd Moellmann <gerd@gnu.org>
1249
c1d61a7d
GM
1250 * fileio.c (unwind_read): Function removed.
1251 (read_non_regular, read_non_regular_quit): New functions.
1252 (Finsert_file_contents): When reading from non-regular files,
1253 arrange to catch a `quit' and terminate the loop. Rearrange
1254 code so that a `quit' when reading from a regular file doesn't
1255 insert text in the buffer.
1256
c3d6be34
GM
1257 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1258 Clear faces afterwards.
1259 (clear_font_table): Take a x_display_info parameter. Don't free
1260 fonts being the default font of any frame on the given display.
1261
e06aa1f9
GM
12622001-07-13 Gerd Moellmann <gerd@gnu.org>
1263
1264 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1265 instead of CHAR_STRING which can signal an error.
1266
1267 * charset.c (char_to_string_1): Extracted from char_to_string.
1268 Return -1 instead of signaling an error.
1269 (char_to_string): Use it.
1270
1271 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1272
176c92e6
SM
12732001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1274
1275 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1276 is t, don't try to append anything to it.
1277
1c56232f
EZ
12782001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1279
1280 * dired.c (file_name_completion): Pass dp->d_name to
1281 Fstring_match, not elt, which is always nil here.
1282
1d2b2268
GM
12832001-07-12 Gerd Moellmann <gerd@gnu.org>
1284
1285 * xselect.c (x_decline_selection_request): Handle errors
1286 caused by receivers that have vanished.
1287
1288 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1289 ignoring events on foreign windows in #if 0. Always dispatch
1290 the event after checking it with x_handle_property_notify.
1291
1292 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1293 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1294 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1295 (toplevel): Add prototypes for file-local functions.
1296 (x_atom_to_symbol): Remove DPYINFO parameter.
1297
fe5a0162
SM
12982001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1299
1300 * w32menu.c (menubar_selection_callback, w32_menu_show):
1301 Initialize `entry' to nil.
1302 (w32_dialog_show): Remove unused `save_wv' variable.
1303 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1304
a777242c
GM
13052001-07-11 Gerd Moellmann <gerd@gnu.org>
1306
8ee5b6a3
GM
1307 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1308
d0e2444e
GM
1309 * fileio.c (unwind_read): Print a message when discarding inserted
1310 text or switching the buffer to unibyte. Change parameter.
1311 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1312
a777242c
GM
1313 * fileio.c (unwind_read): New function.
1314 (Finsert_file_contents): Record it as unwind-function for
1315 the case that reading is interrupted by C-g.
1316
ae794295
GM
13172001-07-10 Gerd Moellmann <gerd@gnu.org>
1318
fe5a0162 1319 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1320 update when scrolling_window returns 0.
1321
6b05fae3
GM
1322 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1323
1324 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1325 for the case that x_decode_color signals an error.
6b05fae3 1326
ae794295
GM
1327 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1328
bb6e8cee
GM
13292001-07-09 Gerd Moellmann <gerd@gnu.org>
1330
1331 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1332 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1333 around ioctls.
1334
36b40a8a
EZ
13352001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1336
24b97d4b
EZ
1337 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1338 doc string line for dos-timezone-offset.
1339
36b40a8a
EZ
1340 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1341 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1342 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1343 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1344
1345 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1346
0967b4b0
GM
13472001-07-05 Gerd Moellmann <gerd@gnu.org>
1348
f25cfe53
GM
1349 * sound.c: Include Emacs' header files with #include "...".
1350
0967b4b0
GM
1351 * eval.c (specbind): Additionally record the buffer that was
1352 current when a buffer-local or frame-local variable was bound.
1353
c347a1c3
GM
13542001-07-04 Gerd Moellmann <gerd@gnu.org>
1355
1356 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1357 to unibyte characters in unibyte buffers.
1358
6332ca8a
GM
13592001-07-03 Gerd Moellmann <gerd@gnu.org>
1360
38472d44
GM
1361 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1362 the frame on the binding stack. Change format of entries for
1363 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1364 (unbind_to): Handle unbinding a frame-local variable.
1365
6332ca8a 1366 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1367 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1368 (dump_glyph_row): Print row's continuation_lines_width.
1369 (try_window_id): Take the shortcut if ZV is visible in the
1370 window, but there are actually no changes at ZV.
1371
63d1b174
GM
13722001-07-02 Gerd Moellmann <gerd@gnu.org>
1373
4c175203
GM
1374 * xterm.h (x_free_dpy_colors): Add prototype.
1375
1376 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1377 right number of arguments.
1378
0b54ce28
GM
1379 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1380 ($(lwlibdir)TAGS): New target.
4c175203 1381 (TAGS): Fix dependency list.
0b54ce28 1382
63d1b174
GM
1383 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1384 with input blocked.
1385
d827466c
GM
13862001-06-30 Gerd Moellmann <gerd@gnu.org>
1387
1388 * emacs.c (main): Remove extern declaration for sys_nerr, which
1389 isn't used and causes a compilation error with GCC 3.0 on
1390 FreeBSD 4.3.
1391
b5cb1ada
GM
13922001-06-27 Gerd Moellmann <gerd@gnu.org>
1393
a5d3ec3f 1394 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1395 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1396 (toplevel): Include <signal.h> and syssignal.h.
1397
b5cb1ada
GM
1398 * sound.c (vox_configure, vox_close): Turn off atimers
1399 around ioctls.
1400
d9bad487
GM
14012001-06-26 Gerd Moellmann <gerd@gnu.org>
1402
fdbb67fe
GM
1403 * keyboard.c (read_char) <non_reread>: Record the previous idle
1404 start time before calling timer_stop_idle.
1405 (read_char) <reread_first>: After processing a help-echo event,
1406 restore the previous idle start time.
1407
d9bad487
GM
1408 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1409 the start of invisible text.
1410 (setup_for_ellipsis): New function.
1411 (next_overlay_string): After all overlay strings have been
1412 processed, display an ellipsis if necessary.
1413 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1414 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1415
1416 * dispextern.h (struct iterator_stack_entry): Add member
1417 display_ellipsis_p.
1418
2b9c25e0
GM
14192001-06-25 Gerd Moellmann <gerd@gnu.org>
1420
80de57df
GM
1421 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1422 on the value of the wait-for-wm frame parameter.
1423
1424 * xterm.h (struct x_output): Add member wait_for_wm.
1425
1426 * xfns.c (Qwait_for_wm): New variable.
1427 (x_frame_parms): Add entry for `wait-for-wm".
1428 (x_set_wait_for_wm): New function.
1429 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1430 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1431
2b9c25e0
GM
1432 * xdisp.c (try_window_id) <all changes below window end>: Don't
1433 take this shortcut if ZV is visible in the window.
1434 (try_window_id): When checking for window start being in changed
1435 text, don't check that the buffer's size has changed.
1436
f772775c
RS
14372001-06-23 Richard M. Stallman <rms@gnu.org>
1438
1439 * minibuf.c (Fcompleting_read): Doc fix.
1440
fa9090b8
GM
14412001-06-19 Gerd Moellmann <gerd@gnu.org>
1442
1443 * composite.c (Ffind_composition_internal): Accept ZV
1444 and a string's end position as POS.
1445
f6f1beba
GM
14462001-06-18 Gerd Moellmann <gerd@gnu.org>
1447
1448 * composite.c (Ffind_composition_internal): Check POS
1449 for validity.
1450
0ae83348
EZ
14512001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1452
1453 * editfns.c (Fmessage_box): If the frame is not under a window
1454 system, output the message in the echo area.
1455
e4cdc335
RS
14562001-06-14 Richard M. Stallman <rms@gnu.org>
1457
1458 * xdisp.c (try_window_id): When EOB is visible, don't treat
1459 insertion at EOB as if it were "off the bottom of the screen."
1460
a55a5f3c
AI
14612001-06-11 Andrew Innes <andrewi@gnu.org>
1462
1463 * w32proc.c (create_child): Add new parameter is_gui_app.
1464 (w32_executable_type): Add new parameter is_gui_app.
1465 (sys_spawnve): Use it.
1466 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1467 SIGQUIT. This matches better how the signals are interpreted by
1468 MSVC compiled programs.
1469 (syms_of_ntproc): Update docstring.
1470
1b85dc1c
SM
14712001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1472
1473 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1474 well otherwise note_mouse_highlight might optimize away highlighting
1475 if we pass over that same overlay again.
1476
b75f8eab
EZ
14772001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1478
1479 * lread.c (Fload): Document that the argument is run via
1480 substitute-in-file-name.
1481
94843cc1
GM
14822001-05-31 Gerd Moellmann <gerd@gnu.org>
1483
b14659e6
GM
1484 * Makefile.in (bootstrap-doc): New target.
1485 (bootstrap-emacs): Depend on it.
1486
0894672f
GM
1487 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1488 auto-save-list-file-name when shutting down Emacs, because
1489 creating the directory might signal an error, and leaves
1490 Emacs in a strange state.
1491
94843cc1
GM
1492 * term.c: (tty_cursor_hidden): New variable.
1493 (update_begin): Don't call tty_hide_cursor. Clean up.
1494 (update_end, set_terminal_window, set_scroll_region): Clean up.
1495 (ring_bell, reset_terminal_modes): Clean up.
1496 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1497 on tty_cursor_hidden.
1498 (write_glyphs): Call tty_hide_cursor.
1499
db3a49a6
SM
15002001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1501
1502 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1503
8bd189fb
GM
15042001-05-30 Gerd Moellmann <gerd@gnu.org>
1505
6f1be3b9
GM
1506 * xfns.c (enum image_value_type): New enumerator
1507 IMAGE_STRING_OR_NIL_VALUE.
1508 (parse_image_spec): Handle it.
1509 (xbm_format, pbm_format): Use it for :foreground and :background.
1510 (xbm_load, pbm_load): Check for nil color names.
1511
8bd189fb
GM
1512 * xterm.c (note_mouse_highlight): If an overlapping overlay
1513 exists, but we find that we highlight the same overlay as before,
1514 don't do the highlighting again.
1515
7bdba03c
GM
15162001-05-29 Gerd Moellmann <gerd@gnu.org>
1517
4c329aa8
GM
1518 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1519 Protect unibyte strings created by replacing their multibyte
1520 equivalents in menu_items.
1521
e15e2828
GM
1522 * keymap.c (Fsingle_key_description): NUL-terminate the string
1523 buffer before calling build_string.
1524
7bdba03c
GM
1525 * callproc.c (Fcall_process): Deal with decode_coding returning
1526 CODING_FINISH_INCONSISTENT_EOL.
1527
89c8dc6c
GM
15282001-05-28 Gerd Moellmann <gerd@gnu.org>
1529
db3a49a6 1530 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1531 an item's name with its key description in case the description
1532 is a multibyte string.
1533
1534 * keymap.c (Fsingle_key_description): Create a multibyte string
1535 only if necessary.
1536
eb04d6cd
GM
1537 * macros.c (Fstart_kbd_macro): Doc fix.
1538
8bd6307f
GM
1539 * xterm.c (cursor_in_mouse_face_p): New function.
1540 (x_draw_stretch_glyph_string): Use it to choose a different GC
1541 when drawing a cursor within highlighted text.
1542
e26c4089
GM
1543 * editfns.c (char_property_eq): Put in #if 0.
1544
1545 * indent.c (string_display_width): Put in #if 0.
1546
1547 * lread.c (Fload): Remove unused label.
1548
89c8dc6c
GM
1549 * termcap.c (speeds): Put in #if 0.
1550
9a1211f2
GM
15512001-05-18 Gerd Moellmann <gerd@gnu.org>
1552
29148a3f
GM
1553 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1554
9a1211f2
GM
1555 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1556 transformation matrix by 10.
1557
09393d07
GM
15582001-05-16 Gerd Moellmann <gerd@gnu.org>
1559
1560 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1561 only if it's equal to the former foreground pixel color.
db3a49a6 1562 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1563 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1564
460e6bae
GM
15652001-05-16 Dave Love <fx@gnu.org>
1566
1567 * insdel.c (signal_before_change, signal_after_change): Consider a
1568 local change hook which changes the buffer.
99c78ce8
GM
1569
1570 * process.c (read_process_output): Don't call signal_after_change
1571 and update_compositions after insert_from_string_before_markers.
1572
dbcf3c03
GM
15732001-05-16 Gerd Moellmann <gerd@gnu.org>
1574
a90b3d3c
GM
1575 * xfaces.c (split_font_name): Use the right field when
1576 checking for `[...]' syntax.
1577
1b7818b4
GM
1578 * buffer.c (copy_overlays): New function.
1579 (clone_per_buffer_values): Use it.
1580
1581 * buffer.h (OVERLAY_PLIST): New macro.
1582
9bae8781
GM
1583 * keymap.c (Fsingle_key_description): Replace a build_string with
1584 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1585
dbcf3c03
GM
1586 * fontset.c (Ffontset_info): Check that face is non-null
1587 before accessing its fields.
1588
8a1ae4dd
GM
15892001-05-15 Gerd Moellmann <gerd@gnu.org>
1590
18a0a39e
GM
1591 * keyboard.c (read_key_sequence): Prevent generating a fake
1592 prefix key twice.
1593
e335b66a
GM
1594 * xfaces.c (split_font_name): Handle `[...]' for the right
1595 font name fields.
1596
8a1ae4dd
GM
1597 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1598 of CCL_STAT_INVALID_CMD.
1599
3cf80731
SM
16002001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1601
33568849
SM
1602 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1603 in <var> has no default value yet.
1604
3cf80731
SM
1605 * xfaces.c (try_alternative_families): First try the FAMILY.
1606 And if nothing is found in the end, try again with scalable fonts.
1607 (try_font_list): Let try_alternative_families do a bit more of
1608 the work. Only use FAMILY if it is not nil.
1609 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1610
933b0249
GM
16112001-05-14 Gerd Moellmann <gerd@gnu.org>
1612
58e5af83
GM
1613 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1614 pointer shape when show_mouse_face has already done it.
33568849 1615
58e5af83 1616 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1617 full-width rows.
1618
7b16a6bf
GM
1619 * xfaces.c (split_font_name): Make sure to leave the loop
1620 with the right value of `i'.
3cf80731 1621
933b0249
GM
1622 * xfaces.c (split_font_name): Handle matrix transformations
1623 in the pixel and point size fields of XLFD font names.
1624 (xlfd_point_size): Likewise.
1625
dddcbf00
EZ
16262001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1627
3cf80731 1628 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1629 (x_to_w32_font): Add prototype.
1630
7689ef0b
EZ
1631 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1632 redefining, to avoid compiler warnings.
1633
e7c15bba
EZ
1634 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1635
dddcbf00
EZ
1636 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1637 (w32_get_bdf_glyph): Cast between unsigned char and char when
1638 passing arguments to subroutines, to shut up compiler warnings.
1639 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1640 GET_HEX_VAL.
1641
1642 * xfaces.c: Include keyboard.h before frame.h, not after it.
1643
1644 * widget.c: Include keyboard.h before frame.h.
1645
1646 * w32term.h (struct image, struct face): Forward declaration, to
1647 avoid compiler warnings.
1648
7bd2d083
GM
16492001-05-11 Gerd Moellmann <gerd@gnu.org>
1650
47e72862
GM
1651 * keyboard.c (read_key_sequence): Don't modify events when
1652 generating fake prefix keys (mode-line, scroll-bar, ...) since
1653 this prevents proper processing of such events when pushed back
1654 into unread-command-events.
1655
dd5f324b
GM
1656 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1657 actually redrawn. Make the function static.
1658 (note_mouse_highlight): Fix a case where the mouse cursor
1659 was changed back to the text cursor.
1660
1661 * xterm.h (clear_mouse_face): Remove prototype.
1662
d88a79d4
GM
1663 * xdisp.c (try_window_id): Fix the fix and set the right
1664 window_end_vpos.
1665
1666 * xdisp.c (try_window_id): Fix computation of window end in the
1667 case that lines were deleted at the end of the window. Add some
1668 more debug_method_adds.
0416532f 1669
7bd2d083
GM
1670 * xfaces.c (try_alternative_families): New function.
1671 (try_font_list): Use it. If ATTRS specifies a family, check
1672 fonts from that family first.
1673 (choose_face_font): Remove code setting the family part of
1674 the pattern to nil.
1675
23fca891
GM
16762001-05-10 Gerd Moellmann <gerd@gnu.org>
1677
ff9aa2ca
GM
1678 * xdisp.c (try_window_id): Fix case of all changes before
1679 the window start.
7b2654b5 1680
23fca891
GM
1681 * xdisp.c (try_window_id): Add some xasserts.
1682
e9726794
GM
16832001-05-09 Gerd Moellmann <gerd@gnu.org>
1684
1685 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1686
9e53a675
GM
16872001-05-09 Dave Love <fx@gnu.org>
1688
1689 * xdisp.c (GIVE_UP): Fix for K&R C.
1690
0d487c52
GM
16912001-05-09 Gerd Moellmann <gerd@gnu.org>
1692
fe88d421
GM
1693 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1694
0d487c52
GM
1695 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1696 back to the text cursor shape without need.
1697
1e9fc92e
GM
16982001-05-07 Gerd Moellmann <gerd@gnu.org>
1699
a2a6232e
GM
1700 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1701
1702 * dispextern.h (inverse_video): Declare extern.
1703
1e9fc92e
GM
1704 * keyboard.c (delete_kboard): Handle the case that selected_frame
1705 has been deleted in the course of x_connection_closed.
1706
12949a7f
EZ
17072001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1708
7b2654b5
SM
1709 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1710 Fix the change from 2001-04-30.
12949a7f 1711
2fa2f461
GM
17122001-05-03 Gerd Moellmann <gerd@gnu.org>
1713
a779d213
GM
1714 * xfns.c (file_dialog_unmap_cb): New function.
1715 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1716 where a dialog is closed via the window manager.
1717
7b2654b5 1718 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1719 the window start or all below the window end mostly rewritten.
1720 (redisplay_window): Move the tests if try_window_id is
1721 applicable to try_window_id.
1722 (GIVE_UP): New macro.
1723
3356df63
GM
17242001-05-02 Gerd Moellmann <gerd@gnu.org>
1725
a39202f6 1726 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1727 currently being updated, mark the frame garbaged.
1728 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1729 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1730
3356df63
GM
1731 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1732 again if it has already been drawn.
1733
a9d2fd1d
SM
17342001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1735
1736 * syntax.c (update_syntax_table): Check that oldi has the same
1737 properties as old_prop before deciding not to invalidate.
1738
c95fc5f1
GM
17392001-04-30 Gerd Moellmann <gerd@gnu.org>
1740
a9793e45
GM
1741 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1742 read-only text that is so because of text properties.
1743
c95fc5f1 1744 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1745 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1746 windows that are components of a Lucid menu bar.
1747
5a5d9185
GM
17482001-04-27 Gerd Moellmann <gerd@gnu.org>
1749
1750 * term.c (turn_on_face): Fix reverse video handling on terminals
1751 that don't support colors.
1752
ba973f7a
GM
17532001-04-26 Gerd Moellmann <gerd@gnu.org>
1754
1755 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1756 a non-buffer.
1757
8c56a983
GM
17582001-04-25 Gerd Moellmann <gerd@gnu.org>
1759
a728644c
GM
1760 * term.c (toggle_highlight): New function.
1761 (turn_on_face): Change handling of reverse video.
1762
7b2654b5
SM
1763 * process.c (wait_reading_process_input):
1764 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1765
bfd8410f
GM
1766 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1767 of the number of overlays to check.
1768
be2488ca
GM
1769 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1770
8c56a983
GM
1771 * xdisp.c (try_window_id): Fix a case where window_end_pos
1772 and window_end_bytepos were not adjusted.
1773
522d42f7
GM
17742001-04-23 Gerd Moellmann <gerd@gnu.org>
1775
1776 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1777 zero instead of -1.
1778
78c1afb6
EZ
17792001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1780
a9d2fd1d
SM
1781 * process.c (wait_reading_process_input) [!subprocesses]:
1782 Don't reference waiting_for_user_input_p, it's not defined in the
1783 branch without async subprocesses support.
78c1afb6 1784
a2fab450
GM
17852001-04-19 Gerd Moellmann <gerd@gnu.org>
1786
a122a38e
GM
1787 * keyboard.c (delete_kboard): Prevent a dangling reference
1788 from current_kboard to KB, which is freed.
1789
a9d2fd1d
SM
1790 * process.c (wait_reading_process_input):
1791 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1792 read_key_sequence aware of buffer changes from under it.
1793
0f8d6dc7
GM
17942001-04-18 Gerd Moellmann <gerd@gnu.org>
1795
eeffb293
GM
1796 * xfaces.c (Qscalable_fonts_allowed): New variable.
1797 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1798 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1799 removed.
eeffb293 1800 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1801 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1802 for scalable-fonts-allowed to t.
eeffb293 1803
0f8d6dc7
GM
1804 * fileio.c (Finsert_file_contents): If the file size returned from
1805 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1806 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1807
eec2d1de
EZ
18082001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1809
1810 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1811 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1812 (__memalign_hook): Make the two prototypes consistent.
1813
f4f480bd
GM
18142001-04-17 Gerd Moellmann <gerd@gnu.org>
1815
1816 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1817 matrix of mini-windows.
1818
52283633
SM
18192001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1820
1821 * intervals.c (find_interval): Don't rebalance during signal handling.
1822
ec2423c9
GM
18232001-04-11 Gerd Moellmann <gerd@gnu.org>
1824
30cb0001 1825 * fns.c: Include blockinput.h.
52283633 1826
ec2423c9
GM
1827 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1828
719d83ad
GM
18292001-04-10 Gerd Moellmann <gerd@gnu.org>
1830
60f8d735
GM
1831 * fns.c (Fcompare_strings): Fix return values.
1832
afffeb57
GM
1833 * window.c (window_scroll): Change the meaning of N to mean
1834 N screen-fulls or N lines.
1835 (window_scroll_pixel_based, window_scroll_line_based)
1836 (scroll_command, Fscroll_other_window): Change accordingly.
1837
52283633
SM
1838 * window.c (window_scroll_pixel_based, Frecenter):
1839 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1840 height of the window.
1841
1842 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1843 instead of using it.last_visible_y for the height of the window.
52283633 1844
719d83ad 1845 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1846 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1847
1848 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1849 able to write to hidden and system files. From Dan Holmsand
1850 <dan@eyebee.com>.
719d83ad 1851
8ddf3ee1
GM
1852 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1853 Holmsand <dan@eyebee.com>.
719d83ad 1854
522ed7fb
GM
18552001-04-09 Gerd Moellmann <gerd@gnu.org>
1856
9170e5d4
GM
1857 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1858
522ed7fb
GM
1859 * window.c (window_internal_height): Return 1 less if the
1860 window has a header line.
1861
1862 * xdisp.c (try_window_id): When scrolling on a terminal, take
1863 the change of window_internal_height into account.
1864
ceeb3d7d
EZ
18652001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1866
1867 * gmalloc.c (align): If the argument SIZE would overflow
1868 __malloc_ptrdiff_t, fail right away.
1869
63685b9d
GM
18702001-04-06 Gerd Moellmann <gerd@gnu.org>
1871
1872 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1873 Make sure the tooltip is completely visible.
1874 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1875
1876 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1877
1878 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1879
3ffb33bb
DL
18802001-04-06 Dave Love <fx@gnu.org>
1881
52283633
SM
1882 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1883 Fix test of `from'.
3ffb33bb 1884
869fb12c
GM
18852001-04-06 Gerd Moellmann <gerd@gnu.org>
1886
52283633 1887 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1888
869fb12c
GM
1889 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1890
441bf856
GM
18912001-04-05 Gerd Moellmann <gerd@gnu.org>
1892
4d664b04
GM
1893 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1894
52283633 1895 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1896
30ca89f5
GM
1897 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1898 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1899
1900 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1901 shell widget's position only if it is non-null.
1902
52283633
SM
1903 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1904 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1905
81a81c0f
GM
1906 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1907 FILENAME to bring it in synch with the documentation.
1908
441bf856
GM
1909 * xfaces.c (realizing_basic_faces_p): Renamed from
1910 realize_default_face_p.
1911 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1912 (realize_default_face): Don't set the flag.
1913
702a1e8e
GM
19142001-04-04 Gerd Moellmann <gerd@gnu.org>
1915
1013f4e3
GM
1916 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1917
52283633
SM
1918 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1919
1013f4e3
GM
1920 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1921 the buffer that was used for echoing.
1922
702a1e8e
GM
1923 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1924 (first_font_matching): Removed unused function.
1925 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1926 (may_use_scalable_font_p): Remove parameter FONT; rename
1927 parameter NAME to FONT.
1928 (x_face_list_fonts): Fix missing bounds check.
1929 (realizing_default_face_p): New variable.
1930 (realize_default_face): Set and clear that flag.
1931 (x_face_list_fonts): When called during the realization of the
1932 default face, and no matching fonts are found when ignoring
1933 scalable fonts and fonts matching a regexp from
1934 face-ignored-fonts, try without ignoring fonts.
1935
f9dbcda4
GM
19362001-04-03 Gerd Moellmann <gerd@gnu.org>
1937
ad18ffb1
GM
1938 * xfns.c (postprocess_image): New function.
1939 (lookup_image): Call it for all image types except PostScript.
1940 (x_kill_gs_process): Call postprocess_image.
1941
f9dbcda4
GM
1942 * xterm.c (x_use_underline_position_properties): New variable.
1943 (x_draw_glyph_string): Use it.
1944 (syms_of_xterm): DEFVAR_BOOL it.
1945
651f03b6
GM
19462001-04-02 Gerd Moellmann <gerd@gnu.org>
1947
1948 * xterm.c (x_alloc_nearest_color_1): New function.
1949 (x_alloc_nearest_color): Use it.
1950 (x_color_cells): Take a Display as argument, instead of a frame.
1951 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1952 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1953 (x_initialize): Register cvt_string_to_pixel as resource converter
1954 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1955
73d75a62
GM
19562001-03-30 Gerd Moellmann <gerd@gnu.org>
1957
b2046df8
GM
1958 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1959 (set_iterator_to_next): If a string from a display property ends,
1960 consider the case that this might also be the end of an
1961 overlay string having the display property.
1962
52283633 1963 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1964
87d8eba4
GM
1965 * xdisp.c (reseat_to_string): Undo last change.
1966
73d75a62
GM
1967 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1968 matrix of a window when the header line changes, when
1969 new rows are allocated, or when the width changes.
1970
911a2406
EZ
19712001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1972
52283633 1973 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1974
aea51abe
EZ
19752001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1976
1977 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1978 deprecated.
1979
176bc847
GM
19802001-03-29 Gerd Moellmann <gerd@gnu.org>
1981
ed31fabf
GM
1982 * data.c (Fsubr_interactive_form): New function.
1983 (syms_of_data): Defsubr it.
1984
176bc847
GM
1985 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1986 (live_float_p, live_misc_p): Return 1 only if the offset of the
1987 pointer in its block is >= 0.
1988
e59d0e9d
GM
19892001-03-28 Paul Eggert <eggert@twinsun.com>
1990
1991 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1992 microseconds calcuation. Avoid double-rounding problem.
1993 In doc string, warn that the result is approximate.
1994
f827b862
GM
19952001-03-28 Gerd Moellmann <gerd@gnu.org>
1996
30a3f61c
GM
1997 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1998 bind `inhibit-eval-during-redisplay' to t.
1999
2000 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2001
2002 * xdisp.c (inhibit_eval_during_redisplay)
2003 (Qinhibit_eval_during_redisplay): New variables.
2004 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2005 don't eval, return nil instead.
2006 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2007 Initialize Qinhibit_eval_during_redisplay.
2008
e719f5ae
GM
2009 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2010 the iterator's multibyte_p flag.
2011
deb2613a
GM
2012 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2013 instead of setting it to zero; it's incremented for each frame
2014 where the menu face is changed.
2015
52283633
SM
2016 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2017 change bottom shadow accordingly.
2018
2019 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2020 intersections here.
2021 (expose_window): Do it here instead.
52283633 2022 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2023
f827b862
GM
2024 * bytecode.c (BYTE_CODE_QUIT): New macro.
2025 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2026
4bde0ebb
GM
20272001-03-27 Gerd Moellmann <gerd@gnu.org>
2028
607ec83c
GM
2029 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2030 Give up if matrix starts in an ellipsis.
2031 (init_from_display_pos): Do nothing if POS doesn't specify
2032 a dpvec_index but the iterator has such a position.
2033
0245398f
GM
2034 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2035
aba25348
GM
2036 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2037 x/y position is (0, 0) after destroying the menu bar, restore
2038 its original position.
2039
4bde0ebb
GM
2040 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2041 (init_from_display_pos): Use it.
2042 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2043
8cdb267e
GM
20442001-03-26 Gerd Moellmann <gerd@gnu.org>
2045
2046 * xdisp.c (try_window_id): Undo last change.
2047
9948db79
EZ
20482001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2049
2050 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2051
2052 * buffer.c (syms_of_buffer): Doc fix.
2053
2eddf899
GM
20542001-03-26 Gerd Moellmann <gerd@gnu.org>
2055
2056 * xfaces.c (x_update_menu_appearance): Use local variable
2057 popup_path for setting font resources.
2058
6c145d35
EZ
20592001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2060
6a65b1b5
EZ
2061 * frame.c (Fframe_list): Don't reference tip_frame if
2062 HAVE_WINDOW_SYSTEM is not defined.
2063
6c145d35
EZ
2064 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2065 <wl@gnu.org>.
2066
d74c1900
GM
20672001-03-25 Gerd Moellmann <gerd@gnu.org>
2068
20fbd925
GM
2069 * xdisp.c (init_from_display_pos): Test invisible property
2070 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2071
927c5b3b
GM
2072 * xdisp.c (redisplay_internal) <update one window>: Make sure
2073 last_arrow_position and last_arrow_string are set.
2074
d74c1900
GM
2075 * frame.c (Fframe_list): Don't return a tooltip frame.
2076
091f8878
GM
20772001-03-23 Gerd Moellmann <gerd@gnu.org>
2078
52283633
SM
2079 * xdisp.c (mark_window_display_accurate_1): New function,
2080 extracted from mark_window_display_accurate.
2081 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2082 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2083 (mark_window_display_accurate): Use it.
2084 (redisplay_internal): Use it for the selected window.
2085 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2086 for the selected frame.
2087
ac90c44f
GM
2088 * xdisp.c Use make_number, for readability.
2089 (try_window_id): Disable rows below the window end.
2090 (try_window_reusing_current_matrix): Use cursor_row_p.
2091 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2092 of rows.
2093 (init_from_display_pos): If POS specifies a position in a display
2094 vector, maybe get the iterator set up for that ellipsis.
43c09969 2095
091f8878
GM
2096 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2097
991786dd
EZ
20982001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2099
2100 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2101
6c29b43c
GM
21022001-03-23 Gerd Moellmann <gerd@gnu.org>
2103
2104 * xfaces.c (x_update_menu_appearance): Use a different path
2105 for Lucid popup menus.
2106
d8731202
SM
21072001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2108
2109 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2110
2111 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2112 (string_buffer_position): Use `make_number'.
2113
f61a541b
GM
21142001-03-22 Gerd Moellmann <gerd@gnu.org>
2115
3c9e997b
GM
2116 * xfaces.c (x_update_menu_appearance): Renamed from
2117 x_set_menu_face_resources. Use different resources for popups.
2118
2119 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2120 (GC_CHECK_STRING_BYTES): Don't define.
2121
364cd450
GM
2122 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2123 Removed, together with subroutines.
2124 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2125 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2126
d8731202
SM
2127 * dispextern.h (x_set_menu_resources_from_menu_face):
2128 Remove prototype.
364cd450 2129
d8731202 2130 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2131 Remove calls to x_set_menu_resources_from_menu_face.
2132
d8731202
SM
2133 * xfaces.c (xm_set_menu_resources_from_menu_face):
2134 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2135
2136 * xmenu.c: Include widget.h.
2137 (single_submenu): Return int. Some cleanup.
2138 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2139
140330de
GM
21402001-03-21 Gerd Moellmann <gerd@gnu.org>
2141
2142 * xterm.c (x_update_window_end): Handle overwritten mouse face
2143 also for tool bar windows.
2144 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2145 DRAW is DRAW_IMAGE_RAISED.
2146
1741905c
GM
21472001-03-20 Gerd Moellmann <gerd@gnu.org>
2148
fa88947e
GM
2149 * print.c (syms_of_print): Doc fixes.
2150
1741905c
GM
2151 * fns.c (Fmd5): Doc fix.
2152
ade0bee1
GM
21532001-03-19 Gerd Moellmann <gerd@gnu.org>
2154
357e7376
GM
2155 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2156 Clear area of the frame not occupied by the scroll bar.
2157
c2c097cc
GM
2158 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2159 tip frame's root window buffer to *tip* right after creating
2160 the frame.
2161
ade0bee1
GM
2162 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2163 is an integer don't have to be for space characters.
2164
88c6e37e
GM
21652001-03-16 Gerd Moellmann <gerd@gnu.org>
2166
52283633
SM
2167 * indent.c (current_column, current_column_1, Fmove_to_column)
2168 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2169
c62eed76
KH
21702001-03-15 Kenichi Handa <handa@etl.go.jp>
2171
2172 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2173 drawing glyph string.
2174
c899e7e6
GM
21752001-03-15 Gerd Moellmann <gerd@gnu.org>
2176
d0bbfc99
GM
2177 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2178 (command_loop_1): Undo last change.
2179
03d1a189
GM
2180 * xterm.c (fast_find_position): Return the correct vpos.
2181
c899e7e6 2182 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2183 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2184 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2185 Call store_symval_forwarding with BUF null.
2186 (set_internal): Call store_symval_forwarding with the BUF
2187 parameter passed to set_internal. Formerly, the value was always
2188 set in the current buffer; the buffer recorded in specbind for
2189 this case wasn't used.
2190 (arith_driver): Reindent.
2191
52283633
SM
2192 * buffer.c (swap_out_buffer_local_variables):
2193 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2194
2195 * lisp.h (store_symval_forwarding): Change prototype.
2196
2197 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2198
57ac7c81
GM
21992001-03-14 Gerd Moellmann <gerd@gnu.org>
2200
697617d9
GM
2201 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2202 FOR_DELETION. Avoid resizing the mini-window of the selected
2203 frame if FOR_DELETION is set.
2204 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2205 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2206 signature.
2207
2208 * window.c (Fset_window_configuration): Change call to
2209 do_switch_frame to new format.
2210
2211 * keyboard.c (quit_throw_to_read_char): Change call to
2212 do_switch_frame to new format.
2213
2214 * lisp.h (do_switch_frame): Change prototype.
2215
819dce0f
GM
2216 * frame.c (Fframe_parameters): In the `buffer-list' frame
2217 parameter, store the buffer list of FRAME, not the list of the
2218 selected frame.
2219
57ac7c81
GM
2220 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2221 box just because the glyph row's full_width_p flag is set.
2222
65008712
GM
22232001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2224
2225 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2226 skip the padding blanks inserted in extend_face_to_end_of_line,
2227 before checking for trailing whitespace.
2228
159cf431
GM
22292001-03-13 Gerd Moellmann <gerd@gnu.org>
2230
52283633 2231 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2232 Remove special handling for LessTif/Motif.
2233 (toplevel): Don't include Xm/Xm.h.
2234
52283633
SM
2235 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2236 Remove workaround code for LessTif; it doesn't work anymore.
2237
2564ea1b 2238 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2239 Xm/ScrollBarP.h.
afcdc0a1 2240
52283633
SM
2241 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2242 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2243 contemporary LessTif.
2244
52283633
SM
2245 * xfaces.c (xm_set_menu_resources_from_menu_face):
2246 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2247
159cf431
GM
2248 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2249 removing button grabs.
2250
c6f7429a
KH
22512001-03-13 Kenichi Handa <handa@etl.go.jp>
2252
cb82d767
KH
2253 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2254 and clip-large-size-font as obsolete.
2255
c6f7429a
KH
2256 * lread.c (read_multibyte): Check the validity of multibyte
2257 sequence. If invalid, return the first byte.
2258
760cefb5
GM
22592001-03-12 Gerd Moellmann <gerd@gnu.org>
2260
2261 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2262 before running the command; timer functions or process
2263 filters may have set it.
2264
5141f9d0
EZ
22652001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2266
2267 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2268 Doc fix.
2269
b6a15240
GM
22702001-03-12 Gerd Moellmann <gerd@gnu.org>
2271
2272 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2273 to sprintf.
2274
95522746
GM
22752001-03-09 Gerd Moellmann <gerd@gnu.org>
2276
db14cfc5
GM
2277 * dispextern.h (string_buffer_position): Add prototype.
2278
52283633 2279 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2280 (single_display_prop_string_p): New functions.
2281
2282 * xterm.c (note_mouse_highlight): If there's no help-echo on
2283 a string, look at the buffer text ``under'' it.
2284
2285 * keyboard.c (make_lispy_event): Add string info to the event,
2286 analogous to what's done on mode lines.
2287 (read_key_sequence): For a click on a string, consider `local-map'
2288 and `keymap' of that string.
2289
52283633
SM
2290 * keyboard.c (make_lispy_event, make_lispy_movement):
2291 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2292
2293 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2294
2295 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2296 POS; return void.
2297
95522746
GM
2298 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2299 flags argument to emacs_open; it seems to conflict with O_EXCL.
2300
898a399d
KH
23012001-03-09 Kenichi Handa <handa@etl.go.jp>
2302
28cd4910
KH
2303 * composite.h (struct composition): Change types of members;
2304 glyph_len to unsigned, width to unsigned short.
898a399d 2305
4cdf6a6c
AI
23062001-03-08 Andrew Innes <andrewi@gnu.org>
2307
2308 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2309 menu titles.
2310
129004d3
GM
23112001-03-08 Gerd Moellmann <gerd@gnu.org>
2312
221dd3e7
GM
2313 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2314 instead of nil.
2315
52283633 2316 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2317 help-echo in strings.
2318 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2319 (fast_find_string_pos): New function.
2320
52283633
SM
2321 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2322 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2323
2324 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2325 Handle `mouse-face'.
2326
2327 * dispextern.h (face_at_string_position): Change prototype.
2328
52283633 2329 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2330
129004d3
GM
2331 * keyboard.c (make_lispy_event): Avoid generating drag events
2332 if the mouse hasn't actually moved to another buffer position.
52283633 2333
80c8ab8c
DL
23342001-03-08 Dave Love <fx@gnu.org>
2335
129004d3 2336 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2337
989521fd
GM
23382001-03-08 Gerd Moellmann <gerd@gnu.org>
2339
2340 * process.c (Fset_process_window_size): Fix a typo.
2341
bb5c338d
KH
23422001-03-08 Kenichi Handa <handa@etl.go.jp>
2343
2344 * coding.c (detect_coding_sjis): Do more rigid check.
2345 (detect_coding_big5): Likewise.
2346 (decode_coding_sjis_big5): Likewise.
2347 (Fdetect_coding_region): Call detect_coding_system with tailing
2348 anchor byte `\0' for more rigid detection.
52283633 2349 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2350 (Fdetect_coding_string): Likewise.
2351
8b8f9197
SM
23522001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2353
2354 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2355 a string before extracting its data.
2356
3bdf2660
GM
23572001-03-07 Gerd Moellmann <gerd@gnu.org>
2358
2359 * window.c (Frecenter): Rewrite code handling negative values
2360 of ARG on graphical frames.
2361
23622001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2363
2364 * window.c (displayed_window_lines): If W->start is outside the
2365 accessible portion of the buffer, call start_display with BEGV or
2366 ZV instead of W->start.
2367
471f86b9
GM
23682001-03-07 Gerd Moellmann <gerd@gnu.org>
2369
2ab62c6c
GM
2370 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2371
471f86b9
GM
2372 * process.c (Fset_process_filter): Don't crash if the input
2373 file descriptor of PROCESS is closed.
2374 (Fset_process_window_size): Likewise.
2375
101922c3
GM
23762001-03-06 Kenichi Handa <handa@etl.go.jp>
2377
2378 * xterm.c (XTflash): Make the timeout of select shorter, and call
2379 select repeatedly until the desired time expires.
2380
45d051a7
GM
23812001-03-06 Gerd Moellmann <gerd@gnu.org>
2382
2383 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2384
2385 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2386
2387 * lisp.h (Vwindow_list): Declare extern.
2388
8f372c46
EZ
23892001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2390
2391 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2392
f16a7aa5
GM
23932001-03-06 Gerd Moellmann <gerd@gnu.org>
2394
157ae273
GM
2395 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2396 to detect a case where we have to highlight a different region
2397 despite not having left the currently highlighted region.
2398 Set mouse_face_overlay in the x_display_info.
45d051a7 2399 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2400
2401 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2402
2403 * buffer.c (mouse_face_overlay_overlaps): New function.
2404
2405 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2406 (Qmouse_face): Declare extern.
2407
f16a7aa5
GM
2408 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2409 if face_change_count is non-zero.
2410
827afcac
KH
24112001-03-06 Kenichi Handa <handa@etl.go.jp>
2412
2413 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2414 that the source is unibyte.
2415
14c7242e
DL
24162001-03-05 Dave Love <fx@gnu.org>
2417
827afcac 2418 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2419
c28b847b
GM
24202001-03-05 Gerd Moellmann <gerd@gnu.org>
2421
2422 * minibuf.c (read_minibuf): Clean up the binding stack if
2423 called noninteractively.
2424
b86644f2
KH
24252001-03-05 Kenichi Handa <handa@etl.go.jp>
2426
2427 * coding.c (syms_of_coding): Docstring modified.
2428
203682cc 24292001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2430
2431 * charset.c (char_to_string): If a single byte char has modifier
2432 bits that can't be reflected to the character code, ignore them
45d051a7 2433 instead of signaling an error.
b86644f2 2434
e30bd7b7
EZ
24352001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2436
2437 * s/msdos.h: Update copyright notice.
2438
2439 * dosfns.h: Update copyright notice.
2440
2441 * dosfns.c: Update copyright notice.
2442
2443 * msdos.c: Update copyright notice.
2444
b52b65bd
GM
24452001-03-02 Gerd Moellmann <gerd@gnu.org>
2446
2447 * xterm.c (glyph_rect): New function.
2448 (XTmouse_position): Use it to raise the threshold for mouse
2449 movement event generation.
2450
53c4b1e6
EZ
24512001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2452
2453 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2454 specifies (reverse . t), reverse the initial screen colors.
2455 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2456 but we are reversing the colors, set bg_set, not fg_set.
2457 Likewise for setting background-color and reversing: set fg_set.
2458 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2459 in effect.
2460
2461 * xfaces.c (Finternal_set_lisp_face_attribute)
2462 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2463 parameters alist.
2464
f964b4d7
GM
24652001-03-02 Gerd Moellmann <gerd@gnu.org>
2466
ef53d75e
GM
2467 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2468 to a single slash in the middle of file names.
2469
52283633 2470 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2471 Accept only alphanumeric time zone names.
2472
f964b4d7
GM
2473 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2474 or width area.
2475 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2476 a widget to zero height.
52283633 2477
c3c45f65
GM
24782001-03-01 Gerd Moellmann <gerd@gnu.org>
2479
2480 * window.c (Fwindow_end): Call move_it_past_eol only if
2481 ending up on a partially visible line.
2482
028d739a
DL
24832001-03-01 Dave Love <fx@gnu.org>
2484
2485 * ccl.c (Fccl_execute): Doc fix.
2486
57c5889c
GM
24872001-03-01 Gerd Moellmann <gerd@gnu.org>
2488
35f59f6b
GM
2489 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2490 of the tool bar before calling x_figure_window_size.
2491
f84ff02c
GM
2492 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2493 NULL after destroying it, otherwise XTread_socket can access a
2494 destroyed widget when input is unblocked.
2495
8b8f9197 2496 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2497
57c5889c
GM
2498 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2499 same name as before, although there was a change in fontsets.
2500
224227d1
KR
25012001-02-28 Ken Raeburn <raeburn@gnu.org>
2502
4560730a
KR
2503 * lisp.h (Fframe_parameter): Declare.
2504
224227d1 2505 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2506 Lisp_Object.
224227d1 2507
ece93c02
GM
25082001-02-28 Gerd Moellmann <gerd@gnu.org>
2509
11ef99b9
GM
2510 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2511 NULL instead.
2512
2513 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2514 NULL instead.
2515
ece93c02
GM
2516 * alloc.c (toplevel): Include process.h.
2517 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2518 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2519 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2520 (allocate_vector, allocate_hash_table, allocate_window)
2521 (allocate_frame, allocate_process, allocate_other_vector):
2522 New functions.
ece93c02
GM
2523 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2524 (mark_maybe_pointer): New function.
52283633 2525 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2526 remain and not Lisp_Objects.
2527 (min_heap_address, max_heap_address): New variables.
2528 (mem_find): Return MEM_NIL if START is below min_heap_address or
2529 above max_heap_address.
2530 (mem_insert): Compute min_heap_address and max_heap_address.
2531
2532 * process.c (make_process): Use allocate_process.
2533
2534 * frame.c (make_frame): Use allocate_frame.
2535
2536 * window.c (make_window, make_dummy_parent): Use allocate_window.
2537 (Fcurrent_window_configuration): Use allocate_other_vector.
2538
2539 * lisp.h (allocate_vectorlike): Remove prototype.
2540 (allocate_vector, allocate_other_vector, allocate_frame)
2541 (allocate_window, allocate_process, allocate_hash_table):
2542 Add prototypes.
2543
2544 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2545 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2546
063af457
KH
25472001-02-27 Kenichi Handa <handa@etl.go.jp>
2548
2549 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2550 treat the produced bytes as a valid multibyte sequence.
2551
2552 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2553 (ccl_driver) <CCL_WriteMultibyteChar2>:
2554 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2555 <ccl_finish>: Set ccl->eight_bit_control properly.
2556
2557 * ccl.h (struct ccl_program): New member eight_bit_control.
2558
f58c6494
SM
25592001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2560
2561 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2562 accessible_keymaps_char_table.
2563 (accessible_keymaps_char_table): Obey `is_metized'.
2564 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2565 Lisp_Object.
2566
c596c392
GM
25672001-02-26 Gerd Moellmann <gerd@gnu.org>
2568
2569 * dispnew.c: Check HAVE_TERM_H before including term.h.
2570
425de386
AI
25712001-02-24 Andrew Innes <andrewi@gnu.org>
2572
2573 * makefile.w32-in: Update copyright notice.
2574
2ba11bbd
SM
25752001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2576
2577 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2578
66c56ed1
KH
25792001-02-24 Kenichi Handa <handa@etl.go.jp>
2580
4c1593ce
KH
2581 * Makefile.in (lisp): Add international/utf-8.elc.
2582
66c56ed1
KH
2583 * fontset.c (Fnew_fontset): Fix handling of the case that an
2584 element of FONTLIST is a cons of family and registry.
2585
796ead7e
JR
25862001-02-23 Jason Rumney <jasonr@gnu.org>
2587
2588 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2589 to height unconditionally.
2590
2591 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2592 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2593 (x_insert_glyphs): Call window_box_left to obtain the left
2594 x-coordinate of the area to shift.
2595
2596 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2597 safe_run_hooks.
2598
f6839838
AI
25992001-02-22 Andrew Innes <andrewi@gnu.org>
2600
52283633 2601 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2602 ($(BLD)\dispnew.obj):
2603 ($(BLD)\editfns.obj):
2604 ($(BLD)\fileio.obj):
2605 ($(BLD)\filelock.obj):
2606 ($(BLD)\keyboard.obj):
2607 ($(BLD)\w32proc.obj):
2608 ($(BLD)\process.obj):
2609 ($(BLD)\sysdep.obj): Ditto.
2610
2611 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2612 header files.
52283633
SM
2613 ($(BLD)/dispnew.$(O)):
2614 ($(BLD)/editfns.$(O)):
2615 ($(BLD)/fileio.$(O)):
2616 ($(BLD)/filelock.$(O)):
2617 ($(BLD)/keyboard.$(O)):
2618 ($(BLD)/w32proc.$(O)):
2619 ($(BLD)/process.$(O)):
f6839838
AI
2620 ($(BLD)/sysdep.$(O)): Ditto.
2621
c224f70b
GM
26222001-02-22 Gerd Moellmann <gerd@gnu.org>
2623
51695746
GM
2624 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2625 at the start of the function, check that the \n in it->c is
2626 from the iterator's current position.
52283633 2627
a61b7058
GM
2628 * xdisp.c (handle_single_display_prop): Add parameter
2629 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2630 properties which replace the display of text with something else.
2631 (handle_display_prop): Call handle_single_display_prop with
2632 additional argument saying if we already replaced text display
2633 with something else. Use AREF.
52283633 2634 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2635 (decode_mode_spec_coding): Use AREF and ASIZE.
2636
3473f362
GM
2637 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2638 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2639 * vmstime.h: Files removed.
52283633 2640
2bb58df3
GM
2641 * unexencap.c, unexfx2800.c: Files removed.
2642
c224f70b
GM
2643 * dispnew.c (direct_output_for_insert): Give up if we are showing
2644 a message or just cleared the message because we might need to
2645 resize the echo area window or display an empty echo area.
2646
ffc9ff0c
GM
26472001-02-21 Gerd Moellmann <gerd@gnu.org>
2648
0528abe1
GM
2649 * xdisp.c (redisplay_internal): Do the
2650 mark_window_display_accurate after all windows have been
2651 redisplayed because this call resets flags in buffers which are
2652 needed for proper redisplay.
2653
52283633
SM
2654 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2655 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2656 the old names.
2657
52283633
SM
2658 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2659 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2660
2661 * msdos.h (struct x_output): Rename busy_window to
2662 hourglass_window, busy_p to hourglass_p.
2663
52283633
SM
2664 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2665 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2666
2667 * xfns.c: Rename everything containing *busy_cursor* and similar
2668 to *hourglass*.
2669 (syms_of_w32fns): Rename x-busy-pointer-shape to
2670 x-hourglass-pointer-shape, display-busy-cursor to
2671 display-hourglass, busy-cursor-delay to hourglass-delay.
2672
2673 * w32fns.c: Rename everything containing *busy_cursor* and similar
2674 to *hourglass*.
2675 (syms_of_w32fns): Rename x-busy-pointer-shape to
2676 x-hourglass-pointer-shape, display-busy-cursor to
2677 display-hourglass, busy-cursor-delay to hourglass-delay.
2678
2679 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2680 of its busy_p flag.
2681
2682 * dispextern.h (start_hourglass, cancel_hourglass)
2683 (display_hourglass_p): Renamed from *busy_cursor*.
2684
ab2c5f0a
GM
26852001-02-20 Gerd Moellmann <gerd@gnu.org>
2686
d17e49a8
GM
2687 * keyboard.c (read_char): When an event from unread-command-events
2688 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2689
fa97adf6
GM
2690 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2691 equal to the current buffer.
2692
ab2c5f0a
GM
2693 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2694 nil, otherwise we're left with truncate_lines t when a message
2695 is printed with message-truncate-lines bound to t.
2696
aeac019e
GM
26972001-02-19 Gerd Moellmann <gerd@gnu.org>
2698
c8bc6f65
GM
2699 * window.c (Fmove_to_window_line): Undo last change.
2700 (displayed_window_lines): Call line_bottom_y to determine
2701 the line's bottom position.
2702
2703 * dispextern.h (line_bottom_y): Add prototype.
2704
52283633 2705 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2706 (pos_visible_p): Use it.
2707
980a2d69
GM
2708 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2709 set redisplaying_p to 0 here instead of in Frecursive_edit.
2710 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2711 set redisplaying_p.
2712
52283633 2713 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2714 New variables.
2715 (syms_of_xdisp): Initialize new variables.
2716 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2717 Specbind `inhibit-menubar-update' when updating the menu bar.
2718
65048e97
GM
2719 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2720 safe_run_hooks.
2721
2722 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2723 safe_run_hooks.
2724
a57c4026
GM
2725 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2726 is null.
2727
aeac019e
GM
2728 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2729 to the start of the file.
2730
76846b31
GM
27312001-02-16 Gerd Moellmann <gerd@gnu.org>
2732
f3f053f3 2733 * window.c (set_window_buffer): Fix last change.
52283633 2734
f3f053f3
GM
2735 * window.c (set_window_buffer): Set window's vscroll to 0.
2736
dad75588
GM
2737 * window.c (coordinates_in_window): Increase width of area
2738 where the vertical line can be dragged.
2739
c220b753
GM
2740 * xterm.c (x_set_glyph_string_background_width): Extend the
2741 background face to the end of the drawing area in the text
2742 area, only.
2743
c56b1c1b
GM
2744 * xdisp.c (handle_single_display_prop): Set iterator's position
2745 to where the `display' property starts, like for images.
2746 (dump_glyph): New function.
2747 (dump_glyph_row): Use it. Dump info about marginal areas.
2748
2749 * dispnew.c (direct_output_for_insert): Recognize more cases where
2750 glyphs can be written instead of being inserted.
2751
2752 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2753 the left x-coordinate of the area to shift.
2754
76846b31
GM
2755 * dired.c (directory_files_internal): Set result list to nil
2756 before retrying.
2757
0fc71a77
KH
27582001-02-15 Kenichi Handa <handa@etl.go.jp>
2759
2760 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2761 invalid multibyte sequence, treat *SRC as a character of
2762 eight-bit-graphic.
2763
25078b54
EZ
27642001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2765
2766 * textprop.c (Fset_text_properties): Doc fix.
2767
8399f8a0
GM
27682001-02-15 Gerd Moellmann <gerd@gnu.org>
2769
2770 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2771
9a2a6f73
DL
27722001-02-14 Dave Love <fx@gnu.org>
2773
2774 * coding.c: Doc and message fixes.
2775
bf853fee
AI
27762001-02-14 Andrew Innes <andrewi@gnu.org>
2777
2778 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2779 Emacs frame above the screen size.
2780
78c663d8
GM
27812001-02-14 Gerd Moellmann <gerd@gnu.org>
2782
2783 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2784
7cc9f69f
GM
27852001-02-13 Gerd Moellmann <gerd@gnu.org>
2786
0a411995
GM
2787 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2788 case that TO ends up beyond ZV after running before-change-functions.
2789
5ddc1b75
GM
2790 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2791 the selected window if it is showing the buffer in question.
2792
7cc9f69f
GM
2793 * dired.c (directory_files_internal): Initialize errno.
2794 (toplevel): Include errno.h.
2795
2e6621ca
GM
27962001-02-13 Kenichi Handa <handa@etl.go.jp>
2797
2798 * xfaces.c (best_matching_font): New parameter width_ratio.
2799 Multiply avgwidth by width_ratio.
2800 (choose_face_font): Call best_matching_font with width_ratio
2801 calculated from the column width of C.
2802
60222d69
AI
28032001-02-12 Andrew Innes <andrewi@gnu.org>
2804
2805 The following changes are to draw box lines inside characters area
2806 if line-width is negative.
52283633 2807
60222d69
AI
2808 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2809 face->box_line_width is negative.
2810 (x_produce_stretch_glyph): Likewise.
2811 (x_produce_glyphs): Likewise.
2812 (x_estimate_mode_line_height): Likewise.
2813 (x_draw_glyph_string_background): Likewise.
2814 (x_draw_glyph_string_foreground): Likewise.
2815 (x_draw_composite_glyph_string_foreground): Likewise.
2816 (x_draw_glyph_string_box): Likewise.
2817 (x_draw_image_foreground): Likewise.
2818 (x_draw_image_relief): Likewise.
2819 (x_draw_image_foreground_1): Likewise.
2820 (x_draw_image_glyph_string): Likewise.
2821
9804b846
KH
28222001-02-09 Kenichi Handa <handa@etl.go.jp>
2823
2824 The following changes are to draw box lines inside characters area
2825 if line-width is negative.
52283633 2826
9804b846
KH
2827 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2828 face->box_line_width is negative.
2829 (x_produce_stretch_glyph): Likewise.
2830 (x_produce_glyphs): Likewise.
2831 (x_estimate_mode_line_height): Likewise.
2832 (x_draw_glyph_string_background): Likewise.
2833 (x_draw_glyph_string_foreground): Likewise.
2834 (x_draw_composite_glyph_string_foreground): Likewise.
2835 (x_draw_glyph_string_box): Likewise.
2836 (x_draw_image_foreground): Likewise.
2837 (x_draw_image_relief): Likewise.
2838 (x_draw_image_foreground_1): Likewise.
2839 (x_draw_image_glyph_string): Likewise.
2840
2841 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2842 and :line-width can be negative.
52283633 2843 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2844
49be9f70
JR
28452001-02-09 Jason Rumney <jasonr@gnu.org>
2846
2847 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2848 characters the same as ASCII and latin-1.
2849 (x_display_and_set_cursor): Check for the focus frame's selected
2850 window instead of selected_window.
2851 (x_after_update_window_line): Don't clear if frame's internal
2852 border width is zero.
2853 (x_new_font): Don't change a tooltip's size.
2854 (w32_initialize): Set char_ins_del_ok to 1.
2855
2856 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2857 (x_set_font): If font hasn't changed, avoid recomputing
2858 faces and other things.
52283633
SM
2859 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2860 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2861 (x_create_tip_frame): Prevent changing the tooltip's
2862 background color by specifying a color for the default font
2863 in .Xdefaults.
2864 (Qcancel_timer): New variable.
2865 (syms_of_w32fns): Initialize and staticpro it.
2866 (Fx_hide_tip, Fx_show_tip): Use it.
2867 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2868 the timer.
2869 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2870
2871 * w32.c (init_environment): Duplicate local string before putenv.
2872
555e35d2
SZ
28732001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2874
2875 * charset.c (Fstring): A typo.
2876
19c92c94
KH
28772001-02-09 Kenichi Handa <handa@etl.go.jp>
2878
e47a1c33
KH
2879 * charset.c (Fstring): If all arguments are less than 256, return
2880 a unibyte string.
2881
2882 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2883 return a unibyte string.
2884
19c92c94
KH
2885 * coding.c (code_convert_region): After detecting a coding, if
2886 nothing found, set coding->composing to COMPOSITION_NO.
2887 (decode_coding_string): Likewise.
2888
d8e675f5
SM
28892001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2890
2891 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2892 to avoid overflow.
2893
bd503487
KH
28942001-02-07 Kenichi Handa <handa@etl.go.jp>
2895
2896 * charset.c (parse_str_to_multibyte): New function.
2897
2898 * charset.h (parse_str_to_multibyte): Extern it.
2899
2900 * print.c (print_string): If we are going to print a unibyte
2901 string into a multibyte buffer, convert the string to multibyte by
2902 str_to_multibyte.
2903
a8370d72
AI
29042001-02-06 Andrew Innes <andrewi@gnu.org>
2905
2906 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2907 been created. It seems we can get sent window messages such as
2908 WM_ERASEBKGND before we properly update a frame.
2909
c363a1d6
GM
29102001-02-06 Gerd Moellmann <gerd@gnu.org>
2911
2912 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2913 Avoid some unnecessary cursor positioning.
2914
a08332c0
GM
29152001-02-05 Gerd Moellmann <gerd@gnu.org>
2916
52283633 2917 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2918 (LFACE_AVGWIDTH): New macro.
2919 (LFACEP): Use AREF.
2920 (check_lface_attrs): Check LFACE_AVGWIDTH.
2921 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2922 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2923 (merge_face_vectors): Check LFACE_AVGWIDTH.
2924 (Finternal_make_lisp_face): Use AREF.
2925 (xm_set_menu_resources_from_menu_face)
2926 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2927 (Finternal_lisp_face_empty_p): Use AREF.
2928 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2929 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2930 Compare average widths..
2931 (best_matching_font): Arrange for comparing average widths.
2932
52283633
SM
2933 * dispextern.h (enum lface_attribute_index):
2934 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2935
5cb3c8d4
DL
29362001-02-05 Dave Love <fx@gnu.org>
2937
2938 * puresize.h: Revert last change following loadup.el change.
2939
193fba87
AI
29402001-02-05 Andrew Innes <andrewi@gnu.org>
2941
2942 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2943 invocation of temacs, to work with Windows 2000.
2944 (bootstrap-emacs): Ditto.
2945
e16f52ce
GM
29462001-02-05 Gerd Moellmann <gerd@gnu.org>
2947
7a58ab59
GM
2948 * xterm.c (x_display_and_set_cursor): Check for the focus
2949 frame's selected window instead of selected_window.
2950
e89aaabd
GM
2951 * xdisp.c (try_scrolling): If point is in the line below the
2952 window, make sure to move the iterator at least a canonical
2953 char height down.
2954
52283633 2955 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2956
789ce875
KH
29572001-02-05 Kenichi Handa <handa@etl.go.jp>
2958
52283633
SM
2959 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2960 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2961 (ccl_driver): If the CCL program is terminated because of
2962 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2963 destination instead of throwing them away.
2964
20b28f82
GM
29652001-02-02 Gerd Moellmann <gerd@gnu.org>
2966
79fb38c0
GM
2967 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2968 faces and other things.
2969
20b28f82
GM
2970 * xdisp.c (get_next_display_element): Fix case of empty
2971 display table entry.
2972
5a72551e
EZ
29732001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2974
eb24d0bf
EZ
2975 * editfns.c (Fconstrain_to_field): Doc fix.
2976
6a3f48c7
EZ
2977 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2978 into `thoroughly', to make it consistent with the doc string.
2979
5a72551e
EZ
2980 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2981
01acdb05
GM
29822001-02-01 Gerd Moellmann <gerd@gnu.org>
2983
0353b28f
GM
2984 * search.c (search_buffer): Call set_search_regs with a byte
2985 position, not a character position.
2986
01acdb05
GM
2987 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2988 minibuffer-only,
2989
e86b5133
EZ
29902001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2991
2992 * frame.c (Fmodify_frame_parameters): Doc fix.
2993
7442878f
GM
29942001-01-31 Gerd Moellmann <gerd@gnu.org>
2995
01acdb05
GM
2996 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2997 identifier which is not reserved by Standard C.
52283633 2998
7442878f
GM
2999 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3000
3001 * window.c (enum window_part): New enumeration.
3002 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3003 Qright_bitmap_area.
3004 (coordinates_in_window): Return an enumerator from enum
3005 window_part. Fix handling of right scroll bar.
3006 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3007 `right-fringe' instead of `left-bitmap-area' and
3008 `right-bitmap-area'. Use enumerators from enum window_part
3009 instead of hard-coded integers.
52283633
SM
3010 (check_window_containing, window_from_coordinates):
3011 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3012 (syms_of_window): Replace Qleft_bitmap_area and
3013 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3014
7c132cba
EZ
30152001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3016
3017 * editfns.c (Fformat_time_string): Doc fix.
3018
c359dd9e
SM
30192001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3020
3021 * keymap.c (Fwhere_is_internal): Use the first valid binding
3022 if no ascii binding is found (when firstonly is t).
3023
ce070307
GM
30242001-01-31 Gerd Moellmann <gerd@gnu.org>
3025
b4f30ec5
GM
3026 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3027 instead of Finteractive_p.
3028
3029 * lisp.h (interactive_p): Add prototype.
3030
3031 * eval.c (interactive_p): New function.
3032 (Finteractive_p): Use it.
3033
ce070307
GM
3034 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3035
f57b6e64
DL
30362001-01-31 Dave Love <fx@gnu.org>
3037
d61c7afe
DL
3038 * .gdbinit (hook-run): Define to run xreload.
3039
f57b6e64
DL
3040 * textprop.c (Fset_text_properties): Fix newline in doc string.
3041
eef93f99
GM
30422001-01-30 Gerd Moellmann <gerd@gnu.org>
3043
52283633
SM
3044 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3045 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3046
3047 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3048 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3049 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3050
3051 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3052 height.
3053
d9c1f6f9
DL
30542001-01-30 Dave Love <fx@gnu.org>
3055
3056 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3057 AFTER_POTENTIAL_GC.
3058
e8f044a0
GM
30592001-01-29 Gerd Moellmann <gerd@gnu.org>
3060
52283633
SM
3061 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3062 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3063
8e1db7b3
EZ
30642001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3065
3066 * textprop.c (Fset_text_properties): Doc fix.
3067
4eefd9d2
GM
30682001-01-29 Gerd Moellmann <gerd@gnu.org>
3069
3070 * xdisp.c (forward_to_next_line_start): Remove xassert.
3071
fccb8288
EZ
30722001-01-29 Jason Rumney <jasonr@gnu.org>
3073
4eefd9d2 3074 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3075 returning without releasing it.
3076
76581eab
KH
30772001-01-29 Kenichi Handa <handa@etl.go.jp>
3078
3079 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3080 for '^', '$', and '\0'.
3081
83a96b4d
AC
30822001-01-28 Andrew Choi <akochoi@i-cable.com>
3083
5604ec34
AC
3084 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3085 regex for '^', '$', and '\0'.
3086
83a96b4d
AC
3087 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3088 only if current_sblock has been initialized.
3089
3090 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3091 terminal frame even if it is the only visible frame.
3092
c09a6440
KH
30932001-01-28 Kenichi Handa <handa@etl.go.jp>
3094
3095 * fontset.c (font_family_registry): Even if FONTNAME conform to
3096 XLFD, if it specifies other fields than family and registry,
52283633 3097 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3098 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3099 a signle byte character. Don't set FAMILY part to nil here.
3100 It is handled by the caller choose_face_font.
c09a6440
KH
3101 (Fnew_fontset): Call font_family_registry with FORCE 0.
3102 (Fset_fontset_font): Likewise.
3103
4dcd74e6
GM
31042001-01-27 Gerd Moellmann <gerd@gnu.org>
3105
3106 * xdisp.c (display_line): Don't treat a newline as fitting
3107 on the line.
3108
d2906bf8
GM
31092001-01-26 Gerd Moellmann <gerd@gnu.org>
3110
0130fe1a
GM
3111 * window.c (size_window): Set the window's orig_top to nil when
3112 changing heights, so that a future shrink_mini_window won't
3113 restore a bogus height.
3114
550f0e6a
GM
3115 * frame.c (do_switch_frame): If selected frame has a mini-window,
3116 resize that to exact size.
3117
b7b20fbd
GM
3118 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3119
a47b7816
GM
3120 * xdisp.c (display_line): Simplify check for glyphs fitting
3121 entirely in the line.
3122
d2906bf8
GM
3123 * xfns.c (xic_style): New variable.
3124 (create_frame_xic): Move static variable to global scope for
550f0e6a 3125 the case that `static' gets defined away.
d2906bf8 3126
73df2b1e
KH
31272001-01-26 Kenichi Handa <handa@etl.go.jp>
3128
3129 * coding.c (decode_coding): Set a flag for inhibiting
3130 inconsistent eol.
3131 (code_convert_region): Always set saved_coding_symbol.
3132 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3133 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3134
6613cfc4
GM
31352001-01-25 Gerd Moellmann <gerd@gnu.org>
3136
c5e6e06b
GM
3137 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3138 XClearArea.
3139
3140 * xterm.c (x_after_update_window_line): Don't clear if frame's
3141 internal border width is zero.
3142 (x_clear_area): New function.
3143 (x_after_update_window_line, x_clear_end_of_line)
3144 (x_scroll_bar_create, x_scroll_bar_set_handle)
3145 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3146 instead of XClearArea.
3147
3148 * xterm.h (x_clear_area): Add prototype.
3149
6613cfc4
GM
3150 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3151 which doesn't seem necessary anymore with Lesstif 0.92.
3152
650cc6cc
DL
31532001-01-25 Dave Love <fx@gnu.org>
3154
34ac3367
DL
3155 * puresize.h (BASE_PURESIZE): Up to 720000.
3156
650cc6cc
DL
3157 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3158
5e37dc22
GM
31592001-01-25 Gerd Moellmann <gerd@gnu.org>
3160
e1e441f9
GM
3161 * xdisp.c (echo_area_display): Don't call redisplay_internal
3162 when Emacs is shutting down. We can't run hooks etc. that
3163 would be necessary to do a redisplay.
3164
5e37dc22
GM
3165 * lread.c (read_integer): Use type EMACS_INT instead of int.
3166
0fb94c7f
EZ
31672001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3168
3169 * ccl.c (ccl_driver): Fix last change.
3170
e3778624
KH
31712001-01-25 Kenichi Handa <handa@etl.go.jp>
3172
3173 * ccl.h (sturct ccl_program): New member suppress_error.
3174
bb264518 3175 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3176 insert error message to the output.
3177 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3178
3179 * coding.h (struct coding_system): New member suppress_error.
3180
3181 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3182 (Fset_terminal_coding_system_internal): Set the member
3183 suppress_error to 1.
3184 (Fset_safe_terminal_coding_system_internal): Likewise.
3185
245ed2b1
SM
31862001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3187
3188 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3189 as if it was a `charset'.
3190
f9aaedb6
GM
31912001-01-24 Gerd Moellmann <gerd@gnu.org>
3192
3193 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3194 value in where_is_cache; the next lookup in the cache returns
3195 something bogus if we do.
3196
c3902c3e
EZ
31972001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3198
3199 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3200 if HAVE_WINDOW_SYSTEM isn't defined.
3201
3497f73e
GM
32022001-01-24 Gerd Moellmann <gerd@gnu.org>
3203
e7e41584
GM
3204 * fns.c (sweep_weak_table): Fix code taking items out of
3205 the hash collision chain. Some cleanup.
3206
3497f73e
GM
3207 * xterm.c (x_new_font): Don't change a tooltip's size.
3208
3209 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3210 background color by specifying a color for the default font
3211 in .Xdefaults.
3212
3d48e687
KH
32132001-01-24 Kenichi Handa <handa@etl.go.jp>
3214
96531b20
KH
3215 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3216 a workaround for SunOS 4's cc.
3217 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3218 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3219 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3220 statement.
3d48e687 3221
a30629d2
GM
32222001-01-23 Gerd Moellmann <gerd@gnu.org>
3223
3224 * xterm.c (x_set_window_size_1): New function extracted from
3225 x_set_window_size.
3226 (x_set_window_size): Use it.
3227 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3228 doesn't have a widget, like tooltips.
3229
5a43decf
EZ
32302001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3231
52283633 3232 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3233
b0e98867
KH
32342001-01-23 Kenichi Handa <handa@etl.go.jp>
3235
3236 * fns.c (Fset_char_table_default): Fix to make sub char-table
3237 correctly.
3238
50606b4c
GM
32392001-01-22 Gerd Moellmann <gerd@gnu.org>
3240
cb2ddc53 3241 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3242 a desired tool bar string, even if there are no tool bar items.
3243
57c28064
GM
3244 * xdisp.c (Ftool_bar_lines_needed): New function.
3245 (syms_of_xdisp): Defsubr it.
3246
50606b4c
GM
3247 * editfns.c (Fformat): Don't extend text properties from arguments
3248 to padding chars in the result.
3249
2f169c38
EZ
32502001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3251
3252 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3253
0f32f023
AI
32542001-01-20 Andrew Innes <andrewi@gnu.org>
3255
52283633 3256 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3257 (w32_initialize): Don't set term hooks that aren't actually needed
3258 in windowed mode.
3259
3260 * xfaces.c (realize_default_face):
3261 (realize_face):
3262 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3263
3264 * xdisp.c (handle_single_display_prop): Remove references to
3265 FRAME_W32_CONSOLE_P.
3266
52283633 3267 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3268
3269 * frame.h (output_method): Remove output_w32_console method.
3270 (FRAME_W32_CONSOLE_P): Remove macro.
3271
3272 * frame.c (Qw32_console): Remove variable.
3273 (Fframep): Remove references to it.
3274 (syms_of_frame): Ditto.
3275 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3276
3277 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3278 redefinition.
3279
7173eada
KH
32802001-01-20 Kenichi Handa <handa@etl.go.jp>
3281
3282 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3283
755b45ce
AI
32842001-01-19 Andrew Innes <andrewi@gnu.org>
3285
3286 * w32.c (init_environment): Add a version-independent site-lisp
3287 directory to EMACSLOADPATH, after the version dependent one.
3288
0a949811
GM
32892001-01-19 Gerd Moellmann <gerd@gnu.org>
3290
8501998a
GM
3291 * editfns.c (Fbuffer_substring): Doc fix.
3292
52283633
SM
3293 * xdisp.c (message_dolog, message2, message2_nolog):
3294 Rename parameter LEN to NBYTES.
0a949811 3295
e6ebcbbe
KH
32962001-01-19 Kenichi Handa <handa@etl.go.jp>
3297
200ecca2
KH
3298 * charset.c (strwidth): Use c_string_width.
3299 (c_string_width): New function.
3300 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3301 Caller changed.
3302
3303 * charset.h (c_string_width, lisp_string_width): Extern them.
3304
52283633 3305 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3306
e6ebcbbe
KH
3307 * indent.c (check_composition): Check validity of composition.
3308
200ecca2
KH
3309 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3310 characters by calling c_string_width.
3311 (x_consider_frame_title): Get byte length of frame tile string
3312 correctly.
3313 (display_mode_element): Pay attention to width of non-ASCII
3314 characters by calling strwidth.
3315
8692ca92
GM
33162001-01-18 Gerd Moellmann <gerd@gnu.org>
3317
8962e303
GM
3318 * xfns.c (Qcancel_timer): New variable.
3319 (syms_of_xfns): Initialize and staticpro it.
3320 (Fx_hide_tip, Fx_show_tip): Use it.
3321 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3322 the timer.
3323 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3324
91523be9
GM
3325 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3326
3327 * window.h (WINDOW_LIVE_P): New macro.
3328
b0b7ed0e
GM
3329 * window.c (window_size_fixed): New variable.
3330 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3331 the doc string.
3332
06bccf8e
GM
3333 * eval.c (specbind): If binding a per-buffer variable which
3334 doesn't have a buffer-local value in the current buffer, change
3335 the global value by changing the value of the symbol bound in all
3336 buffers not having their own value, to make it consistent with
3337 what happens with other buffer-local variables.
3338
8692ca92
GM
3339 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3340
3341 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3342 when searching for a newline.
3343
bb3a3b50
KH
33442001-01-18 Kenichi Handa <handa@etl.go.jp>
3345
3346 * xdisp.c (display_string): Fix previous change.
3347
c2cc16fa
JR
33482001-01-18 Jason Rumney <jasonr@gnu.org>
3349
3350 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3351 GLYPH_DEBUG is defined.
3352 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3353 true for images with `:ascent 100'.
3354 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3355 meantime, use face MOUSE_FACE_ID.
3356 If first glyph isn't a character glyph, use the ASCII NUL
3357 character to determine the face.
3358 (expose_area): Do not treat left margin specially.
3359 (note_mode_line_highlight): If no local_map, check global keymap.
3360 (note_mouse_highlight): Initialize overlay.
52283633 3361 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3362 (show_scroll_bars): Remove unused function.
3363 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3364 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3365 Clip to row.
52283633 3366 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3367 (x_free_frame_resources): Unload relief colors.
3368
9c11f79e
GM
33692001-01-17 Gerd Moellmann <gerd@gnu.org>
3370
3aec8722 3371 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3372 get_next_display_element when the newline is already found.
3373 This may change the iterator's position, when its current position is
3aec8722
GM
3374 equal to the iterator's stop_charpos.
3375
f3ffc2c3
GM
3376 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3377 zero, use this method only at the end of a line.
3378
52283633 3379 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3380 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3381 if SCALABLE_FONTS_P is set.
52283633 3382
d26d6fd9
GM
3383 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3384 so that scalable fonts are included.
3385
9c11f79e
GM
3386 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3387 In the cache, use a key containing the information if scalable
3388 fonts are included.
3389 (x_load_font): Adapt to change of keys in the font cache.
3390
33912001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3392
d26d6fd9
GM
3393 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3394 XListFonts to take advantage of font caching.
3395
9c11f79e
GM
3396 * xterm.c (x_list_fonts): Ensure caching font information when
3397 called for a null frame, which is the case frequently when Emacs
3398 starts.
3399
51446987
GM
34002001-01-17 Gerd Moellmann <gerd@gnu.org>
3401
f864120f
GM
3402 * xfns.c (QCconversion): Replaces QCalgorithm.
3403
3404 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3405
3406 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3407 of :algorithm.
52283633 3408
e37d1417
GM
3409 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3410 not everything could be displayed.
3411
51446987
GM
3412 * line.h, x-list-font.c: Files removed because unused.
3413
9ad4f3e5
AI
34142001-01-17 Andrew Innes <andrewi@gnu.org>
3415
3416 * dired.c (directory_files_internal): Convert result from readdir
3417 to a unibyte string initially, to avoid possible misinterpretation
3418 of some bytes as the internal form of Emacs characters.
3419
2eda09b5
KH
34202001-01-17 Kenichi Handa <handa@etl.go.jp>
3421
3422 * fns.c (concat): Be sure to avoid putting the same `composition'
3423 property on the adjacent regions.
3424
826f3788
GM
34252001-01-16 Gerd Moellmann <gerd@gnu.org>
3426
52283633 3427 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3428 (Fscroll_right, Fscroll_left): Set it here instead, if called
3429 interactively.
3430
d57b83b3
GM
3431 * buffer.c (Fset_buffer_modified_p): Set buffer's
3432 prevent_redisplay_optimizations_p flag.
3433
826f3788 3434 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3435 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3436 with additional arg.
3437
3438 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3439 Change prototype.
826f3788 3440
826f3788
GM
3441 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3442 FROM_WHERE, for debugging.
3443
261d788b
KH
34442001-01-16 Kenichi Handa <handa@etl.go.jp>
3445
3446 * ccl.c (Fregister_ccl_program): Handle the return value of
3447 resolve_symbol_ccl_program correctly.
52283633 3448 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3449
bccee4f2
GM
34502001-01-15 Gerd Moellmann <gerd@gnu.org>
3451
e4ded23c
GM
3452 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3453 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3454
3455 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3456 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3457 the display; we didn't open it.
3458
bccee4f2
GM
3459 * dispnew.c (save_or_restore_current_matrices): Function removed.
3460 (save_current_matrix, restore_current_matrix): New functions.
3461 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3462 restore the frame's current matrix. Due to the glyph pointer
3463 setup done in adjust_glyph_matrix, there is no easy way to make
3464 saving the current matrix in the desired matrix generally correct,
3465 so don't try it.
3466
ebeccffa
KH
34672001-01-15 Kenichi Handa <handa@etl.go.jp>
3468
3469 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3470 truncation glyphs.
3471 (display_line): Optimize for wide characters.
e4ded23c 3472 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3473 partially. On ttys, produce more than one truncation glyph for
3474 multi-column characters that don't fit on the line.
3475
64388126
KH
34762001-01-13 Kenichi Handa <handa@etl.go.jp>
3477
52283633
SM
3478 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3479 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3480
8edb0a6f
JR
34812001-01-13 Jason Rumney <jasonr@gnu.org>
3482
3483 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3484 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3485 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3486 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3487
52283633
SM
3488 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3489 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3490 (x_draw_image_glyph_string): Adapt to change of image margins.
3491
3492 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3493 variables.
3494
3495 * w32bdf.c (search_file_line, get_cached_font_char)
3496 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3497
3498 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3499
3500 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3501 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3502 (Fw32_send_sys_command): Remove unused variables.
3503 (w32_msg_pump): Add parentheses.
3504
3505 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3506 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3507 Add parentheses.
3508
4956d1ef
GM
35092001-01-12 Gerd Moellmann <gerd@gnu.org>
3510
b30623be
GM
3511 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3512 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3513 being a pair of margins.
3514 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3515 to DEFVAR_LISP. Extend doc.
3516
3517 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3518 margins.
3519 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3520 pair of integers `(X . Y)', use X for the horizontal and Y for the
3521 vertical margin.
3522 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3523 (parse_image_spec): Check it.
52283633
SM
3524 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3525 (tiff_format, gif_format, gs_format):
3526 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3527
52283633
SM
3528 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3529 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3530 (x_draw_image_glyph_string): Adapt to the change of image margins.
3531
3532 * dispextern.h (struct image): Replace member `margin' with
3533 `hmargin' and `vmargin'.
3534
4554cc79
GM
3535 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3536 and GLYPHS.
3537
3538 * dispnew.c (update_text_area): Put code which decrements the
3539 stop position when the row's face extends to the end of the
3bffc665 3540 line in #if 0.
4554cc79 3541
3cccce8d
GM
3542 * xfns.c (x_set_mouse_color): Fix color allocation.
3543
4956d1ef
GM
3544 * keyboard.c: Call get_local_map with new argument list.
3545
3546 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3547
3548 * intervals.h (enum map_property): Removed.
3549 (get_local_map): Change prototype.
3550
3551 * keymap.c: Call get_local_map with new argument list.
3552 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3553
2c2ff7f2
GM
35542001-01-11 Gerd Moellmann <gerd@gnu.org>
3555
a23887b9
GM
3556 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3557 of the size needed for the tool bar string. For the last image,
3558 use a `display' property that reaches to the end of the string.
3559
a7ee2d2e
GM
3560 * xselect.c (selection_request_dpyinfo): New variable.
3561 (x_handle_selection_request): Set it.
3562 (x_selection_request_lisp_error): Don't call
3563 x_decline_selection_request if selection request's display has
3564 been closed.
3565
52283633
SM
3566 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3567 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3568
457b792c
GM
35692001-01-10 Dave Love <fx@gnu.org>
3570
3571 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3572 ${SOME_MACHINE_LISP}, not ${lisp}.
3573
c1efd260
GM
35742001-01-10 Gerd Moellmann <gerd@gnu.org>
3575
52283633
SM
3576 * xdisp.c (display_line): On ttys, produce more than one truncation
3577 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3578
ac95a621
GM
3579 * xselect.c (x_reply_selection_request): Add a comment.
3580
c1efd260
GM
3581 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3582 XkbGetNames instead of XkbGetKeyboard.
3583
1bfb1345
DL
35842001-01-10 Dave Love <fx@gnu.org>
3585
3586 * sysdep.c (random): Revert the declaration.
3587
38119822
GM
35882001-01-09 Gerd Moellmann <gerd@gnu.org>
3589
52283633
SM
3590 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3591 Call function string_bytes.
35f464a7
GM
3592 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3593
3594 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3595 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3596 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3597 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3598 the current sblock.
3599 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3600 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3601 after sweeping strings, and at the end.
3602 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3603
38119822
GM
3604 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3605 ensure that pop_message is called.
3606
3607 * keyboard.c (Fexecute_extended_command): Use a
3608 record_unwind_protect to ensure that pop_message is called.
3609
3610 * lisp.h (push_message_unwind): Add prototype.
3611
3612 * xdisp.c (push_message_unwind): New function.
3613
3614 * fileio.c (do_auto_save_unwind): Do the pop_message here
3615 instead of in Fdo_auto_save.
3616 (Fdo_auto_save): Don't call pop_message.
3617
f47a9ec4
KR
36182001-01-08 Ken Raeburn <raeburn@gnu.org>
3619
3620 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3621 in inner block.
3622
a758f97d
GM
36232001-01-08 Gerd Moellmann <gerd@gnu.org>
3624
6d0afc03
GM
3625 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3626 when increasing window's vscroll.
3627
a758f97d
GM
3628 * macros.c (Qkbd_macro_termination_hook): New variable.
3629 (syms_of_macros): Initialize and staticpro it.
3630 (pop_kbd_macro): Run kbd-macro-termination-hook.
3631
3632 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3633
1bfb1345 36342001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3635
3636 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3637 arglist, for documentation's sake.
3638
0dac6924
AI
36392001-01-06 Andrew Innes <andrewi@gnu.org>
3640
3641 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3642 of *.pdb.
3643
8182406a
AI
36442001-01-05 Andrew Innes <andrewi@gnu.org>
3645
3646 * term.c (update_end): Don't check updating_frame; for some reason
3647 this can be 0 sometimes, such as after dismissing a popup menu,
3648 and isn't necessary given the explicit frame argument.
3649
3828218c
GM
36502001-01-05 Gerd Moellmann <gerd@gnu.org>
3651
3652 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3653 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3654
2f5ded21
GM
36552001-01-04 Gerd Moellmann <gerd@gnu.org>
3656
52283633 3657 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3658
3659 * xfns.c (x_create_tip_frame): Preserve the value of
3660 face_change_count around the creation of the tip frame.
52283633 3661
2f5ded21
GM
3662 * xfns.c (last_show_tip_args): New variable.
3663 (compute_tip_xy): New function.
3664 (Fx_show_tip): Reuse an existing tip frame, if possible.
3665 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3666
dfad65fa
DL
36672001-01-04 Dave Love <fx@gnu.org>
3668
64d4ec0f
DL
3669 * editfns.c (Fformat): Doc fix.
3670
dfad65fa
DL
3671 * systime.h (set_file_times): Prototype.
3672
3673 * widget.h (EmacsFrameSetCharSize_): Prototype.
3674
3675 * sysdep.c (random, srandom): Declare explicitly.
3676
3677 * dispextern.h (move_it_vertically_backward): Declare.
3678
85fe3b5e
GM
36792001-01-04 Gerd Moellmann <gerd@gnu.org>
3680
0f2ac578
GM
3681 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3682 like in Fx_create_frame.
3683
482cca61
GM
3684 * xfaces.c (set_font_frame_param): Don't do anything for
3685 non-graphical frames.
3686
85fe3b5e
GM
3687 * window.c (Fdelete_other_windows): Set window's window_end_valid
3688 to nil when changing the window's start. Don't change the
3689 window's start when its top position hasn't changed. If we do,
3690 this will set the window's optional_new_start, which act's like a
3691 force_start during redisplay with C-x 1 M-> under particular
3692 circumstances (see report from Per Starback to emacs-pretest-bug
3693 from 2000-12-13.).
3694
3e99d3b4
GM
36952001-01-03 Gerd Moellmann <gerd@gnu.org>
3696
a77dc1ec
GM
3697 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3698 short cut at the start of the function. Add an assertion.
3699 (reseat_at_next_visible_line_start): Add an assertion.
3700
2f3cad6c
GM
3701 * window.c (Frecenter): When changing the window start, set the
3702 window's window_end_valid to nil.
3703 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3704
3705 * dispextern.h (move_it_past_eol): Add prototype.
3706
3707 * xdisp.c (move_it_past_eol): New function.
3708
3e99d3b4
GM
3709 * window.c (Fwindow_end): Doc fix.
3710
37112001-01-03 Dave Love <fx@gnu.org>
3712
52283633 3713 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3714
bafb434c
GM
37152001-01-03 Gerd Moellmann <gerd@gnu.org>
3716
3717 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3718 the enabled_p flag of the glyph row at window_end_vpos to 0.
3719 (handle_single_display_prop): Fix last change.
3720
5297fb00
RS
37212001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3722
3723 * window.c (Frecenter): Doc fix.
3724
13d6a61c
AI
37252001-01-02 Andrew Innes <andrewi@gnu.org>
3726
3727 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3728
3729 * frame.h (output_method): Add output_w32_console method.
3730 (FRAME_W32_CONSOLE_P): New macro.
3731
3732 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3733 use output_w32_console method.
3734 (Qw32_console): New Lisp_Object.
3735 (Fframep): Return it.
3736 (syms_of_frame): Init it.
52283633 3737 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3738
3739 * xfaces.c (realize_default_face): Set face foreground and
3740 background to unspecified for w32_console frames.
3741 (realize_face): Realize face cache for w32_console frames.
3742 (realize_tty_face): Accept w32_console frames.
3743
52283633 3744 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3745 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3746 necessary, even if running interactively.
3747
3748 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3749 w32_console frames.
3750
52283633
SM
3751 * w32term.c (x_update_begin):
3752 (x_update_end):
3753 (x_clear_frame):
3754 (x_ins_del_lines):
3755 (x_change_line_highlight):
3756 (x_delete_glyphs):
3757 (w32_ring_bell):
3758 (x_update_begin):
3759 (x_update_end):
3760 (w32_reassert_line_highlight):
3761 (w32_frame_rehighlight):
13d6a61c
AI
3762 (w32_frame_raise_lower): Do nothing if not w32 frame.
3763
3764 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3765
3766 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3767 system doesn't tell us directly.
3768 (Fx_display_visual_class): Implement properly.
3769
d6bb0c0d
GM
37702001-01-02 Gerd Moellmann <gerd@gnu.org>
3771
3772 * window.c (Frecenter): Handle centering in graphical frames
3773 specially. Centering on the basis of line counts doesn't work
3774 reliably with variable-height lines.
52283633 3775
315f5865
EZ
37762001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3777
3778 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3779 and al[].
3780
52283633 3781 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3782 (update_compositions): Remove unused variable `hook'.
3783
3784 * intervals.c (get_local_map): Remove unused variable `tem'.
3785
3786 * doprnt.c (doprnt1): Remove unused variable `size'.
3787
3788 * fns.c (Flength): Remove unused variable `tail'.
3789 (Fdelete): Remove unused variable `size'.
3790
3791 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3792 and `gcpro2'.
3793
52283633 3794 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3795
3796 * data.c (find_symbol_value): Remove extra 3rd argument in the
3797 call to swap_in_symval_forwarding.
3798
52283633 3799 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3800
3801 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3802 (trivial_regexp_p): Remove unused variable `c'.
3803 (boyer_moore): Remove unused variable `k'.
3804
3805 * indent.c (current_column): Remove unused variable `stopchar'.
3806 (Fcompute_motion): Remove unused variable `contin'.
3807
3808 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3809
3810 * dired.c (directory_files_internal): Fix a typo in a comment.
3811 Remove an unused variable `handler'.
52283633 3812 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3813 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3814 on BSD4_2.
3815
52283633 3816 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3817
3818 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3819 and `buf'.
3820 (Fmarker_insertion_type): Remove unused variable `buf'.
3821
3822 * insdel.c (make_gap): Remove unused variable `result'.
3823
52283633 3824 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3825 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3826 (menu_bar_items): Remove unused function-scope variable `tem'.
3827
3828 * fontset.c (fontset_ref): Remove unused variable `i'.
3829 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3830 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3831 (make_fontset_for_ascii_face): Remove unused variable `name'.
3832 (fs_load_font): Remove unused variable `font_idx'.
52283633 3833 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3834 (list_fontsets): Remove unused variable `tail'.
3835 (Fnew_fontset): Remove unused variables `family' and `registry'.
3836 (accumulate_font_info): Remove unused variable `tmp'.
3837 (Ffontset_font): Remove unused variable `id'.
3838 (syms_of_fontset): Remove unused variable `i'.
3839
3840 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3841 to x_term_init.
3842 (lookup_image): Remove unused variable `file'.
3843 (xbm_load): Remove unused variables `bitmap_data', `height', and
3844 `width'. Remove function-local variable `i', leave the
3845 block-local one.
3846 (gif_load): Remove unused variable `inc'.
3847
52283633 3848 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3849 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3850 leave only the one in the inner block.
3851
3852 * xfaces.c (face_fontset, realize_default_face): Remove unused
3853 variable `fontset'.
3854 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3855
3856 * term.c (encode_terminal_code): Remove unused variable `c'.
3857
3858 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3859 char *' instead of `char *'.
3860
3861 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3862 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3863 (Fchar_category_set): Remove unused variables `val', `charset',
3864 `c1' and `c2'.
3865
52283633
SM
3866 * coding.c (detect_coding_iso2022, setup_coding_system):
3867 Remove unused variable `i'.
315f5865
EZ
3868 (detect_coding_mask): Remove unused variable `idx'.
3869 (detect_coding): Remove unused variable `i'.
3870 (ccl_coding_driver): Remove unused variable `result'.
3871 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3872 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3873 (encode_coding_string): Remove unused variables `gcpro1' and
3874 `saved_coding_symbol'.
3875 (Ffind_coding_systems_region_internal): Remove function-local
3876 variable args[], leave only the block-local one.
3877 (code_convert_region1): Remove unused variable `len'.
3878
3879 * charset.c (char_printable_p): Remove unused variable `chars'.
3880 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3881 (str_to_multibyte): Remove unused variable `c'.
3882
3883 * window.c (size_window): Remove block-local variable `min_size'.
3884
3885 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3886 `header_line_height'.
3887 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3888 enum display_element_type.
3889
1a8a9daf
GM
38902001-01-02 Gerd Moellmann <gerd@gnu.org>
3891
6dde6abc 3892 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3893 statements that call X. Save away the error message in a local copy.
3894
1883b2c6
GM
3895 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3896 the start.
3897
a13be207
GM
3898 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3899 in or at the start of invisible text.
3900
1a8a9daf
GM
3901 * dispnew.c (update_window): Don't check_current_matrix_flags.
3902
3608c0f9
JR
39032001-01-01 Jason Rumney <jasonr@gnu.org>
3904
3905 * w32fns.c (x_figure_window_size): Do not allow new_height and
3906 new_width of frame to override specified values.
3907
abb1acc4
KH
39082000-12-30 Kenichi Handa <handa@etl.go.jp>
3909
52283633 3910 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3911
762a68ec
GM
39122000-12-29 Gerd Moellmann <gerd@gnu.org>
3913
52283633 3914 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3915 (update_window) [GLYPH_DEBUG]: Call it.
3916 (scrolling_window): Prevent including current rows which are below
3917 what's displayed in the window.
3918
3919 * xdisp.c (try_window_reusing_current_matrix)
3920 <new start <= old start>: Disable rows in the current matrix
3921 which are below the window after scrolling.
52283633 3922
762a68ec
GM
3923 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3924 is zero. It's not worth the complexity.
3925 (invisible_text_between_p): Put in #if 0 because unused.
3926
2d5912c1
GM
39272000-12-28 Gerd Moellmann <gerd@gnu.org>
3928
46f6a258
GM
3929 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3930 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3931
89f93679
GM
3932 * keyboard.c (echo_char): If C is an integer, always call
3933 push_key_description. Former code could signal an invalid
3934 character error.
3935
3936 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3937 If set, print multibyte text.
3938 (Fsingle_key_description): Call push_key_description with
3939 FORCE_MULTIBYTE set.
3940 (describe_buffer_bindings): Likewise.
3941
3942 * lisp.h (push_key_description): Add prototype.
3943
c06017fb
GM
3944 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3945 around the call to redisplay_internal.
3946
f1d2ce7f
GM
3947 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3948
2d5912c1
GM
3949 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3950
9371f831
KH
39512000-12-28 Kenichi Handa <handa@etl.go.jp>
3952
3953 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3954 (ccl_driver): New local variable `extra_bytes'.
3955
3956 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3957
52283633
SM
3958 * coding.c (setup_coding_system):
3959 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3960 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3961
0c80628a
KH
39622000-12-28 Kenichi Handa <handa@etl.go.jp>
3963
3964 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3965 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3966 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3967 (decode_composition_emacs_mule): New function.
3968 (decode_coding_emacs_mule): Decode composition sequence by calling
3969 decode_composition_emacs_mule.
3970 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3971 (encode_coding_emacs_mule): Changed from macro to function.
3972 If a text contains compositions, encode them correctly.
0c80628a
KH
3973 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3974 that decoding and encoding are required.
3975
3e32cc27
GM
39762000-12-27 Gerd Moellmann <gerd@gnu.org>
3977
5e25feee
GM
3978 * xfaces.c (PT_PER_INCH): New macro.
3979 (xlfd_point_size): Compute real point size from font's pixel size.
3980 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3981 instead of 72.
3982
892d8fcd
GM
3983 * .gdbinit: Comment out the line pointing to the Lesstif source
3984 directory.
3985
12c8b416
GM
3986 * window.c (Frecenter): Use displayed_window_lines instead
3987 of window_internal_height.
3988
6061fbf0
GM
3989 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3990 instead of x-toolkit-scroll-bars-p.
3991 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3992
3993 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3994 instead of x-toolkit-scroll-bars-p.
3995 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3996
3e32cc27
GM
3997 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3998 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3999 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4000 New variables.
4001 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4002 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4003 (build_frame_matrix_from_leaf_window): Remove unused code.
4004 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4005 redisplay history.
4006 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4007 (update_window) [GLYPH_DEBUG]: Likewise.
4008 (syms_of_display): Defsubr dump-redisplay-history.
4009
31798cfe
GM
40102000-12-23 Gerd Moellmann <gerd@gnu.org>
4011
f717c2ba
GM
4012 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4013 the end of the prompt. Set echo_after_prompt to the offset
4014 of echoptr in echobuf.
4015
aeb2b8fc
GM
4016 * xdisp.c (init_from_display_pos): Pop until the iterator's
4017 stack is empty; there may be frames for stretch or images
4018 on the stack.
4019
31798cfe
GM
4020 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4021 (save_or_restore_current_matrix): New function for the same
4022 purpose, but more efficient.
4023 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4024
f8156156
EZ
40252000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4026
4027 * xdisp.c (syms_of_xdisp): Fix last change.
4028
bdd6d4e8
GM
40292000-12-23 Gerd Moellmann <gerd@gnu.org>
4030
4031 * xdisp.c (syms_of_xdisp): Doc fix.
4032
4033 * xdisp.c (redisplay_window): Remove label restore_buffers;
4034 use finish_scroll_bars instead to make sure that scroll bars
4035 are redeemed. If we don't do this, flickering can result from
4036 scroll bars being destroyed and recreated.
4037
9436cdf9
JR
40382000-12-22 Jason Rumney <jasonr@gnu.org>
4039
4040 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4041 in the wrong colors when the foreground is not black.
4042 (expose_window): Don't redraw the window that's currently being
4043 updated.
4044
951f9df5
GM
40452000-12-22 Gerd Moellmann <gerd@gnu.org>
4046
856ff7a7
GM
4047 * window.c (size_window): When setting the window's too_small_ok
4048 flag, compare old size with minimum size depending on WIDTH_P,
4049 don't compare with window_min_width.
52283633 4050
951f9df5
GM
4051 * window.c (delete_window): Simplify somewhat.
4052 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4053 freeing window matrices. The flag windows_or_buffers_changed is
4054 set, so the next redisplay will consider all windows; this should
4055 suffice.
4056
886bc933
KH
40572000-12-22 Kenichi Handa <handa@etl.go.jp>
4058
4059 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4060
4061 * ccl.h (struct ccl_program): New member cr_consumed.
4062
4063 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4064 (CCL_READ_CHAR): Handle EOL conversion here.
4065 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4066
177f4e88
GM
40672000-12-21 Gerd Moellmann <gerd@gnu.org>
4068
52283633 4069 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4070
4071 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4072 otherwise tabs of different size compare equal.
4073
4074 * callint.c (Fcall_interactively): Prevent a compiler warning.
4075
4076 * print.c (print_unwind): Return nil.
4077 (PRINTDECLARE): Initialize all local variables.
4078 (print_preprocess): Add a default case.
4079
8e15274f
GM
4080 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4081
4082 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4083
52283633 4084 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4085 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4086
4087 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4088
4089 * dispnew.c (ensure_frame_matrix): Removed.
4090 (save_frame_matrix, restore_frame_matrix): New functions.
4091 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4092
4093 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4094 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4095
99012074
AI
40962000-12-21 Andrew Innes <andrewi@gnu.org>
4097
4098 * w32term.c (x_update_begin): Regenerate the palette here, rather
4099 than for each window.
4100
4101 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4102 palette is NULL, since this corrupts memory! Also get
4103 display_info reference from frame.
4104
29ef7d2d
JR
41052000-12-21 Jason Rumney <jasonr@gnu.org>
4106
4107 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4108
4109 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4110 to avoid returning without releasing it.
3e27fa1f 4111
3f9d67a6
KH
41122000-12-21 Kenichi Handa <handa@etl.go.jp>
4113
587fc3f9
KH
4114 * keymap.c (push_key_description): Don't convert eight-bit-control
4115 and eight-bit-graphic to multibyte character.
4116
3f9d67a6
KH
4117 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4118 generic character and CODE1 is nil, return the smallest character
4119 in CHARSET.
4120
774ba8c9
DL
41212000-12-20 Dave Love <fx@gnu.org>
4122
4123 * s/osf5-0.h (NSIG): Don't redefine.
4124
88416888
SM
41252000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4126
4127 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4128 excluding menu-bar and tool-bar.
4129 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4130 (menu_item_p): Remove.
4131 (where_is_internal_1): Don't ignore menu-items.
4132
a6426c6f
GM
41332000-12-20 Gerd Moellmann <gerd@gnu.org>
4134
03ff8aab
GM
4135 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4136 into account.
4137
4138 * window.c (make_window): Initialize window's min_hscroll.
4139 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4140 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4141 to zero.
4142 (struct saved_window): New member min_hscroll.
4143 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4144 (Fset_window_configuration): Set window's min_hscroll.
4145 (save_window_save): Save window's min_hscroll.
4146 (compare_window_configurations): Compare min_hscroll values.
4147
4148 * window.h (struct window): New member min_hscroll.
4149
4150 * keyboard.c (echo_prompt): Prevent a compiler warning.
4151
8de4aaf8
GM
4152 * xdisp.c (try_cursor_movement): Fix last change. The real
4153 condition is that PT is at the end of the row, and should
4154 be displayed at the start of the next row.
52283633 4155
3f7e3031
GM
4156 * xdisp.c (try_cursor_movement): If we end on a partially
4157 visible line, end we already decided to scroll, return -1.
4158
a6426c6f
GM
4159 * dispextern.h (ensure_frame_matrix): Add prototype.
4160
4161 * window.c (delete_window, Fsplit_window)
4162 (Fset_window_configuration): Call ensure_frame_matrix.
4163
52283633
SM
4164 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4165 New functions.
a6426c6f
GM
4166 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4167 completed, call fake_current_matrices instead of marking frame
4168 garbaged.
4169
57fa2774
JR
41702000-12-20 Jason Rumney <jasonr@gnu.org>
4171
4172 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4173
d925df90
EZ
41742000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4175
4176 * fns.c (Frequire): Doc fix.
4177
7b93a85b
GM
41782000-12-19 Gerd Moellmann <gerd@gnu.org>
4179
52283633 4180 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4181
c74e645b
GM
4182 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4183 currently displaying a message.
4184
7b93a85b
GM
4185 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4186 xterm.h.
4187 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4188
90d97e64
AI
41892000-12-18 Andrew Innes <andrewi@gnu.org>
4190
4191 * w32.c (w32_strerror): New function.
4192
4193 * w32.h (w32_strerror): New extern.
4194
4195 * w32fns.c (Fw32_shell_execute): Use it.
4196
91c9e6ce
GM
41972000-12-18 Gerd Moellmann <gerd@gnu.org>
4198
4199 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4200
6f4745e2
EZ
42012000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4202
4203 * msdos.c (IT_set_face): Obey inverse_video.
4204
c9e088ce
KH
42052000-12-18 Kenichi Handa <handa@etl.go.jp>
4206
4207 * dired.c (directory_files_internal): Always return decoded filenames.
4208
c3695f5f
GM
42092000-12-18 Gerd Moellmann <gerd@gnu.org>
4210
52d8e4ff
GM
4211 * xterm.c (x_connection_closed): Prevent being called recursively
4212 because of an error condition in XtCloseDisplay.
52283633 4213
62be9979
GM
4214 * xdisp.c (init_iterator): If noninteractive, and the frame's
4215 face cache is null, make one.
4216
52283633 4217 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4218
c3695f5f
GM
4219 * process.c (wait_reading_process_input): Check for pending
4220 input when running timers.
4221
78555fbe
EZ
42222000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4223
52283633 4224 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4225
b2b36264
KH
42262000-12-18 Kenichi Handa <handa@etl.go.jp>
4227
4228 * process.c (read_process_output): Don't run a filter if the code
4229 decoder produces nothing but carryover.
4230
9c543fbf
AI
42312000-12-17 Andrew Innes <andrewi@gnu.org>
4232
4233 * w32.c (sys_rename): Only check errno against EEXIST, and not
4234 EACCES, when determining whether rename failed because the target
4235 exists. This was resulting in indefinite looping on Windows 9x if
4236 the source file was locked by another process.
4237
4238 * w32fns.c (Ffile_system_info): New function.
4239 (syms_of_w32fns): Defsubr it.
4240
10c2b5a8
GM
42412000-12-17 Gerd Moellmann <gerd@gnu.org>
4242
b0228ace
GM
4243 * window.c (coordinates_in_window): Fix computation for
4244 position on vertical line between mode lines.
4245
10c2b5a8
GM
4246 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4247 Don't alter tip_frame or tip_window.
4248 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4249 was deleted.
4250
c844a81a
GM
4251 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4252 Don't alter tip_frame or tip_window.
4253 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4254 was deleted.
4255
6c825f8e
EZ
42562000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4257
4258 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4259 be consistent with the doc string. Reported by NAKAJIMA Mikio
4260 <minakaji@osaka.email.ne.jp>.
4261
af4bb4c8
KH
42622000-12-16 Kenichi Handa <handa@etl.go.jp>
4263
4264 * xfaces.c (Vface_ignored_fonts): New variable.
4265 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4266 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4267
8062e53a
GM
42682000-12-15 Gerd Moellmann <gerd@gnu.org>
4269
e87b8809
GM
4270 * dispnew.c (update_window): Detect pending input every nth line
4271 updated, i.e. do it depending on real work done, and not on the
4272 vpos of the line.
4273
4274 * xterm.c (expose_window): Don't redraw the window that's
4275 currently being updated.
4276
a6768cc5
GM
4277 * window.c (Fset_window_point): Remove test for
4278 cursor_in_non_selected_windows.
4279
4ea7fdca
GM
4280 * lread.c (read1): Recognize end of file after `\\'.
4281
8062e53a
GM
4282 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4283 not unwind_create_frame.
4284
bb7959c1
GM
42852000-12-15 Dave Love <fx@gnu.org>
4286
4287 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4288 bcopy & al.
4289
4290 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4291
ced04c42
KH
42922000-12-15 Kenichi Handa <handa@etl.go.jp>
4293
c5443913
KH
4294 * coding.c (setup_coding_system): Clear all members of the struct
4295 coding_system at first.
bc137305
KH
4296 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4297 argument.
4298 (code_convert_region): Don't override coding->src_multibyte and
4299 coding->dst_multibyte.
c5443913 4300
ced04c42
KH
4301 * fns.c (Fmd5): Docstring improved.
4302
c2d7f289
MB
43032000-12-15 Miles Bader <miles@gnu.org>
4304
4305 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4306 are actually marked as mode-lines; otherwise use
4307 estimate_mode_line_height.
4308
9d7d9263
GM
43092000-12-14 Gerd Moellmann <gerd@gnu.org>
4310
4311 * editfns.c (Fformat): Prevent a buffer overrun when the format
4312 specifies a precision.
4313
7cf0153a
EZ
43142000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4315
4316 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4317 argument is outside the range [2..3].
4318
1de0f662
AI
43192000-12-14 Andrew Innes <andrewi@gnu.org>
4320
4321 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4322 nothing to do. Bind inhibit-quit.
4323 (tip_frame): Make it a Lisp_Object.
4324 (x_create_tip_frame): Set tip_frame after it has been added to
4325 Vframe_list.
4326 (Fx_show_tip): Don't set tip_frame here.
52283633 4327 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4328 (unwind_create_frame, unwind_create_tip_frame): New functions.
4329 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4330 while a frame is only partially constructed.
4331
4332 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4333 (x_free_frame_resources): New function.
4334 (x_destroy_window): Use it.
4335
02387dcc
GM
43362000-12-14 Gerd Moellmann <gerd@gnu.org>
4337
4338 * xfns.c (Fx_backspace_delete_keys_p): New function.
4339 (syms_of_xfns): Defsubr it.
4340
4341 * config.in (HAVE_XKBGETKEYBOARD): Add.
4342
0544ef49
KH
43432000-12-14 Kenichi Handa <handa@etl.go.jp>
4344
98d62747
KH
4345 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4346 Always store string in multibyte representation in echobuf.
4347 (echo_char): Always store string in multibyte representation in
4348 echobuf.
4349 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4350 (read_key_sequence): Adjusted for the change of echo_prompt.
4351
a20193cd
KH
4352 * fns.c (Fmd5): Docstring improved.
4353
191b83b6
KH
4354 * lisp.h (detect_coding_system): Prototype adjusted.
4355
0544ef49
KH
4356 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4357 (detect_coding_emacs_mule, detect_coding_iso2022,)
4358 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4359 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4360 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4361 (detect_coding_mask, detect_coding_system): New argument
4362 MULTIBYTEP. Callers changed.
1da1bb05
KH
4363 (decode_coding_string): Set coding->src_multibyte and
4364 coding->dst_multibyte before calling detect_coding and detect_eol.
4365 Update them after some coding system is detected.
52283633 4366
d5b3eb1b
SM
43672000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4368
4369 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4370
4371 * keyboard.c (menu_bar_items, tool_bar_items):
4372 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4373
f7f8bb69
GM
43742000-12-13 Gerd Moellmann <gerd@gnu.org>
4375
52283633 4376 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4377 New variables.
4378 (unwind_create_frame, unwind_create_tip_frame): New functions.
4379 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4380 while a frame is only partially constructed.
4381
4382 * xterm.h (x_free_frame_resources): Declare.
4383
4384 * xterm.c (x_free_frame_resources): New function.
4385 (x_destroy_window): Use it.
4386
e10da507
GM
4387 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4388 don't interrupt the update for pending input initially, i.e.
4389 update at least some lines.
4390
4391 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4392
d5b3eb1b 4393 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4394
4395 * xfns.c (gray_bitmap_bits): Declare `char *'.
4396
90aa2856
GM
43972000-12-12 Gerd Moellmann <gerd@gnu.org>
4398
4399 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4400 lines start with a relief line.
4401
a308c9cd
DL
44022000-12-12 Dave Love <fx@gnu.org>
4403
4404 * window.c (Fdisplay_buffer): Doc fix.
4405 (Fwindow_list): Remove unused var.
4406
4407 * buffer.h (mmap_set_vars): Declare.
4408
4409 * window.h (Fset_window_point): Declare.
4410
d575011f
EZ
44112000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4412
bf6282d2 4413 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4414 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4415 variable `area'. When looking for a row under (X,Y), give up if some
4416 of the previous rows is not enabled.
d575011f 4417
ecf4d726
GM
44182000-12-12 Gerd Moellmann <gerd@gnu.org>
4419
2ebf6139
GM
4420 * window.c (Fset_window_point): If displaying cursors in windows
4421 other than the selected window, make sure redisplay updates
4422 other windows to show the new value of point in the window.
4423
4424 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4425
bfdb75ee
GM
4426 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4427 the buffer is the sole visible buffer when in the mini-buffer.
4428
52283633 4429 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4430 Bind `inhibit-read-only' to t.
4431 (unwind_with_echo_area_buffer): Use AREF.
4432
c0006262
GM
4433 * xfns.c (Fx_hide_tip): Simplified.
4434
52283633
SM
4435 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4436 instead of `1'.
e9a59cad 4437
ecf4d726
GM
4438 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4439
e5959a9a
GM
44402000-12-11 Gerd Moellmann <gerd@gnu.org>
4441
a3642e49 4442 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4443
44b5a125
GM
4444 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4445 nothing to do. Bind inhibit-quit.
4446 (tip_frame): Make it a Lisp_Object.
4447 (x_create_tip_frame): Set tip_frame after it has been added to
4448 Vframe_list.
4449 (Fx_show_tip): Don't set tip_frame here.
4450
4451 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4452
4453 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4454 Lisp_Object.
4455
4456 * dispextern.h: Change external declaration of tip_frame.
4457
d990421f
GM
4458 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4459 return an empty string.
4460
4db87380
GM
4461 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4462 of the window's update_mode_line flag, since the former is set by
4463 force-mode-line-update, not the latter. This makes
4464 column-number-mode slightly faster.
52283633 4465
e5959a9a
GM
4466 * xdisp.c (try_window_id) <all changes above window start>:
4467 Set the cursor.
4468
169fe44e
GM
44692000-12-11 Paul Eggert <eggert@twinsun.com>
4470
4471 * config.in (HAVE_FTELLO): Remove.
4472 (HAVE_FSEEKO): Add.
4473 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4474 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4475 HAVE_FTELLO.
4476 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4477 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4478
59ec59ae
MB
44792000-12-11 Miles Bader <miles@gnu.org>
4480
4481 * window.c (displayed_window_lines): Don't round up when
4482 converting empty space at bottom to lines.
ff904dd6
MB
4483 Handle non-newline-terminated final lines properly.
4484 (Fwindow_text_height): New function (used to be in lisp).
4485 (syms_of_window): Initialize it.
59ec59ae 4486
42ebfa31
SM
44872000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4488
4489 * syntax.c (scan_lists): Check that the right quote char has the
4490 right Sstring syntax when jumping over strings.
4491 (init_syntax_once): Use Smax rather than 13.
4492
5cdb3cf3
MB
44932000-12-09 Miles Bader <miles@gnu.org>
4494
4495 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4496 with PARTIALLY, inverting the sense.
4497 (window_scroll_pixel_based): Scroll partially visible lines into
4498 place if we hit the beginning or end of the buffer.
a12167c5
MB
4499 (displayed_window_lines): Don't include partially visible lines.
4500 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4501
842b2a94
GM
45022000-12-08 Gerd Moellmann <gerd@gnu.org>
4503
4504 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4505
4506 * tparam.c (tparam1): Change the way buffers are reallocated to be
4507 portable and less obfuscated.
4508
4509 * termcap.c (tgetent): Change the way buffers are reallocated to
4510 be portable and less obfuscated.
4511
4512 * macros.c (store_kbd_macro_char): Change the way buffers are
4513 reallocated to be portable and less obfuscated.
4514
4515 * lread.c (read1): Change the way buffers are reallocated to be
4516 portable and less obfuscated.
4517
4518 * doc.c (Fsubstitute_command_keys): Change the way buffers
4519 are reallocated so that it is portable.
4520
137cad7c
EZ
45212000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4522
4523 * dosfns.c (Ffile_system_info): New function.
4524 (syms_of_dosfns): Defsubr it.
4525
5c7f629c
SM
45262000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4527
4528 * alloc.c (gc_sweep): Add comment.
4529
959e647d
GM
45302000-12-07 Gerd Moellmann <gerd@gnu.org>
4531
52283633
SM
4532 * sound.c (vox_configure): Change order of ioctls.
4533 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4534 Ignore errors when changing volume.
4535 (vox_close): Don't reset the device.
4536
926b7e5e
GM
4537 * process.c (read_process_output): Make sure the process marker's
4538 position is valid when the process buffer is changed in
4539 after-change functions. W3 does that.
52283633 4540
959e647d
GM
4541 * xfns.c (x_free_gcs): New function.
4542
4543 * xterm.h (x_free_gcs): Add prototype.
4544
4545 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4546 freeing GCs here.
4547
4548 * xterm.c (x_destroy_window): Call x_free_gcs so that
4549 resources of non-toolkit X windows will be freed.
4550
478ea067
AI
45512000-12-07 Andrew Innes <andrewi@gnu.org>
4552
4553 * w32fns.c (xlfd_charset_of_font): Fix last change.
4554
fbee3231
DL
45552000-12-06 Dave Love <fx@gnu.org>
4556
67292061
DL
4557 * md5.h (__P): Don't define -- it comes from config.h.
4558
fbee3231
DL
4559 * strftime.c: Change some #if foo to #ifdef foo.
4560
4ee87dbb
AI
45612000-12-06 Andrew Innes <andrewi@gnu.org>
4562
4563 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4564
52283633 4565 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4566 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4567 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4568
9765b4a4
GM
45692000-12-06 Gerd Moellmann <gerd@gnu.org>
4570
d285b373
GM
4571 * alloc.c (gc_sweep): Prevent symbols read during loadup
4572 from being freed.
4573
384333ee
GM
4574 * xdisp.c (underlying_face_id): New function.
4575 (handle_face_prop, face_before_or_after_it_pos): Use it
4576 to determine the face ``under'' a string. Let strings inherit
4577 the face of the buffer under them.
4578
4579 * xfaces.c (face_at_string_position): Update function comment.
52283633 4580
d4b72d58
GM
4581 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4582 matrix if the window's left position has changed; we need to
4583 redraw it in this case.
4584
4585 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4586
e1d05387
GM
4587 * window.c (coordinates_in_window): Check mouse on mode-line or
4588 header-line first.
4589
eb1b0c74
GM
4590 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4591 advertized by the function documentation.
4592
d94d636f
GM
4593 * window.c (syms_of_window): Doc fix.
4594
3887b449
GM
4595 * sound.c (vox_configure): Set volume for left and right channel.
4596 (sound_cleanup): Return nil.
4597
efc8f57a
GM
4598 * xdisp.c (move_it_by_lines): Fix paren typo.
4599
9765b4a4
GM
4600 * xterm.c (x_load_font): Don't use the font's max_bounds for
4601 computing the height of the font. If max_bounds' ascent or
4602 descent are greater than the font's ascent or descent, this means
4603 glyphs overlap, which should be handled now by redisplay.
4604
6529ed87
GM
4605 * window.c (Veven_window_heights): New variable.
4606 (syms_of_window): DEFVAR_LISP it.
4607 (Fdisplay_buffer): Check Veven_window_heights before evening the
4608 window heights.
52283633 4609
0eb2ecde
MB
46102000-12-06 Miles Bader <miles@gnu.org>
4611
4612 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4613 update `default-frame-alist' instead of setting no frame parameters.
4614
03d7a167
KH
46152000-12-06 Kenichi Handa <handa@etl.go.jp>
4616
4617 * composite.c (update_compositions): Fix typo (use the correct
4618 variable).
4619
5f8803c2
JR
46202000-12-05 Jason Rumney <jasonr@gnu.org>
4621
4622 * md5.h: Remove underscores from function declarations.
4623 (__attribute__, __alignof__) [!__GNUC__]: Define.
4624
4625 * md5.c: Delay include of md5.h until after namespace cleaning.
4626
c28a075b
JR
4627 * makefile.w32-in (fns.o): Depend on md5.h
4628 (md5.o): New target.
4629 (sunfns.o): Remove.
4630
4631 * makefile.nt: Likewise.
4632
ff3c7056
JR
46332000-12-05 Jason Rumney <jasonr@altavista.net>
4634
4635 * w32term.c (expose_area): Complete last change.
4636
0c21eeeb
KR
46372000-12-05 Ken Raeburn <raeburn@gnu.org>
4638
4639 * minibuf.c: Include intervals.h.
4640
f201d732
JR
46412000-12-05 Jason Rumney <jasonr@gnu.org>
4642
4643 * w32term.c (x_produce_glyphs): If a font for a component of
4644 a composition is not found, use 1 pixel dot ascent and 0 dot
4645 descent value to avoid displaying terribly tall empty boxes.
4646 (expose_area): Pass x-coordinate relative to the exposed
4647 area to x_draw_glyphs instead of a window-relative coordinate.
4648
21999ab9
GM
46492000-12-05 Gerd Moellmann <gerd@gnu.org>
4650
4d2036e4
GM
4651 * xdisp.c (next_element_from_ellipsis): Save face before selective
4652 display in saved_face_id, and set face_before_selective_p.
4653 (reseat_1): Reset face_before_selective_p.
4654 (append_space, extend_face_to_end_of_line): If iterator's
4655 face_before_selective_p is set, use the face from saved_face_id.
4656 (extend_face_to_end_of_line): For tty frames, make sure to
4657 use the right face id when producing spaces at the end of
4658 the line.
4659
4660 * dispextern.h (struct it): Add face_before_selective_p.
4661
52be17cc
GM
4662 * keyboard.c (record_char): Don't record identical help-echo
4663 events in recent_keys.
4664
8a4f36cc
GM
4665 * xterm.c [USE_X_TOOLKIT]: Close the display.
4666 (xim_close_dpy): Handle case that the display has been closed.
4667
57d6e381
GM
4668 * xterm.c (x_destroy_window): Reset the frame's X window after
4669 destroying it.
4670
21999ab9
GM
4671 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4672 variable window_width.
4673 (line_draw_cost): Fix code skipping over spaces at the end of the
4674 line when must_write_spaces is not set.
4675 (scrolling_window): Fix code inserting runs in list of all runs.
4676
91372bb7
KH
46772000-12-05 Kenichi Handa <handa@etl.go.jp>
4678
4679 * coding.c (setup_coding_system): Be sure to initialize
4680 coding->category_idx.
4681
6c083b4c
GM
46822000-12-04 Gerd Moellmann <gerd@gnu.org>
4683
0c68ce6f 4684 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4685
6452929e
GM
4686 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4687 area to x_draw_glyphs instead of a window-relative coordinate.
4688
d7f31e22
GM
4689 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4690 error in the message.
4691
ae18aa3b
GM
4692 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4693 timer after having read a key. It's not good for code reading
4694 several keys in a loop, like an input method.
4695
caa15ef7
GM
4696 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4697 record undo information for format-decode.
4698
4699 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4700 current buffer is read-only, not if it isn't.
4701
6c083b4c
GM
4702 * keyboard.c (record_char): Record `help-echo' input events
4703 in recent_keys only if they display some help. Don't record
4704 `help-echo' events as macro char.
4705
caa15ef7
GM
47062000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4707
4708 * editfns.c (save_excursion_restore): Don't move point
4709 in another window if it is showing the wrong buffer.
4710 Avoid the call to Fwindow_live_p, for speed.
4711
5a13529b
KH
47122000-12-04 Kenichi Handa <handa@etl.go.jp>
4713
e225faa7
KH
4714 * xfaces.c (struct font_name): New member registry_priority.
4715 (split_font_name): Initialize the above member to zero.
4716 (concat_font_list): New function.
4717 (font_list): Include fonts of all alternative registries.
4718 (FONT_POINT_SIZE_QUANTUM): New macro.
4719 (better_font_p): Ignore point size difference less than
4720 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4721
e89648b4
KH
4722 * xterm.c (x_produce_glyphs): If a font for a component of
4723 a composition is not found, use 1 pixel dot ascent and 0 dot
4724 descent value to avoid displaying terribly tall empty boxes.
4725
5a13529b
KH
4726 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4727
d7935eb6
KR
47282000-12-03 Ken Raeburn <raeburn@gnu.org>
4729
4730 * coding.h (code_convert_string1): Declare.
4731
4732 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4733
52283633 4734 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4735
0dd5e255
JR
47362000-12-02 Jason Rumney <jasonr@gnu.org>
4737
4738 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4739 correctly for single byte character case.
4740 (w32_per_char_metric): Do not try to make any assumptions about
4741 the metrics of BDF fonts.
250cfece 4742 (x_estimate_mode_line_height): If `mode-line' face
52283633 4743 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4744 (note_mouse_highlight): Change the cursor shape on the vertical
4745 border between windows [not enabled].
4746
4747 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4748
4749 * w32fns.c (Fx_create_frame): Reintroduce the call to
4750 face-set-after-frame-defaults.
4751 (Vx_window_horizontal_drag_shape): New variable.
4752 (syms_of_xfns): DEFVAR_LISP it.
4753 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4754 enabled].
0dd5e255 4755
b5d8d2ca
GM
47562000-12-02 Simon Josefsson <simon@josefsson.org>
4757
4758 * fns.c (Fmd5): Use a different logic to decide the coding system
4759 to use.
4760
4761 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4762
fbb87147
EZ
47632000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4764
52283633 4765 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4766
447e9da0
GM
47672000-12-01 Gerd Moellmann <gerd@gnu.org>
4768
7708ced0
GM
4769 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4770 height for YNegative.
4771 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4772 height; also see comment there.
4773
447e9da0
GM
4774 * window.c (coordinates_in_window): Handle computations for
4775 positions on the vertical bar and fringes differently for
4776 window-system frames. Consider some pixels near the vertical bar
4777 as on the bar if the frame doesn't have vertical scroll bars.
4778 Associate positions between mode or header lines with the
4779 right window, the left one.
4780
86d1db20
JR
47812000-12-01 Jason Rumney <jasonr@gnu.org>
4782
4783 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4784
4785 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4786 invalid frame.
4787
a1d58e5b
GM
47882000-12-01 Gerd Moellmann <gerd@gnu.org>
4789
52283633 4790 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4791 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4792 (save_window_save, Fset_window_configuration): Save/restore
4793 window's orig_top and orig_height.
4794
89c609af
JR
47952000-12-01 Jason Rumney <jasonr@gnu.org>
4796
4d177746 4797 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4798
89c609af
JR
4799 * w32fns.c (x_set_cursor_color): Fix last change.
4800
eccc05db
GM
48012000-11-30 Gerd Moellmann <gerd@gnu.org>
4802
31b6671b
GM
4803 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4804 sure that the next redisplay displays the minibuffer, so that
4805 the cursor will be replaced with what the minibuffer wants.
4806
eccc05db
GM
4807 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4808 #ifndef instead of using #if.
4809 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4810 USE_TOOLKIT_SCROLL_BARS is defined.
4811
162de750
JR
48122000-11-30 Jason Rumney <jasonr@gnu.org>
4813
4814 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4815 x_display_cursor.
4816
693c4692
GM
48172000-11-30 Gerd Moellmann <gerd@gnu.org>
4818
4819 * fns.c (Fmd5): Doc fix.
4820
b5d8d2ca 48212000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4822
4823 * fns.c (Fmd5): New function.
4824 (syms_of_fns): Defsubr md5.
4825
4826 * Makefile.in (obj): Add md5.o
4827
b02cd40b
GM
48282000-11-30 Gerd Moellmann <gerd@gnu.org>
4829
edfb795e
GM
4830 * md5.h, md5.c: New files, taken from glibc.
4831
df3aedcf
GM
4832 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4833
b02cd40b 4834 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4835 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4836
8b5176cd
SM
48372000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4838
4839 * eval.c (Frun_hooks): Allow 0 arguments.
4840
346598f1
GM
48412000-11-29 Gerd Moellmann <gerd@gnu.org>
4842
f9396e03
GM
4843 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4844 is over the menu bar widget, say it's not on the frame.
4845
4a967a9b
GM
4846 * xfns.c (Fx_create_frame): Reintroduce the call to
4847 face-set-after-frame-defaults.
4848
346598f1
GM
4849 * eval.c (Fsignal): Reset handling_signal.
4850
222456a1
JR
48512000-11-28 Jason Rumney <jasonr@gnu.org>
4852
4853 * w32menu.c (add_menu_item): Reset menu item text when changing
4854 type to radio button.
4855
8049ddc0
GM
48562000-11-28 Gerd Moellmann <gerd@gnu.org>
4857
346598f1 4858 * xselect.c: Update copyright.
f4f4ee4d 4859
bebe4a2c
GM
4860 * window.c (coordinates_in_window): If on a mode or header line,
4861 but sufficiently close to its start, return ``on vertical
4862 border''. This gives us a way to drag windows horizontally when
4863 using toolkit scroll bars.
4864
4865 * xterm.c (note_mouse_highlight): Change the cursor shape
4866 on the vertical border between windows.
4867
4868 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4869
4870 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4871 (syms_of_xfns): DEFVAR_LISP it.
4872 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4873
8d2c2642
GM
4874 * textprop.c (text_read_only): New function.
4875 (verify_interval_modification): Use it instead of signaling
4876 `text-read-only'. This makes it easier to catch this error
52283633 4877 with a breakpoint.:
8d2c2642 4878
52283633 4879 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4880 not end of line, which includes CR.
4881
5a2bae6c
KH
48822000-11-28 Kenichi Handa <handa@etl.go.jp>
4883
4884 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4885 include no-conversion.
4886
ae31f84d
JR
48872000-11-27 Jason Rumney <jasonr@gnu.org>
4888
4889 * w32fns.c (w32_load_system_font): Always mark font as double byte
4890 if codepage is unicode.
4891
67f1cf4c
GM
48922000-11-27 Gerd Moellmann <gerd@gnu.org>
4893
4a74d071 4894 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4895 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4896
902ae620
GM
4897 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4898 `vertical-line', `mode-line' and `header-line' events.
4899
4900 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4901 of a character, a TAB for instance. This is easier than to set
4902 up the iterator exactly, and it's not a frequent case, so the
4903 additional effort wouldn't really pay off.
4904
c1e279c2
AC
49052000-11-26 Andrew Choi <akochoi@i-cable.com>
4906
67f1cf4c 4907 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4908 init_window_once.
4909
a609568a
JR
49102000-11-25 Jason Rumney <jasonr@gnu.org>
4911
52283633
SM
4912 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4913 Args to window_from_coordinates should be pixel coordinates.
48b21762 4914
a609568a
JR
4915 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4916 redisplay handles them properly.
4917
a658d039
MB
49182000-11-25 Miles Bader <miles@gnu.org>
4919
4920 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4921
d3416cca
JR
49222000-11-24 Jason Rumney <jasonr@gnu.org>
4923
4924 * w32.c (init_environment): Set LANG environment variable based on
4925 locale settings, if not set.
4926
4927 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4928 making tool bar smaller. When clearing the frame, also
4929 clear current matrices. Clear frame when tool bar disappears.
4930 Don't use more lines for the tool-bar than is available.
4931 (x_change_window_heights): New function.
4932
ba193890
GM
49332000-11-24 Gerd Moellmann <gerd@gnu.org>
4934
2be8f184
GM
4935 * xdisp.c (init_from_display_pos): If POS says we're already after
4936 an overlay string ending at POS, make sure to pop the iterator
4937 because it will be in front of that overlay string. When POS is
4938 ZV, we've thereby also ``processed'' overlay strings at ZV.
4939
ba193890
GM
4940 * xfaces.c (lface_from_face_name): Function comment fix.
4941
1862a24e
MB
49422000-11-24 Miles Bader <miles@gnu.org>
4943
4944 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4945 apply `mode-line-inverse-video' -- zero means force display using
4946 the default face, non-zero means display using the specialized face.
4947 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4948
f07fa1b8
KH
49492000-11-23 Kenichi Handa <handa@etl.go.jp>
4950
4951 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4952 hard coded `4'.
4953
2bcdf662
EZ
49542000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4955
4956 * coding.c (decode_coding_emacs_mule): Fix the case of
4957 CODING_EOL_LF, which used uninitialized value of c.
4958
ba8299ff
SM
49592000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4960
4961 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4962
f4117c4d
GM
49632000-11-22 Gerd Moellmann <gerd@gnu.org>
4964
03e757c1
GM
4965 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4966 buffer object.
4967
f4117c4d
GM
4968 * frame.h (struct frame): Replace desired_tool_bar_items,
4969 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4970 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4971
4972 * frame.c (make_frame): Change initialization of tool bar
4973 items accordingly.
4974
4975 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4976 Change references to members deleted from struct frame to use the
f4117c4d
GM
4977 new ones.
4978
4979 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4980 references to members deleted from struct frame to use the new ones.
f4117c4d 4981
52283633 4982 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4983
4984 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4985
4986 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4987 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4988 from struct frame to use the new ones.
4989
f8e2f3f2
MB
49902000-11-23 Miles Bader <miles@gnu.org>
4991
4992 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4993 the face's inverse-video attribute, rather than overriding it.
4994
60e8e0a5
GM
49952000-11-22 Gerd Moellmann <gerd@gnu.org>
4996
4997 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4998 making tool bar smaller.
4999
92dd1b29
DL
50002000-11-22 Dave Love <fx@gnu.org>
5001
5002 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5003
e672fdce
MB
50042000-11-22 Miles Bader <miles@gnu.org>
5005
3a17d6cc
MB
5006 * keyboard.c (Vminibuffer_message_timeout): New variable.
5007 (command_loop_1): Use it to determine message timeout.
5008 (syms_of_keyboard): Initialize it.
5009
60e8e0a5 5010 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5011
e9655d81
KH
50122000-11-22 Kenichi Handa <handa@etl.go.jp>
5013
5014 * sysdep.c: Move the code for declaring h_errno after #include
5015 <netdb.h>.
5016
77270fac
GM
50172000-11-21 Gerd Moellmann <gerd@gnu.org>
5018
cd913aae
GM
5019 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5020 the menu bar when the tooltip is unmapped.
5021
77270fac
GM
5022 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5023 sole visible buffer when we're currently in the mini-buffer, and
5024 give up if so.
52283633 5025
556635d6
JR
50262000-11-21 Jason Rumney <jasonr@gnu.org>
5027
5028 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5029 put on the clipboard.
5030 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5031 copy of what Emacs last put there. If they are the same, do not
52283633 5032 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5033
5b7bde64
MB
50342000-11-22 Miles Bader <miles@gnu.org>
5035
5036 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5037 (syms_of_minibuf): Initialize it.
5038 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5039 to prompt, don't make read-only.
5040
ff23e1dd
GM
50412000-11-21 Gerd Moellmann <gerd@gnu.org>
5042
52283633
SM
5043 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5044 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5045
7aaf4388
GM
5046 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5047
f5f47add 5048 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5049
ff23e1dd
GM
5050 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5051
37c35586
KH
50522000-11-21 Kenichi Handa <handa@etl.go.jp>
5053
5054 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5055 ... #endif scope.
5056
ff9ab414
GM
50572000-11-20 Gerd Moellmann <gerd@gnu.org>
5058
52283633 5059 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5060 screen supports it.
5061
29a01b72
GM
5062 * s/gnu-linux.h: Don't use `#cpu'.
5063
09dfdf85
GM
5064 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5065 not defined in mman.h.
5066
52283633 5067 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5068 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5069 and store an index in the XClientMessageEvent. Storing a
5070 Lisp_Object or pointer can fail on a 64 bit system, since X only
5071 transfers 32 bits.
52283633
SM
5072 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5073
81459ac9
DL
50742000-11-20 Dave Love <fx@gnu.org>
5075
5076 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5077
56c13ae6
GM
50782000-11-20 Gerd Moellmann <gerd@gnu.org>
5079
5080 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5081
495a6df3
KH
50822000-11-20 Kenichi Handa <handa@etl.go.jp>
5083
2bcf3714
KH
5084 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5085 by WIDTH.
5086
495a6df3
KH
5087 * alloc.c (make_string): Fix previous change. Be sure to make
5088 unibyte string correctly.
5089
6d950f4c
GM
50902000-11-19 Gerd Moellmann <gerd@gnu.org>
5091
39b39373
GM
5092 * window.c (Fwindow_list): Change parameter list to be XEmacs
5093 compatible.
5094 (window_list_1): New function.
5095 (window_loop): Use it instead of Fwindow_list.
5096
b95b34e5
GM
5097 * sysdep.c (emacs_ospeed): New variable.
5098 (toplevel): Don't declare ospeed extern.
5099 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5100
5101 * termcap.c (ospeed): Remove.
5102 (tputs) [!emacs]: Remove unused code.
5103 (tgetent): Avoid a compiler warning.
5104
e83dc917
GM
5105 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5106 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5107 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5108
5109 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5110 removed.
5111 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5112 Take the X display as additional argument.
5113 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5114 `Widget' is a pointer type that's not easily stored in Lisp_Object
5115 form in a portable way.
52283633 5116
6d950f4c
GM
5117 * dispnew.c (update_text_area): Fix last change.
5118
e47306e6
GM
51192000-11-18 Gerd Moellmann <gerd@gnu.org>
5120
fb3cd89b
GM
5121 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5122
5123 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5124 clear current matrices.
5125
edaa9aed
GM
5126 * buffer.c (mmap_enlarge): Don't print a message on stderr
5127 if mapping new memory at the end of the existing region fails.
5128
e47306e6
GM
5129 * dispnew.c (update_text_area): Don't skip over equal glyphs
5130 when the last current glyph overlaps the glyph to its right.
5131
509633e3
MB
51322000-11-18 Miles Bader <miles@gnu.org>
5133
5134 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5135 lines that *end* with "..." too (that's the most common case!).
5136
d392e9c5
GM
51372000-11-18 Gerd Moellmann <gerd@gnu.org>
5138
67988445
GM
5139 * xdisp.c (resize_mini_window): Temporarily change to the
5140 mini-window's buffer if necessary.
1bfdbe43 5141
d392e9c5
GM
5142 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5143 the tooltip obscures less text under it.
5144
51452000-11-17 Gerd Moellmann <gerd@gnu.org>
5146
5147 * puresize.h (BASE_PURESIZE): Increase to 700000.
5148
92bb977f
JR
51492000-11-18 Jason Rumney <jasonr@gnu.org>
5150
5151 * w32term.c (w32_draw_bitmap): Use face to set colors.
5152
26fbf20b
DL
51532000-11-17 Dave Love <fx@gnu.org>
5154
5155 * lread.c (Fload): Fix #ifdef for pcc.
5156
100b593b
GM
51572000-11-17 Gerd Moellmann <gerd@gnu.org>
5158
5159 * xdisp.c (pos_visible_p): Compute the default character height
5160 differently.
5161
a288d0d1
GM
51622000-11-16 Gerd Moellmann <gerd@gnu.org>
5163
cac94de6 5164 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5165 knowing the line's height; use the default font's height in that case.
cac94de6 5166
a288d0d1
GM
5167 * xfaces.c (weight_table): Add `demi' with the same meaning as
5168 `demibold'.
5169
981fb6f6
KH
51702000-11-16 Kenichi Handa <handa@etl.go.jp>
5171
2cca872d 5172 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5173 (clear_glyph_row): Delete local static variable null_row.
5174
e5fa381b
JR
51752000-11-15 Jason Rumney <jasonr@gnu.org>
5176
5177 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5178 (w32_alloc_lighter_color): Use new brightness calculations from
5179 xterm.c. Scale delta to be in the range expected by W32.
5180 (w32_draw_relief_rect): Use frame relief colors.
5181
8e42f043
GM
51822000-11-15 Gerd Moellmann <gerd@gnu.org>
5183
6d133d1f
GM
5184 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5185 (Qinhibit_default_face_x_resources): New variable.
5186 (syms_of_frame): Initialize it.
5187 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5188
5189 * xdisp.c (pos_visible_p): Improve function comment.
5190
5191 * lisp.h (BINDING_STACK_SIZE): New macro.
5192
8e42f043
GM
5193 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5194 reading the directory if readdir returns null and errno is EAGAIN
5195 or EINTR.
5196
e8c87124
SM
51972000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5198
5199 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5200 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5201 Set amount_to_scroll to max of dx and scroll_step so that
5202 scroll-conservatively doesn't defeat scroll-step>1.
5203 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5204 scroll-conservatively for line-at-a-time scrolling.
5205
5f0c971d
GM
52062000-11-14 Gerd Moellmann <gerd@gnu.org>
5207
5208 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5209 extra argument.
5210
5211 * xdisp.c (current_mode_line_height, current_header_line_height):
5212 New variables.
5213 (init_xdisp): Initialize them.
5214 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5215 and use exact mode line heights if it is set.
5216
5217 * lisp.h (pos_visible_p): Change prototype.
5218
5219 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5220 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5221 and current_header_line_height first.
52283633
SM
5222 (current_mode_line_height, current_header_line_height):
5223 Declare extern.
5f0c971d 5224
d7361edf
MB
52252000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5226
5227 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5228 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5229 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5230
ee5e440a
MB
52312000-11-14 Miles Bader <miles@gnu.org>
5232
5233 * xterm.c (x_alloc_lighter_color): Include an additive component
5234 too for dark colors, because FACTOR isn't enough.
5235 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5236 New macros.
5237
5ca020fc
GM
52382000-11-13 Gerd Moellmann <gerd@gnu.org>
5239
5240 * keyboard.c (show_help_echo): Call message3_nolog with number of
5241 bytes in the help string as 2nd parameter, instead of the number
5242 of characters.
5243
9d348294
MB
52442000-11-13 Miles Bader <miles@gnu.org>
5245
5246 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5247 (Fload): Use new openp return protocol.
5248 Don't try to use Vload_source_file_function to load .elc files.
5249 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5250 openp return protocol.
5251 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5252
1729bb9a
KH
52532000-11-11 Kenichi Handa <handa@etl.go.jp>
5254
4e677396
KH
5255 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5256
5257 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5258 Defined these macros.
5259 (NLIST_STRUCT): Avoid re-defining it.
5260
1729bb9a
KH
5261 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5262 -I/usr/contrib/X11R6/include.
5263 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5264
a82fe213
JR
52652000-11-10 Jason Rumney <jasonr@gnu.org>
5266
5267 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5268
5269 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5270 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5271
5272 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5273 (Qw32_charset_vietnamese): New symbol.
5274 (xlfd_charset_of_font): New function.
5275 (w32_load_system_font): Use it.
5276 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5277 when Vw32_charset_info_alist is nil to ensure default face always
5278 has font. Use Fcar and Fcdr for safety.
5279 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5280 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5281 pseudo-codepages for special cases.
5282 (w32_to_x_font): New parameter to allow charset portion to be
5283 specified where there is many to one mapping. Callers changed.
5284 (w32_list_fonts): Avoid listing fonts that won't display.
5285
52d89894
GM
52862000-11-10 Gerd Moellmann <gerd@gnu.org>
5287
5288 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5289 (font_list_1): Renamed from font_list.
5290 (font_list): New function, trying alternative registries from
5291 Vface_alternative_font_registry_alist.
5292 (Finternal_set_alternative_font_registry_alist): New function.
5293 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5294 Vface_alternative_font_registry_alist.
5295 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5296
651cd3da
KR
52972000-11-09 Ken Raeburn <raeburn@gnu.org>
5298
5299 * lisp.h (Flooking_at): Declare.
5300
388ac098
GM
53012000-11-09 Gerd Moellmann <gerd@gnu.org>
5302
778fbc46 5303 * dired.c (directory_files_internal): Fix a braino.
52283633 5304
388ac098
GM
5305 * dired.c (directory_files_internal): Add missing GCPRO's.
5306 Some cleanup.
5307
ecaedde1
GM
53082000-11-08 Gerd Moellmann <gerd@gnu.org>
5309
f7eb32aa
GM
5310 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5311 (resize_mini_window): Return quickly if Vresize_mini_window is
5312 nil. Don't return if Vmax_mini_window_height is nil.
5313
5314 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5315 (syms_of_xdisp): Initialize them.
5316 (resize_mini_window): Act according to the setting of
5317 Vresize_mini_window.
5318 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5319
ecaedde1
GM
5320 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5321 scroll bar widget after configuring it, so that it will appear at
5322 the right position from the start.
5323 (XTredeem_scroll_bar): Cleaned up.
5324
3747ef2c
KH
53252000-11-08 Kenichi Handa <handa@etl.go.jp>
5326
5327 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5328 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5329 division by two.
5330
5331 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5332
03391420
DL
53332000-11-07 Dave Love <fx@gnu.org>
5334
7758f1c1 5335 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5336
5337 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5338
b5de343d
GM
53392000-11-07 Gerd Moellmann <gerd@gnu.org>
5340
acad3c0b
GM
5341 * window.c (Fset_window_configuration): Don't try to preserve
5342 point in the current buffer, if that buffer is displayed in more
5343 than one window.
5344
b5de343d
GM
5345 * xfaces.c (lookup_named_face): If default face isn't realized,
5346 try to realize it. Return -1 if not successful.
5347 (Fx_list_fonts): Handle case that face cannot be determined.
5348 (Fface_font): Likewise.
5349
cdb1fe49
GM
53502000-11-06 Gerd Moellmann <gerd@gnu.org>
5351
5352 * window.c (displayed_window_lines): Detect partially
5353 visible lines at the bottom correctly.
5354
d3a67486
SM
53552000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5356
5357 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5358 when ensuring we don't do visit in indirect buffer.
5359
ff8dd5d5
KH
53602000-11-06 Kenichi Handa <handa@etl.go.jp>
5361
5362 * composite.h (compose_chars_in_text): Add prototype.
5363
5364 * composite.c (Vcomposition_function_table): New variable.
5365 (Qcomposition_function_table): New variable.
5366 (run_composition_function): Call
5367 Vcompose_chars_after_function with three arguments.
5368 (compose_chars_in_text): New function.
5369 (syms_of_composite): Modified the doc-string of
5370 Vcompose_chars_after_function. Declare composition-function-table
5371 as a lisp variable, and initialize it.
5372
5373 * xfns.c (x_encode_text): Suppress producing escape sequences for
5374 composition.
5375
5376 * xselect.c: Include composite.h.
5377 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5378
d1145f85
AI
53792000-11-05 Andrew Innes <andrewi@gnu.org>
5380
5381 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5382
5383 * sysdep.c (read_input_waiting): Remove extraneous argument to
5384 read_socket_hook.
5385
5386 * w32fns.c (Fx_server_version): Include w32_build_number in the
5387 return list.
5388
5389 * w32heap.c (w32_build_number): New variable.
5390 (cache_system_info): Set it.
5391
5392 * w32heap.h (w32_build_number): Add extern.
5393
5394 * emacs.c (syms_of_emacs): Update docstring for
5395 system-configuration, to reflect the actual usage on MS-Windows.
5396
e85ee976
GM
53972000-10-31 Gerd Moellmann <gerd@gnu.org>
5398
26dcb81b
GM
5399 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5400 process idle timers while waiting for another event.
5401
52283633 5402 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5403 the default face are colored.
5404
e85ee976
GM
5405 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5406 window height hasn't changed.
5407
01b220b6
JR
54082000-10-31 Jason Rumney <jasonr@gnu.org>
5409
5410 * w32term.c (x_produce_glyphs): Handle composite characters.
5411 (x_draw_glyph_string_foreground)
5412 (x_draw_composite_glyph_string_foreground): Restore old font.
5413
4e6b7204
MB
54142000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5415
5416 * minibuf.c (read_minibuf): Reset the undo history just before
5417 starting the recursive-edit.
5418
d4358b37
GM
54192000-10-30 Gerd Moellmann <gerd@gnu.org>
5420
563f68f1
GM
5421 * xfaces.c (menu_face_change_count): New variable.
5422 (Finternal_set_lisp_face_attribute): Increment it for changes
5423 of the `menu' face.
5424 (realize_basic_faces): Reflect changes in the `menu' faces
5425 in menu bars.
5426
82e274d1
GM
5427 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5428 dy obtained from the iterator's y-position after moving from
5429 scroll_margin_pos to PT; see comment there.
52283633 5430
0dbf9fd2
GM
5431 * xdisp.c (safe_eval_handler): Call add_to_log.
5432
906b3b14
GM
5433 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5434 is not a symbol or string.
5435
d4358b37
GM
5436 * xdisp.c (echo_area_display): Don't perform a display update from
5437 inside redisplay. The update will happen anyway at the end of
5438 redisplay, and it can confuse redisplay (GC messages while
5439 redisplaying, for instance.)
5440
70c825df
SM
54412000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5442
cf9b4b0b
SM
5443 * xrdb.c (x_load_resources): Use the class name in the defaults.
5444
70c825df
SM
5445 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5446 (regex_compile): Catch bogus \(\1\).
5447
a1d34b1e
GM
54482000-10-30 Gerd Moellmann <gerd@gnu.org>
5449
cae71efe
GM
5450 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5451 RGB values.
52283633 5452
35efe0a1
GM
5453 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5454 we have a color cache, check that the cached color equals the
5455 allocated color. If not, clear the color cache.
5456
1d3baf74
GM
5457 * window.c (displayed_window_lines): Change buffers if necessary.
5458 Fix computation of displayed lines.
5459
a1d34b1e
GM
5460 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5461 update_menu_bindings to DEFVAR_BOOL.
5462
70737ea9
KH
54632000-10-30 Kenichi Handa <handa@etl.go.jp>
5464
70c825df 5465 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5466
fa0cb51d
KH
5467 * puresize.h (BASE_PURESIZE): Increase to 680000.
5468
70737ea9
KH
5469 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5470
0e4c08e8
JR
54712000-10-29 Jason Rumney <jasonr@gnu.org>
5472
5473 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5474
5475 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5476 (w32_cache_char_metrics): Handle possibility that 'x' does not
5477 exist in a BDF font.
5478 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5479
5480 * w32bdf.h (bdffont): Add nchars.
5481
5482 * w32bdf.c (set_bdf_font_info): Set it.
5483 (w32_BDF_TextOut): Swap byte order of double byte characters.
5484 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5485
45b84006
EZ
54862000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5487
5488 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5489 don't override the colors in frame's param_alist, unless they are
5490 unspecified.
5491
5492 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5493 reverse the effect of the highlight flag.
5494
caf9deee
KR
54952000-10-27 Ken Raeburn <raeburn@gnu.org>
5496
5497 * window.h (Fwindow_live_p): Declare.
5498
ae0b9b46
KR
5499 * undo.c (record_delete): Check that last_undo_buffer is really a
5500 buffer before applying XBUFFER to it.
5501
5502 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5503 Faref.
5504
02067692
SM
55052000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5506
5507 * lisp.h (KEYMAPP): New macro.
5508 (get_keymap): Remove.
5509 (get_keymap_1): Rename get_keymap.
5510
5511 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5512
5513 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5514
5515 * xmenu.c (single_submenu): Use KEYMAPP.
5516 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5517 Use KEYMAPP rather than Fkeymapp.
5518
5519 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5520
5521 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5522 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5523 Use KEYMAPP rather than Fkeymapp.
5524 (single_submenu): Use KEYMAPP.
5525 (w32_menu_show, w32_dialog_show): Use TRUE.
5526
5527 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5528
5529 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5530 (Fkeymapp): Use KEYMAPP.
5531 (get_keymap): Rename from get_keymap_1. Remove old def.
5532 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5533 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5534 (Fminor_mode_key_binding): Don't raise an error if the binding
5535 is not a keymap.
5536 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5537 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5538
5539 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5540 Allow Vspecial_event_map to be autoloaded.
5541 (menu_bar_items): Fetch the keymap rather than using keymapp.
5542 (menu_bar_one_keymap): No need to follow func-indirect any more.
5543 (parse_menu_item): get_keymap_1 -> get_keymap.
5544 (tool_bar_items): Fetch the keymap rather than using keymapp.
5545 (read_key_sequence): Use KEYMAPP.
5546
5547 * intervals.c (get_local_map): Use get_keymap rather than following
5548 function-indirections explicitly.
5549
5550 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5551
f9d80af3
JR
55522000-10-27 Jason Rumney <jasonr@gnu.org>
5553
5554 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5555 point, as Windows has oversized fonts.
5556
5557 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5558
a3ba27da
GM
55592000-10-27 Gerd Moellmann <gerd@gnu.org>
5560
5561 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5562 (freehook, reallochook): Handle null pointer arguments.
5563 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5564
aa3b80cc
SM
55652000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5566
5567 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5568 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5569 Giving in to popular pressure to shut up the compiler with casts.
5570
e24e84cc
GM
55712000-10-27 Gerd Moellmann <gerd@gnu.org>
5572
5573 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5574 signed value, and use a default value computed from the font's
5575 maximum descent.
5576
05ea7ef2
MB
55772000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5578
5579 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5580 that specify a negative underline position can still use underlines.
5581
5582 * window.c (Fpos_visible_in_window_p): Make POS default to
5583 WINDOW's point, not the current buffer's point.
5584
0b95284b
DL
55852000-10-26 Dave Love <fx@gnu.org>
5586
5587 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5588 when it's necessary.
5589
6c5b90af
GM
55902000-10-26 Gerd Moellmann <gerd@gnu.org>
5591
8b6d9dc9
GM
5592 * window.c (size_window): Compute size difference from sum of old
5593 child window sizes instead of from parent's size.
5594
6bc92b2e
GM
5595 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5596 Handle obscured lines at the top of the window.
5597
5598 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5599 down after the last error condition check.
5600
6c5b90af
GM
5601 * frame.c (Fdelete_frame): Run delete-frame-hook.
5602
42f92d4d
KH
56032000-10-26 Kenichi Handa <handa@etl.go.jp>
5604
5605 * coding.c (decode_coding): Fix previous change (check also
5606 CODING_MODE_LAST_BLOCK).
5607
d97151cb
SM
56082000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5609
e7efc503
SM
5610 * regex.c: More `unsigned char' -> `re_char' changes.
5611 Also change several `int' into `re_wchar_t'.
5612 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5613 (PUSH_FAILURE_POINTER): Don't cast any more.
5614 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5615 We want GCC to complain, since this piece of code makes
5616 re_match non-reentrant, which *should* be fixed.
5617 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5618 (EXTEND_BUFFER): Use RETALLOC.
5619 (SET_LIST_BIT): Don't cast.
5620 (re_wchar_t): New type.
5621 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5622 that those two functions will always properly return.
5623 (IMMEDIATE_QUIT_CHECK): Cast to void.
5624 (analyse_first): Use recursion rather than an explicit stack.
5625 (re_compile_fastmap): Can't fail anymore.
5626 (re_search_2): Don't check re_compile_fastmap for failure.
5627 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5628 Now also sets the new value (passed in a new argument).
5629 (re_match_2_internal): Use it.
5630 Also, use a new var `reg' of type size_t when looping through regs
5631 rather than reuse the inappropriate `mcnt'.
5632
d97151cb
SM
5633 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5634 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5635 (where_is_internal): Renamed from Fwhere_is_internal.
5636 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5637 (Fwhere_is_internal): New function wrapping where_is_internal.
5638 (where_is_internal_1): Handle the case where we're filling the cache.
5639 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5640
d5789b65
MB
56412000-10-25 Miles Bader <miles@gnu.org>
5642
5643 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5644
4ecda532
GM
56452000-10-25 Gerd Moellmann <gerd@gnu.org>
5646
5647 * window.c (pos_fully_visible_p): Removed.
5648 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5649 if position is visible and/or fully visible.
5650
5651 * lisp.h (pos_visible_p): Add prototype.
5652
5653 * xdisp.c (pos_visible_p): New function.
5654
68c3a137
KH
56552000-10-25 Kenichi Handa <handa@etl.go.jp>
5656
5657 * process.c (send_process): If OBJECT is t, it means that the data
5658 is from C string, but we should encode it. Before calling
5659 setup_raw_text_coding_system, be sure to flush out data by the
5660 previous coding system.
5661
7ae1c032
MB
56622000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5663
ff4dcd4b
MB
5664 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5665 assignment of startpos to prev when startpos == pos.
5666
7ae1c032
MB
5667 * editfns.c (find_field): Set the field stickiness correctly from
5668 overlay fields. Use renamed `text_property_stickiness'.
5669 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5670 Only check text properties, not overlays.
7ae1c032
MB
5671 * textprop.c (get_char_property_and_overlay): New function.
5672 (Fget_char_property): Use it.
5673 * intervals.h (get_char_property_and_overlay): Add declaration.
5674
49801145
SM
56752000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5676
5677 * keymap.c: Use AREF, ASET and ASIZE macros.
5678 (Fmake_sparse_keymap): Docstring fix.
5679 (synkey): Remove.
5680 (shadow_lookup): Move up.
5681 Handle the case where lookup-key returns an integer.
5682 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5683 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5684 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5685 Simplify/rewrite the keymap-finding code.
5686 Add check for command shadowing, using shadow_lookup.
5687
39e776cd
SM
56882000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5689
5690 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5691 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5692 a symbol.
5693
2488aba5
AI
56942000-10-24 Andrew Innes <andrewi@gnu.org>
5695
5696 * dired.c (directory_files_internal_unwind): New function.
5697 (directory_files_internal): Use it to ensure closedir is called
5698 even if expand-file-name or file-attributes throw, eg. because of
5699 a user interrupt. Also enable immediate_quit while calling
5700 re_search, so that matching can be interrupted as well.
5701
b94fdf61
AI
57022000-10-24 Andrew Innes <andrewi@gnu.org>
5703
5704 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5705 NT-Emacs only.
5706 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5707 so that re_search functions only quit when callers expect them to.
5708
57092000-10-24 Kenichi Handa <handa@etl.go.jp>
5710
5711 * regex.c (regex_compile): Change the way of handling a range from
5712 a char less than 256 to a char not less than 256.
5713
1946f901
GM
57142000-10-24 Gerd Moellmann <gerd@gnu.org>
5715
7ae2f10f
GM
5716 * window.c (size_window): Prevent setting window's width or
5717 height to a negative value (esp. with XSETFASTINT).
5718
5dcab13e
GM
5719 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5720 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5721 (protect_malloc_state) [GC_MALLOC_CHECK &&
5722 GC_PROTECT_MALLOC_STATE]: New function.
5723 (PROTECT_MALLOC_STATE): New macro.
5724 (__malloc_initialize, morecore, _malloc_internal)
5725 (_free_internal) _realloc_internal): Use it to make _heapinfo
5726 read-only outside of gmalloc.
5727
63e1b552
GM
5728 * keymap.c: Update copyright.
5729
1946f901
GM
5730 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5731 a symbol.
5732
4fa09beb
GM
57332000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5734
5735 * filelock.c (unlock_all_files): Use unlock_file to expand each
5736 buffer's file_truename before trying remove its lock file.
5737
23afac01
EZ
57382000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5739
5740 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5741 or CRLF, decode EOLs.
5742
04448b95
KH
57432000-10-24 Kenichi Handa <handa@etl.go.jp>
5744
5745 * window.c (Fdisplay_buffer): Fix doc.
5746
3090a5a5
JR
57472000-10-23 Jason Rumney <jasonr@gnu.org>
5748
5749 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5750 ASCII font of default fontset on Windows.
5751
5752 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5753 xterm.c comment below).
5754
5755 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5756
a83fee2c
GM
57572000-10-23 Gerd Moellmann <gerd@gnu.org>
5758
5759 * xterm.c (x_connection_closed): Reset handling_signal.
5760
52283633 5761 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5762
6ffdb539
MB
57632000-10-23 Miles Bader <miles@gnu.org>
5764
5765 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5766 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5767 maintain old behavior.
5768 * minibuf.c (Fminibuffer_complete): Likewise.
5769
7f1c969b
MB
57702000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5771
5772 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5773 that when a font can't be exactly centered, it errs up rather than
5774 down.
5775
23afac01 57762000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5777
52283633 5778 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5779
1a578e9b
AC
57802000-10-23 Andrew Choi <akochoi@i-cable.com>
5781
5782 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5783
5784 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5785 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5786
5787 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5788 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5789 syms_of_search, x_term_init, and init_keyboard before calling
5790 init_window_once. Also, call syms_of_xmenu.
5791
5792 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5793 default fontset to Monaco.
5794
5795 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5796 NewMacWindow and DisposeMacWindow.
5797 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5798 instead of calling NewMacWindow and setting fields of
5799 f->output_data.mac directly. Call init_frame_faces.
5800 (Fdelete_frame) [macintosh]: Remove unused code.
5801 (Fmodify_frame_parameters) [macintosh]: Call
5802 x_set_frame_parameters instead of mac_set_frame_parameters.
5803
5804 * frame.h [macintosh]: Define menu_bar_lines field in struct
5805 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5806
5807 * keyboard.c [macintosh]: Include macterm.h.
5808 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5809 and menu_bar_activate_event type events as for X and NT.
5810 (make_lispy_event) [macintosh]: Construct lisp events of type
5811 MENU_BAR_EVENT as for X and NT.
5812
5813 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5814 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5815 (sys_subshell) [macintosh]: Remove definition entirely.
5816 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5817 Vwindow_system_version here. Remove initialization of
5818 Vx_bitmap_file_path.
5819 (read_input_waiting): Correct the number of parameters passed to
5820 read_socket_hook.
5821 Move all Macintosh functions to mac/mac.c.
5822
5823 * term.c [macintosh]: Include macterm.h.
5824
5825 * window.c [macintosh]: Include macterm.h.
5826
5827 * xdisp.c [macintosh]: Include macterm.h. Declare
5828 set_frame_menubar and pending_menu_activation.
5829 (echo_area_display) [macintosh]: Do not return if terminal frame
5830 is the selected frame.
5831 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5832 Allow only the selected frame to set menu bar.
5833 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5834 calling FRAME_EXTERNAL_MENU_BAR (f).
5835 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5836
5837 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5838 and check_x. Declare XCreateGC. Define x_create_gc and
5839 x_free_gc. Initialize font_sort_order.
5840 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5841 but call x_list_fonts instead of w32_list_fonts.
5842 (Finternal_face_x_get_resource) [macintosh]: Do not call
5843 display_x_get_resource.
5844 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5845 (realize_x_face) [macintosh]: Load the font if it is specified in
5846 ATTRS.
52283633 5847 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5848
1ffbabe3
SM
58492000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5850
5851 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5852 is nil: since we go to the end of submap anyway, we'd end up
5853 setting nil to nil.
5854 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5855 doesn't obey autoload.
5856
bed43f1d
EZ
58572000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5858
1ffbabe3 5859 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5860
ea4233a7
JR
58612000-10-21 Jason Rumney <jasonr@gnu.org>
5862
5863 * w32term.c (w32_cache_char_metrics): Double check that font is
5864 really fixed pitch before trusting tmPitchAndFamily.
5865
f3d3c491
AI
58662000-10-21 Andrew Innes <andrewi@gnu.org>
5867
5868 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5869
5870 * w32term.h: Extern decl for w32_cache_char_metrics.
5871
5872 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5873
5874 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5875 (w32_unload_font): Free per_char array if present.
5876
5877 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5878 cached information in emulated XFontStruct to handle common cases
5879 quickly. Do not allocate XCharStruct for return.
5880 (w32_native_per_char_metric): New function.
5881 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5882 allocating one.
5883 (x_produce_glyphs): Don't get an HDC. Change calls to
5884 w32_per_char_metric to match arg change above. Remove calls to
5885 free results.
5886 (w32_get_glyph_overhangs): Ditto.
5887 (w32_cache_char_metrics): New function.
5888
5889 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5890 ($(BLD)/casefiddle.$(O)): Remove compile command.
5891 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5892 ($(BLD)/dispnew.obj):
5893 ($(BLD)/keyboard.obj):
5894 ($(BLD)/w32inevt.obj):
5895 ($(BLD)/w32bdf.obj):
5896 ($(BLD)/alloc.obj):
5897 ($(BLD)/buffer.obj):
5898 ($(BLD)/editfns.obj):
5899 ($(BLD)/emacs.obj):
5900 ($(BLD)/fileio.obj):
5901 ($(BLD)/fns.obj):
5902 ($(BLD)/indent.obj):
5903 ($(BLD)/insdel.obj):
5904 ($(BLD)/intervals.obj):
5905 ($(BLD)/minibuf.obj):
5906 ($(BLD)/print.obj):
5907 ($(BLD)/scroll.obj):
5908 ($(BLD)/sysdep.obj):
5909 ($(BLD)/textprop.obj):
5910 ($(BLD)/widget.obj):
f3d3c491
AI
5911 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5912 ($(BLD)/term.obj): Add dependency on dispextern.h.
5913
52283633
SM
5914 * makefile.nt ($(BLD)\dispnew.obj):
5915 ($(BLD)\keyboard.obj):
5916 ($(BLD)\w32inevt.obj):
5917 ($(BLD)\w32bdf.obj):
5918 ($(BLD)\alloc.obj):
5919 ($(BLD)\buffer.obj):
5920 ($(BLD)\editfns.obj):
5921 ($(BLD)\emacs.obj):
5922 ($(BLD)\fileio.obj):
5923 ($(BLD)\fns.obj):
5924 ($(BLD)\indent.obj):
5925 ($(BLD)\insdel.obj):
5926 ($(BLD)\intervals.obj):
5927 ($(BLD)\minibuf.obj):
5928 ($(BLD)\print.obj):
5929 ($(BLD)\scroll.obj):
5930 ($(BLD)\sysdep.obj):
5931 ($(BLD)\textprop.obj):
5932 ($(BLD)\widget.obj):
f3d3c491
AI
5933 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5934 ($(BLD)\term.obj): Add dependency on dispextern.h
5935
18ad4821
EZ
59362000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5937
5938 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5939 with an additional argument of Qt.
5940
de54681a
MB
59412000-10-21 Miles Bader <miles@gnu.org>
5942
5943 * window.c (pos_fully_visible_in_window_p): New function.
5944 (Fpos_visible_in_window_p): Add FULLY argument.
5945 Use pos_fully_visible_in_window_p.
5946 (window_scroll_pixel_based, window_scroll_line_based): Update
5947 calls to Fpos_visible_in_window_p.
5948 * lisp.h (Fpos_visible_in_window_p): Update prototype
5949
13c844fb
GM
59502000-10-20 Gerd Moellmann <gerd@gnu.org>
5951
5952 * alloc.c (toplevel): Conditionalize compilation of mem_*
5953 functions differently.
52283633 5954
d9506268
JR
59552000-10-20 Jason Rumney <jasonr@gnu.org>
5956
5957 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5958 mem_init where it used to be. mem_z etc not defined otherwise.
5959
8094989b
GM
59602000-10-20 Gerd Moellmann <gerd@gnu.org>
5961
5962 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5963 GC_MALLOC_CHECK.
5964 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5965 structure definition and related variabled to the top of the file.
5966 Include this code when GC_MALLOC_CHECK is defined.
5967 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5968 register/unregister allocated region.
5969 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5970 which isn't allocated.
5971 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5972 something which is already in use.
5973 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5974 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5975 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5976 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5977
5978 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5979 _malloc_internal instead of malloc.
5980 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5981 of free.
5982
ea456eb4
AI
59832000-10-20 Andrew Innes <andrewi@gnu.org>
5984
5985 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5986 Windows.
5987 (my_strftime) <macro>: Don't use macro arg list when redefining as
5988 _strftime_copytm.
5989 (my_strftime) <function>: Supply 0 as ut argument.
5990
e64c3a75
JR
59912000-10-19 Jason Rumney <jasonr@altavista.net>
5992
5993 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5994 including dispextern.h, as it stops faces from working.
5995
5996 * w32fns.c (Fx_create_frame): Don't bother calling
5997 face-set-after-frame-default since the caller does it for us
5998 anyway. Clean up calls to x_get_arg to be consistent with X.
5999
6000 * w32term.c (x_produce_glyphs): Handle
6001 unibyte_display_via_language_environment correctly.
6002 (w32_draw_box_rect): Fix the calculation of width and height.
6003
6004 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6005 as it has stopped working.
6006 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6007 menu-bar.
6008
17401c97
GM
60092000-10-19 Gerd Moellmann <gerd@gnu.org>
6010
6011 * eval.c (skip_debugger): Prevent a compiler warning.
6012 (Fcondition_case): Likewise.
6013 (Fbacktrace_frame): Use a null interactive spec.
6014
773272d8
KH
60152000-10-19 Kenichi Handa <handa@etl.go.jp>
6016
6017 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6018
a42943e9
GM
60192000-10-18 Gerd Moellmann <gerd@gnu.org>
6020
e50517d9
GM
6021 * strftime.c: Sync with glibc, file version 1.78.
6022 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6023 should no longer be used according to ISO 8601.
6024
9035a35a
GM
6025 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6026 no map for meta_prefix_char, don't try to use it as a keymap.
6027 Instead, if T_OK is non-zero, look up a default binding, if any,
6028 otherwise, if T_OK is zero, return nil.
6029
a42943e9
GM
6030 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6031 (x_to_xcolors, png_load): Use x_query_color.
6032
52283633
SM
6033 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6034 New functions.
a42943e9
GM
6035 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6036 which can be slow.
6037 (x_copy_color, x_alloc_lighter_color): Likewise.
6038
6039 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6040 (x_query_color, x_query_colors): Add prototype.
6041
6042 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6043 check_string_bytes only if not noninteractive, increase count to 50.
6044
00de2987
MB
60452000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6046
6047 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6048 markers correctly.
6049
54918e2b
GM
60502000-10-17 Gerd Moellmann <gerd@gnu.org>
6051
1f0b3fd2
GM
6052 * alloc.c (pure_bytes_used): Renamed from pureptr.
6053 (ALIGN): New macro.
6054 (pure_alloc): New function.
6055 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6056 Use it.
6057 (Fpurecopy): Use PURE_POINTER_P.
6058
68c5d1db
GM
6059 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6060 PT has moved backward.
52283633 6061
9a038881
GM
6062 * xdisp.c (cursor_row_p): Take continued lines into account.
6063
361b097f
GM
6064 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6065 string's size_byte.
6066 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6067 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6068 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6069 string allocated.
6070
54918e2b
GM
6071 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6072 of selective display off while searching for the next line start.
6073
03ed0806
KH
60742000-10-17 Kenichi Handa <handa@etl.go.jp>
6075
6076 * Makefile.in (term.o): Depend on dispextern.h.
6077
7e05cdaf
SM
60782000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6079
6080 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6081
a6801fd1
GM
60822000-10-16 Gerd Moellmann <gerd@gnu.org>
6083
483de32b
GM
6084 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6085 the iterator at the beginning, so that they can be set later on,
6086 for instance in reseat_at_next_visible_line_start, without being
6087 overwritten.
6088
a6801fd1
GM
6089 * xfns.c (pbm_format): Add :foreground and :background keywords.
6090 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6091 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6092
dbf1fcc1
EZ
60932000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6094
6095 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6096
52283633 6097 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6098
6099 * msdos.c (IT_set_face): Compare highlighted face with the default
6100 face, and invert colors if these faces' colors are identical.
6101 (Fmsdos_remember_default_colors): Don't swap foreground and
6102 background colors in initial_colors[].
6103 (IT_set_frame_parameters): Don't swap frame's foreground and
6104 background pixels. If ALIST includes "(reverse . t)", swap
6105 foreground-color and background-color properties in frame's
6106 param_alist. If the original frame's param_alist doesn't specify
6107 the colors, store unspecified-fg and unspecified-bg, reversed if
6108 required.
6109
6110 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6111 the colors are unspecified and reversed, reverse fore- and back-
6112 ground in the returned value.
6113 (Fframe_parameter): Ditto.
6114
b41fe2c3 61152000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6116
3a6b59d9
GM
6117 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6118 get_last_unchanged_at_beg_row.
6119 (find_first_unchanged_at_end_row): Renamed from
6120 get_first_unchanged_at_end_row.
6121 (find_first_unchanged_at_end_row): Convert assertions to
6122 unconditional tests which abort. When looking for a row in
6123 unchanged text, don't go further back than first_text_row.
6124
b41fe2c3
GM
6125 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6126 Don't add in the last line's height when deciding if the new
6127 position is below the scroll margin.
9d1af64f 6128
b41fe2c3 61292000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6130
6131 * editfns.c (Fconstrain_to_field): Check carefully for field
6132 boundaries if either OLD_POS or NEW_POS has a non-nil field
6133 property, even if they're the same.
6134
c412cb7b
KH
61352000-10-16 Kenichi Handa <handa@etl.go.jp>
6136
6137 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6138 height for XFillRectangle.
6139
5586f3eb
SM
61402000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6141
6142 * syntax.c (Fstring_to_syntax): New function extracted from
6143 Fmodify_syntax_entry.
6144 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6145 (skip_chars, Fforward_comment): Remove unused variables.
6146 (syms_of_syntax): Add defsubr for string-to-syntax.
6147 (describe_syntax): Add code for comment and string fences.
6148
db785038
SM
61492000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6150
6151 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6152 Do the meta->esc mapping. Call get_keyelt before returning.
6153 Start scanning from the second element (the first is always `keymap')
6154 to make it easier to detect when we reach a parent map.
6155 Handle the case of inheriting from a symbol whose function is a map.
6156 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6157 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6158 (get_keyelt, Flookup_key): Update call to access_keymap.
6159 Remove the meta->esc mappings.
6160 (define_as_prefix): Delete old disabled code.
6161 (menu_item_p): New function.
6162 (where_is_internal_1): Skip over the few remaining menu items.
6163 * lisp.h (access_keymap): Update prototype.
6164 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6165 Update call to access_keymap.
6166 (follow_key, read_key_sequence): Update calls to access_keymap.
6167 Remove the meta->esc mappings.
6168
cafafe0b
GM
61692000-10-13 Gerd Moellmann <gerd@gnu.org>
6170
a2e2a7f6
GM
6171 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6172 with additional argument.
6173
cafafe0b
GM
6174 * xdisp.c (cursor_row_p): New function.
6175 (try_cursor_movement, display_line): Use it.
52283633 6176
cafafe0b
GM
6177 * xdisp.c (append_space): Also save/restore iterator's current
6178 character and its length.
6179
6180 * xdisp.c (init_from_display_pos): Add an assertion.
6181 (handle_stop): Don't set iterator's add_overlay_start.
6182 (handle_invisible_prop): Likewise.
6183 (load_overlay_strings): If text under an overlay is invisible,
6184 take both before- and after-strings into account when the iterator
6185 is positioned either at the start or at the end of the overlay.
6186 (forward_to_next_line_start): Rewritten.
6187 (reseat_at_next_visible_line_start): Rewritten.
6188 (set_iterator_to_next): Add parameter RESEAT_P.
6189
6190 * dispextern.h (struct it): Remove member add_overlay_start.
6191 (set_iterator_to_next): Change prototype.
6192
c744452b
KH
61932000-10-13 Kenichi Handa <handa@etl.go.jp>
6194
6195 * coding.c (code_convert_region): Be sure to initialize
6196 coding->category_idx.
e4a3f4e1
KH
6197 (decode_coding_string): Set coding->src_multibyte and
6198 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6199 (encode_coding_string): Set coding->src_multibyte and
6200 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6201
321fd26f
SM
62022000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6203
6204 * xfns.c (Fx_create_frame): Don't bother calling
6205 face-set-after-frame-default since the caller does it for us anyway.
6206
76832439
EZ
62072000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6208
6209 * window.c (coordinates_in_window): Fix detection of vertical line
6210 on character terminals.
6211
2483cf58
GM
62122000-10-12 Gerd Moellmann <gerd@gnu.org>
6213
6214 * editfns.c (save_excursion_save): Additionally record the
6215 selected window.
6216 (save_excursion_restore): If buffer was visible in a window, and a
6217 different window was selected, and the old selected window is
6218 still live, restore point in that window.
6219
eb991b25
KH
62202000-10-12 Kenichi Handa <handa@etl.go.jp>
6221
8a0eba09
KH
6222 * xterm.c (x_produce_glyphs): Handle
6223 unibyte_display_via_language_environment correctly.
6224
20401fcc
KH
6225 * regex.c (regex_compile): Change the way of handling a range from
6226 unibyte char to multibyte char.
6227
6228 * syntax.c (skip_chars): Change the way of handling a range from
6229 unibyte char to multibyte char.
6230
eb991b25
KH
6231 * process.c (read_process_output): Cancel previous change.
6232
365dd325
EZ
62332000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6234
c1b096cb
EZ
6235 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6236
365dd325
EZ
6237 * charset.c (Ffind_charset_string): Doc fix.
6238 (Ffind_charset_region): Doc fix.
6239
eb483c2b
KH
62402000-10-11 Kenichi Handa <handa@mule.m17n.org>
6241
6242 * process.c (read_process_output): Fix previous change. Adjust
6243 multibyteness of text to insert in a buffer by
52283633 6244 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6245
b40bfb99
AS
62462000-10-10 Andreas Schwab <schwab@suse.de>
6247
6248 * alloc.c (mark_object): Remove all workarounds installed on
6249 1993-08-08.
6250
caff31d4
KH
62512000-10-10 Kenichi Handa <handa@etl.go.jp>
6252
52283633 6253 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6254 (base64_encode_1): Make it work for a text of multibyte form.
6255 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6256 case. Don't call str_to_multibyte because base64_decode_1
6257 produces correct multibyte form for eight-bit codes.
52283633 6258 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6259 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6260 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6261 codes.
6262
6263 * charset.h (CHAR_STRING): Optimized for single byte characters.
6264
cba026ef
AS
62652000-10-09 Andreas Schwab <schwab@suse.de>
6266
6267 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6268 -1 after socket is closed, to fall through to error processing.
6269
1e21fe48
EZ
62702000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6271
6272 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6273 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6274 background-color, change also the colors of the default face for
6275 this frame.
6276
a640322e
EZ
62772000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6278
6279 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6280 them extern (they are defined on xfaces.c).
6281 (syms_of_msdos): Don't intern and don't staticpro
6282 Qbackground_color and Qforeground_color.
6283
a115794c
EZ
62842000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6285
6286 * frame.c (Fframe_parameter): For non-windowed frames, if
6287 f->param_alist says foreground or background color is unspecified,
6288 call tty_color_name to return the color name computed from the
6289 frame's current colors.
6290
f5533b63
DL
62912000-10-06 Dave Love <fx@gnu.org>
6292
6293 * terminfo.c (ospeed): Don't declare.
6294
6295 * sysdep.c: Don't include string.h.
6296 (h_errno): Declare conditional also on TRY_AGAIN.
6297
6298 * charset.c (Ffind_charset_string): Doc fix.
6299
52283633 6300 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6301 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6302 error messages.
6303
2b06561a
DL
63042000-10-05 Dave Love <fx@gnu.org>
6305
6306 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6307 position like menu-bar.
6308
ca839c85
GM
63092000-10-05 Gerd Moellmann <gerd@gnu.org>
6310
6311 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6312
6313 * xdisp.c (handle_single_display_prop): Use safe_call1.
6314 (safe_call): Renamed from call_function.
6315 (safe_call1): New function.
6316 (handle_fontified_prop): Use safe_call1 instead of call1.
6317 (safe_eval): Renamed from eval_form.
6318 (safe_eval_handler): Renamed from eval_handler.
6319 (handle_single_display_prop, display_mode_element): Use safe_eval
6320 instead of eval_form.
6321
6322 * xfaces.c (merge_face_heights): Use safe_call instead of
6323 call_function.
6324
6325 * keyboard.c (show_help_echo): Use safe_call instead of
6326 call_function; use safe_eval instead of eval_form.
6327
6328 * lisp.h (safe_call): Renamed from call_function.
6329 (safe_eval): Renamed from eval_form.
6330 (safe_call1): Add prototype.
6331
a3489ece
MB
63322000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6333
6334 * xfns.c (image_ascent): Rearrange ascent calculation for the
6335 has-a-font case.
6336
35810b6f
SM
63372000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6338
6339 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6340 (where_is_internal_1): Don't bother ignoring menu-items any more.
6341
3dc78168
GM
63422000-10-04 Gerd Moellmann <gerd@gnu.org>
6343
6344 * keyboard.c (update_menu_bindings): New variable.
6345 (parse_menu_item): Use AREF. If update_menu_bindings
6346 is 0, don't update menu bindings.
6347 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6348
1efc2bb9
EZ
63492000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6350
6351 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6352 to `mark_object'.
6353
3f679f55
SM
63542000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6355
6356 * syntax.c (forw_comment): Match nestedness of ender/starter.
6357 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6358 (prev_char_comstart_first): Remove.
6359 (back_comment): Check two-char comment markers more carefully
6360 to better handle overlapping cases like *//* or /* */* */ ...
6361 Match nestedness of ender/starter.
6362
2021ab61
DL
63632000-10-02 Dave Love <fx@gnu.org>
6364
6365 * config.in (HAVE_GAI_STRERROR): Add undef.
6366
6367 * process.c (Fopen_network_stream): Use it.
6368
6369 * m/alpha.h (NO_REMAP): Don't define.
6370
64e6cc18
GM
63712000-10-02 Gerd Moellmann <gerd@gnu.org>
6372
6373 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6374 return with a string converted to an integer or vice versa when
6375 Vmocklisp_arguments is t.
6376 (Fsignal): Likewise. The function can return for `quit'.
6377 (struct gcpro): Declare member `var' to point to a volatile
6378 Lisp_Object.
6379
6380 * eval.c (error): Prevent compiler warning.
6381
b1904cd9
SM
63822000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6383
6384 * keymap.c (keymap_memberp): New function.
6385 (Fset_keymap_parent): Use it.
6386 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6387 Use keymap_memberp to avoid creating cycles.
6388 (access_keymap): Use KEYMAPP.
6389
71c9ec51
GM
63902000-09-30 Gerd Moellmann <gerd@gnu.org>
6391
6392 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6393 gai_strerror. Make sure xerrno is set if connect fails. Improve
6394 error recovery.
71c9ec51 6395
c70c6b58
JR
63962000-09-29 Jason Rumney <jasonr@gnu.org>
6397
6398 * w32term.c (w32_char_font_type, w32_encode_char)
6399 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6400 (w32_bdf_per_char_metric): New function.
6401 (w32_per_char_metric): Use it.
6402 (x_draw_glyph_string_background): Always draw background for BDF
6403 glyphs.
6404
6405 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6406 GDI object which is a scarce resource.
6407
6408 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6409 (get_quoted_string): Fix limit on memchr search.
6410 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6411 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6412 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6413 (get_cached_font_char, cache_char_offset): Use macro
6414 BDF_CODEPOINT_RANGE_COVER_P.
6415 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6416 (clear_cached_bitmap_slots): New function.
6417 (GET_HEX_VALUE): G-Z, g-z are not hex.
6418 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6419 (get_bitmap_with_cache): Use new cache implementation.
6420 (create_offscreen_bitmap): New function.
6421 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6422
6423 * w32term.c (x_produce_glyphs): If the distance from the current
6424 position to the next tab stop is less than a canonical character
6425 width, use the tab stop after that.
6426 (x_draw_glyphs): Handle case START and END are out of bounds more
6427 carefully.
6428 (x_clear_mouse_face): Block/unblock input.
6429 (x_display_and_set_cursor): Don't show a hollow box cursor for
6430 buffers whose cursor_type is nil.
6431
fe01239f
GM
64322000-09-29 Gerd Moellmann <gerd@gnu.org>
6433
52283633 6434 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6435
6436 * dispextern.h (updating_frame): Declare extern.
6437
e7c52f1f
AS
64382000-09-29 Andreas Schwab <schwab@suse.de>
6439
6440 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6441
de6e1f7c
GM
64422000-09-29 Gerd Moellmann <gerd@gnu.org>
6443
25126faa
GM
6444 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6445 use its function definition.
6446 (tool_bar_items): Likewise.
6447
de6e1f7c 6448 * lisp.h (fatal): Declare NO_RETURN.
52283633 6449
454ee39b
KH
64502000-09-29 Kenichi Handa <handa@etl.go.jp>
6451
6452 * keymap.c: Remove the line "#undef NULL".
6453
96301c5f
GM
64542000-09-28 Gerd Moellmann <gerd@gnu.org>
6455
52283633 6456 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6457
efffeeb4
DL
64582000-09-28 Dave Love <fx@gnu.org>
6459
ecb8b666
DL
6460 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6461
dc3cd20f
DL
6462 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6463
6464 * .gdbinit (xreload): Note its need on GNU/Linux.
6465
efffeeb4
DL
6466 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6467 r_alloc, r_alloc_free.
6468
8610d903
KH
64692000-09-28 Kenichi Handa <handa@etl.go.jp>
6470
6471 * syntax.c (skip_chars): Handle negation correctly.
6472
8901d1ac
GM
64732000-09-27 Gerd Moellmann <gerd@gnu.org>
6474
6f22f1ad
GM
6475 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6476 with non-zero FORCE_P argument.
6477
52283633 6478 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6479 Add assertions.
6480
6481 * xdisp.c (window_box_height): Add an assertion.
6482
6483 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6484 tool-bar than is available.
6485 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6486
36f1966f
DL
64872000-09-27 Dave Love <fx@gnu.org>
6488
efffeeb4 6489 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6490
31d929e5
GM
64912000-09-26 Gerd Moellmann <gerd@gnu.org>
6492
c98863bf
GM
6493 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6494 instead of BITS_PER_INT.
6495 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6496 EMACS_UINT, respectively.
6497 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6498
6499 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6500
6501 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6502
77072ab1
GM
6503 * window.c (freeze_window_starts): Construct last argument for
6504 foreach_window differently.
6505
6506 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6507
6508 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6509 EMACS_UINT instead of `int' and `unsigned int'.
6510 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6511
6512 * frame.h (struct frame): Make the `nothing' member of union
6513 output_data an EMACS_INT.
6514
52283633 6515 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6516 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6517 size in the sdata structure.
6518 (SDATA_NBYTES, SDATA_DATA): New macros.
6519 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6520 differently for the different layout of the sdata structure.
6521 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6522 in sdata.
6523 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6524 Check that size recorded in the string size and size recorded in
6525 the sdata structure agree.
6526
3e60b029
DL
65272000-09-25 Dave Love <fx@gnu.org>
6528
6529 * buffer.c: Include stdio.h.
6530
6531 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6532
3e60b029
DL
6533 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6534
6535 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6536 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6537 (__malloc_extra_blocks): Declare as __malloc_size_t.
6538
8ff16b4e
GM
65392000-09-25 Gerd Moellmann <gerd@gnu.org>
6540
755a2ccd
GM
6541 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6542
d8b4516f
GM
6543 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6544 (read_char): If help-echo is showing, preserve the echo area
6545 when redisplaying.
6546
6547 * xdisp.c (help_echo_showing_p): New variable.
6548 (set_message): Reset it to 0.
6549 (init_xdisp): Initialize help_echo_showing_p.
6550
6551 * dispextern.h (help_echo_showing_p): Declare extern.
6552
6553 * config.in: Fix typo in __GNUC_MINOR__.
6554
6555 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6556
b11af2dd
GM
6557 * s/freebsd.h (POSIX_SIGNALS): Define.
6558
8ff16b4e
GM
6559 * xterm.c (x_clear_mouse_face): Block/unblock input.
6560
844eb643
DL
65612000-09-24 Dave Love <fx@gnu.org>
6562
6563 * fns.c (base64_encode_1): Fix last change.
6564
b30ab1b3
GM
65652000-09-22 Gerd Moellmann <gerd@gnu.org>
6566
6567 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6568
6569 * xdisp.c (try_window_reusing_current_matrix): More fixes
6570 for the case window has a header-line.
6571
c6cbe5f0
DL
65722000-09-22 Dave Love <fx@gnu.org>
6573
4c7c1f3f
DL
6574 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6575 a doc string.
6576
6577 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6578
c6cbe5f0
DL
6579 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6580
550a625e
GM
65812000-09-21 Gerd Moellmann <gerd@gnu.org>
6582
4c7c1f3f 6583 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6584 for GCC >= 2.5.
6585
52283633
SM
6586 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6587 Declare NO_RETURN.
fca99116 6588
80d26f99
GM
6589 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6590 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6591 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6592 warnings.
52283633 6593
80d26f99
GM
6594 * marker.c (byte_char_debug_check): Return void.
6595
623a0aae
GM
6596 * xfns.c (Fx_create_frame): Set default frame parameter value
6597 for tool-bar-lines to 1.
6598
6599 * dispnew.c (scrolling_window): Compare y-positions of rows
6600 equal at the start. Some simplification.
6601
6602 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6603 reused rows' y-position in the case window has a header-line, and
6604 new window start is greater than old window start.
6605
42ac0ae5
GM
6606 * process.c (process_sent_to): New variable.
6607 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6608 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6609 Declare more parameters volatile.
6610
550a625e
GM
6611 * lread.c (Vrecursive_load_depth_limit): New variable.
6612 (Fload): Check recursive loads whose recursion depth exceeds
6613 Vrecursive_load_depth_limit.
6614 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6615
8320414c
GM
66162000-09-20 Gerd Moellmann <gerd@gnu.org>
6617
f46c275e
GM
6618 * fileio.c (Fread_file_name): Doc fix.
6619
6620 * editfns.c (Fmessage_or_box): Doc fix.
6621
6622 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6623
b7e11c5b 6624 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6625
8320414c
GM
6626 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6627 symbols are specified, add color translations to the cache.
52283633 6628 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6629 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6630 xpm_cache_color.
6631 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6632 structures to xpm_init_color_cache.
6633
da1608d9
GM
66342000-09-19 Gerd Moellmann <gerd@gnu.org>
6635
52283633 6636 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6637
6badfa25
AI
66382000-09-19 Andrew Innes <andrewi@gnu.org>
6639
6640 * makefile.nt (bootstrap-emacs): Don't change directory.
6641
3a5f42bb
KH
66422000-09-19 Kenichi Handa <handa@etl.go.jp>
6643
1b7649bd
KH
6644 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6645
3a5f42bb
KH
6646 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6647 If output buffer is too small, signal an appropriated error.
6648
9f83cf0b
DL
66492000-09-18 Dave Love <fx@gnu.org>
6650
52283633 6651 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6652 (current_active_maps): Remove redundant get_local_map call.
6653
28c7826c
GM
66542000-09-18 Gerd Moellmann <gerd@gnu.org>
6655
5cefa566
GM
6656 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6657 cursor for buffers whose cursor_type is nil.
52283633 6658
6fed3546
GM
6659 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6660 a feature to implement that is already implemented.
6661 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6662 warnings.
6663
6664 * xfns.c (x_clear_image_1): New function.
6665 (x_clear_image): Use it.
52283633 6666 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6667
05b1f851
GM
6668 * dispnew.c (update_window): Move test for invisible lines
6669 at the top to update_window_line.
6670 (update_window_line): Handle invisible lines here.
6671
f4779de9
GM
6672 * xfns.c (clear_image_cache): Clear current matrices of all
6673 frames sharing an image cache. Block input while freeing
6674 images. Fix timestamp comparison.
6675 (x_clear_image): Also free the mask.
6676
28c7826c
GM
6677 * xfns.c (lookup_image): Block input while loading the image so
6678 that we won't get interrupted in a state where the image isn't yet
6679 set up completely.
6680 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6681 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6682 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6683 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6684
b7412313
GM
66852000-09-16 Gerd Moellmann <gerd@gnu.org>
6686
6687 * dispnew.c (update_window): Make sure to make desired rows
6688 current even if they are completely invisible at the top
6689 of a window.
6690
47e351a3
GM
66912000-09-15 Gerd Moellmann <gerd@gnu.org>
6692
7f8f1edc
GM
6693 * xfns.c (lookup_image): Build mask before applying an algorithm.
6694 Recognize algorithm `disabled'.
6695 (cross_disabled_images): New variable.
6696 (COLOR_INTENSITY): New macro.
6697 (x_detect_edges): Use COLOR_INTENSITY.
6698 (x_disable_image): New function.
6699 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6700
6701 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6702 disabled state, don't apply an image transformation algorithm if
6703 the user specified an image for the disabled state. Use
28c7826c 6704 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6705 user hasn't specified an image.
6706
ebb8f116
GM
6707 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6708 allocation functions with the XPM lib.
6709 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6710 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6711 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6712 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6713 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6714 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6715 functions, if possible, because these handle color allocation
6716 failure more gracefully.
6717 (Fimage_mask_p): New function.
6718
47e351a3
GM
6719 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6720 (Qedge_detection, Qheuristic): New symbols.
6721 (syms_of_xfns): Initialize new symbols.
6722 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6723 `algorithm (edge-detection ...)'.
6724 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6725 (tiff_format, gif_format, gs_format): Add `:mask'.
6726 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6727 (GIF_MASK, GS_MASK): New enumerators.
6728 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6729 (emboss_matrix, laplace_matrix): New variables.
6730 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6731 (x_edge_detection): New functions.
6732 (x_laplace): Rewritten in terms of x_detect_edges.
6733 (x_build_heuristic_mask): If image has a mask, free it.
6734
fe83b953
AI
67352000-09-14 Andrew Innes <andrewi@gnu.org>
6736
6737 * makefile.w32-in: Revert to Unix line endings.
6738
3021e816
AI
67392000-09-14 Andrew Innes <andrewi@gnu.org>
6740
6741 * makefile.w32-in: Standardize indentation somewhat.
6742 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6743 cater for differences between shells.
6744
6745 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6746
2a32b5ea
GM
67472000-09-14 Gerd Moellmann <gerd@gnu.org>
6748
6749 * xterm.c (x_produce_glyphs): If the distance from the current
6750 position to the next tab stop is less than a canonical character
6751 width, use the tab stop after that.
6752
b4331e96
DL
67532000-09-14 Dave Love <fx@gnu.org>
6754
6755 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6756
ef9e4345
GM
67572000-09-14 Gerd Moellmann <gerd@gnu.org>
6758
085536c2
GM
6759 * xdisp.c (handle_fontified_prop): While running fontification
6760 functions, bind `fontification-functions' and
6761 `after-change-functions' to nil.
6762
ef9e4345
GM
6763 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6764 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6765
6766 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6767
6768 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6769 USE_MMAP_FOR_BUFFERS.
6770
6771 * insdel.c (make_gap): Use enlarge_buffer_text.
6772
6773 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6774 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6775 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6776 from former r_alloc_* functions in ralloc.c.
52283633 6777 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6778 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6779 (mmap_init) [REL_ALLOC_MMAP]: New function.
6780 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6781 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6782 BUFFER_FREE.
6783
6784 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6785 (enlarge_buffer_text): Add prototype.
6786
6787 * ralloc.c: Remove everything having to do with the use of mmap.
6788
f8608968
GM
67892000-09-13 Gerd Moellmann <gerd@gnu.org>
6790
2a494b2d
GM
6791 * sound.c (Fplay_sound): Doc fix.
6792
8c907a56
GM
6793 * keyboard.c: Avoid some more compiler warnings.
6794 (parse_tool_bar_item): Ignore cached key bindings.
6795
f8608968
GM
6796 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6797 and allocation of Lisp data.
6798
6ab70e9a
GM
67992000-09-12 Gerd Moellmann <gerd@gnu.org>
6800
d12d0a9b
GM
6801 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6802 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6803 defaults first.
6804
6ab70e9a
GM
6805 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6806
63c36c3c
KH
68072000-09-12 Miyashita Hisashi <himi@meadowy.org>
6808
6809 * ccl.c: Comment fixed.
6810 (MAX_MAP_SET_LEVEL): Increased to 30.
6811 (PUSH_MAPPING_STACK): Enclose with do-while block.
6812 (POP_MAPPING_STACK): Likewise.
6813 (stack_idx_of_map_multiple): New variable.
6814 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6815 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6816 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6817 (ccl_driver) <CCL_MapSingle>: Likewise.
6818 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6819 with the case where looking up process reaches to the end of
6820 map-set, and call CCL programs as the above change.
6821
7ee3bd7b
GM
68222000-09-11 Gerd Moellmann <gerd@gnu.org>
6823
8ec8a5ec
GM
6824 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6825 that might be clobbered by longjmp.
6826 (check_x_display_info, x_decode_color, create_frame_xic)
6827 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6828 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6829
f74b0705
GM
6830 * lread.c (init_lread): Set Vloads_in_progress to nil.
6831 (Fload): Show list of recursively loaded files, when signaling an
6832 error.
6833
7ee3bd7b
GM
6834 * lread.c (Vloads_in_progress): New variable.
6835 (record_load_unwind): New function.
6836 (Fload): Check for recursive loads.
6837 (syms_of_lread): Initialize Vloads_in_progress.
6838 (read_integer, read1): Avoid some compiler warnings.
6839
6840 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6841 compiler warnings.
6842
974e1e5b
MB
68432000-09-11 Miles Bader <miles@gnu.org>
6844
6845 * editfns.c (Fbuffer_string): Doc fix.
6846
9824c4e3
GM
68472000-09-10 Gerd Moellmann <gerd@gnu.org>
6848
6849 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6850
6a72fdd1
KR
68512000-09-09 Ken Raeburn <raeburn@gnu.org>
6852
6853 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6854 whether to include other header files.
6855
28e6fb66
GM
68562000-09-09 Gerd Moellmann <gerd@gnu.org>
6857
52283633 6858 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6859 by Fmemq as a boolean.
28e6fb66 6860
7f8b6551
SM
68612000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6862
6863 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6864
a8710abf
GM
68652000-09-08 Gerd Moellmann <gerd@gnu.org>
6866
d1a02881
GM
6867 * ralloc.c (mmap_fd): Remove initializer which can make it
6868 read-only in a dumped Emacs.
6869 (mmap_fd_1): New variable.
6870 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6871 restore it from there.
6872 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6873 unconditionally so that mmap_fd can be initialized there.
6874 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6875 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6876 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6877
c454aac1
GM
6878 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6879
6880 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6881 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6882
fc653ef2
GM
6883 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6884
3015eec0
GM
6885 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6886 inheritance.
6887
bfe0ee88
GM
6888 * xdisp.c (try_window_id): When trying to locate cursor in
6889 unchanged rows at the top, handle the case that we can't find it.
6890
a8710abf
GM
6891 * xterm.c (x_draw_glyphs): Handle case START and END are out
6892 of bounds more carefully.
6893
6b7d4ae4
DL
68942000-09-08 Dave Love <fx@gnu.org>
6895
423193c5
DL
6896 * s/sol2.h (REL_ALLOC_MMAP): Define.
6897 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6898
6899 * ralloc.c: Don't include string.h (redundant).
6900 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6901 [!MAP_ANON]: Include fcntl.h.
6902 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6903 (r_alloc, r_re_alloc, r_alloc_free)
6904 (mmap_enlarge, mmap_set_vars): Use it.
6905 (r_alloc_init_fd): New function.
6906 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6907 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6908 malloc type.
6909
6910 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6911 Remove vm-limit.o.
6912
6b7d4ae4
DL
6913 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6914 change to __NetBSD__.
6915
44d31981
KH
69162000-09-08 Kenichi Handa <handa@etl.go.jp>
6917
6918 * search.c (compile_pattern): Check the multibyteness of cached
6919 string and PATTERN.
6920
aad40737
MB
69212000-09-08 Miles Bader <miles@gnu.org>
6922
6923 * xfaces.c (default_face_vector): Function removed.
6924 (Finternal_merge_in_global_face): Restore old global/local
6925 attribute override order. Use inline loop instead of calling
6926 default_face_vector.
6927
91a211b5
GM
69282000-09-07 Gerd Moellmann <gerd@gnu.org>
6929
6930 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6931 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6932 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6933 where necessary, in case POINTER_TYPE is `void'.
6934
03419440
EZ
69352000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6936
6937 * frame.c (make_terminal_frame): Initialize frame foreground and
6938 background colors to unspecified, for the initial instance of an
6939 MSDOS frame.
6940
f46f845b
GM
69412000-09-07 Gerd Moellmann <gerd@gnu.org>
6942
24f76fbf
GM
6943 * ralloc.c (mmap_find): Fix overlap computation.
6944 (mmap_enlarge): Compute nbytes before trying to find an
6945 overlapping region.
6946
f46f845b
GM
6947 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6948 instead of `!='.
6949
6950 * lread.c (syms_of_lread): Change value of regexp
6951 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6952
6953 * xmenu.c (xdialog_show): When looking up the selection in
6954 menu_items, take `quote' boundaries into account; this corresponds
6955 to a nil ITEM in x-popup-dialog.
6956
3c014385
KH
69572000-09-07 Kenichi Handa <handa@etl.go.jp>
6958
fd6f711b
KH
6959 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6960 not 0x81.
6961 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6962
3c014385 6963 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6964 encoding, not decoding. Fix the handling of latin-jisx0201.
6965 Check for the charset katakana-jisx0201 too.
3c014385 6966 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6967 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6968
0da3ecef
GM
69692000-09-07 Gerd Moellmann <gerd@gnu.org>
6970
ab0ee409
GM
6971 * xfaces.c (Vparam_value_alist): New variable.
6972 (syms_of_xfaces): Initialize it.
6973 (Finternal_set_lisp_face_attribute): Avoid more consing.
6974
6975 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6976 specially.
6977 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6978 (Qbackground_mode): New variable.
6979 (syms_of_frame_1): Initialize Qbackground_mode.
6980
6981 * lisp.h (Qdisplay): Declare extern.
1091dd67 6982
0da3ecef
GM
6983 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6984 change face on all frames, and change the default for new frames.
6985
b14654b9
DL
69862000-09-07 Dave Love <fx@gnu.org>
6987
6988 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6989
d24fd56f
KH
69902000-09-07 Kenichi Handa <handa@etl.go.jp>
6991
794f3670
KH
6992 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6993
0fddd0dc
KH
6994 * charset.c: Include composite.h
6995 (lisp_string_width): New function.
6996 (Fstring_width): Call lisp_string_width instead of strwidth.
6997
6998 * Makefile.in (charset.o): Depends on composite.h.
6999
d24fd56f
KH
7000 * process.c (read_process_output): Before inserting the decoded
7001 text in the buffer, adjust the multibyteness.
7002
fa0b693c
GM
70032000-09-06 Gerd Moellmann <gerd@gnu.org>
7004
52283633 7005 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7006 buffer's text buffer is null, map new memory.
7007
0a58f946
GM
7008 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7009 POINTER_TYPE and size_t.
7010 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7011 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7012 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7013 [REL_ALLOC_MMAP]: New macros.
7014 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7015 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7016 [REL_ALLOC_MMAP]: New functions.
7017
7018 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7019 before and after unexec.
7020
7021 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7022 text buffers if necessary.
7023
7024 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7025 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7026 in prototypes.
7027
fa0b693c
GM
7028 * config.in (HAVE_MMAP): Add #undef.
7029
877055f6
GM
70302000-09-05 Gerd Moellmann <gerd@gnu.org>
7031
08ba3862
GM
7032 * frame.c (Qdisplay_type): New variable.
7033 (syms_of_frame_1): Initialize it.
7034 (Fframe_parameter): New function that avoids consing.
7035 (syms_of_frame): Defsubr it.
7036
66ffe51c
GM
7037 * buffer.c (Fother_buffer): Consider buffers as invisible when
7038 they are displayed in a window on an invisible frame.
7039
877055f6
GM
7040 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7041 get-largest-window always return nil.
7042
bb970e67
GM
70432000-09-04 Gerd Moellmann <gerd@gnu.org>
7044
7045 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7046 variable; recognize Emacs 19 elc files.
7047
7a3d0e0e
MB
70482000-09-04 Miles Bader <miles@gnu.org>
7049
7050 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7051 before initially popping up the menu, so the menu doesn't flash
52283633 7052 when the face settings are significantly different from the defaults.
7a3d0e0e 7053
14473664
SM
70542000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7055
7056 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7057 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7058 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7059 (BIT_UNIBYTE): Remove.
7060 (re_match_2_internal): Delete corresponding code and streamline the
7061 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7062 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7063 (re_wctype_t): New type.
7064 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7065 (regex_compile): Use them and fix handling of overly long char classes.
7066
c1174479
AI
70672000-09-03 Andrew Innes <andrewi@gnu.org>
7068
f8803e97
AI
7069 * makefile.w32-in: Change to DOS line endings.
7070
c1174479
AI
7071 * s/ms-w32.h (ORDINARY_LINK): New define.
7072
7073 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7074 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7075
7076 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7077 (distclean): Delete them here instead.
7078
44ef7cf6
AI
7079 * w32proc.c (compare_env): Convert to uppercase for comparison,
7080 not lowercase, to match how the native Windows shell works.
7081
49b3bd82
JR
70822000-09-03 Jason Rumney <jasonr@gnu.org>
7083
7084 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7085 CVS changes the line-ends when checking in/out on DOS/Windows.
7086
7087 * makefile.nt (emacs): Do not change directory to run temacs, as
7088 the load-path is set relative to current directory.
7089
a3d35a39
MB
70902000-09-03 Miles Bader <miles@gnu.org>
7091
7092 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7093
d276b0cf
GM
70942000-09-02 Gerd Moellmann <gerd@gnu.org>
7095
715e84c9
GM
7096 * xdisp.c (redisplay_mode_lines): New function.
7097 (display_mode_lines): Return number of mode lines displayed.
7098 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7099 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7100
8892f40b
GM
7101 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7102 string.h and strings.h.
7103 (index) [HAVE_INDEX]: Add prototype.
7104
d276b0cf
GM
7105 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7106 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7107
7108 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7109 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7110
38404229
GM
71112000-09-01 Gerd Moellmann <gerd@gnu.org>
7112
7113 * lread.c (read1): Accept `?' as symbol constituent, for
7114 compatiblity with XEmacs.
7115
c0f9ea08
SM
71162000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7117
7118 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7119 (struct re_pattern_buffer): Remove newline_anchor.
7120 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7121 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7122 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7123 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7124 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7125 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7126 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7127 Get rid of references to newline_anchor.
7128 (regcomp): Allocate and precompute a fastmap.
7129
8c0f83fe
GM
71302000-08-31 Gerd Moellmann <gerd@gnu.org>
7131
7132 * lread.c (openp): GCPRO local variable `filename'.
7133
4bb91c68
SM
71342000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7135
7136 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7137
7138 * regex.c: Merge some changes from GNU libc. Add prototypes.
7139 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7140 Use memcmp and memcpy instead of bcopy and bcmp.
7141 (init_syntax_once): Use ISALNUM.
7142 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7143 (REG_UNSET_VALUE): Remove. Use NULL instead.
7144 (REG_UNSET, re_match_2_internal): Use NULL.
7145 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7146 New macros.
7147 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7148 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7149 (regex_compile): In handle_interval, return an error rather than try to
7150 unfetch the interval if we can't find the closing brace.
7151 Obey the RE_NO_GNU_OPS syntax bit.
7152 (TOLOWER): New macro.
7153 (regcomp): Use it.
7154 (regexec): Allocate regs.start and regs.end as one block.
7155
5226a931
GM
71562000-08-30 Gerd Moellmann <gerd@gnu.org>
7157
868dd24b
GM
7158 * xdisp.c (echo_area_display): Check display_completed instead
7159 of calling detect_input_pending.
7160
7161 * dispnew.c (update_frame): Only set display_completed here; move
7162 the update_begin and update_end calls here from update_frame_1.
7163 (update_frame_1): Don't set display_completed here, don't call
7164 update_begin/update_end.
7165
5226a931
GM
7166 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7167 instead of store_frame_param.
7168
2a8bd25f
GM
71692000-08-29 Gerd Moellmann <gerd@gnu.org>
7170
7171 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7172 desired window matrix hasn't been displayed, use the current row
7173 instead. Make sure that only those frame rows are updated for
7174 which there exists a corresponding enabled desired row.
52283633 7175
ba3478d9
MB
71762000-08-29 Miles Bader <miles@gnu.org>
7177
7178 * xfaces.c (default_face_vector): New function.
7179 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7180
87d0f685
GM
71812000-08-29 Gerd Moellmann <gerd@gnu.org>
7182
7183 * lread.c (openp): Prevent temporary string passed to
7184 Ffile_readable_p from being garbage collected.
7185
6fa86045
DL
71862000-08-28 Dave Love <fx@gnu.org>
7187
7188 * keymap.c (store_in_keymap): Add `static' to declaration.
7189
bb17930d
GM
71902000-08-28 Gerd Moellmann <gerd@gnu.org>
7191
7192 * emacs.c, callint.c, doc.c, editfns.c
7193 (toplevel) [HAVE_STRING_H]: Include string.h.
7194 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7195 (index): Remove prototypes which might conflict with non-standard
7196 definitions of index/strchr.
7197
7198 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7199 (rindex): Define only if !HAVE_RINDEX.
7200
7201 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7202
7203 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7204
87188200
MB
72052000-08-28 Miles Bader <miles@gnu.org>
7206
7207 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7208 made inconsistent by a font-related attribute in FROM.
7209 (merge_face_inheritance): Add function comment.
7210
41a68aef
KH
72112000-08-28 Kenichi Handa <handa@etl.go.jp>
7212
7213 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7214 the 4th arg (PREV_EVENT) Qt to suppress input method.
7215
f7c436c1
SM
72162000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7217
0b32bf0e
SM
7218 * regex.c: Indent cpp directives and remove parens after `defined'.
7219 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7220 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7221 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7222 (re_compile_pattern): Use size_t for length.
7223 (init_syntax_once): Move to a better place.
7224 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7225 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7226
f7c436c1
SM
7227 * syntax.c (back_comment): Detect cases where a comment-starter is
7228 actually inside another comment as in: /* a // b */ c // d \n.
7229 Make it clear that `comstart_pos' is unused for nested comments.
7230
7231 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7232 (KEYMAPP): New macro.
7233 (Fkeymap_parent, Fset_keymap_parent): Use it.
7234 (fix_submap_inheritance): Mark it static.
7235 (define_as_prefix, describe_buffer_bindings, describe_command)
7236 (describe_translation, describe_map): Complete prototypes.
7237
7238 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7239
7240 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7241 to better match the key-lookup behavior.
7242
6288c62f
GM
72432000-08-27 Gerd Moellmann <gerd@gnu.org>
7244
7245 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7246 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7247
e931344e
EZ
72482000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7249
7250 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7251 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7252 (xterm.o): Depend on coding.h
7253
d10dfeef
KH
72542000-08-26 Kenichi Handa <handa@etl.go.jp>
7255
7256 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7257 the corresponding '#endif'.
7258
2d73e8d3
MB
72592000-08-26 Miles Bader <miles@gnu.org>
7260
7261 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7262 * xfaces.c (QCinherit): New variable.
7263 (syms_of_xfaces): Initialize it.
7264 (LFACE_INHERIT): New macro.
7265 (Finternal_get_lisp_face_attribute)
52283633 7266 (merge_face_vector_with_property)
2d73e8d3
MB
7267 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7268 (check_lface_attrs): Allow new types of face height. Check
7269 inherit attribute.
7270 (CYCLE_CHECK): New macro.
7271 (merge_face_inheritance): New function.
7272 (merge_face_vectors): Merge inherited faces too. Add F and
7273 CYCLE_CHECK arguments.
7274 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7275 (lookup_named_face, lookup_derived_face, realize_named_face)
7276 (face_at_string_position, face_at_buffer_position): Supply
7277 new F and CYCLE_CHECK arguments to merge_face_vectors.
7278 (merge_face_heights): New function.
52283633 7279 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7280 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7281 handle relative face heights.
7282 (lface_same_font_attributes_p): Compare heights using EQ.
7283
6ce974d4
KH
72842000-08-26 Kenichi Handa <handa@etl.go.jp>
7285
7286 * charset.c (char_to_string): Check the character validity.
52283633 7287 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7288
dc1e502d
SM
72892000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7290
7291 * regex.c (PUSH_FAILURE_COUNT): New macro.
7292 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7293 Handle popping of a register's or a counter's data.
7294 (POP_FAILURE_POINT): Use the new name.
7295 (re_match_2_internal): Push counter data on the stack for succeed_n,
7296 jump_n and set_number_at and remove misleading dead code in succeed_n.
7297
bd9d0f3f
GM
72982000-08-25 Gerd Moellmann <gerd@gnu.org>
7299
7300 * xdisp.c (redisplay_internal): If considering all windows on all
7301 frames, update the display for each frame as soon as possible,
7302 instead of first building all desired matrices for all frames, and
7303 then updating them all.
7304 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7305
aa5b8e15
GM
73062000-08-24 Gerd Moellmann <gerd@gnu.org>
7307
17494071
GM
7308 * bytecode.c (mark_byte_stack): Add a comment.
7309
52283633
SM
7310 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7311 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7312 a graphical frame.
7313
c543db81
KH
73142000-08-24 Kenichi Handa <handa@etl.go.jp>
7315
d246d5f5
KH
7316 * minibuf.c (do_completion): Always use compare-string, not
7317 string-equal because the latter doesn't pay attention to
7318 multibyteness of strings.
7319
c543db81
KH
7320 * process.c (create_process): Don't setup raw-text coding here.
7321 (Fopen_network_stream): Don't set coding->src_multibyte and
7322 coding->dst_multibyte here.
7323 (read_process_output): For process filter, return unibyte string
7324 if default-enable-multibyte-characters is nil.
7325 (send_process): If OBJECT is multibyte text, be sure to encoded it
7326 by the specified coding system for the process. Otherwise, setup
7327 raw-text coding.
52283633 7328 (init_process): Don't initialize default-process-coding-system here.
c543db81 7329
9b47cfe0
EZ
73302000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7331
7332 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7333 <scroll-down-aggressively>: Likewise.
7334
f5a36960
KH
73352000-08-23 Kenichi Handa <handa@etl.go.jp>
7336
7337 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7338 zero. Set coding->produced_char correctly.
7339
69a7ffa7
AI
73402000-08-22 Andrew Innes <andrewi@gnu.org>
7341
7342 * makefile.w32-in: New file.
7343
7344 * unexw32.c (unexec): Ignore old_name, and use the actual location
7345 of the current executable instead. Base new_name on this.
7346
7347 * w32proc.c (create_child): Remove reference to security
7348 descriptor, which isn't needed and doesn't compile with mingw32.
7349
7350 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7351 up dllimport attributes.
7352 (x_update_window_end): Update prototype.
7353
7354 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7355 extern, which screws up dllimport attributes.
7356
7357 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7358 up dllimport attributes.
7359
7360 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7361 screws up dllimport attributes.
7362
7363 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7364 up dllimport attributes.
7365 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7366 screws up dllimport attributes.
7367
7368 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7369 up dllimport attributes.
7370
7371 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7372 screws up dllimport attributes.
7373
7374 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7375 screws up dllimport attributes.
7376
7377 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7378 up dllimport attributes.
7379
7380 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7381 unnecessary extern, which screws up dllimport attributes.
7382 (main): Ditto.
7383
7384 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7385 up dllimport attributes.
7386
7387 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7388 unnecessary extern, which screws up dllimport attributes.
7389
7390 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7391 screws up dllimport attributes.
7392
7393 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7394 up dllimport attributes.
7395
7396 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7397
52283633
SM
7398 * w32bdf.c (search_file_line):
7399 (set_bdf_font_info):
7400 (seek_char):
7401 (w32_get_bdf_glyph):
69a7ffa7
AI
7402 (w32_BDF_to_x_font): Fix compile warnings.
7403
52283633 7404 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7405
7406 * w32select.c: Include keyboard.h before frame.h.
7407
7408 * w32fns.c (max): Define macro.
7409 (JOHAB_CHARSET): Define if not known.
7410 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7411 (Fx_show_tip): Synch with X version.
7412
7413 * w32xfns.c: Include keyboard.h before frame.h.
7414
7415 * w32fns.c: Include keyboard.h before frame.h.
7416
7417 * w32term.c: Include keyboard.h before frame.h.
7418
7419 * fontset.c: Include keyboard.h before frame.h.
7420
7421 * w32inevt.c: Include keyboard.h before frame.h.
7422 (MOUSE_MOVED): Define if not known.
7423
7424 * minibuf.c: Include keyboard.h before frame.h.
7425
7426 * keyboard.c: Include keyboard.h before frame.h.
7427
7428 * indent.c: Include keyboard.h before frame.h.
7429
7430 * dispnew.c: Include keyboard.h before frame.h.
7431
7432 * buffer.c: Include keyboard.h before frame.h.
7433
7434 * alloc.c: Include keyboard.h before frame.h.
7435
7436 * print.c: Include keyboard.h before frame.h.
7437
7438 * process.c: Include keyboard.h before frame.h.
7439
7440 * scroll.c: Include keyboard.h before frame.h.
7441
7442 * sysdep.c: Include keyboard.h before frame.h.
7443
7444 * term.c: Include keyboard.h before frame.h.
7445
7446 * window.c: Include keyboard.h before frame.h.
7447
7448 * xdisp.c: Include keyboard.h before frame.h.
7449 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7450
7451 * frame.c: Include keyboard.h before frame.h.
7452
7453 * w32heap.h: Undefine min, max.
7454
7455 * w32gui.h: Undefine min, max.
7456
7457 * unexw32.c: Change PUCHAR to PCHAR.
7458 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7459 (relocate_offset):
7460 (get_section_info):
69a7ffa7
AI
7461 (copy_executable_and_dump_data): Remove unnecessary static defs.
7462 (copy_executable_and_dump_data): Fix compile warnings.
7463
7464 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7465
7466 * w32console.c (min): Define macro.
7467 (clear_frame, write_glyphs): Fix compile warning.
7468
52283633 7469 * w32proc.c (compare_env):
69a7ffa7
AI
7470 (find_child_console): Fix compile warning.
7471
7472 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7473 sys_errlist instead of _sys_errlist.
7474 (get_emacs_configuration_options): New function.
7475
7476 * s/ms-w32.h (sys_nerr): Provide default definition.
7477 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7478 name with _ prepended.
7479 (NSIG): Define if not known.
7480 (get_emacs_configuration): Provide extern declaration.
7481 (get_emacs_configuration_options): Provide extern declaration.
7482 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7483
7484 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7485 (map_w32_filename):
69a7ffa7
AI
7486 (read_unc_volume): Fix compile warning.
7487
7488 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7489 definitions from being used.
7490
7491 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7492
52283633 7493 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7494 (open_unc_volume): Make arg const.
7495
7496 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7497 (read_input_waiting): Remove excess parameter.
7498
7499 * w32.c (init_environment): Call _access.
7500 (check_windows_init_file): Call _close.
7501 (init_user_info): Call _putenv.
7502 (init_environment): Call _putenv and _strdup.
7503 (init_ntproc): Reset volume info cache on startup.
7504
7505 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7506 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7507 cannot override the CRT malloc.
7508
7509 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7510 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7511
7512 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7513 unless we are linking with a static CRT.
7514 (RVA_TO_PTR): Cast result to unsigned char*.
7515
7516 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7517 (add_volume_info): Use xstrdup.
7518
25060080
SM
75192000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7520
7521 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7522 (do_completion, Fminibuffer_complete_word): Use it.
7523 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7524 var so it can take non-boolean values.
7525
6917e6bb
GM
75262000-08-21 Gerd Moellmann <gerd@gnu.org>
7527
acb7cc89 7528 * editfns.c (find_field): Formatting changes.
52283633 7529 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7530 changed to prototypes, some new protypes added, some functions
7531 made static.
7532
7533 * lisp.h (set_time_zone_rule): Add prototype.
7534 (use_dialog_box): External declaration.
7535
0bbfdc25
GM
7536 * keyboard.c (gen_help_event): Add parameter SIZE.
7537 (kbd_buffer_events_waiting): Slightly rewritten.
7538 (clear_event): New function.
7539 (kbd_buffer_get_event): Use it, and clear the input_events of
7540 HELP_EVENTs.
7541 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7542 don't fill the newly created array with nils.
7543 (toplevel): Convert some old-style function forward declarations
7544 to prototypes.
7545
7546 * keyboard.h (gen_help_event): Change prototype.
7547
7548 * xterm.c (XTread_socket): Change calls to gen_help_event.
7549
7550 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7551
6917e6bb
GM
7552 * eval.c (Fmacroexpand): Doc fix.
7553
e5cd3d11
JR
75542000-08-20 Jason Rumney <jasonr@gnu.org>
7555
7556 * w32term.h (x_display_info_for_display): Remove as this function
7557 does not exist on W32.
7558
7559 * w32term.c (help_echo_window): New variable.
7560 (syms_of_w32term): staticpro it.
7561 (note_mode_line_highlight): Set it.
7562 (XTextExtents16): Removed as there is no equivalent on W32.
7563 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7564 the X way of doing this will not work for W32.
7565 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7566 (x_draw_image_foreground): Avoid drawing outside of the clip area
7567 when image doesn't have a mask.
7568 (note_mouse_highlight): Process overlays in the right order of
7569 priority. Set help_echo_window.
7570 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7571 because that's more visible for large images.
7572
7573 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7574 name to single_keymap_panes.
7575 (w32_menu_show): Set wv->title when dealing with titles.
7576 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7577
6e69ab8c
MB
75782000-08-21 Miles Bader <miles@gnu.org>
7579
7580 * minibuf.c (do_completion): Try again if we rewrite the input
7581 string, but no completion was done, so that any completion message
7582 will be correct.
7583
511bd4eb
GM
75842000-08-20 Gerd Moellmann <gerd@gnu.org>
7585
7586 * xfaces.c (lface_equal_p): Compare strings differently.
7587 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7588 (realize_tty_face): Use them.
7589 (syms_of_xfaces): Initialize new variables.
7590 (map_tty_color): New function, extracted from realize_tty_face.
7591 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7592 foreground or background color, store the new color name in the
7593 realized face; previous code trying to do this had no effect.
7594 (realize_tty_face): Use map_tty_color.
7595 (Fclear_face_cache): Set face_change_count and ensure thorough
7596 redisplay.
7597
1433385f
GM
75982000-08-19 Gerd Moellmann <gerd@gnu.org>
7599
511bd4eb
GM
7600 * undo.c (record_first_change, record_marker_adjustment): Don't
7601 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7602
419ac0a2
KH
76032000-08-18 Kenichi Handa <handa@etl.go.jp>
7604
7605 * coding.c (decode_coding_string): Set members consumed,
7606 consumed_char, produced, produced_char of *coding correctly. If
7607 decode_coding doesn't consume any byte, don't try anymore.
7608 (encode_coding_string): Likewise.
7609
7eb9e30d
GM
76102000-08-18 Gerd Moellmann <gerd@gnu.org>
7611
511bd4eb
GM
7612 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7613 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7614
7615 * xdisp.c (redisplay_internal): Compare windows for equality with
7616 EQ, instead of applying XWINDOW to something that might not
7617 be a window.
52283633 7618
dd34a735
KH
76192000-08-18 Kenichi Handa <handa@etl.go.jp>
7620
7621 * fontset.c (Finternal_char_font): Search only the selected frame
7622 for a window of the current buffer.
7623
385ff9e3
GM
76242000-08-18 Gerd Moellmann <gerd@gnu.org>
7625
511bd4eb 7626 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7627 Lisp_Objects.
7628
385ff9e3
GM
7629 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7630 second half of a HELP_EVENT is found at the start of kbd_buffer.
7631
d6abb4c7
MB
76322000-08-18 Miles Bader <miles@gnu.org>
7633
4618074a
MB
7634 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7635
d6abb4c7
MB
7636 * editfns.c (save_restriction_save): Rewrite to use markers.
7637 (save_restriction_restore): Rewrite to understand new form of data
7638 saved by save_restriction_save.
7639 (Fsave_restriction): Remove cautionary note in doc-string.
7640
a7b28523
GM
76412000-08-17 Gerd Moellmann <gerd@gnu.org>
7642
7643 * fileio.c (build_annotations): Add a comment explaining the
7644 return value of format-annotate-function. Replace a spurious call
7645 to Flength with a CONSP test. Call format-annotate-function with
7646 a fifth arg specifying how many times the function is been called
7647 in a row, to let it choose temporary buffers appropriately.
7648
03c9ed77
DL
76492000-08-17 Dave Love <fx@gnu.org>
7650
7651 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7652 declare make_temp_name twice.
7653
52283633 7654 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7655 (unreadpure): Give it an arg.
7656
7657 * unexalpha.c: Prototype fatal_unexec, mark_x,
7658 update_dynamic_symbols. Declare unexec as void.
7659
7660 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7661 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7662
7663 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7664 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7665
7666 * alloca.c: Use #error.
7667 [POINTER_TYPE]: Use it.
7668
7669 * eval.c (Fdefvar): Doc fix.
7670
7671 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7672 INITIALIZE_INTERVAL.
7673
7674 * buffer.h: Avoid DECLARE_INTERVALS.
7675
7676 * config.in: Add size_t.
7677
aae41d97
EZ
76782000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7679
7680 * w16select.c (set_clipboard_data): If there's not enough memory
7681 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7682 expects. In case of other failures, return 3.
7683 (system_error_msg): New error message.
7684 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7685 system_error_msg.
7686
65aa5e85
GM
76872000-08-16 Gerd Moellmann <gerd@gnu.org>
7688
7689 * term.c (write_glyphs): Also turn off inverse video after turning
7690 off other appearances in case TS_exit_attribute_mode is not equal
7691 to TS_end_standout_mode.
7692 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7693 with the same face.
7694 (turn_off_face): Reset standout_mode only if
7695 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7696 is equal to TS_end_standout_mode.
7697
ece23901
KH
76982000-08-16 Kenichi Handa <handa@etl.go.jp>
7699
9d7bcb2e
KH
7700 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7701 sequence at the end of the source block.
7702
ece23901
KH
7703 * ccl.c (Fccl_program_p): Docstring modified.
7704 (Fccl_execute): Likewise.
7705 (Fccl_execute_on_string): Likewise.
7706
5e30eaa2
EZ
77072000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7708
7709 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7710
290602fd
KH
77112000-08-16 Kenichi Handa <handa@etl.go.jp>
7712
7713 The following changes are mainly to fix bugs of
7714 encode/decode-coding-string failing if encoding/decoding return
7715 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7716 variable conversion_buffer.
7717
7718 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7719 decrement dst_end to avoid buffer overflow in the later call of
7720 string_as_multibyte
7721
7722 * coding.h (conversion_buffer_size, conversion_buffer)
7723 (get_conversion_buffer): Extern deleted.
7724
7725 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7726 (conversion_buffer, conversion_buffer_size): Variables deleted.
7727 (get_conversion_buffer): Function deleted.
7728 (struct conversion_buffer): New structure.
7729 (MAX_ALLOCA): New macro.
7730 (allocate_conversion_buffer): New macro.
7731 (extend_conversion_buffer, free_conversion_buffer): New functions.
7732 (ccl_coding_driver): Set coding->result.
7733 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7734 this is the last block of source.
7735 (encode_coding): Likewise. Handle the source block as the last
7736 one only when the whole source text is consumed.
7737 (decode_coding_string): Handle the case that the output buffer is
7738 too small to decode the whole source text. Use
7739 allocate_conversion_buffer, extend_conversion_buffer and
7740 free_conversion_buffer, not get_conversion_buffer.
7741 (encode_coding_string): Likewise.
7742 (init_coding): Function deleted.
52283633 7743 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7744
7745 * emacs.c (main): Don't call init_coding.
7746
52283633 7747 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7748
7749 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7750 (insert_glyphs): Likewise.
7751
7752 * w32console.c (write_glyphs): Use a locally declared
7753 conversion_buffer.
7754
b9f80d41
EZ
77552000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7756
7757 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7758 member of display_info is NULL.
7759
32dc52f7
GM
77602000-08-15 Gerd Moellmann <gerd@gnu.org>
7761
52283633 7762 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7763
32dc52f7 7764 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7765 appearances with capability `me'.
32dc52f7
GM
7766 (write_glyphs): Switch on inverse video before each face change.
7767
4eb22d33
DL
77682000-08-14 Dave Love <fx@gnu.org>
7769
7770 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7771 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7772 (lisp_free): Declare and make static.
7773
7774 * window.c: Fix embedded comment.
7775 (syms_of_window): Fix doc string.
7776
90cbf47e
GM
77772000-08-14 Gerd Moellmann <gerd@gnu.org>
7778
52283633 7779 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7780 make sure to print `C-' before `M-', like in the manual.
7781
440fc135
GM
77822000-08-11 Gerd Moellmann <gerd@gnu.org>
7783
7784 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7785 since they aren't relocated anymore.
52283633 7786 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7787
7788 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7789 partially visible line which is smaller than the window's height.
440fc135 7790
6e264fad
KH
77912000-08-11 Kenichi Handa <handa@etl.go.jp>
7792
7793 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7794 the multibyte form of eight-bit-control characters.
6e264fad
KH
7795 (Fccl_execute_on_string): Initialize ccl->multibyte.
7796
7797 * ccl.h (struct ccl_program): New member multibyte.
7798
7799 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7800
c371f69a
KH
78012000-08-11 Kenichi Handa <handa@etl.go.jp>
7802
7803 * regex.c (regex_compile) <normal_char>: Pay attention to
7804 multibyteness.
7805 (analyse_first) <exactn>: Setup fastmap correctly for
7806 eight-bit-control characters.
7807
78082000-08-11 Kenichi Handa <handa@etl.go.jp>
7809
52283633 7810 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7811
7812 * keyboard.c (make_lispy_event): Handle the new event type
7813 multibyte_char_keystroke.
7814
7815 * xterm.c: Include coding.h.
7816 (XTread_socket): Work around a bug of XmbLookupString. If the
7817 input is from XIM, decode it according to the current locale. In
7818 that case, generate multibyte_char_keystroke events.
7819
b8ddbe71
KH
78202000-08-11 Kenichi Handa <handa@etl.go.jp>
7821
7822 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7823 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7824
47589c8c
GM
78252000-08-10 Gerd Moellmann <gerd@gnu.org>
7826
7827 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7828 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7829 (move_it_in_display_line_to): Record iterator's ascent and descent
7830 before producing glyphs, and restore them when we know the glyph
7831 doesn't fit on the line.
7832 (move_it_to): Restructured so that it's easier to debug. If
7833 moving to a vpos, and not moving to an x or character position,
7834 stop as soon as the specified vpos is reached; don't move further
7835 into that line because that might change the computed line height.
7836 (try_cursor_movement): New function, extracted from the cursor
7837 movement branch of redisplay_window. If ending on a partially
7838 visible line, don't try to scroll if the cursor line is taller
7839 than the window.
7840 (redisplay_window): Use try_cursor_movement.
7841
7842 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7843 because that function doesn't cope with variable-height lines.
7844
7845 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7846 box cursor because that's better visible for large images.
52283633 7847
c51bacd6
MB
78482000-08-10 Miles Bader <miles@gnu.org>
7849
7850 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7851
bea56df7
GM
78522000-08-10 Gerd Moellmann <gerd@gnu.org>
7853
7854 * xdisp.c (Vmessages_buffer_name): New variable.
7855 (message_dolog): Use it.
7856 (syms_of_xdisp): Initialize it.
7857
99cd7364
EZ
78582000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7859
52283633 7860 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7861 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7862 redundant now that keyboard.h is included.
7863
7d093d56
EZ
78642000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7865
7866 * keyboard.c (kbd_buffer_events_waiting): New function.
7867
7868 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7869
7870 * msdos.c: Include keyboard.h.
7871 (XMenuActivate): Empty no_event events from the event buffer. If
7872 no events are left after that, call clear_input_pending.
7873 (mouse_clear_clicks): New function, code moved from mouse_init.
7874 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7875 mouse driver to ``forget'' any past clicks.
7876
7877 * Makefile.in (msdos.o): Depend on keyboard.h.
7878
41e757a6
GM
78792000-08-09 Gerd Moellmann <gerd@gnu.org>
7880
8e7bd231
GM
7881 * lisp.h (input_pending): External declaration.
7882
7883 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7884
8e7bd231
GM
7885 * xdisp.c (echo_area_display): Display thoroughly if input is
7886 pending. Bind redisplay-dont-pause to t during the redisplay.
7887 in case input is pending.
7888
7889 * dispnew.c (Qredisplay_dont_pause): New variable.
7890 (syms_of_display): Initialize and staticpro it.
7891 (update_frame_1): Don't interrupt the display for pending input if
7892 redisplay_dont_pause is set.
52283633 7893
43028b7e
GM
7894 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7895
41e757a6
GM
7896 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7897
2f2174fa
KH
78982000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7899
7900 * callproc.c (Fcall_process): Terminate the unwind-protect around
7901 the post-read-conversion of coding system.
7902
0a6fd67e
MB
7903 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7904 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7905 * buffer.h (overlays_at): Update prototype.
7906 * xdisp.c (next_overlay_change): Update call to overlays_at.
7907 * xfaces.c (face_at_buffer_position): Likewise.
7908 * textprop.c (Fget_char_property): Likewise.
7909 * xterm.c (note_mouse_highlight): Likewise.
7910
0c80756e
MB
7911 * minibuf.c (do_completion): Don't consider a simple change of
7912 case as `completion'.
7913
975f250a
KR
79142000-08-08 Ken Raeburn <raeburn@gnu.org>
7915
52283633 7916 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7917 * undo.c (record_delete): Make sure last_point_position_buffer is
7918 a buffer before comparing pointers.
7919
7920 * coding.h (decode_coding_string): Declare.
7921
7922 * intervals.h (Fprevious_single_char_property_change): Declare.
7923
7924 * textprop.c (Fprevious_single_char_property_change): Don't do
7925 arithmetic directly on lisp objects.
7926
52283633 7927 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7928
7929 * keyboard.h (menu_item_eval_property): Declare.
7930
7931 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7932 reuse as buffer name, instead of recreating (and discarding) every
7933 time a message is logged.
7934 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7935 (current_message_1, truncate_message_1, set_message_1)
7936 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7937 (current_message, truncate_echo_area, display_echo_area)
7938 (resize_echo_area_axactly): Changed calls.
b347b3fd 7939
975f250a 7940 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7941 Lisp object.
975f250a 7942 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7943 must be an integer, not a Lisp object.
975f250a 7944
46dc9912
KH
79452000-08-08 Kenichi Handa <handa@etl.go.jp>
7946
7947 * charset.c (Fchar_width): Doc fix.
7948
9f6d1a6c
GM
79492000-08-08 Gerd Moellmann <gerd@gnu.org>
7950
7951 * charset.c (Fstring_width): Doc fix.
7952
ff3d9573
GM
79532000-08-07 Gerd Moellmann <gerd@gnu.org>
7954
41e757a6 7955 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7956 line, clear ascent and descent members of the iterator structure;
7957 the height of the continued line does not affect the height of the
7958 continuation line.
7959 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7960 line taller than the window.
7961 (redisplay_window) <forced window start>: Handle case that the
7962 middle of the window is not found in any row.
7963 (dump_glyph_row): Show more information.
7964 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7965 first text line in a glyph matrix.
7966
7967 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7968 of the clip area when image doesn't have a mask.
7969
70fc58b3
GM
7970 * fns.c (sweep_weak_table): Fix survival conditions for
7971 key-or-value and key-and-value weakness.
7972
7973 * .gdbinit (xhashtable): New command.
7974
ac0e96ee
GM
7975 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7976 tables out of the list of all weak hash tables.
7977
ff3d9573
GM
7978 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7979 a new buffer is created, make sure echo_area_buffer[] references
7980 the new buffer.
7981
e0d8827b
EZ
79822000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7983
7984 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7985 the doc string.
7986
c6f35378
KH
79872000-08-07 Kenichi Handa <handa@etl.go.jp>
7988
7989 * syntax.c (skip_chars): Fix previous change. Make the handling
7990 of unibyte string consistent with that of regex search.
7991
1fd4c450
GM
79922000-08-05 Gerd Moellmann <gerd@gnu.org>
7993
e49aa397
GM
7994 * xmenu.c (popup_get_selection): Use xfree instead of free.
7995
7996 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7997
7998 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7999
8000 * callproc.c (child_setup): Use xfree instead of free.
8001
8002 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8003 instead of malloc.
8004 (run_mac_command, closedir): Use `xfree' instead of `free'.
8005
8006 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8007
8008 * eval.c (error): Use xfree instead of free.
8009
1fd4c450
GM
8010 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8011
8012 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8013 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8014
82d497fc
KH
80152000-08-05 Kenichi Handa <handa@etl.go.jp>
8016
8017 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8018 conversion.
8019
59f953a2
NF
80202000-08-04 Noah Friedman <friedman@splode.com>
8021
8022 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8023 docstring.
8024
688351f2
GM
80252000-08-04 Gerd Moellmann <gerd@gnu.org>
8026
8027 * syntax.c (skip_chars): Fix typo in error message.
8028
2dad51cc
AS
80292000-08-04 Andreas Schwab <schwab@suse.de>
8030
8031 * m/ia64.h: Moved from s/ia64.h.
8032
99bb2c60
KH
80332000-08-04 Kenichi Handa <handa@etl.go.jp>
8034
082a1df2
KH
8035 * process.c (read_process_output): Big simplification. Handle
8036 composition and post-read-conversion of coding system correctly.
8037 (send_process): Handle composition correctly.
8038
8039 * callproc.c (Fcall_process): Handle post-read-conversion of
8040 coding system if any.
8041
99bb2c60
KH
8042 * coding.c (decode_coding_iso2022): More strict check for handling
8043 single shifting.
082a1df2
KH
8044 (coding_restore_composition): Pay attention to the case that
8045 cmp_data is not set properly (because of invalid code in the
8046 source text).
8047 (run_pre_post_conversion_on_str): Include text properties in the
8048 resulting string.
8049 (decode_coding_string): Set members of coding correctly.
99bb2c60 8050
f4988be7
GM
80512000-08-03 Gerd Moellmann <gerd@gnu.org>
8052
8053 * s/ia64.h: New file.
8054
8055 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8056 Use NULL instead of 0 at the end of variable argument list of
8057 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8058 sizeof (int) < sizeof (void *).
8059
8060 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8061 of variable argument lists of XtVaGetValues and XtVaSetValues.
8062
8063 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8064 variable argument lists of XtVaGetValues and XtVaSetValues.
8065
ead53494
GM
80662000-08-02 Gerd Moellmann <gerd@gnu.org>
8067
8068 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8069 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8070
8071 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8072 prototype.
8073
8074 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8075 in call to Fsingle_key_description.
8076
8077 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8078 Callers changed.
8079
80802000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8081
8082 * window.c (display_buffer_reuse_frames): New variable.
8083 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8084 frames displaying BUFFER.
52283633 8085 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8086
10b0f752
MB
80872000-08-01 Miles Bader <miles@gnu.org>
8088
8089 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8090 when to constrain NEW_POS (they were pretty screwed up before).
8091
16425c4a
EZ
80922000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8093
8094 * msdos.c (run_msdos_command): Save and restore the master
8095 environment, for the case that child_setup signals an error.
8096 When mirroring slashes in DOS shell commands, don't fail when
8097 argv[2] has embedded blanks.
da288c14
EZ
8098 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8099 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8100 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8101
8102 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8103 using alloca; free it after run_msdos_command returns.
8104
27f73852
DL
81052000-07-27 Dave Love <fx@gnu.org>
8106
52283633
SM
8107 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8108 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8109
8110 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8111
c0261b5e
EZ
81122000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8113
8114 * editfns.c (lisp_time_argument): Fix last change.
8115
b548072f
GM
81162000-07-27 Gerd Moellmann <gerd@gnu.org>
8117
3ab82477
GM
8118 * fns.c (Fdelete): Make it work on vectors and strings in addition
8119 to lists.
8120
b548072f
GM
8121 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8122 (syms_of_fns): Initialize new variables.
52283633 8123 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8124 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8125 weakness, with t meaning the same as `key-and-value'.
8126
91ae8751
KH
81272000-07-27 Kenichi Handa <handa@etl.go.jp>
8128
8129 * coding.h (struct coding_system): Member safe_charset deleted.
8130
8131 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8132 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8133 New variables.
91ae8751
KH
8134 (coding_safe_chars): New function.
8135 (CODING_SAFE_CHAR_P): New macro.
8136 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8137 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8138 (detect_coding_iso2022): New local variable safe_chars.
8139 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8140 safe_charsets member of the coding system.
8141 (decode_coding_iso2022): New local variable safe_chars.
8142 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8143 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8144 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8145 (ENCODE_UNSAFE_CHARACTER): New macro.
8146 (encode_coding_iso2022): New local variable safe_chars. Check
8147 unsafe chars.
8148 (setup_coding_system): Delete the code to initialize
8149 coding->safe_charses
8150 (intersection, find_safe_codings): New functions.
8151 (Ffind_coding_systems_region_internal): New function.
8152 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8153 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8154 variable and initialize it.
8155
8156 * fns.c (char_table_ref_and_index): New function.
8157
8158 * lisp.h (char_table_ref_and_index): Add prototype.
8159
34a7a267
SS
81602000-07-26 Sam Steingold <sds@gnu.org>
8161
8162 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8163 (Ffloat_time): New built-in Lisp function.
34a7a267 8164
a95cb10a
GM
81652000-07-26 Gerd Moellmann <gerd@gnu.org>
8166
3353ef5a
GM
8167 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8168 for the character code.
8169
8170 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8171 GNU/Linux.
8172
a95cb10a
GM
8173 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8174 if called for a popup menu.
8175 (xmenu_show): Store help string in widget values.
8176
b4a12321
DL
81772000-07-26 Dave Love <fx@gnu.org>
8178
8179 * syswait.h: Move some definitions.
8180 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8181 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8182 perspicuous definitions.
8183 (WTERMSIG): Fix bit pattern used.
8184
13f5ad37
KH
81852000-07-26 Kenichi Handa <handa@etl.go.jp>
8186
8187 * print.c (print_object): If vector printing is truncated, print
8188 "..." to indicate it as well as the case of list printing.
8189
070fe99c
GM
81902000-07-25 Gerd Moellmann <gerd@gnu.org>
8191
969065c3
GM
8192 * xdisp.c (next_element_from_display_vector): Improve comments.
8193
8194 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8195 for the character code, and the rest for the face id as in 20.x.
8196 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8197
8198 * window.c (window_display_table): Cleaned up.
8199
070fe99c
GM
8200 * syntax.c (Fforward_word): Add last arg nil in call of
8201 Fconstrain_to_field.
8202
bad77ef7
EZ
82032000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8204
969065c3 8205 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8206 identical but for the letter-case, don't call
8207 barf_or_query_if_file_exists.
bad77ef7 8208
c28da489
MB
82092000-07-25 Miles Bader <miles@gnu.org>
8210
8211 * editfns.c (find_field): Honor special `boundary' fields.
8212 (Qboundary): New variables.
8213 (syms_of_editfns): Initialize Qboundary.
8214 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8215 Use scan_buffer instead of find_before_next_newline, because it
8216 allows us to detect the boundary case where there's a newline at
8217 the search limit.
8218 * lisp.h (Fconstrain_to_field): Update external declaration.
8219
e3c31fd5
GM
82202000-07-24 Gerd Moellmann <gerd@gnu.org>
8221
8222 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8223 if that is nil.
c28da489 8224
c66c29a2
DL
82252000-07-24 Dave Love <fx@gnu.org>
8226
8227 * s/sunos4-0.h, s/sol2.h:
8228 (LIBS_TERMCAP): Move from m/sparc.h.
8229
8230 * m/sparc.h (TERMINFO): Moved to system files (probably only
8231 relevant for sunos4 judging by its vintage).
8232 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8233 __arch64__.
8234
fbe0a958
EZ
82352000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8236
8237 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8238 name to single_keymap_panes.
8239
7d88e5c9
AS
82402000-07-24 Andreas Schwab <schwab@suse.de>
8241
8242 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8243
e024b101
GM
82442000-07-24 Gerd Moellmann <gerd@gnu.org>
8245
8246 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8247 parameters instead of using int parameters. Expect FN to accept
8248 EMACS_INT parameters.
8249 (display_echo_area, resize_echo_area_axactly, current_message)
8250 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8251 with new argument list.
8252 (resize_mini_window_1): New callback function.
8253 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8254 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8255
25c1a9ce
KH
82562000-07-24 Kenichi Handa <handa@etl.go.jp>
8257
8258 * fontset.c (fontset_ref): Remove INLINE declaration.
8259 (fontset_ref_via_base): Likewise.
8260 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8261 to downcase.
8262
7f987ac0
EZ
82632000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8264
8265 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8266 correct order of priority. If help echo was found in an overlay,
8267 use that overlay as the object in which the help echo was found.
8268
e2db3069
MB
82692000-07-22 Miles Bader <miles@gnu.org>
8270
8271 * textprop.c (Fprevious_single_char_property_change): The initial
8272 property value should be from the position preceding POSITION, not
8273 following it.
8274
5e3203e4
EZ
82752000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8276
8277 * coding.c (syms_of_coding): Doc fix for
8278 inhibit-iso-escape-detection.
8279
62145073
GM
82802000-07-21 Gerd Moellmann <gerd@gnu.org>
8281
c20aeb83
GM
8282 * xterm.c (note_mouse_highlight): Process overlays in the right
8283 order of priority.
34a7a267 8284
743934db
GM
8285 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8286
8287 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8288 overlay, use that overlay as the object in which the help was found.
743934db 8289
d1dc7e43 8290 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8291
62145073
GM
8292 * window.c (foreach_window): Instead of a fake variable argument
8293 list, take one USER_DATA argument.
8294 (foreach_window_1): Likewise, and call callback functions with two
8295 args, the window and USER_DATA.
8296 (struct check_window_data): New struct.
8297 (check_window_containing): Use it.
8298 (window_from_coordinates): Set up a struct check_window_data for
8299 foreach_window.
8300 (add_window_to_list, freeze_window_start): Change parameters
8301 according to new calling convention.
8302
8303 * window.h (foreach_window): Change prototype.
8304
8305 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8306
83072000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8308
8309 * xmenu.c (menu_help_callback): Call show_help_echo with
8310 additional arguments OBJECT and POS.
8311
11270583
KH
83122000-07-21 Kenichi Handa <handa@etl.go.jp>
8313
07b14857
KH
8314 * data.c (Faset): Allow storing any multibyte character in a
8315 string. Convert unibyte string to multibyte if necessary.
8316
11270583
KH
8317 * xfns.c (x_encode_text): New function.
8318 (x_set_name): Use x_encode_text.
8319 (x_set_title): Likewise.
8320
8321 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8322
8323 * xterm.h (x_encode_text): Add prototype.
8324
bc75b4fd
DL
83252000-07-20 Dave Love <fx@gnu.org>
8326
8327 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8328 xfree, not free.
8329
48c14970
EZ
83302000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8331
8332 * msdos.c (help_echo_window): New variable.
8333 (syms_of_msdos): Initialize and staticpro it.
8334 (IT_note_mode_line_highlight): Set help_echo_window.
8335 (IT_note_mouse_highlight): Ditto.
8336 (dos_rawgetc): Store help_echo_window in the second event produced
8337 for HELP_EVENTs.
8338
8339 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8340 Record the object that generated the help echo and the position of
8341 that object in help_echo_object and help_echo_pos. Record that
8342 some glyphs in a row are displayed in mouse-face.
8343 (IT_update_begin): Don't clear mouse highlight unless one of the
8344 enabled glyph rows is marked as being displayed in mouse-face.
8345 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8346 and position recorded in help_echo_object and help_echo_pos to the
8347 event queue.
8348 (IT_menu_display): Accept a new argument PN: the pane number of
8349 the current menu pane. Record the pane number and the item
8350 number of the item which has associated help string.
8351 (XMenuActivate): Update the prototype for help_callback in
8352 function declaration. Call IT_menu_display with the current menu
8353 pane number as an additional argument. Call help_callback with
8354 two additional arguments: the pane number and the item number of
8355 the menu item associated with the help text.
8356 (help_echo_object, help_echo_pos): New variables.
8357 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8358
8359 * msdos.h (XMenuActivate): Update prototype.
8360
4279296d
GM
83612000-07-19 Gerd Moellmann <gerd@gnu.org>
8362
47db06aa
GM
8363 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8364 Add some more prototypes.
8365
8366 * xterm.c, xterm.h: Add some more prototypes.
8367
8368 * lisp.h (Fnext_single_char_property_change): Add prototype.
8369
8370 * dispnew.c (direct_output_for_insert): Remove confusing
8371 outer local variable mouse_face_overwritten_p.
8372 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8373
4279296d
GM
8374 * alloc.c (allocate_string_data): Don't copy old string contents.
8375
670acd62
KH
83762000-07-19 Kenichi Handa <handa@etl.go.jp>
8377
8378 * coding.c (code_convert_region): Delete text properties before
8379 shrinking the conversion region.
8380
7cea38bc
GM
83812000-07-18 Gerd Moellmann <gerd@gnu.org>
8382
dc1cac59
GM
8383 * dispnew.c (update_text_area): Write the whole row if it
8384 has mouse-face in it.
8385
85a8aca9
GM
8386 * xfaces.c (face-alternative-font-family-alist): Remove
8387 DEFVAR_LISP; staticpro instead.
8388
34a7a267 8389 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8390 new arguments.
8391
8392 * keyboard.c (show_help_echo): Add parameter WINDOW.
8393 (read_char): Call show_help_echo with window extracted from Lisp
8394 help event.
8395 (gen_help_event): Add parameter WINDOW.
8396
8397 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8398
8399 * xterm.c (help_echo_window): New variable.
52283633 8400 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8401 (XTread_socket): Pass help_echo_window to gen_help_event.
8402 (syms_of_xterm): Initialize and staticpro help_echo_window.
8403
f8276b77
DL
84042000-07-18 Dave Love <fx@gnu.org>
8405
52283633 8406 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8407
088831a6
GM
84082000-07-18 Gerd Moellmann <gerd@gnu.org>
8409
3d6cd763
GM
8410 * alloc.c (allocate_string_data): If string had already data
8411 assigned, copy old contents to new string data.
8412
8413 * coding.c (syms_of_coding): Fix typo in spelling of variable
8414 `inhibit-iso-escape-detection'.
8415
088831a6
GM
8416 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8417
8418 * Makefile.in: Add dependencies on dispextern.h.
8419 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8420 `free'; both can conflict with system header files.
8421
bc8a8d55
KH
84222000-07-18 Kenichi Handa <handa@etl.go.jp>
8423
8424 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8425 undefined.
8426
069f5950
DL
84272000-07-18 Dave Love <fx@gnu.org>
8428
8429 * window.c (Fwindow_list): Declare arg `window'.
8430
aa96c820
KH
84312000-07-18 Kenichi Handa <handa@etl.go.jp>
8432
8433 * coding.c (setup_coding_system): Don't override the explicitly
8434 specified designations.
8435
06be8d32
MB
84362000-07-15 Miles Bader <miles@gnu.org>
8437
8438 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8439 from `text_property_eq' and `text_property_stickiness', respectively.
8440 (find_field, Fconstrain_to_field, char_property_eq)
8441 (char_property_stickiness): Changed to call char-property functions
8442 instead of text-property-only ones.
8443
8444 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8445 `next_single_char_property_change'). Do more error checking, and
8446 cleanup limit behavior.
8447 (Fprevious_single_char_property_change): New function.
8448 (syms_of_textprop): Initialize new subrs.
8449
8450 * xdisp.c (display_prop_end, invisible_text_between_p):
8451 Call Fnext_single_char_property_change instead of
8452 next_single_char_property_change.
8453
3fddcdc3
JR
84542000-07-15 Jason Rumney <jasonr@gnu.org>
8455
8456 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8457 after menu is finished with.
8458 (add_menu_item): Only consider wv->title as a menu title.
8459 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8460
8461 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8462 null title.
8463 (FONT_REGEXP): Remove unused macro, and its sub-components.
8464 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8465
8466 * w32term.c (help_echo_object, help_echo_pos): New variables.
8467 (note_mode_line_highlight): Store additional information about the
8468 help-echo in help_echo_object and help_echo_pos. Check both
8469 `local-map' and `keymap' properties for changing the cursor
8470 (note_mouse_highlight): Store additional information about the
8471 help-echo in help_echo_object and help_echo_pos.
8472 (note_tool_bar_highlight): Set help_echo_object to nil and
8473 help_echo_pos to -1.
8474 (w32_read_socket): Use gen_help_event instead of filling
8475 input_events manually.
8476 (syms_of_w32term): Staticpro help_echo_object.
8477 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8478 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8479 (x_clear_mouse_face): New function.
8480 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8481 (x_update_window_begin): No need to turn off the mouse
8482 highlight here.
8483 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8484 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8485 (x_fill_stretch_glyph_string): Consume runs of stretch
8486 glyphs instead of a single one.
8487 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8488 with new argument list.
8489 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8490 (x_append_glyph, x_append_composite_glyph)
8491 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8492 changes in struct glyph starting 1999-12-27. See comments for
8493 xterm.c on 2000-07-05.
8494
178c5d9c
SS
84952000-07-14 Sam Steingold <sds@gnu.org>
8496
8497 * xfaces.c (realize_x_face): Fix the last patch:
8498 check `default_face' before dereferencing.
8499
6fe533f6
DL
85002000-07-14 Dave Love <fx@gnu.org>
8501
069f5950 8502 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8503
dd7b81cf
KH
85042000-07-14 Kenichi Handa <handa@etl.go.jp>
8505
0693904a 8506 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8507 default_face's fontset, not using the default fontset.
0693904a 8508
dd7b81cf
KH
8509 * coding.c (inhibit_iso_escape_detection): New variable.
8510 (syms_of_coding): Make it a Lisp variable.
8511 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8512 nonzero, ignore ISO2022's escape sequence.
8513
d5aa31d8
GM
85142000-07-14 Gerd Moellmann <gerd@gnu.org>
8515
e5acf0ca
GM
8516 * alloca.c (malloc) [emacs]: Define as xmalloc.
8517
bd23a692
GM
8518 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8519 use that instead of the mouse position. Add parameters DX and DY.
8520
8521 * dispextern.h (Fx_show_tip): Adjust number of parameters
8522 in prototype.
8523
9662da0b
GM
8524 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8525 if HELP is a function, call it with OBJECT and POS as parameters
8526 to get the help to display.
8527 (gen_help_event, kbd_buffer_store_help_event): New functions.
8528 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8529 (read_char): Call show_help_echo with new parameters.
8530
178c5d9c 8531 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8532 Add prototypes.
8533
8534 * xterm.c (help_echo_object, help_echo_pos): New variables.
8535 (note_mode_line_highlight): Store additional information about the
8536 help-echo in help_echo_object and help_echo_pos. Check both
8537 `local-map' and `keymap' properties for changing the cursor
8538 (note_mouse_highlight): Store additional information about the
8539 help-echo in help_echo_object and help_echo_pos.
8540 (note_tool_bar_highlight): Set help_echo_object to nil and
8541 help_echo_pos to -1.
8542 (XTread_socket): Use gen_help_event instead of filling
8543 input_events manually.
8544 (syms_of_xterm): Staticpro help_echo_object.
8545
8546 * xmenu.c (menu_highlight_callback): Use
8547 kbd_buffer_store_help_event instead of setting up and input_event
8548 structure manually.
8549
8550 * xdisp.c (eval_form): GCPRO argument sexpr.
8551 (call_function): New function.
8552 (handle_single_display_prop): Use call_function and FUNCTIONP
8553 instead of checking whether if font_height is a symbol and
8554 using eval_form.
8555
8556 * eval.c (internal_condition_case_2): New function.
8557
8558 * lisp.h (FUNCTIONP): New macro.
8559 (internal_condition_case_2, call_function): Add prototypes.
8560
d5aa31d8
GM
8561 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8562 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8563 Always set `arg' member of input_events.
8564 (construct_menu_click): Unused function removed.
8565
8566 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8567
8568 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8569 (construct_drag_n_drop, x_scroll_bar_handle_click)
8570 (w32_read_socket): Always set `arg' member of input_events.
8571
8572 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8573
8574 * lisp.h (eval_form): Add prototype.
8575
8576 * xdisp.c (eval_form): Make it externally visible.
8577
0f1a9b23
GM
85782000-07-13 Gerd Moellmann <gerd@gnu.org>
8579
8580 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8581 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8582 consing. For prefix events, store the frame in the `arg' slot of
8583 the event, otherwise store the key there.
8584 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8585 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8586
8587 * xmenu.c (menu_highlight_callback): Store help string in the
8588 `arg' member of the input event; don't cons.
8589 (menubar_selection_callback): Use the `arg' slot of input events
8590 to queue additional information, instead of consing.
8591
8592 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8593
8594 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8595 TOOL_BAR_EVENTs.
8596 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8597
8598 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8599 input events to queue additional information, instead of consing.
8600
8601 * keyboard.c (kbd_buffer_gcpro): Renamed from
8602 kbd_buffer_frame_or_window. Now used for all Lisp objects
8603 referenced from the input queue.
8604 (kbd_buffer_store_event): Always use structure assignment for
8605 copying input events. Record all Lisp objects referenced from
8606 events in kbd_buffer_gcpro.
8607 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8608 differently from input events. Test for prefix menu_bar_events
8609 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8610 event in kbd_buffer_gcpro to nil.
8611 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8612 frame_or_window is equal to its arg member as prefix events.
8613 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8614 used by an input event to nil.
8615 (init_keyboard): Use two times the size of the input queue
8616 for kbd_buffer_gcpro.
8617 (syms_of_keyboard): Likewise.
8618
52283633
SM
8619 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8620 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8621
8622 * termhooks.h (struct input_event): Add member `arg'.
8623 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8624 (USER_SIGNAL_EVENT): Renamed from user_signal.
8625
8626 * xfaces.c (ASET): Remove definition.
8627
8628 * lisp.h (AREF, ASET, ASIZE): New macros.
8629
8630 * fontset.c (AREF, ASIZE): Remove definitions.
8631
8632 * fns.c (AREF): Remove definition.
178c5d9c 8633
0f1a9b23
GM
8634 * composite.c (AREF): Remove definition.
8635
712eaef2
GM
86362000-07-12 Gerd Moellmann <gerd@gnu.org>
8637
d8ee7803
GM
8638 * dispnew.c (redraw_overlapped_rows): Add missing local.
8639 (scrolling_window): Remove debug code.
8640
712eaef2
GM
8641 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8642 Before scrolling, turn off a mouse-highlight in the window
8643 being scrolled.
8644
8645 * xterm.c (x_update_window_end): Add parameter
8646 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8647 redisplay in XTframe_up_to_date.
8648 (x_clear_mouse_face): New function.
8649 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8650
8651 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8652 current glyph row.
8653 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8654 it when any row is written to that contains glyphs highlighted in
8655 mouse-face.
8656 (update_window): Call the window update end hook with new
8657 parameter MOUSE_FACE_OVERWRITTEN_P.
8658 (direct_output_for_insert): Give up if row contains mouse-face.
8659
8660 * dispextern.h (struct redisplay_interface): Add parameter
8661 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8662 (clear_mouse_face): New function pointer member.
8663
02010917
SM
86642000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8665
8666 * syntax.c (back_comment): Use one switch rather than a few `if's.
8667 Obey open_paren_in_column_0_is_defun_start.
8668 When reverting to the `slow' method, try to nicely handle the case
8669 of nested comments by checking that the comment-starter we found
8670 does indeed match the comment-ender.
8671 (scan_sexps_forward, scan_sexps_forward):
8672 Ignore excessive opening parenthesis rather than throwing an error.
8673
d76c03ea
GM
86742000-07-11 Gerd Moellmann <gerd@gnu.org>
8675
8676 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8677 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8678
8679 * dispnew.c (direct_output_forward_char): Give up if currently
8680 displaying a message instead of the minibuffer contents.
8681
8682 * xterm.c (x_update_window_begin): No need to turn off the mouse
8683 highlight here.
8684 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8685 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8686
8687 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8688 compare the mouse_face_p flags of both rows.
8689
8690 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8691
d55ead18
EZ
86922000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8693
8694 * keyboard.c (show_help_echo): Accept additional parameter
8695 ok_to_overwrite_keystroke_echo.
8696 (read_char): Call show_help_echo with a zero
8697 ok_to_overwrite_keystroke_echo argument.
52283633 8698 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8699 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8700 ok_to_overwrite_keystroke_echo argument.
8701 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8702 non-zero ok_to_overwrite_keystroke_echo argument.
8703
df75b1a3
GM
87042000-07-10 Gerd Moellmann <gerd@gnu.org>
8705
4b92c49a
GM
8706 * xdisp.c (try_window_id): If changes are all below what is
8707 displayed in the window, and point is in the window, we still
8708 might have to find point on the display.
8709
8710 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8711 glyphs instead of a single one.
8712 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8713 with new argument list.
8714 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8715
df75b1a3
GM
8716 * keymap.c (get_keymap_1): Add comment that this function can GC.
8717 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8718 comment that functions can GC.
8719 (Fset_keymap_parent): GCPRO arg KEYMAP.
8720
4314cf3e
EZ
87212000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8722
8723 * msdos.c (XMenuActivate): After exiting the menu, restore the
8724 echo area message and erase it.
8725
ab49ce15
KH
87262000-07-10 Kenichi Handa <handa@etl.go.jp>
8727
8728 * fontset.c (Ffontset_info): Make the return value more compatible
8729 with that of Emacs 20.
8730
090a072f
GM
87312000-07-07 Gerd Moellmann <gerd@gnu.org>
8732
8733 * eval.c (Fsignal): Handle case that backtrace_list is null.
8734
f92de4a6
KH
87352000-07-07 Kenichi Handa <handa@etl.go.jp>
8736
8737 * ccl.c (Fccl_execute): Typo fixed.
8738
dd8888a1
GM
87392000-07-06 Gerd Moellmann <gerd@gnu.org>
8740
e5c81191 8741 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8742
dd8888a1
GM
8743 * window.c (Fwindow_list): Reverse list at the end.
8744 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8745 means allow windows on OWINDOW's frame, only.
8746 (window_loop): Simplified; use Fwindow_list.
8747
8748 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8749
485266d0
GM
87502000-07-05 Gerd Moellmann <gerd@gnu.org>
8751
8752 * xterm.c (XTread_socket): Increment handling_signal at the start,
8753 decrement it at the end.
8754
8755 * eval.c (handling_signal): New variable.
8756 (Fsignal): Abort if handling_signal is non-zero.
8757
8758 * lisp.h (handling_signal): External declaration.
178c5d9c 8759
485266d0
GM
8760 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8761
80fcd514
KR
87622000-07-05 Ken Raeburn <raeburn@gnu.org>
8763
8764 Sound support for NetBSD through "Linux emulation" support:
8765 * config.in (HAVE_SOUNDCARD_H): Undef.
8766 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8767 * Makefile.in (LIBSOUND): New variable.
8768 (LIBES): Include it.
52283633
SM
8769 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8770 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8771 (vox_open): Use DEFAULT_SOUND_DEVICE.
8772 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8773
d5c5cddd
GM
87742000-07-05 Gerd Moellmann <gerd@gnu.org>
8775
8776 * print.c (print_error_message): If Vsignaling_function is set,
8777 show it in *Messages*.
8778
8779 * lisp.h (Vsignaling_function): External declaration.
8780
8781 * eval.c (Vsignaling_function): New variable.
8782 (Fsignal): Compute it.
8783 (syms_of_eval): Staticpro it.
8784
65171e3a
DL
87852000-07-05 Dave Love <fx@gnu.org>
8786
8787 * syswait.h: Use the autoconf recommended approach. Old code
8788 #if'd out in case we need to revert.
8789
178c5d9c 8790 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8791
e2c46326
AI
87922000-07-05 Andrew Innes <andrewi@gnu.org>
8793
8794 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8795 when non-NULL instead of __morecore, to take account of buffer
8796 memory. This also solves a problem with spurious memory warnings
8797 on Windows.
8798
8799 * ralloc.c: Make real_morecore non-static.
8800
8801 * eval.c (internal_condition_case): Comment out abort if
8802 interrupt_input_blocked is not zero.
8803
8804 * makefile.nt: Add support for `bootstrap' and related targets.
8805 Include minimal debug info in emacs.exe in release build.
8806 Remove all dependencies on lisp.h, and fixup some others.
8807
8808 * w32.c (init_environment): Install code from 20.7 for providing
8809 default values for environment variables, based on the
8810 executable's own location.
52283633 8811 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8812 (sys_socket): Install socket inheritance bug fix from 20.7.
8813
8814 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8815 here via blockinput.h).
8816
a027a91b
SM
88172000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8818
e4b31601
SM
8819 * w32menu.c (w32_menu_display_help):
8820 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8821
8822 * keyboard.h (show_help_echo): Declare.
8823
8824 * keyboard.c (show_help_echo): New function, extracted from read_char.
8825 Feval its `msg' argument if it's a cons cell.
8826 (read_char): Use it.
4cf8d9d5 8827 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8828
178c5d9c 8829 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8830 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8831 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8832 (dos_rawgetc):
8833 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8834 (note_tool_bar_highlight, w32_read_socket):
8835 Do not gratuitously ignore non-string `help-echo' properties.
8836
88d75730
GM
88372000-07-05 Gerd Moellmann <gerd@gnu.org>
8838
969f7e79
GM
8839 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8840
71201b00
GM
8841 * window.c (delete_all_subwindows): Reset Vwindow_list.
8842
88d75730
GM
8843 * xterm.c (x_append_glyph, x_append_composite_glyph)
8844 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8845 changes in struct glyph starting 1999-12-27. Some bit-fields of
8846 struct glyph were not set, which made glyphs unequal when compared
8847 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8848 effects were the result. This also depended on the contents of
8849 memory returned by xmalloc. If flickering happens again, activate
8850 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8851 gone with that, chances are that it is caused by something similar.
88d75730
GM
8852
8853 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8854
88d75730
GM
8855 * dispextern.h: Add some comments.
8856
8857 * window.c (add_window_to_list): Add parameter LIST.
8858 (window_list): Order list so that, for each frame, windows are
8859 in canonical order, and so that frames appear in the list in
8860 the order given by Vframe_list.
8861 (next_window): Reverse the handling of NEXT_P.
8862
53654733
GM
88632000-07-04 Gerd Moellmann <gerd@gnu.org>
8864
87efd256
GM
8865 * window.c (Vwindow_list): New variable.
8866 (make_window, delete_window): Set Vwindow_list to nil.
8867 (check_window_containing): New function.
8868 (window_from_coordinates): Rewritten.
8869 (add_window_to_list, window_list, candidate_window_p)
8870 (decode_next_window_args, next_window): New functions.
52283633 8871 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8872 (Fwindow_list): New function.
8873 (Fother_window): Cleaned up.
8874 (foreach_window): Add a longer "variable argument list". Let
8875 callback function return 0 to indicate that cycling over windows
8876 should stop.
8877 (foreach_window_1): Likewise.
8878 (freeze_window_start): Return int.
8879 (init_window): New function.
8880 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8881
8882 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8883 input_event with bzero.
8884 (main): Call init_window.
8885
53654733
GM
8886 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8887 a menu filter.
8888
4a8c194f
KH
88892000-07-04 Kenichi Handa <handa@etl.go.jp>
8890
8891 * composite.h (make_composition_value_copy): Extern it.
8892
8893 * composite.c (make_composition_value_copy): New function.
8894
8895 * editfns.c (Fformat): While copying text properties, make each
8896 composition property value a copy.
8897
8898 * fns.c (concat): While copying text properties, make each
8899 composition property value a copy.
8900
831a6cb0
GM
89012000-07-03 Gerd Moellmann <gerd@gnu.org>
8902
2f516940
GM
8903 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8904
178c5d9c 8905 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8906 marked already.
8907
831a6cb0
GM
8908 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8909 include those frames as candidates which have their focus
8910 redirected to the minibuffer frame.
8911
d9c4f922
SM
89122000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8913
8914 * fns.c (Fputhash): Return `value' rather than nil.
8915
3780bc22
GM
89162000-06-30 Gerd Moellmann <gerd@gnu.org>
8917
97d176db
GM
8918 * frame.c (next_frame): Don't check focus redirection in case
8919 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8920 unless their focus is redirected, which contradicts the
8921 specification of next-frame, and leads to infinite loops in
8922 certain situations when cycling through windows with next-window.
8923
dca9961d
KH
89242000-06-30 Kenichi Handa <handa@etl.go.jp>
8925
8926 * coding.c (code_convert_region): Even if the length of text is
8927 zero, try to convert it if coding->type is coding_type_ccl.
8928 (decode_coding_string, encode_coding_string): Likewise.
8929
d5483ab1
GM
89302000-06-28 Gerd Moellmann <gerd@gnu.org>
8931
af5c25e1 8932 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8933 the display if windows_or_buffers_changed.
af5c25e1
GM
8934
8935 * dispnew.c (struct row_entry): New structure.
8936 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8937 (row_table_size, old_lines, new_lines, old_lines_size)
8938 (new_lines_size, run_pool, runs_size, runs): New variables.
8939 (add_row_entry): New function.
8940 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8941 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8942 holding them in local variables. Use a larger hash table whose
8943 size depends on glyph matrix sizes. Don't use bzero to clear the
8944 hash table; instead, clear used slots only.
8945
8946 * fns.c (next_almost_prime): Make it externally visible.
8947
8948 * lisp.h (next_almost_prime): Add prototype.
8949
d5483ab1
GM
8950 * s/isc4-0.h (sigunblock): Define.
8951
8952 * s/sco5.h (sigunblock): Define.
8953
93e40f40
DL
89542000-06-27 Dave Love <fx@gnu.org>
8955
8956 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8957 (moved to osf5-0.h).
8958 [!NOT_C_CODE]: Protect string.h stuff.
8959
8960 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8961 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8962
3c4b7685
GM
89632000-06-27 Gerd Moellmann <gerd@gnu.org>
8964
97d176db 8965 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8966 below the last line from the needed window height.
8967
32cad0aa
SM
89682000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8969
8970 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8971 (Fwidget_get): Use it.
8972 (syms_of_fns): Defsubr it.
8973
2c69ced2
GM
89742000-06-26 Gerd Moellmann <gerd@gnu.org>
8975
178c5d9c 8976 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8977 display info for XIM.
8978 (xim_open_dpy): Likewise.
8979 (xim_close_dpy): Don't free the display info's XIM.
8980
8981 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8982
8983 * config.in (USE_XIM): New define.
8984
3fc720e4
GM
8985 * keymap.c (get_keyelt): For menu-items containing a `:filter
8986 FILTER', apply FILTER to the menu-item's definition to get the
8987 real definition to use.
8988
8989 * lisp.h (QCfilter): External declaration.
8990
2c69ced2
GM
8991 * xfns.c (Fimage_size): New function.
8992 (syms_of_xfns): Defsubr it.
8993
f978b2a2
AS
89942000-06-26 Andreas Schwab <schwab@suse.de>
8995
8996 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8997 Fstring_as_unibyte.
8998
94cc7892
DL
89992000-06-25 Dave Love <fx@gnu.org>
9000
52283633 9001 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9002
9003 * Makefile.in (blockinput.h): Depend on atimer.h.
9004 (atimer.h): Depend on systime.h.
9005
52283633 9006 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9007
52283633 9008 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9009
9010 * lisp.h (swap_in_global_binding): Declare.
9011
b8c24556
KR
90122000-06-24 Ken Raeburn <raeburn@gnu.org>
9013
9014 * process.c (Fopen_network_stream): Turn off atimers for duration
9015 of call to connect. (Patch from Gerd.)
9016
8cf8560b
DL
90172000-06-23 Dave Love <fx@gnu.org>
9018
511c7541
DL
9019 * ralloc.c: Maybe include unistd.h
9020
8cf8560b
DL
9021 * emacs.c (setgrp): Undefine before defining.
9022 (malloc_warning, set_time_zone_rule, index): Prototype.
9023
9024 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9025 HAVE_STRUCT_TIMEZONE.
9026
9027 * s/osf1.h: Move string.h hack here from alpha.h and make it
9028 conditional.
9029 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9030 _XOPEN_SOURCE.
9031 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9032 (SOCKLEN_TYPE): Don't define.
9033
9034 * m/alpha.h: Remove string.h hack.
9035
9036 * s/osf5-0.h: New file.
9037
9038 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9039 include time.h, done by systime.h.
9040 [__FreeBSD__]: Remove redundant includes.
9041
3fc720e4 9042 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9043 (delete_temp_file): Return Qnil to avoid warning.
9044
9045 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9046
9047 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9048 HAVE_X_WINDOWS.
9049
9050 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9051
9052 * composite.h (compose_text): Declare.
9053
9054 * xterm.c: Don't include sys/types.h unconditionally. Don't
9055 protect its inclusion with !USG (following xmenu.c).
9056
ea055732
GM
90572000-06-23 Gerd Moellmann <gerd@gnu.org>
9058
9059 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9060 in x_create_frame.
9061
74b01b80
EZ
90622000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9063
9064 * coding.c (decode_eol_post_ccl): Special handling for undecided
9065 and inconsistent EOL types.
9066
64f3a166
GM
90672000-06-22 Gerd Moellmann <gerd@gnu.org>
9068
16cf31f7
GM
9069 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9070 trough color and main window's background color.
9071
52283633 9072 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9073
9074 * xterm.h (Xt_app_con): External declaration.
9075
9076 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9077
486a103d
GM
9078 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9079
64f3a166
GM
9080 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9081 (handle_invisible_prop): Record the start of invisible text in
9082 it->add_overlay_start.
9083 (struct overlay_entry): Add member `overlay'.
9084 (handle_overlay_change): Simplify.
9085 (next_overlay_string): After having processed overlay strings at the
9086 end of the buffer, record that fact in
9087 it->overlay_strings_at_end_processed_p.
9088 (compare_overlay_entries): If before- and after-strings come
9089 from the same overlay, let before-strings come first.
9090 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9091 (load_overlay_strings): Take it->add_overlay_start into account
9092 when adding overlay strings.
9093
9094 * dispextern.h (struct it): Add member add_overlay_start.
9095
bb746ea6
DL
90962000-06-22 Dave Love <fx@gnu.org>
9097
9098 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9099
9100 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9101
a8f573f3
KH
91022000-06-22 Kenichi Handa <handa@etl.go.jp>
9103
9104 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9105 is greater than 0.
9106
9f2bbc92
DL
91072000-06-21 Dave Love <fx@gnu.org>
9108
178c5d9c 9109 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9110
3ee5041c
SM
91112000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9112
9113 * syntax.c (back_comment): Simplify string-parity counting (with
9114 the added benefit of handling multiple string-styles as long as
9115 they are not intertwined).
9116 Jump to the slow code as soon as a comment starter is found in
9117 a "string_lossage" position. Fixes the case: " /* " /* " */.
9118
4c343001
DL
91192000-06-21 Dave Love <fx@gnu.org>
9120
9121 * Makefile.in: Use GETLOADAVG_LIBS.
9122
9123 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9124 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9125
e6365855
SM
91262000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9127
9128 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9129 (Fforward_comment, scan_lists):
9130 Check the comstyle of single-char comment-starters.
9131 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9132 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9133 Check the comstyle of single-char comment-starters.
9134 Clarify control-flow around the Scomment case.
e6365855 9135
5700d2cc
DL
91362000-06-20 Dave Love <fx@gnu.org>
9137
d355bd8a
SM
9138 * fns.c (make_hash_table, maybe_resize_hash_table):
9139 Cast arg of next_almost_prime.
5700d2cc 9140
178c5d9c 9141 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9142
9143 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9144 and unistd.h.
9145
4a27bdfb
GM
91462000-06-20 Gerd Moellmann <gerd@gnu.org>
9147
a61d762c 9148 * keyboard.c (adjust_point_for_property): Check if display
52283633 9149 property should be treated as intangible by looking at its value.
a61d762c 9150
178c5d9c 9151 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9152 (display_prop_intangible_p): New functions.
9153
9154 * dispextern.h (display_prop_intangible_p): Add prototype.
9155
9156 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9157
4a27bdfb
GM
9158 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9159 argument to sigprocmask.
9160
9161 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9162 argument to sigprocmask.
9163
9164 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9165 sigprocmask_set, and pass a pointer to it to sigprocmask.
9166
9167 * sysdep.c (sigprocmask_set): New variable.
9168
9169 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9170 report_file_error.
9171
427ec082
SS
91722000-06-20 Sam Steingold <sds@gnu.org>
9173
9174 * xrdb.c: Don't declare xmalloc, xrealloc.
9175
8972fe79 91762000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9177
9178 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9179 (re_comp): Cast gettext return value to avoid complaints when
9180 !HAVE_LIBINTL.
9181
074b6efe
DL
91822000-06-20 Dave Love <fx@gnu.org>
9183
52283633 9184 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9185
5700d2cc 9186 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9187
d355bd8a 9188 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9189
9190 * m/alpha.h: Don't declare xmalloc, xrealloc.
9191
0af4f205
DL
9192 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9193
9194 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9195
9196 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9197
9198 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9199 HAVE_GETWD.
9200
074b6efe
DL
9201 * keyboard.h (poll_for_input_1): Declare.
9202
9203 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9204
9205 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9206
9207 * doprnt.c: Don't declare xmalloc, xrealloc.
9208
9209 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9210 (getenv, ctime, getwd): Removed.
9211 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9212
9213 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9214 x_set_tool_bar_lines.
9215
9216 * config.in: Add HAVE_GETWD. Move some definitions above
9217 machine/system includes.
9218
68a5e97b
KH
92192000-06-20 Kenichi Handa <handa@etl.go.jp>
9220
95417e1e
KH
9221 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9222
68a5e97b
KH
9223 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9224 contain information about ENCODING.
9225
9226 * fontset.c (FONTSET_ASCII): Use the first element of char table
9227 for an ASCII font, not defalt slot.
9228 (fontset_ref_via_base): If FONTSET doesn't contain information for
9229 C, try the default fontset.
9230 (make_fontset): Don't copy the default fontset.
9231 (fontset_font_pattern): Likewise.
9232 (accumulate_font_info): If ELT is nil, use the corresponding
9233 element in the default fontset.
9234
3b4fa1b2
DL
92352000-06-19 Dave Love <fx@gnu.org>
9236
943e731c
DL
9237 * syntax.c (Fparse_partial_sexp): Doc fix.
9238
9239 * regex.h: Test PROTOTYPES as well as __STDC__.
9240
3b4fa1b2
DL
9241 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9242 errno, strerror. Put text after #endif in comment.
9243
52283633 9244 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9245
9246 * xterm.c (x_frame_of_widget): Likewise.
9247
cdf0357b
GM
92482000-06-19 Gerd Moellmann <gerd@gnu.org>
9249
9250 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9251 to Vfundamental_mode_abbrev_table.
9252
9253 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9254 bogus objects are marked. This slows down GC by ~80 percent, but
9255 it might be worth trying when debugging GC-related problems.
9256 This feature requires conservative stack marking to be enabled.
9257
9258 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9259 returns XLookupChars, reset `modifiers' to zero.
9260
998e9f8c
DL
92612000-06-19 Dave Love <fx@gnu.org>
9262
9263 * mktime.c: Unprotoized.
9264
18e21ce8 92652000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9266
9267 * data.c (set_internal): If variable is frame-local,
9268 store the new value immediately into the frame parameter alist.
9269
140c4ac6
KR
92702000-06-19 Ken Raeburn <raeburn@gnu.org>
9271
14358466
KR
9272 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9273 in the custom handler pointer.
9274
140c4ac6
KR
9275 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9276 value, or checks for CHAR_META can fail when Lisp_Object is a
9277 union type.
9278 * keymap.c (get_keyelt): Likewise.
9279
10d7bf84
KH
92802000-06-19 Kenichi Handa <handa@etl.go.jp>
9281
9282 * ccl.h (struct ccl_program): New member eol_type.
9283 (struct ccl_spec): New member cr_carryover.
9284
9285 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9286 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9287
9288 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9289 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9290 (decode_eol_post_ccl): New function.
9291 (decode_coding): Don't detect EOL format here for CCL based coding
9292 systems.
9293 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9294 decode_eol_post_ccl after running the CCL program.
9295 (code_convert_region): Don't detect EOL format here for CCL based
9296 coding systems.
9297 (decode_coding_string): Likewise.
9298
52e386c2
KR
92992000-06-18 Ken Raeburn <raeburn@gnu.org>
9300
9301 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9302 when treating it as an integer.
9303
9304 * coding.h (encode_coding_string): Declare.
9305
9306 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9307 it as an integer.
9308
9309 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9310 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9311 to be passed to get_local_map.
9312
9313 * sound.c (Fplay_sound): Don't call make_number on
9314 Frun_hook_with_args count argument.
9315
9316 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9317 for lisp objects in X event structure data field, when lisp
9318 objects are represented with unions.
9319 (x_scroll_bar_to_input_event): Ditto.
9320
b357b9d4
KR
93212000-06-16 Ken Raeburn <raeburn@gnu.org>
9322
9323 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9324 termination of string. Fix sense of test whether
9325 Vline_number_display_limit is an integer.
b357b9d4 9326
a871441d
GM
93272000-06-16 Gerd Moellmann <gerd@gnu.org>
9328
a9021acd
GM
9329 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9330 only if HAVE_X_WINDOWS.
9331
6344985d
GM
9332 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9333 of titles.
9334
427ec082 9335 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9336 out of bounds.
9337
228b083e
EZ
93382000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9339
9340 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9341 of its headers.
9342
c25b53a2
KH
93432000-06-15 Kenichi Handa <handa@etl.go.jp>
9344
9345 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9346 start of the while loop.
9347
a6981b11
GM
93482000-06-15 Gerd Moellmann <gerd@gnu.org>
9349
e9924e52
GM
9350 * atimer.c (alarm_signal_handler): Add forward declaration.
9351
a6981b11
GM
9352 * data.c (set_internal): Remove debug code.
9353
25fa6deb
GM
93542000-06-14 Gerd Moellmann <gerd@gnu.org>
9355
dce6b995
GM
9356 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9357
9f817ea4
GM
9358 * unexec.c (toplevel) [COFF]: Include coff.h.
9359
9360 * s/lynxos.h: New file.
9361
9362 * keymap.c (Fsingle_key_description): Enclose function key and
9363 event symbol names in angle brackets.
9364
8a4e3c0c
GM
9365 * xdisp.c (setup_echo_area_for_printing): Call
9366 message_log_maybe_newline if message_buf_print is not set.
9367
9368 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9369 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9370 function does something useful even when message_buf_print is
9371 already set.
9372
52283633
SM
9373 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9374 New variables.
25fa6deb
GM
9375 (ensure_echo_area_buffers): Initialize echo buffer's
9376 truncate lines setting to nil.
9377 (with_echo_area_buffer): Don't set the echo buffer's truncate
9378 lines setting here.
8a4e3c0c 9379 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9380 of message_truncate_lines.
9381 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9382 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9383 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9384
9385 * keyboard.c (read_char): Bind message-truncate-lines to t
9386 while displaying a help-echo.
9387
9388 * lisp.h (Qmessage_truncate_lines): External declaration.
9389
163dcff3
GM
93902000-06-13 Gerd Moellmann <gerd@gnu.org>
9391
1681ead6
GM
9392 * xdisp.c (Vline_number_display_limit): Renamed from
9393 line_number_display_limit.
9394 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9395 Extend documentation string. Initialize
9396 Vline_number_display_limit to nil meaning no limit.
9397 (decode_mode_spec): Use Vline_number_display_limit with its new
9398 meaning.
9399
163dcff3
GM
9400 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9401
18e21ce8 94022000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9403
9404 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9405
163dcff3
GM
9406 * xfns.c (x_set_frame_parameters): Comment fix.
9407
9408 * frame.c (store_frame_param): Call swap_in_global_binding if the
9409 variable's current binding was chosen based on this frame.
9410
9411 * data.c (swap_in_global_binding): New function.
9412
a704139d
EZ
94132000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9414
9415 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9416 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9417
9b6610db
EZ
94182000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9419
9420 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9421
c68833d2
JR
94222000-06-12 Jason Rumney <jasonr@gnu.org>
9423
9424 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9425
9426 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9427
9428 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9429
9430 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9431
ed1056b3
GM
94322000-06-12 Gerd Moellmann <gerd@gnu.org>
9433
9434 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9435 (syms_of_xfaces): Defsubr Sdump_colors.
9436 (x_free_colors): Don't treat b&w specially on default visual.
9437 (x_free_dpy_colors): New function.
9438 (free_face_colors): Don't check visual class; it's done
9439 in x_free_colors.
9440
9441 * xterm.c (x_frame_of_widget): New function.
9442 (x_alloc_nearest_color_for_widget): Use it.
9443 (x_copy_dpy_color): New function.
9444 (x_destroy_window): Free various colors.
9445
5050a2ef
KH
94462000-06-12 Kenichi Handa <handa@etl.go.jp>
9447
9448 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9449
9450 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9451
9452 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9453
9454 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9455
9456 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9457
fb1b041d
DL
94582000-06-11 Dave Love <fx@gnu.org>
9459
9460 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9461
ff96b5f4
EZ
94622000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9463
9464 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9465
db8eeecd
GM
94662000-06-11 Gerd Moellmann <gerd@gnu.org>
9467
ed1056b3 9468 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9469 to `XEvent *'.
9470
49b71c5f
KH
94712000-06-10 Kenichi Handa <handa@etl.go.jp>
9472
c479bd55
KH
9473 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9474 (regex_compile): Fix the code for handling the case of single byte
9475 char and multibyte char being mixed in a range within [...].
9476
ff6a65c2
KH
9477 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9478 and dst_multibyte members of coding.
9479
49b71c5f
KH
9480 * charset.c (update_charset_table): Update the table
9481 bytes_by_char_head.
9482 (init_charset_once): Initialize elements of bytes_by_char_head to
9483 1 except for leading codes for private charases.
9484
9485 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9486 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9487
9e80b57d
KR
94882000-06-09 Ken Raeburn <raeburn@gnu.org>
9489
9490 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9491 access the data it doesn't point to.
9492
f83fe4b4
GM
94932000-06-08 Gerd Moellmann <gerd@gnu.org>
9494
9495 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9496 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9497 event queue. This is necessary because Emacs otherwise won't
9498 perform a switch-frame to a new frame until some other event, for
9499 example a keystroke event, forces it to do so. This has various
9500 effects, one visible being that the cursor of a frame created with
9501 C-x 5 2 or switched to with a window manager key binding like
9502 A-TAB stays hollow because selected_window isn't on the newly
9503 focused frame until the switch-frame is performed.
9504
9505 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9506 generating a switch-frame event if necessary.
9507
9508 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9509
9510 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9511 it's an integer.
9512
0890801b
KH
95132000-06-08 Kenichi Handa <handa@etl.go.jp>
9514
52283633 9515 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9516
173cbca8
GM
95172000-06-07 Gerd Moellmann <gerd@gnu.org>
9518
3091c2a6
GM
9519 * window.c (displayed_window_lines): Take empty lines at
9520 the bottom of a window into account.
427ec082 9521
f38952fe
GM
9522 * window.c (displayed_window_lines): New function.
9523 (Fmove_to_window_line): Use displayed_window_lines to determine
9524 the number of lines to move, instead of using the window's height.
9525
9526 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9527 to stop reading, even if the form read sets point to a different
9528 value when evaluated.
9529
427ec082 9530 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9531 put the cursor.
9532
6ba6c818
KH
95332000-06-07 Kenichi Handa <handa@etl.go.jp>
9534
9535 * fileio.c (e_write): Free composition data if stored in
9536 coding->cmp_data.
9537
5f1aea9a
GM
95382000-06-06 Gerd Moellmann <gerd@gnu.org>
9539
666852af
GM
9540 * xdisp.c (display_line): Set row's and iterator's
9541 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9542 Set cursor even if row ends in the middle of a character.
9543 (dump_glyph_row): Print values of new flags.
9544 (redisplay_window) <cursor movement in unchanged window>: When
9545 point has been moved forward, and PT is at the end of the cursor
9546 row, don't place the cursor in the next row if the cursor row ends
9547 in the middle of a character or at ZV.
9548
9549 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9550 (struct glyph_row): Add starts_in_middle_of_char_p and
9551 ends_in_middle_of_char_p.
9552 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9553 ends_in_middle_of_char_p flag.
9554 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9555
d13f3e2e
GM
9556 * term.c (append_glyph): Revert change of 2000-06-06.
9557
9558 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9559 padding glyph not fitting on line as whole character not
9560 fitting on line.
9561
5f1aea9a
GM
9562 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9563 this isn't true for images with `:ascent 100'.
9564
10cda9b0
KH
95652000-06-06 Kenichi Handa <handa@etl.go.jp>
9566
ed00559d
KH
9567 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9568 as modified if it is originally unmodified.
9569
10cda9b0
KH
9570 * term.c (encode_terminal_code): Change the way to check if
9571 terminal coding does any conversion.
9572 (append_glyph): Set glyph->pixel_width correctly.
9573
9574 * xdisp.c (display_line): While checking line continuation, pay
9575 attention to a padding glyph.
9576
1969fae2
GM
95772000-06-05 Gerd Moellmann <gerd@gnu.org>
9578
9579 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9580
162ccef4
DL
95812000-06-05 Dave Love <fx@gnu.org>
9582
f19f32dd
DL
9583 * xdisp.c: Include fontset.h.
9584
9585 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9586
9587 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9588
9589 * dispnew.c: Conditionally include term.h.
9590
9591 * coding.h: Declare code_convert_string_norecord.
9592
9593 * frame.h (struct frame): Use volatile unconditionally.
9594
9595 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9596
9597 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9598
9599 * systime.h: Protect against multiple inclusion.
9600 (timezone) [USG5_4]: Define as time_t.
9601
9602 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9603 (Foptimize_char_table, make_temp_name): Declare.
9604
9605 * Makefile.in (xdisp.o): Depend on fontset.h.
9606
9607 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9608
9609 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9610 (Foptimize_char_table, make_temp_name): Declare.
9611
427ec082 9612 * s/irix4-0.h:
162ccef4
DL
9613 * s/irix5-0.h:
9614 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9615
2082fe81
DL
96162000-06-02 Dave Love <fx@gnu.org>
9617
9618 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9619
dcf671d2
GM
96202000-06-02 Gerd Moellmann <gerd@gnu.org>
9621
9622 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9623 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9624 be freed.
9625
9626 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9627 glyph, use the ASCII NUL character to determine the face.
9628
d42122a3
DL
96292000-06-02 Dave Love <fx@gnu.org>
9630
9631 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9632 (VFORK_RETURN_TYPE): Remove.
427ec082 9633
d42122a3
DL
9634 * config.in: Add NO_MATHERR.
9635
dd432f16
DL
96362000-06-01 Dave Love <fx@gnu.org>
9637
90aa4ea8
DL
9638 * cmds.c (internal_self_insert): Don't check
9639 Vbefore_change_function, Vafter_change_function.
9640
9641 * insdel.c (signal_before_change, signal_after_change): Likewise.
9642
9643 * buffer.c (Vbefore_change_function, Vafter_change_function):
9644 Variables and their initializations deleted.
9645
2330c9d4
DL
9646 * callint.c (Fcall_interactively): Doc fix.
9647
dd432f16
DL
9648 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9649
bf9e8804
DL
96502000-05-31 Dave Love <fx@gnu.org>
9651
9652 * textprop.c: Revert last change -- duplicated.
9653
3694b4ab
GM
96542000-05-31 Gerd Moellmann <gerd@gnu.org>
9655
9656 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9657 in #if 0.
9658
9659 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9660
f14156cd
JR
96612000-05-31 Jason Rumney <jasonr@gnu.org>
9662
8119aab8
JR
9663 * search.c (Fre_search_forward, Fre_search_backward)
9664 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9665
f14156cd
JR
9666 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9667
4aab9be3
JR
96682000-05-30 Jason Rumney <jasonr@gnu.org>
9669
9670 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9671 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9672
52283633 9673 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9674
9675 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9676 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9677 expand a nil default_filename.
9678
9679 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9680 pointer to glyph_to_pixel_coords, not a frame.
9681
9682 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9683 coding.h to dependencies.
9684
9685 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9686
9687 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9688 window pointer to be consistent with w32term.c and xterm.c.
9689
9690 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9691 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9692 (Qline_spacing, Qcenter): New variables.
9693 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9694 (x_set_line_spacing): New function.
52283633 9695 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9696 (x_specified_cursor_type): New function.
9697 (x_set_cursor_type): Use it.
9698 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9699 and icon strings.
9700 (validate_x_resource_name, x_get_resource_string): Measure lengths
9701 of external strings in bytes.
9702 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9703 GetTextExtentPoint32 with NULL title.
9704 (Fx_create_frame): Initialize Qline_spacing.
9705 (w32_load_system_font): Initialize font->double_byte_p.
9706 (x_to_w32_charset): Use Vw32_charset_info_alist.
9707 (Image, busy cursor, tooltip functions): Merged changes from
9708 xfns.c. Not yet functional on Windows.
9709
9710 * w32gui.h (W32FontStruct): Add double_byte_p member.
9711
9712 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9713 (emacs_button_translation): Use it.
9714 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9715 in `mask' to be set.
9716
9717 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9718 menu strings.
9719
9720 * w32term.c: Format and doc changes to bring closer to xterm.c.
9721 (w32_char_font_type): New enum.
9722 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9723 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9724 (w32_encode_char): New function.
9725 (x_encode_char): Removed.
9726 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9727 x_encode_char and w32_font_is_double_byte.
9728 (x_produce_image_glyph): Use image_ascent.
9729 (x_produce_glyphs): Use new version of w32_per_char_metric and
9730 handle NULL return value. Allow extra line spacing.
9731 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9732 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9733 w32_font_type member of glyph instead.
9734 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9735 (fast_find_position): Make sure not to consider rows not visible
9736 in the window.
9737 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9738 w32_menu_display_help with input blocked, as it can abort.
9739 (x_display_and_set_cursor): Choose cursor depending
9740 on buffer-local value of cursor_type.
9741 (x_draw_bar_cursor): Add parameter WIDTH.
9742
9743 * w32term.h (CP_DEFAULT): Define.
9744 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9745
10fc3187
GM
97462000-05-30 Gerd Moellmann <gerd@gnu.org>
9747
9748 * search.c (Fre_search_forward, Fre_search_backward)
9749 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9750
d0555360
KH
97512000-05-30 Kenichi Handa <handa@etl.go.jp>
9752
9753 * coding.c (detect_coding_iso2022): Fix code for checking
9754 CODING_CATEGORY_MASK_ISO_8_2.
9755
f1ad044f
SM
97562000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9757
9758 * regex.c (PREFETCH_NOLIMIT): New function.
9759 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9760
84ec3b4b
GM
97612000-05-29 Gerd Moellmann <gerd@gnu.org>
9762
66254a13
GM
9763 * syntax.c (find_defun_start): Move test for
9764 open_paren_in_column_0_is_defun_start outside of the loop.
9765
49e70dec
GM
9766 * xdisp.c (redisplay_window): Really switch buffers when
9767 displaying mode lines, and temporarily set selected_frame to the
9768 frame of the window that's redisplayed.
9769
84ec3b4b
GM
9770 * xfaces.c (free_realized_faces): Block/unblock input.
9771 (free_realized_multibyte_face): Ditto.
9772
869a3a14
DL
97732000-05-29 Dave Love <fx@gnu.org>
9774
9775 * textprop.c (Qkeymap): New variable.
9776 (syms_of_textprop): Intern it.
9777
9778 * keymap.c: Include intervals.h.
9779 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9780
9781 * Makefile.in (keymap.o): Depend on intervals.h.
9782
9783 * keyboard.c (menu_bar_items, tool_bar_items)
9784 (Fexecute_extended_command): Deal with `keymap' property.
9785 (read_key_sequence): Track map from `keymap' property as well as
9786 `local_map'.
9787
9788 * intervals.c (get_local_map): Extra arg to allow looking for
9789 `keymap' too.
9790
9791 * intervals.h (map_property): New enum.
9792 (get_local_map): Extra arg using it.
9793 (Qkeymap): Declare.
9794
84ec3b4b 9795 * lisp.h (get_local_map): Don't declare here.
869a3a14 9796
89d0c844
KH
97972000-05-29 Kenichi Handa <handa@etl.go.jp>
9798
9799 * Makefile.in (callproc.o): Depend on composite.h.
9800
9801 * callproc.c: Include composite.h.
9802 (Fcall_process): Handle composition correctly.
9803
9804 * coding.h (coding_allocate_composition_data): Extern it.
9805 (coding_restore_composition): Likewise.
9806
9807 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9808 yet allocated, finish decoding with result
9809 CODING_FINISH_INSUFFICIENT_CMP.
9810 (coding_allocate_composition_data): Make it non-static.
9811 (coding_restore_composition): Likewise.
9812
797a084a
EZ
98132000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9814
9815 * charset.c (syms_of_charset): Revert last change.
9816
cf872af5
EZ
98172000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9818
9819 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9820 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9821 Handa.
cf872af5 9822
5b1ae051
EZ
98232000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9824
9825 * charset.c (syms_of_charset): Set width of character sets
9826 eight-bit-control and eight-bit-graphic to 1 column.
9827
34ec9ebe
GM
98282000-05-26 Gerd Moellmann <gerd@gnu.org>
9829
9830 * config.in (HAVE_SPEED_T): New define.
9831
9832 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9833 `extern speed_t'.
9834
dd854dc2
DL
98352000-05-26 Dave Love <fx@gnu.org>
9836
9837 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9838
9839 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9840 (Fsubr_arity): New function.
9841 (syms_of_data): Install them.
9842
ba9f8f95
KH
98432000-05-26 Kenichi Handa <handa@etl.go.jp>
9844
0f3e0672
KH
9845 * charset.c (init_charset_once): Set the table bytes_by_char_head
9846 correctly.
9847
cebefb44
KH
9848 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9849 the default fontset to what Emacs uses by default.
0f3e0672
KH
9850 (check_registry_encoding): This function deleted.
9851 (Fset_fontset_font): Remove the adhoc condition for the default
9852 fontset. Allow cons in FONTNAME.
cebefb44 9853
0f3e0672
KH
9854 * fns.c (map_char_table): Ignore char-table entries for
9855 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9856
7a18af49
KR
98572000-05-25 Ken Raeburn <raeburn@gnu.org>
9858
9859 * emacs.c (main): Initialize keyboard syms before initializing
9860 window code, so face names are available.
9861
d2af47df
SM
98622000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9863
9864 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9865 of an anchor at the beginning of a shy-group.
9866
fc6a6a4e
GM
98672000-05-25 Gerd Moellmann <gerd@gnu.org>
9868
9869 * xdisp.c (handle_invisible_prop): Don't try to skip over
9870 invisible text if end of text is already reached.
9871
005f0d35
DL
98722000-05-25 Dave Love <fx@gnu.org>
9873
02513cdd
DL
9874 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9875
005f0d35
DL
9876 * coding.c (encode_eol): Add null statement after label.
9877
89f6ca4e
EZ
98782000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9879
9880 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9881 2000-05-20.
9882
a4e1759e
KH
98832000-05-25 Kenichi Handa <handa@etl.go.jp>
9884
9885 * ccl.c (ccl_driver): Fix previous change.
9886
eacfd7fe
KH
98872000-05-25 Kenichi Handa <handa@etl.go.jp>
9888
46ab33a9
KH
9889 * coding.c (run_pre_post_conversion_on_str): Set point to the
9890 beginning of buffer before calling coding->post_read_conversion.
9891 (decode_coding_string): Give correct args to
9892 run_pre_post_conversion_on_str.
9893 (encode_coding_string): Likewise.
9894
eacfd7fe
KH
9895 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9896 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9897 eight-bit-graphic correctly.
9898
f8569325
DL
98992000-05-24 Kenichi HANDA <handa@etl.go.jp>
9900
9901 * fileio.c (Finsert_file_contents): Even if a file is not found,
9902 execute codes for setting up coding system. Call
9903 after-insert-file-functions unconditionally.
9904
04545643
GM
99052000-05-24 Gerd Moellmann <gerd@gnu.org>
9906
9907 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9908 BSD_PGRPS are not defined.
9909
747d90ea
KH
99102000-05-24 Kenichi Handa <handa@etl.go.jp>
9911
9912 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9913 DESCRIPTION.
9914 (syms_of_charset): Avoid building same strings.
9915
716e3b88
GM
99162000-05-23 Gerd Moellmann <gerd@gnu.org>
9917
9918 * lread.c (Fload): Add a comment about the meaning of
9919 Vuser_init_file being t.
9920
9921 * puresize.h (BASE_PURESIZE): Increase to 675000.
9922
9923 * s/gnu-linux.h (setpgrp): Don't define it here because this
9924 prevents compilation on GNU/Linux systems with glib 2.2.
9925
9926 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9927 as setpgid.
427ec082 9928
9aeb39fa
EZ
99292000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9930
9931 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9932 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9933 version.
9934 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9935
29ced61b
KH
99362000-05-23 Kenichi Handa <handa@etl.go.jp>
9937
52283633 9938 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9939
3d80f24d
KH
9940 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9941
52283633 9942 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9943
29ced61b
KH
9944 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9945
d7e00792
KH
99462000-05-22 Kenichi Handa <handa@etl.go.jp>
9947
c9d80d38
KH
9948 * keyboard.c (read_char): Allow character codes 128..255 to be
9949 handled by input-method-function.
9950
d7e00792
KH
9951 * insdel.c (adjust_markers_for_replace): Fix previous change.
9952 (adjust_after_replace): If PREV_TEXT is nil, call
9953 adjust_markers_for_insert, not adjust_markers_for_replace.
9954
087121cc 99552000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9956
087121cc
GM
9957 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9958 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9959 [HAVE_GRANDPT]: Define.
9960 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9961
9962 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9963 like SYSV_PTYS.
9964
9965 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9966
9967 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9968
c9671f81
KH
99692000-05-20 Kenichi Handa <handa@etl.go.jp>
9970
9971 The following changes are to handle 8-bit characters in a
9972 multibyte buffer/string without facing with byte combining
9973 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9974 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9975
9976 * Makefile.in (fns.o): Depend on charset.h.
9977
9978 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9979 convert it to unibyte.
9980 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9981
9982 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9983 apparent char boundary.
9984 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9985 0x80..0x9F to/from multibyte form.
9986
9987 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9988 to unibyte.
9989
9990 * callproc.c (Fcall_process): Always encode an argument string if
9991 it is multibyte. Setup src_multibyte and dst_multibyte members of
9992 process_coding properly.
ce75fd23 9993
c9671f81
KH
9994 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9995 SPLIT_NON_ASCII_CHAR.
9996
9997 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9998 as is.
9999 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10000
52283633 10001 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10002 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10003 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10004 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10005 and eight-bit-graphic.
10006 (char_to_string): Likewise. Signal an error for too large
10007 character code.
10008 (char_printable_p): Return 0 for 8-bit characters.
10009 (update_charset_table): Update iso_charset_table only when a final
10010 character is non-negative.
10011 (find_charset_in_text): Renamed from find_charset_in_str.
10012 Arguments and return value changed. Callers changed.
10013 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10014 be -1 if CHARSET is used only internally.
10015 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10016 eight-bit-graphic.
10017 (Fcharset_after): Simplified.
10018 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10019 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10020 (multibyte_chars_in_text): Simplified by assuming there's no
10021 invalid multibyte sequence.
52283633
SM
10022 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10023 (str_as_unibyte): New functions.
10024 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10025 (init_charset_once): Initialization for
10026 LEADING_CODE_8_BIT_CONTROL.
10027 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10028 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10029 eight-bit-control and eight-bit-graphic.
10030
52283633
SM
10031 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10032 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10033 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10034 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10035 (CHARSET_REVERSE_CHARSET): Likewise.
10036 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10037 eight-bit-graphic.
10038 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10039 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10040 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10041 encounter an invalid multibyte sequence.
10042 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10043 sequence is always valid.
10044 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10045 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10046 (CHAR_STRING): For 8-bit characters, call char_to_string.
10047 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10048 multibyte sequence is always valid.
10049 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10050 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10051 (str_as_unibyte): Extern them.
c9671f81 10052 (BCOPY_SHORT): Fix a bug.
52283633 10053 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10054 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10055 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10056 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10057
bd4bde7f 10058 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10059 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10060 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10061 (EMIT_BYTES): New macros.
10062 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10063 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10064 macros deleted.
10065 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10066 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10067 check the validity of multibyte sequence.
10068 (decode_coding_emacs_mule): New function.
10069 (encode_coding_emacs_mule): New macro.
10070 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10071 the source.
10072 (DECODE_ISO_CHARACTER): Just return a character code.
10073 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10074 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10075 EMIT_CHAR to produced decoded characters. Exit the loop only by
10076 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10077 block here.
10078 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10079 only position codes for an invalid character.
10080 (encode_designation_at_bol): Return new destination pointer. 5th
10081 arg DSTP is changed to DST.
10082 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10083 from the source by ONE_MORE_CHAR. Don't handle the case of last
10084 block here.
10085 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10086 macros deleted.
52283633
SM
10087 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10088 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10089 TWO_MORE_BYTES to fetch a byte from the source.
10090 (encode_eol): Pay attention to coding->src_multibyte.
10091 (detect_coding, detect_eol): Preserve members src_multibyte and
10092 dst_multibyte.
10093 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10094 (encoding_buffer_size): Set magnification to 3 for all coding
10095 systems that require encoding.
10096 (ccl_coding_driver): For decoding, be sure that the result is
10097 valid multibyte sequence.
10098 (decode_coding): Initialize coding->errors and coding->result.
10099 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10100 and raw-text, always call decode_eol. Handle the case of last
10101 block here. If not coding->dst_multibyte, convert the resulting
10102 sequence to unibyte.
10103 (encode_coding): Initialize coding->errors and coding->result.
10104 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10105 and raw-text, always call encode_eol. Handle the case of last
10106 block here.
10107 (shrink_decoding_region, shrink_encoding_region): Detect cases
10108 that we can't skip data more rigidly.
10109 (code_convert_region): Setup src_multibyte and dst_multibyte
10110 members of coding. For decoding, if the buffer is multibyte,
10111 convert the source sequence to unibyte in advance. For encoding,
10112 if the buffer is multibyte, convert the resulting sequence to
10113 multibyte afterward.
10114 (run_pre_post_conversion_on_str): New function.
10115 (code_convert_string): Deleted and divided into the following two.
10116 (decode_coding_string, encode_coding_string): New functions.
10117 (code_convert_string1, code_convert_string_norecord): Call one of
10118 above.
10119 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10120 MAKE_NON_ASCII_CHAR.
52283633
SM
10121 (Fset_terminal_coding_system_internal)
10122 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10123 and dst_multibyte members.
10124 (init_coding_once): Initialize iso_code_class with new enum
10125 ISO_control_0 and ISO_control_1.
10126
10127 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10128 devided into ISO_control_0 and ISO_control_1.
10129 (struct coding_system): New members src_multibyte, dst_multibyte,
10130 errors, and result. Delete member fake_multibyte.
10131 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10132 nonzero.
10133 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10134 nonzero.
10135
10136 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10137 (Faset): Likewise.
10138
10139 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10140 multibyte form.
10141 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10142 combining occurs.
10143 (Ftranspose_region): Delete codes for handling byte combining.
10144
10145 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10146 dst_multibyte members of coding. On handling REPLACE on unibyte
10147 buffer, convert the result of decode_coding to unibyte. On
10148 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10149 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10150 multibyteness of the source (buffer or string).
10151
10152 * fns.c (concat): Handle 8-bit characters correctly.
10153 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10154 unibyte in the result.
10155 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10156 valid multibyte form in the result.
10157 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10158 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10159 return -1, signal an error.
10160 (base64_encode_1): New arg MULTIBYTE. Get each character by
10161 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10162 character is found, return -1.
10163 (Fbase64_decode_region): Delete codes for handling byte-combining.
10164 Treat each decoded byte as a unibyte character.
10165 (Fbase64_decode_string): Return unibyte string.
10166 (Fcompare_strings, concat, string_byte_to_char): Use
10167 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10168 FETCH_STRING_CHAR_ADVANCE.
10169 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10170 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10171
10172 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10173 SPLIT_NON_ASCII_CHAR.
10174 (fontset_ref_via_base, fontset_set): Likewise
10175
10176 * insdel.c (adjust_markers_for_record_delete): Deleted.
10177 (adjust_markers_for_insert): Argument changed. Caller changed.
10178 (adjust_markers_for_replace): Likewise.
52283633
SM
10179 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10180 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10181 (copy_text): Delete unused local varialbe c_save. For converting
10182 to multibyte, be sure to make all 8-bit characters in valid
10183 multibyte form.
10184 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10185 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10186 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10187 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10188 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10189 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10190 handling byte combining.
10191 (adjust_before_replace): Deleted.
427ec082 10192
c9671f81
KH
10193 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10194 SPLIT_NON_ASCII_CHAR.
10195 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10196 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10197 (Fkey_description): Likewise.
10198
10199 * lread.c (read1): On reading multibyte string, be sure to make
10200 all 8-bit chararacters in valid multibyte form.
10201 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10202
10203 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10204 unconditionally.
10205
10206 * process.c (Fstart_process): GCPRO current_dir before calling
10207 Ffind_operation_coding_system. Encode arguments here.
10208 (create_process): Don't encode arguments here. Setup
10209 src_multibyte and dst_multibyte members of struct coding.
10210 (read_process_output): Setup src_multibyte and dst_multibyte
10211 members of struct coding. If the output is to multibyte buffer,
10212 always decode the output of the process. Adjust the
52283633 10213 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10214 (send_process): Setup coding->src_multibyte according to the
10215 multibyteness of the source.
10216
52283633 10217 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10218 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10219 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10220
52283633 10221 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10222
10223 * w16select.c (Fw16_set_clipboard_data): Setup members
10224 src_multibyte and dst_multibyte of coding. Adjusted for the
10225 change for find_charset_in_str.
10226 (Fw16_get_clipboard_data): Likewise.
10227
10228 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10229 dst_multibyte of coding.
10230 (x_to_w32_font): Likewise.
10231
10232 * w32select.c (Fw32_set_clipboard_data): Setup members
10233 src_multibyte and dst_multibyte of coding. Adjusted for the
10234 change for find_charset_in_str.
10235 (Fw32_get_clipboard_data): Likewise.
10236
10237 * xdisp.c (get_next_display_element): Handle 8-bit characters
10238 correctly.
52283633
SM
10239 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10240 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10241
10242 * xselect.c (selection_data_to_lisp_data): Setup members
10243 src_multibyte and dst_multibyte of coding. Adjusted for the
10244 change for find_charset_in_str.
10245 (lisp_data_to_selection_data): Likewise.
10246
5f64c9e0
GM
102472000-05-19 Gerd Moellmann <gerd@gnu.org>
10248
52283633 10249 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10250
5f64c9e0
GM
10251 * dispextern.h (Vimage_types): Add extern declaration.
10252
10253 * xdisp.c (Vimage_types): Moved here from xfns.c.
10254 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10255
10256 * xfns.c (Vimages_types): Moved to xdisp.c.
10257 (syms_of_xfns): Move `image-types' to xdisp.c.
10258
10259 * w32fns.c (Vimage_types): Removed.
10260 (syms_of_w32fns): Remove `image-types'.
10261
813086ea
KH
102622000-05-18 Kenichi Handa <handa@etl.go.jp>
10263
10264 * fns.c (map_char_table): Pay attention to character number of
10265 charset. Check the validity of charset at the first level. For
10266 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10267 the default value.
10268
10269 * fontset.c: Include "buffer.h".
10270 (fs_load_font): If the face has fontset, record the face ID in
10271 that fontset.
10272 (Finternal_char_font): New function.
10273 (accumulate_font_info): New function.
10274 (Ffontset_info): Rewritten for the new fontset implementation.
10275 (syms_of_fontset): Register Vdefault_fontset in the first element
10276 of Vfontset_table. Include Vdefault_fontset in
10277 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10278 function.
10279
bdaebbf0
DL
102802000-05-16 Dave Love <fx@gnu.org>
10281
10282 * m/iris5d.h: Deleted -- unused.
10283
cb613bb8
GM
102842000-05-16 Gerd Moellmann <gerd@gnu.org>
10285
b15f3b77
GM
10286 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10287 `invalid' instead of `illegal'.
10288
10289 * indent.c (Fmove_to_column): When ending within a tab, insert
10290 spaces first so that markers at the end of the tab get adjusted.
10291
835c1b36
GM
10292 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10293 buffer list that wasn't selected in that frame.
10294
cb613bb8
GM
10295 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10296 is needed on mescaline, use a 2 char prefix, and call
10297 make_temp_name with second arg non-zero.
10298
10299 * fileio.c (make_temp_name): New function, extracted from
10300 Fmake_temp_name.
10301 (Fmake_temp_name): Use it.
10302
f685bea9
EZ
103032000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10304
52283633 10305 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10306
a1b8d58b
GM
103072000-05-15 Gerd Moellmann <gerd@gnu.org>
10308
10309 * Makefile.in (lisp): Add env.elc.
10310
10311 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10312
a265079f
GM
103132000-05-12 Gerd Moellmann <gerd@gnu.org>
10314
10315 * search.c (Freplace_match): Handle case of `\N' in the
10316 replacement when there's no group N.
10317
da4496b6
GM
103182000-05-11 Gerd Moellmann <gerd@gnu.org>
10319
0ace421a
GM
10320 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10321 of the message to message_dolog.
10322
1172eb8d
GM
10323 * keyboard.c (read_char): Don't clear current message for help
10324 events; let the code handling help events handle this. Change
10325 code detecting help events that should be ignored.
10326
da4496b6
GM
10327 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10328 we're interating over a string.
10329
0623e40f
DL
103302000-05-09 Dave Love <fx@gnu.org>
10331
10332 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10333 that offset before writing. Move gcpro region past call of
10334 Ffile_regular_p.
10335
bae2503b
DL
103362000-05-04 Dave Love <fx@gnu.org>
10337
10338 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10339
ec82fb2f
GM
103402000-05-04 Gerd Moellmann <gerd@gnu.org>
10341
10342 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10343 of inserted characters when BUF equals the current buffer, and PT
10344 is in front of or equal to FROM.
10345
cbf18892
GM
103462000-05-03 Gerd Moellmann <gerd@gnu.org>
10347
4ff40dd0
GM
10348 * xdisp.c (handle_single_display_prop): If display property value
10349 is invalid, or something not supported on the frame, restore
10350 iterator's position to what it was initially. Make sure to return
10351 0 for invalid and unsupported property values.
10352
cbf18892
GM
10353 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10354 that x_per_char_metric returns null.
10355
1b0672c3
GM
103562000-05-02 Gerd Moellmann <gerd@gnu.org>
10357
576da55d
GM
10358 * xterm.h (struct face): Add forward declaration.
10359 (struct image): Ditto.
10360 (image_ascent): Add prototype.
10361
10362 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10363 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10364 image_ascent instead of using IMAGE_ASCENT.
10365
10366 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10367 (IMAGE_ASCENT): Removed.
10368
10369 * xfns.c (Qcenter): New variable.
10370 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10371 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10372 (image_ascent): New function.
10373 (lookup_image): Recognize `:ascent center'.
10374 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10375 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10376 (xbm_load): Don't set image's ascent here.
10377 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10378 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10379 check ascent values here.
10380 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10381 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10382 (syms_of_xfns): Initialize Qcenter.
10383
1b0672c3
GM
10384 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10385 to the limits, increase the limits.
10386
0d7811ed
KH
103872000-05-01 Kenichi Handa <handa@etl.go.jp>
10388
10389 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10390 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10391
a943a5ca
GM
103922000-04-28 Gerd Moellmann <gerd@gnu.org>
10393
10394 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10395 taller than the window.
10396
5dba1e29
KH
103972000-04-28 Kenichi Handa <handa@etl.go.jp>
10398
10399 * xfaces.c (realize_x_face): Fix the argument of the second
10400 xassert. BASE_FACE may not be a face for ASCII.
10401
353964e3
GM
104022000-04-27 Gerd Moellmann <gerd@gnu.org>
10403
c76e04a8
GM
10404 * print.c (print_object): Treat print-length < 0 as nil.
10405
10406 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10407
10408 * s/freebsd.h (TERMCAP_OBJ): Removed.
10409 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10410
10411 * lread.c (read1): Don't treat period followed by certain
10412 characters as symbol start.
10413
10414 * xfns.c (slurp_file): New function.
10415 (xbm_image_p): Handle case of in-memory XBM files.
10416 (xbm_scan): Rewritten to work on memory buffers instead of files.
10417 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10418 Work on memory buffers instead of files. If DATA is null test
10419 if buffer looks like an in-memory XBM file.
10420 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10421 memory buffers instead of files.
10422 (xbm_file_p): New function.
10423 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10424
353964e3
GM
10425 * lread.c (end_of_file_error): New function.
10426 (read1): Call it instead of signaling `end-of-file' directly.
10427
427ec082 10428 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10429 with Fprinc instead of Fprin1.
10430
24d744ac
KR
104312000-04-26 Ken Raeburn <raeburn@gnu.org>
10432
10433 * window.c (freeze_window_start): Check that minibuffer scroll
10434 window isn't nil before extracting the window structure pointer
10435 from it.
10436
10437 * undo.c (record_delete): If we hit the end of the undo list, stop
10438 picking elements apart.
10439
7464346d
GM
104402000-04-26 Gerd Moellmann <gerd@gnu.org>
10441
10442 * xdisp.c (display_line): If lines are continued, restore
10443 iterator's ascent/descent information to the values before the
10444 first glyph not fitting on the line.
10445
612839b6
GM
104462000-04-25 Gerd Moellmann <gerd@gnu.org>
10447
10448 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10449 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10450
10451 * dispnew.c (increment_matrix_positions): Renamed from
10452 increment_glyph_matrix_buffer_positions.
10453 (increment_row_positions): Renamed from
10454 increment_glyph_row_buffer_positions.
10455
10456 * dispextern.h: Change names of renamed functions from dispnew.c
10457 in prototypes.
10458
cc181e95
GM
104592000-04-24 Gerd Moellmann <gerd@gnu.org>
10460
abfcc168
GM
10461 * fileio.c (Fdo_auto_save): Create directories for auto-save
10462 list file if necessary.
10463
cc181e95
GM
10464 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10465 from buffer or frame.
10466 (automatic_hscrolling_p): New variable.
10467 (hscroll_windows): Scroll windows horizontally only if automatic
10468 hscrolling is allowed.
10469 (syms_of_xdisp): New variable `automatic-hscrolling'.
10470
10471 * frame.h (struct frame): Add member extra_line_spacing.
10472
10473 * xfns.c (x_set_line_spacing): New function.
10474 (Fx_create_frame): Set line spacing from resources.
10475 (Qline_spacing): New variable.
10476 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10477
cc181e95
GM
10478 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10479
10480 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10481 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10482 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10483 extra_line_spacing from default value.
10484 (init_buffer_once): Initialize default value of extra_line_spacing.
10485
10486 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10487 and extra3.
10488
10489 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10490 prompt_width. Add extra line spacing.
10491
10492 * term.c (produce_glyphs): Remove reference to struct it's
10493 prompt_width.
10494
10495 * dispextern.h (struct it): Remove member prompt_width, add
10496 extra_line_spacing.
10497
58827478
GM
104982000-04-22 Gerd Moellmann <gerd@gnu.org>
10499
10500 * dispnew.c (update_frame_line): When writing a whole line, make
10501 sure cursor is in the right row afterwards, otherwise a use of
10502 capability `ch' in cmgoto might leave the cursor in the row below.
10503
25a87f42
GM
105042000-04-21 Gerd Moellmann <gerd@gnu.org>
10505
10506 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10507
10508 * keyboard.c (timer_check): Fix typo in comment.
10509
54edf5c2
KH
105102000-04-21 Kenichi Handa <handa@etl.go.jp>
10511
10512 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10513 name change: ch -> character.
10514
3a64eef5
GM
105152000-04-20 Gerd Moellmann <gerd@gnu.org>
10516
10517 * keyboard.c (echo_message_buffer): New variable.
10518 (echo_now): Set echo_message_buffer to the echo area buffer used
10519 to display the echo.
10520 (cancel_echoing): Reset echo_message_buffer to nil.
10521 (read_char): Code rewritten that handles canceling an echo or
10522 echoing a dash, respectively.
10523
10524 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10525 directory doesn't exist.
10526
6142fdcb
DL
105272000-04-19 Dave Love <fx@gnu.org>
10528
10529 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10530 (concat): Don't allow numeric args.
10531 (Fconcat): Doc change.
6142fdcb 10532
ac6b5352
SM
105332000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10534
10535 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10536 instead define end_match(1|2) more carefully.
10537 Use GET_CHAR_BEFORE_2 for `begline'.
10538
cb9215e4
GM
105392000-04-19 Gerd Moellmann <gerd@gnu.org>
10540
5e3dac3f
GM
10541 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10542 on 64-bit systems where NULL is defined as `0'.
10543
10544 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10545 the `variable argument list' to make it work on Alpha.
10546
cb9215e4
GM
10547 * m/alpha.h (_LP64) [!_LP64]: Define.
10548 (ORDINARY_LINK): Define for NetBSD.
10549
10550 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10551
f532dca0
DL
105522000-04-19 Dave Love <fx@gnu.org>
10553
c750667e
DL
10554 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10555 change.
10556
10557 * Makefile.in (LIBS): Don't use.
10558 (GETLOADAVG_OBJ): Define again.
10559 (otherobj): Add GETLOADAVG_OBJ.
10560
f532dca0
DL
10561 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10562
1c7e22fd
GM
105632000-04-18 Gerd Moellmann <gerd@gnu.org>
10564
f6d3257b
GM
10565 * lread.c (read_filtered_event): Cancel and start busy cursor.
10566
427ec082 10567 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10568 that the per-character metrics may be null.
10569
e10f64e7
GM
105702000-04-17 Gerd Moellmann <gerd@gnu.org>
10571
0daee095
GM
10572 * buffer.c (clone_per_buffer_values): New function.
10573 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10574 clone_per_buffer_values if CLONE is not nil.
10575
e10f64e7
GM
10576 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10577
38687d43
DL
105782000-04-16 Dave Love <fx@gnu.org>
10579
10580 * Makefile.in: Remove obsolete localcpp stuff.
10581 (GETLOADAVG_OBJ): Don't define.
10582 (obj): Move LIBOBJS...
10583 (otherobj): ... to here.
10584 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10585 whitespace-only lines after the continuation (Irix).
10586
c21c7262
GM
105872000-04-14 Gerd Moellmann <gerd@gnu.org>
10588
10589 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10590
10591 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10592
314767c0
DL
105932000-04-14 Dave Love <fx@gnu.org>
10594
10595 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10596 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10597 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10598 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10599 NLIST_STRUCT.
10600
10601 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10602 autoconfiscated HAVE_GETLOADAVG.
10603
10604 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10605 BROKEN_MKTIME.
10606
a2522dca
GM
106072000-04-14 Gerd Moellmann <gerd@gnu.org>
10608
10609 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10610 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10611
33744b5d
DL
106122000-04-14 Dave Love <fx@gnu.org>
10613
c21c7262 10614 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10615 (INTERVAL_SRC): Convert to make variable.
10616 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10617 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10618 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10619 add LIBOBJS.
10620 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10621 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10622 (shortlisp): Add facemenu, float-sup, frame.
10623 (SOME_MACHINE_LISP): Remove them from here.
10624 (LIBES): Change unused LDLIBS to autoconf LIBS.
10625
10626 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10627
9d3d5916
KH
106282000-04-14 Kenichi Handa <handa@etl.go.jp>
10629
10630 * composite.c (update_compositions): If FROM and TO are not in a
10631 valid range, do nothing.
10632
198e3c7a
GM
106332000-04-13 Gerd Moellmann <gerd@gnu.org>
10634
52283633 10635 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10636
52283633 10637 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10638
10639 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10640 as TERMCAP_OBJ.
10641
055a28c9
EZ
106422000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10643
10644 * fileio.c (a_write): Remove redundant semi-colons.
10645 (e_write): Return -1 if failed to write all the data.
10646 This fixes the changes made at 1999-12-15.
10647
f5c75033
DL
106482000-04-12 Dave Love <fx@gnu.org>
10649
10650 * fns.c (mapcar1): Test for null vals to support mapc.
10651 (Fmapc): New function.
10652
0c3cfc51
EZ
106532000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10654
10655 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10656 (IT_frame_up_to_date): Support the buffer local value of
10657 cursor-type, if defined.
10658
33465a31
DL
106592000-04-10 Dave Love <fx@gnu.org>
10660
10661 * editfns.c (preceding-char, following-char): Doc fix.
10662
6ed56568
KR
106632000-04-10 Ken Raeburn <raeburn@gnu.org>
10664
10665 * Makefile.in (temacs): Revert 2000-03-12 change.
10666
7cf80d4e
JR
106672000-04-10 Jason Rumney <jasonr@gnu.org>
10668
10669 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10670
34f3f342
GM
106712000-04-10 Gerd Moellmann <gerd@gnu.org>
10672
1a1b1895
GM
10673 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10674 area buffer, if it's not set up yet.
10675
34f3f342
GM
10676 * indent.c (compute_motion): Set immediate_quit.
10677
be0dbdab
GM
106782000-04-09 Gerd Moellmann <gerd@gnu.org>
10679
52283633 10680 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10681 (realize_tty_face): Suppress boldness if colors are the inverse of
10682 the default colors, and tty_suppress_bold_inverse_default_colors_p
10683 is set.
10684 (Ftty_suppress_bold_inverse_default_colors): New function.
10685 (syms_of_xfaces): Defsubr it.
10686
be0dbdab
GM
10687 * buffer.c (Frestore_buffer_modified_p): New function.
10688 (syms_of_buffer): Defsubr it.
10689
e8413c3b
KR
106902000-04-08 Ken Raeburn <raeburn@gnu.org>
10691
87f67317
KR
10692 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10693 charset id (int) argument, not a charset (Lisp_Object).
10694
e8413c3b
KR
10695 * coding.h (code_convert_string): Declare.
10696 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10697 object, as the fourth argument to code_convert_string.
10698
52283633 10699 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10700 (Fset_fontset_font): Use EQ to compare lisp objects.
10701
7c752c80
KR
107022000-04-05 Ken Raeburn <raeburn@gnu.org>
10703
c0333abc
KR
10704 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10705 a pointer that looks like a lisp object.
10706 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10707 zero, instead see whether it's an integer object, since they can't
10708 have intervals.
10709 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10710
52283633
SM
10711 * dispnew.c (allocate_matrices_for_frame_redisplay)
10712 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10713 to convert between (unsigned) int values and lisp integers.
10714 * keyboard.c (read_key_sequence): Likewise.
10715 * lread.c (substitute_object_recurse): Likewise.
10716 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10717 * minibuf.c (do_completion, Fminibuffer_complete_word)
10718 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10719 * term.c (produce_special_glyphs): Likewise.
10720
10721 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10722 * print.c (print_preprocess, print_object): Likewise.
10723
10724 * search.c (compile_pattern): Use NILP when checking for nil.
10725
74e49b38
KR
10726 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10727 __OPTIMIZE__]: Provide a GNU C macro version that handles
10728 lisp-object unions.
10729 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10730 field, to better cope with ENABLE_CHECKING and calls that modify a
10731 Lisp_Object using its old value.
10732
685e5ed2
GM
107332000-04-04 Gerd Moellmann <gerd@gnu.org>
10734
c407c570
GM
10735 * window.c (compare_window_configurations): Signal an error
10736 if parameters C1 or C2 aren't window configurations.
10737
685e5ed2
GM
10738 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10739 AFTER_POTENTIAL_GC calls around calls to functions that can
10740 signal an error and thus invoke the debugger.
10741
587a49ab
GM
107422000-04-03 Gerd Moellmann <gerd@gnu.org>
10743
62f20204
GM
10744 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10745 an error if decoding fails.
10746
587a49ab
GM
10747 * keyboard.c (lispy_mouse_names): Variable removed.
10748 (Vlispy_mouse_stem): New variable.
10749 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10750 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10751 for any mouse button number. Increase size of mouse_syms and
10752 button_down_location as needed. Call modify_event_symbol with
10753 different arguments.
10754 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10755 Call modify_event_symbol with different arguments.
10756 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10757 for any button number. Call modify_event_symbol with different
10758 arguments.
10759 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10760 Accept a string for NAME_ALIST_OR_STEM.
10761
10762 * lisp.h (larger_vector): Add prototype.
10763
10764 * fns.c (larger_vector): Make externally visible.
10765
10766 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10767
2d1675e4
SM
107682000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10769
10770 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10771 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10772 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10773 we are between str1 and str2.
10774 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10775 (PATFETCH): Use `TRANSLATE'.
10776 (PATFETCH_RAW): Fetch multibyte char if applicable.
10777 (PATUNFETCH): Remove.
10778 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10779 When writing a char, write it directly into the pattern buffer rather
10780 than going needlessly through a temp char-array.
10781 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10782 multibyte magic and remove the useless `#ifdef emacs'.
10783 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10784 buffer.
10785
10786 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10787 conditional on `emacs'.
10788
10789 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10790
cc2d8c6b
KR
107912000-04-01 Ken Raeburn <raeburn@gnu.org>
10792
10793 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10794 non-union-type versions of XMARK and friends here, because XMARK
10795 and friends won't work on an integer field if NO_UNION_TYPE is not
10796 defined.
52283633 10797 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10798
52283633 10799 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10800 (syms_of_composite): Delete local var NARGS, pass an int as first
10801 argument to Fmake_hash_table.
10802
2387b382
KR
10803 * editfns.c (text_property_stickiness): Use NILP to test
10804 Lisp_Object boolean value.
10805 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10806 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10807 problems reading from and changing the same lisp value in an
10808 XSETSTRING call.
10809
27660e89
GM
108102000-04-01 Gerd Moellmann <gerd@gnu.org>
10811
10812 * term.c (TN_no_color_video): New variable.
10813 (term_init): Intitialize TN_no_color_video.
10814 (enum no_color_bit): New enumeration.
10815 (MAY_USE_WITH_COLORS_P): New macro.
10816 (turn_on_face): Use it to determine if attributes may be used
10817 combined with colors.
10818
3578db3c
KR
108192000-04-01 Ken Raeburn <raeburn@gnu.org>
10820
10821 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10822 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10823 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10824 proper accessor macros.
10825 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10826 (grow_mini_window): Fix typo getting int value of root->height.
10827
6fc556fd
KR
10828 * xdisp.c (compute_string_pos): Fix order of arguments to
10829 string_pos_nchars_ahead.
10830 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10831 count arg to variable-arg routines like Frun_hook_with_args and
10832 Fformat.
587a49ab
GM
10833 (back_to_previous_visible_line_start)
10834 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10835 fixed-arg routines like Fget_char_property and Fmake_string.
10836 (reconsider_clip_changes): Use XINT when comparing integer lisp
10837 objects, or passing them as int arguments.
587a49ab
GM
10838 (mark_window_display_accurate, insert_left_trunc_glyphs)
10839 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10840 storing or passing integer values as lisp objects.
10841 (set_cursor_from_row, highlight_trailing_whitespace): Use
10842 INTEGERP, not implicit test against zero, for glyph object.
10843 (try_window_id): Don't use make_number when we want an int value.
10844
10845 * xfaces.c (xlfd_symbolic_value): Make last argument a
10846 Lisp_Object, to be consistent with callers.
10847 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10848 (lface_hash): Apply XFASTINT to lisp values before folding in.
10849
10850 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10851 fill in window width and height. Pass an int, not a lisp object,
10852 as first arg to Finsert.
10853
6e7b2457
GM
108542000-04-01 Gerd Moellmann <gerd@gnu.org>
10855
610d841e
GM
10856 * xfaces.c (realize_basic_faces): Block input while realizing
10857 the faces.
10858
6e7b2457
GM
10859 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10860
10861 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10862
aa110c0c
GM
108632000-03-31 Gerd Moellmann <gerd@gnu.org>
10864
10865 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10866 or ASCII, handle case that per-char metric is null.
aa110c0c 10867
8801a864
KR
108682000-03-30 Ken Raeburn <raeburn@gnu.org>
10869
c6129d7e
KR
10870 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10871
52283633
SM
10872 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10873 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10874 pointer, using eassert.
10875 * frame.h (XFRAME): Likewise.
10876
52283633
SM
10877 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10878 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10879 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10880 * data.c (set_internal): Likewise.
52283633
SM
10881 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10882 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10883 * fileio.c (auto_save_1): Likewise.
10884 * insdel.c (check_markers): Likewise.
10885 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10886 * undo.c (record_insert): Likewise.
10887 * vmsproc.c (child_sig): Likewise.
10888 * window.c (unshow_buffer, window_loop): Likewise.
10889 * xterm.c (x_erase_phys_cursor): Likewise.
10890
8e7af858
GM
108912000-03-30 Gerd Moellmann <gerd@gnu.org>
10892
10893 * xfns.c (free_image_cache): Free the cache structure itself
10894 last, after all its members have been freed.
10895
10896 * lisp.h (xstrdup): Add prototype.
10897
10898 * alloc.c (xstrdup): Moved here from xfaces.c.
10899 (allocating_for_lisp): Variable removed.
52283633 10900 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10901
10902 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10903 of Fsymbol_value.
10904 (xstrdup): Moved to alloc.c.
10905
e0b8c689
KR
109062000-03-29 Ken Raeburn <raeburn@gnu.org>
10907
b96f9fb7
KR
10908 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10909
10910 * emacs.c (main): Fix sense of no-loadup test.
10911
e0b8c689
KR
10912 * config.in (ENABLE_CHECKING): Undef.
10913
10914 * lisp.h (struct interval): Replace "parent" field with a union of
10915 interval pointer and Lisp_Object; add new bitfield to use as
10916 discriminant. Change other flag fields to bitfields.
10917 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10918 is defined and the supplied test fails, print a message and abort.
10919 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10920
10921 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10922 pointers; abort if the value looks like a lisp object.
52283633
SM
10923 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10924 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10925 Modify for new interval parent definition.
10926
52283633
SM
10927 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10928 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10929 addressable lisp object in the interval structure.
10930 (die): New function.
10931 (suppress_checking): New variable.
10932
10933 * intervals.c (interval_start_pos): Just return 0 if there's no
10934 parent object.
10935
f83c5440
GM
109362000-03-29 Gerd Moellmann <gerd@gnu.org>
10937
10938 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10939 and earlier Emacs versions.
10940
10941 * keyboard.c (Ftop_level): Cancel busy-cursor.
10942
10943 * eval.c (call_debugger): Cancel busy-cursor.
10944
fdce64ff
KH
109452000-03-29 Kenichi Handa <handa@etl.go.jp>
10946
10947 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10948 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10949
f6a3f532
SM
109502000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10951
10952 * regex.c (analyse_first): New function obtained by ripping out most
10953 of re_compile_fastmap and generalizing it a little bit so that it
10954 can also just return whether a given (sub)pattern can match the empty
10955 string or not.
10956 (regex_compile): Use `analyse_first' to decide whether the loop-check
10957 needs to be done or not for *, +, *? and +? (the loop check is costly
10958 for non-greedy repetition).
10959 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10960
e9b309ac
DL
109612000-03-28 Dave Love <fx@gnu.org>
10962
52283633 10963 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10964
e9b309ac
DL
10965 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10966
ed0767d8
SM
109672000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10968
10969 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10970 an expression.
10971 (enum re_opcode_t): Update description of succeed_n.
10972 (PATFETCH): Always define.
10973 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10974 operators, char classes, shy-groups and intervals).
10975 Optimize special cases of intervals so as to only use succeed_n and
10976 jump_n when really needed.
10977 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10978 that we don't have to handle the special cases any more.
10979 Simplify on_failure_jump handling as well.
10980
e11e7e46
JR
109812000-03-28 Jason Rumney <jasonr@gnu.org>
10982
10983 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10984
88faab89
GM
109852000-03-27 Gerd Moellmann <gerd@gnu.org>
10986
182ff242
GM
10987 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10988
10989 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10990
182ff242
GM
10991 * alloc.c (mark_maybe_object): New function.
10992 (mark_memory): Use it.
10993 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10994 (setjmp_tested_p, longjmp_done): New variables.
10995 (test_setjmp): New function.
10996 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10997 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10998
c1005d06
GM
10999 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11000 to DEC_TEXT_POS and INC_TEXT_POS.
11001
11002 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11003 with parameter MULTIBYTE_P.
11004
52283633 11005 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11006
7439e5b9 11007 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11008 buffers because it looks for multibyte character byte sequences
11009 which don't exist in unibyte text.
7439e5b9 11010
d9c545da
GM
11011 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11012
11fd416e 11013 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11014 [DEBUG_X_COLORS]: New functions.
11015 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11016
11017 * xfns.c (x_set_cursor_color): Get color reference counts right.
11018
11019 * xterm.c (x_copy_color): New function.
11020 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11021
11022 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11023 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11024 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11025 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11026 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11027 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11028 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11029 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11030 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11031 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11032
11fd416e
GM
11033 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11034 names for handling per-buffer variables.
d9c545da
GM
11035
11036 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11037 instead of MAX_BUFFER_LOCAL_VARS.
11038 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11039
11040 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11041
88faab89
GM
11042 * xfns.c (x_specified_cursor_type): New function.
11043 (x_set_cursor_type): Use it.
11044
11045 * buffer.h (struct buffer): Add cursor_type.
11046
d80f42b7
SM
110472000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11048
11049 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11050 (print_partial_compiled_pattern, re_compile_fastmap):
11051 Handle new opcode.
d80f42b7
SM
11052 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11053 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11054 executing it as well as when popping it off the stack to find infinite
11055 loops in non-greedy repetition operators.
11056
89e80928
GM
110572000-03-26 Gerd Moellmann <gerd@gnu.org>
11058
3d4ff2dd
GM
11059 * doc.c (Qfunction_documentation): New variable.
11060 (syms_of_doc): Initialize Qfunction_documentation.
11061 (Fdocumentation): If FUNCTION is a symbol with non-nil
11062 `function-documentation' property, return a documentation derived
11063 from that.
11064
bd96bd79
GM
11065 * buffer.c (syms_of_buffer): Add default-cursor-type.
11066 (init_buffer_once): Don't let cursor_type have a local value
11067 in every buffer.
11068
19d1bc27
GM
11069 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11070 on buffer-local value of cursor_type.
11071 (x_draw_bar_cursor): Add parameter WIDTH.
11072
11073 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11074 (init_buffer_once): Set default cursor_type value to t.
11075 Mark cursor_type as local everywhere.
11076 (syms_of_buffer): New per-buffer variable cursor-type.
11077
89e80928
GM
11078 * buffer.h (struct buffer): Remove member local_var_flags,
11079 add local_flags.
11080 (MAX_BUFFER_LOCAL_VARS): New macro.
11081 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11082 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11083 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11084 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11085
52283633 11086 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11087
11088 * category.c (Fset_category_table): Use new macros for per-buffer
11089 variables.
11090
11091 * buffer.c (buffer_permanent_local_flags): Make a char array.
11092 (max_buffer_local_idx): New variable.
11093 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11094 for new handling of per-buffer variables.
11095 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11096 (init_buffer_once): Initialize per-buffer vars differently.
11097 Set max_buffer_local_idx.
11098
11099 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11100 variables.
11101
52283633 11102 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11103
11104 * data.c (do_symval_forwarding, store_symval_forwarding)
11105 (find_symbol_value, set_internal, default_value, Fset_default)
11106 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11107 per-buffer variables.
11108
11109 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11110
9a0dd3dc
GM
111112000-03-24 Gerd Moellmann <gerd@gnu.org>
11112
b68c375f
GM
11113 * xterm.c (x_term_init): Unblock input around call1 of
11114 Qvendor_specific_keysyms.
11115
9a0dd3dc
GM
11116 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11117 (find_defun_start): Consider an open parenthesis in column 0
11118 a defun start only if open_paren_in_column_0_is_defun_start is set.
11119 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11120
7973e637
SM
111212000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11122
11123 * eval.c (Fautoload): Add entry in load-history (if after dump).
11124 * lread.c (load-history): Update docstring.
11125
39210e90
GM
111262000-03-24 Gerd Moellmann <gerd@gnu.org>
11127
11128 * indent.c (Fvertical_motion): Always use the current buffer.
11129 Temporarily change the window's buffer, if necessary.
11130
72db3ab5
GM
111312000-03-23 Gerd Moellmann <gerd@gnu.org>
11132
11133 * xterm.c (fast_find_position): Make sure not to consider rows
11134 not visible in the window.
11135
990b2375
SM
111362000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11137
11138 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11139 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11140
ff4df011
JR
111412000-03-22 Jason Rumney <jasonr@gnu.org>
11142
11143 * w32menu.c (single_submenu): Set help string to NULL if none.
11144 (w32_menu_show): Set help string correctly.
11145 (add-menu-item): Set help string in MIIM_DATA for menu item.
11146 Load SetMenuItemInfoA explicitly.
11147 (w32_menu_display_help): New function.
427ec082 11148
ff4df011
JR
11149 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11150 (QCdata): Moved to xdisp.c.
11151
11152 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11153 (Vw32_charset_to_codepage_alist): Removed.
11154 (Vw32_charset_info_alist): New variable.
52283633
SM
11155 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11156 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11157 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11158 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11159 with TODO comment.
11160 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11161 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11162 Define Vw32_charset_info_alist and w32_charset symbols.
11163
111642000-03-22 Jason Rumney <jasonr@gnu.org>
11165
11166 * makefile.nt (w32bdf.obj): Update dependencies.
11167
11168 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11169
11170 * w32fns.c: Include fontset.h after dispextern.h.
11171 (Fx_create_frame): Do not create fontset.
11172 (w32_load_system_font): Doc fix.
11173 (Fx_close_connection): Free full_name if it is not shared.
11174
11175 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11176 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11177 Callers updated.
ff4df011
JR
11178 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11179 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11180 (w32_font_is_double_byte): New function, needs body.
11181 (x_append_glyph): Set glyph->glyph_not_available_p.
11182 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11183 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11184 character, convert it to a unibyte character.
11185 (struct glyph_string): Delete member `charset'.
11186 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11187 calculating it is found.
11188 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11189 the case that per char metric is not available correctly.
11190 (x_fill_glyph_string): Handle the case that the specific glyph is
11191 not available correctly.
11192 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11193 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11194 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11195 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11196 fontset. Don't call FS_LOAD_FONT.
11197
439d5cb4
KR
111982000-03-22 Ken Raeburn <raeburn@gnu.org>
11199
11200 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11201 (INT_LISPLIKE): New macro.
11202 (NULL_INTERVAL_P): Use it.
52283633
SM
11203 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11204 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11205 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11206
11207 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11208 explicit references to "parent" field of struct interval and
11209 associated unclean type conversions.
52283633
SM
11210 * intervals.c (create_root_interval, root_interval, rotate_right)
11211 (rotate_left, balance_possible_root_interval, split_interval_right)
11212 (split_interval_left, interval_start_pos, find_interval)
11213 (next_interval, previous_interval, update_interval)
11214 (adjust_intervals_for_insertion, delete_node, delete_interval)
11215 (adjust_intervals_for_deletion, merge_interval_right)
11216 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11217 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11218 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11219 Likewise.
11220 * syntax.c (update_syntax_table): Likewise.
11221
11222 * intervals.c (reproduce_tree_obj): New function, like
11223 reproduce_tree but takes a Lisp_Object for the parent. Declare
11224 with prototype.
11225 (graft_intervals_into_buffer): Use it when appropriate.
11226 (reproduce_tree): Declare with prototype.
11227 (balance_possible_root_interval): Check that the parent is a lisp
11228 object before trying to examine its type.
11229
ee1c5b21
GM
112302000-03-22 Gerd Moellmann <gerd@gnu.org>
11231
11232 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11233 as strings only if both are known to be strings.
11234
11235 * s/openbsd.h (LIBS_TERMCAP): Undef.
11236
1fb352e0
SM
112372000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11238
11239 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11240 definitions for non-Emacs compilation.
11241 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11242 outside of `#ifdef emacs'.
11243 (print_partial_compiled_pattern): Update.
11244 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11245 (re_compile_fastmap): Merge handling of charset and charset_not (for
11246 emacs and non-emacs compilation as well).
11247 Similarly for (not)categoryspec and (not)syntaxspec.
11248 Don't use the fastmap when reaching `anychar' since the added
11249 complexity is not justified.
11250 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11251 and (not)syntaxspec. Merge (not)categoryspec.
11252
fdaa1f77
KH
112532000-03-22 Kenichi Handa <handa@etl.go.jp>
11254
52283633
SM
11255 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11256 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11257 --without-x.
fdaa1f77 11258
d152fb46
DL
112592000-03-21 Dave Love <fx@gnu.org>
11260
11261 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11262 doc string.
11263
d2cafc8c
GM
112642000-03-21 Gerd Moellmann <gerd@gnu.org>
11265
11266 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11267 (lface_fully_specified_p): Don't check contents of
11268 LFACE_FONT_INDEX because that attribute is optional.
11269 (realize_x_face): Remove now unwarranted xassert.
11270
9111d4b5
KH
112712000-03-21 Kenichi HANDA <handa@etl.go.jp>
11272
11273 The following changes are to make font selection based on
11274 characters, not charset. In addition, they recover fontset
11275 facilities while utilizing the new font selection mechanism.
11276
6c4bfdc0
KH
11277 * Makefile.in (fontset.o): Depend on dispextern.h.
11278
11279 * alloc.c (mark_face_cache): Don't mark face->registry.
11280
9111d4b5
KH
11281 * dispextern.h (struct glyph): New member glyph_not_available_p.
11282 Use 22 bits for face_id.
11283 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11284 (struct face): Delete member registry, new member ascii_face.
11285 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11286 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11287 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11288 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11289
11290 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11291 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11292 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11293 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11294 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11295 (fs_free_face_fontset, fontset_font_pattern)
11296 (face_suitable_for_char_p, face_for_char)
11297 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11298 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11299 (FS_LOAD_FACE_FONT): New macro.
11300
11301 * fontset.c: All codes rewritten or adjusted for the change of
11302 fontset implementation. Now fontset is represented by char table.
52283633
SM
11303 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11304 Variables removed.
9111d4b5 11305 (my_strcasecmp): Function removed.
52283633 11306 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11307 (AREF, ASIZE): New macros.
52283633
SM
11308 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11309 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11310 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11311 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11312 (fontset_id_valid_p, font_family_registry, fontset_name)
11313 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11314 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11315 New functions.
11316 (fs_load_font): New arg FACE. Caller changed.
11317 (fs_query_fontset): Argument changed. Caller changed.
11318 (Fquery_fontset): call fs_query_fontset.
11319 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11320 Functions removed.
52283633
SM
11321 (clear_fontset_elements, check_registry_encoding)
11322 (check_fontset_name): New functions.
9111d4b5
KH
11323 (syms_of_fontset): Set char-table-extra-slots property of fontset
11324 to 3. Staticpro and initialize Vfontset_table and
11325 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11326
11327 * frame.h (struct frame): Member `fontset_data' removed.
11328 (FRAME_FONTSET_DATA): Macro removed.
11329
11330 * frame.c (make_frame): Don't allocate f->fontset_data.
11331 (Fdelete_frame): Don't free f->fontset_data.
11332
6c4bfdc0
KH
11333 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11334
9111d4b5
KH
11335 * xdisp.c (charset_at_position): Function removed.
11336 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11337 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11338 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11339 Likewise.
11340 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11341 FACE_FOR_CHARSET.
52283633
SM
11342 (get_next_display_element, append_space)
11343 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11344
11345 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11346 Variables removed.
11347 (clear_font_table, frame_update_line_height, load_face_font):
11348 Adjusted for the change of fontset implementation.
11349 (load_face_fontset_font): Function removed.
11350 (pixel_point_size): New function.
11351 (font_list): Argument type changed. Caller changed.
11352 (LFACE_FONT): New macro.
11353 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11354 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11355 Lisp_Object. Determine the font name by actually loading a font
11356 by the specified pattern. Set LFACE_FONT (lface) to the specified
11357 pattern. Even if a font is not found, don't try alternatives.
11358 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11359 (set_font_frame_param): If `font' is specified in lface, use it.
11360 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11361 (lface_same_font_attributes_p): Likewise.
11362 (make_realized_face): Arguent changed. Caller changed. Set
11363 face->ascii_face to face itself.
11364 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11365 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11366 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11367 (free_realized_multibyte_face): New function.
11368 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11369 changed. Caller changed.
11370 (try_font_list): Argument type changed.
11371 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11372 (choose_face_font): Argument changed. Handle fontset properly.
11373 (choose_face_fontset_font): Function removed.
11374 (realize_default_face, realize_named_face): Don't remove the
11375 former face here.
11376 (realize_face): Argument changed. Caller changed. Remove face
52283633 11377 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11378 (realize_x_face): Argument changed. Caller changed. For a
11379 multibyte character, share fontset with base_face. For a single
52283633 11380 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11381 (realize_tty_face): Argument changed. Caller changed.
11382 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11383 (face_at_buffer_position): Don't check multibyte_p for returning
11384 DEFAULT_FACE_ID.
11385 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11386 FACE_SUITABLE_FOR_CHARSET_P.
11387 (syms_of_xfaces): Remove code for Qx_charset_registry and
11388 Vface_default_registry.
11389
6c4bfdc0
KH
11390 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11391 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11392 (x_per_char_metric): Don't try FONT->default_char. Even if
11393 pcm->width is zero, glyph bits may exist.
11394 (x_encode_char): Always initialize char2b->byte1.
11395 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11396 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11397 (x_append_glyph): Set glyph->glyph_not_available_p.
11398 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11399 it->charset. Handle the case that per char metric is not
11400 available. If it->multibyte_p is zero and it->c is a multibyte
11401 character, convert it to a unibyte character.
11402 (struct glyph_string): Delete member `charset'.
11403 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11404 the case that per char metric is not available correctly.
11405 (x_fill_glyph_string): Handle the case that the specific glyph is
11406 not available correctly.
11407 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11408 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11409 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11410 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11411 fontset. Don't call FS_LOAD_FONT.
11412
11413 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11414 (x_create_tip_frame): Likewise.
11415 (Fx_close_connection): Free full_name of font_info.
11416
11417 * fns.c (optimize_sub_char_table): New function.
11418 (Foptimize_char_table): New function.
11419 (syms_of_fns): Defsubr Soptimize_char_table.
11420
b33dd3b0
GM
114212000-03-20 Gerd Moellmann <gerd@gnu.org>
11422
11423 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11424 only if buffer is displayed in some window.
11425
11426 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11427 (try_window_reusing_current_matrix): Don't call scroll run
11428 function if run's current and desired position are the same;
11429 this prevents cursor flickering.
11430
4e8a9132
SM
114312000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11432
11433 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11434
11435 * regex.c (RE_STRING_CHAR): New macro.
11436 (GET_CHAR_AFER_2): Remove.
11437 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11438 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11439 (print_partial_compiled_pattern, re_compile_fastmap)
11440 (re_match_2_internal): Remove on_failure_jump_exclusive.
11441 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11442 optimization only need to work for * (ie. can use of_keep_string_jump).
11443 Remove the special case for .*\n since it is now covered by the general
11444 optimization.
11445 (re_search_2): Don't bother with `room'.
11446 (skip_one_char): New function.
11447 (skip_noops): Simplify since `memory' is not needed any more.
11448 (mutually_exclusive_p): Restructure slightly to use `switch' and
11449 add handling for "all" remaining cases.
11450 (re_match_2_internal): Change on_failure_jump_smart to use
11451 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11452 rather than on_failure_jump_exclusive.
11453
2136fdd4
GM
114542000-03-19 Gerd Moellmann <gerd@gnu.org>
11455
11456 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11457 number of bits per RGB because it's everywhere used as the depth
11458 of the visual.
11459
11460 * term.c (calculate_costs): Remove code dealing with X frames.
11461
18e21ce8 114622000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11463
11464 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11465
d7b511c4
GM
114662000-03-18 Gerd Moellmann <gerd@gnu.org>
11467
11468 * lread.c (read_integer): Unread the last char not consumed.
11469
16b5d424
GM
114702000-03-17 Gerd Moellmann <gerd@gnu.org>
11471
11472 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11473 which are in the process of being deleted.
16b5d424 11474
1fa28578
GM
114752000-03-16 Gerd Moellmann <gerd@gnu.org>
11476
83488cce
GM
11477 * Makefile.in (mostlyclean): Add `*.core'.
11478 (clean): Add `bootstrap-emacs'.
11479
1fa28578
GM
11480 * lread.c (read_integer): New function.
11481 (read1): Support read syntax #o, #x, #b, #r.
11482
99633e97
SM
114832000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11484
1fa28578
GM
11485 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11486 make sure POINTER_TO_OFFSET gives the same value before and after
11487 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11488 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11489 (debug): Now only active if > 0 rather than if != 0.
11490 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11491 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11492 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11493 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11494 (store_op1, store_op2, insert_op1, insert_op2)
11495 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11496 (group_in_compile_stack): Move to after its arg's types are
11497 declared and add a prototype.
99633e97 11498 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11499 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11500 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11501 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11502 indentation of the greedy-op and shy-group code.
99633e97
SM
11503 (at_(beg|end)line_loc_p): Fix argument's types.
11504 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11505 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11506 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11507 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11508 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11509 QUIT unconditionally.
99633e97 11510
699238d9
GM
115112000-03-15 Gerd Moellmann <gerd@gnu.org>
11512
11513 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11514 a sole completion.
11515
11516 * process.c (send_process): Add a hint that the function
11517 can call Lisp code to its comment.
11518
11519 * lread.c (load_dangerous_libraries): New variable.
11520 (Vbytecomp_version_regexp): New variable.
11521 (safe_to_load_p): New function.
11522 (Fload): Handle files not compiled with Emacs specially.
11523 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11524
34e23e5a
GM
115252000-03-14 Gerd Moellmann <gerd@gnu.org>
11526
9c763cca
GM
11527 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11528
11529 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11530 support functions only if HAVE_X11R6_XIM is defined.
11531 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11532
11533 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11534
11535 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11536 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11537 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11538
11539 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11540 (HAVE_X11R6_XIM): Define.
11541
11542 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11543
34e23e5a
GM
11544 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11545 If set, call XSynchronize.
11546
66f0296e
SM
115472000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11548
34e23e5a
GM
11549 * regex.c: Declare a new type `re_char' used throughout the code
11550 for the string char type. It's `const unsigned char' to match the
11551 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11552 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11553 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11554 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11555 code duplication.
66f0296e
SM
11556
11557 * charset.h (GET_CHAR_AFTER_2): Remove.
11558 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11559
854a025c
KR
115602000-03-12 Ken Raeburn <raeburn@gnu.org>
11561
11562 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11563 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11564 of them try to use backquotes.
11565
b9d2c7e2
DL
115662000-03-12 Dave Love <fx@gnu.org>
11567
11568 * unexelf.c: Restore changes of 1999-10-19.
11569 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11570 fix its type and alignment; copy it from current process.
11571
5e5dff44
GM
115722000-03-12 Gerd Moellmann <gerd@gnu.org>
11573
9b2f3c38
GM
11574 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11575 has been found. Fix bug not computing timer's predecessor.
11576
427ec082 11577 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11578 file name.
11579
e1cff360
GM
11580 * window.c (Fsave_window_excursion): Doc fix.
11581
52283633 11582 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11583
e411ce4b
EZ
115842000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11585
11586 * msdos.c (vga_installed): New function, code moved from
11587 dos_set_window_size.
11588 (Qbar, Qcursor_type, outside_cursor): New variables.
11589 (syms_of_msdos): Intern and staticpro them.
11590 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11591 shape used outside Emacs when called for the first time.
11592 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11593 cursor shape used outside Emacs.
11594 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11595 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11596 type has changed.
11597 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11598 parameters specify the cursor. Make qreverse a global
11599 variable (renamed to Qreverse).
11600
80460654
GM
116012000-03-09 Gerd Moellmann <gerd@gnu.org>
11602
11603 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11604
95cd4c40
SM
116052000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11606
11607 This is a big redesign of failure-stack and register handling, prompted
11608 by bugs revealed when trying to add shy-groups. Overall, what happened
11609 is that loops are now structured a little differently, groups can be
11610 shy and the code is a little simpler.
11611
11612 * regex.h: Update the copyright.
11613 (RE_SHY_GROUPS): New value.
11614 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11615 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11616
80460654
GM
11617 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11618 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11619 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11620 for (start|stop)_memory since they now only take one argument (the
11621 second has becomes unnecessary).
52283633 11622 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11623 (print_compiled_pattern): Use %ld to printf long ints and flush to
11624 make debugging a little easier.
95cd4c40
SM
11625 (union fail_stack_elt): Make the integer unsigned.
11626 (struct fail_stack_type): Add a `frame' element.
11627 (INIT_FAIL_STACK): Init `frame' as well.
11628 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11629 (DEBUG_PUSH, DEBUG_POP): Remove.
11630 (NUM_REG_ITEMS): Remove.
11631 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11632 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11633 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11634 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11635 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11636 New macros.
80460654
GM
11637 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11638 address pushed is not the destination of the jump but the source
11639 of it instead.
95cd4c40
SM
11640 (NUM_FAILURE_ITEMS): Remove.
11641 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11642 registers before the actual failure point). Don't hardcode any
11643 meaning for str==NULL anymore.
95cd4c40 11644 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11645 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11646 Remove.
95cd4c40
SM
11647 (REG_UNSET_VALUE): Use NULL (why not?).
11648 (compile_range): Remove declaration since it doesn't exist.
11649 (struct compile_stack_elt_t): Remove inner_group_offset.
11650 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11651 (regex_grow_registers): Remove dead code.
11652 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11653 (regex_compile): Add shy-groups Change loops to use
11654 on_failure_jump_smart&jump instead of
11655 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11656 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11657 variable to me). Use `jump' instead of `jump_past_alt' and don't
11658 bother with push_dummy_failure in alternatives since it is now
11659 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11660 emacs' for (re)allocating the stack.
11661 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11662 from loop when bufp->can_be_null rather than jumping to `done'.
11663 Avoid jumping backwards so as to ensure termination. Use
11664 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11665 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11666 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11667 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11668 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11669 (lowest_active_reg, highest_active_reg)
11670 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11671 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11672 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11673 variables. Push register (in `start_memory') on the stack rather
11674 than storing it in old_reg(start|end). Remove the cycle detection
11675 from `stop_memory', replaced by the use of on_failure_jump_loop
11676 for greedy loops. Add code for the new on_failure_jump_<foo>.
11677 Remove ad-hoc code in `on_failure_jump' to push more registers in
11678 the case of a loop. Take out code from `maybe_pop_jump' into
11679 separate functions and adapt it to the semantics of
11680 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11681 and push_dummy_failure. Remove dummy_failure handling and
11682 handling of `failures to jump to on_failure_jump' (this last one
11683 was already dead code, it seems).
11684 (group_match_null_string_p, alt_match_null_string_p)
11685 (common_op_match_null_string_p): Remove.
95cd4c40 11686
7397acc4
DL
116872000-03-08 Dave Love <fx@gnu.org>
11688
11689 * config.in: Don't depend on __STDC__ for volatile.
11690 Add POINTER_TYPE, PTR, PROTOTYPES.
11691
11692 * hftctl.c, strftime.c: Use PROTOTYPES.
11693 * eval.c (find_handler_clause): Likewise.
11694
11695 * mem-limits.h: Use POINTER_TYPE.
11696
11697 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11698 (memory_warnings): Declare using POINTER_TYPE.
11699
5e91ff9e
GM
117002000-03-08 Gerd Moellmann <gerd@gnu.org>
11701
feab4fba
GM
11702 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11703
52283633 11704 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11705
5e91ff9e
GM
11706 * xfns.c: Remove obsolete code in #if 0.
11707 (Fx_focus_frame): New function.
11708
a735b7e1
KH
117092000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11710
11711 * coding.c (coding_category_name): Add coding-category-utf-8,
11712 coding-category-utf-16-be, coding-category-utf-16-le.
11713 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11714 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11715 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11716 (detect_coding_utf_8): New function.
11717 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11718 UTF_16_LOW_SURROGATE_P): New macros.
11719 (detect_coding_utf_16): New function
11720 (detect_coding_mask): When priorities are specified, skip any
11721 categories that have `nil' coding-system. Fix bug of returning
11722 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11723 returns a mask not set in PRIORITIES.
11724 (detect_eol_type_in_2_octet_form): New function.
11725 (detect_eol): selects detect_eol_type_XXX to call according to
11726 cooding->category_idx.
11727 (detect_coding_system): Remove `nil' coding-system in the result.
11728 (Fupdate_coding_systems_internal): Update all coding-categories.
11729
52283633
SM
11730 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11731 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11732 New macros.
11733 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11734 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11735 (CODING_CATEGORY_IDX_UTF_16_LE)
11736 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11737 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11738 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11739 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11740
9994cc69
GM
117412000-03-07 Gerd Moellmann <gerd@gnu.org>
11742
e9b4e5ff
GM
11743 * doc.c (Fdocumentation_property): If value is not a string,
11744 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11745
f7daf1e1
GM
11746 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11747 close the display with XtCloseDisplay. This caused a bus error
11748 on OpenWindows.
11749
9994cc69
GM
11750 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11751 complete but not unique.
11752
4336c705
GM
117532000-03-06 Gerd Moellmann <gerd@gnu.org>
11754
18bb0684
GM
11755 * process.c (send_process): Remove local variable `procname' that
11756 might become invalid when a GC happens. Instead, access the
11757 process name slot directly.
11758
4336c705
GM
11759 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11760 orig_height if set.
11761
11762 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11763 orig_height if set.
11764
515d0d0e
EZ
117652000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11766
11767 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11768 glyph matrices have been freed.
11769
100b3cbb
GM
117702000-03-05 Gerd Moellmann <gerd@gnu.org>
11771
50df5e5a 11772 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11773 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11774
11775 * xfns.c (QCdata): Moved to xdisp.c.
11776
11777 * xdisp.c (QCdata): Moved here from xfns.c.
11778 (syms_of_xdisp): Initialize QCdata.
11779
11780 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11781
11782 * window.c (coordinates_in_window): Use
11783 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11784 FRAME_INTERNAL_BORDER_WIDTH.
11785
100b3cbb 11786 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11787 it is obviously invalid.
100b3cbb
GM
11788
11789 * xterm.c (x_term_init): Create a colormap if not using the
11790 default visual.
11791
11792 * xterm.h (select_visual): Change prototype.
11793
11794 * xfns.c (select_visual): Rewritten. Recognize user-specified
11795 visual classes.
11796 (visual_classes): New variable.
11797
64d739c4
GM
117982000-03-04 Gerd Moellmann <gerd@gnu.org>
11799
11800 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11801 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11802 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11803 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11804 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11805 XtNcolormap resources.
11806 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11807 (Fx_create_frame): Initialize color members of x_output structure.
11808 (xpm_load): Pass colormap to XPM lib.
11809
11810 * xfaces.c (x_free_colors): Access colormap of frame using
11811 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11812 when default colormap is used.
11813
11814 * xterm.c (x_term_init): Set Colormap member of x_display_info
11815 structure. Copy colormap if resource `privateColormap' is
11816 specified (PseudoColor only).
11817 (x_setup_relief_color): Access colormap of frame using
11818 FRAME_X_COLORMAP.
11819
11820 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11821 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11822
c3cee013
JR
118232000-03-04 Jason Rumney <jasonr@gnu.org>
11824
11825 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11826 other non-platform-specific equivalents.
64d739c4 11827 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11828 specific functions and macros as their w32 equivalents where
11829 non-platform-specifics are not available.
11830 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11831 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11832 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11833 (frame_update_line_height): Use macros to access f->output_data.
11834 (defined_color): Remove FIXME comments; fixed.
11835 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11836 into #ifdef blocks. Add WINDOWSNT blocks.
11837 (Fx_list_fonts): Use macros for accessing font data.
11838 (set_lface_from_font_name): Different default fonts for X and
11839 WINDOWSNT.
11840 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11841 scalable for backward compatibility.
64d739c4 11842 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11843 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11844
64d739c4 11845 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11846 syms_of_w32faces.
11847
11848 * makefile.nt (w32faces.obj): Remove.
11849 (xfaces.obj): Add.
11850
807cc41c
JR
118512000-03-03 Jason Rumney <jasonr@gnu.org>
11852
11853 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11854 correct parameters.
11855
0007072a
KR
118562000-03-03 Ken Raeburn <raeburn@gnu.org>
11857
11858 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11859 standard ELF definitions here if the system header does not.
11860
71a6ba55
GM
118612000-03-03 Gerd Moellmann <gerd@gnu.org>
11862
11863 * xterm.c (PER_CHAR_METRIC): Removed.
11864 (x_per_char_metric_1, x_default_char): New functions.
11865 (x_per_char_metric): If font's default char is invalid, return
11866 metrics of a suitably chosen usable default char.
11867 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11868 char, replace occurrences of unprintable chars with a suitably
11869 chosen usable default char.
71a6ba55 11870
900fa1f1
GM
118712000-03-02 Gerd Moellmann <gerd@gnu.org>
11872
42f55fe0
GM
11873 * xterm.c (note_mouse_highlight): Return quickly if frame's
11874 glyph matrices have been freed.
11875
11876 * dispnew.c (free_glyphs): Block input while freeing matrices.
11877
900fa1f1
GM
11878 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11879
52283633
SM
11880 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11881 Use x_free_colors.
900fa1f1
GM
11882
11883 * dispextern.h (x_free_colors): Add prototype.
11884
11885 * xfaces.c (x_free_colors): New function.
11886 (unload_color, free_face_colors): Use it.
11887
2f950292
EZ
118882000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11889
11890 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11891
11892 * window.c [MSDOS]: Include msdos.h.
11893
54d04320
DL
118942000-03-02 Dave Love <fx@gnu.org>
11895
11896 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11897
11898 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11899 set C_OPTIMIZE_SWITCH for gcc.
11900
0ba93ac4
KH
119012000-03-02 Kenichi Handa <handa@etl.go.jp>
11902
11903 * coding.c (coding_save_composition): Be sure to allocate
11904 composition data area in coding even if there's no composition in
11905 the current run.
11906
a2bc11d4
JR
119072000-03-01 Jason Rumney <jasonr@gnu.org>
11908
11909 * w32term.c: Equivalent changes to those made to xterm.c on
11910 2000-02-25 and 2000-02-24.
11911
11912 * w32fns.c: Equivalent changes to those made to xfns.c on
11913 2000-02-25 and 2000-02-21.
11914
11915 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11916 correct line-end convention is followed.
11917
11918 * w32menu.c [HAVE_BOXES]: Remove #undef.
11919 (single_keymap_panes): Remove code for simulating checkmarks.
11920 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11921 Remove code for drawing simulated checkmarks.
11922 (w32_menu_show): make unibyte help string correctly.
11923 (add_menu_item): draw standard Windows checkmarks. Draw radio
11924 buttons as radio buttons if possible.
11925
72d19d75
GM
119262000-03-01 Gerd Moellmann <gerd@gnu.org>
11927
2df636f4
GM
11928 * sysdep.c (start_of_text): Don't define this function for NetBSD
11929 with ELF.
11930
427ec082 11931 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11932 Don't define.
11933 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11934 (LINKER): Don't undef if __NetBSD__ is defined.
11935
11936 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11937
11938 * fileio.c [__NetBSD__]: Define `unix'.
11939
72d19d75
GM
11940 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11941
ed4d0512
GM
119422000-02-29 Gerd Moellmann <gerd@gnu.org>
11943
50b1039f
GM
11944 * atimer.c (start_atimer): Don't abort when timers are stopped.
11945 (append_atimer_lists): New function.
11946 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11947 arbitrary lists of stopped and running atimers.
11948
ed4d0512
GM
11949 * atimer.c (cancel_atimer): Handle canceling an atimer when
11950 some timers are stopped.
11951
11952 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11953 after canceling it.
11954
11955 * fns.c (maybe_resize_hash_table): Handle case of new size
11956 coming out as being the same as old size.
11957
387023ee
JR
119582000-02-27 Jason Rumney <jasonr@gnu.org>
11959
11960 * makefile.nt: Add atimer.h to dependencies.
11961 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11962 * w32console.c: Only disable window system features for dispextern.h
11963 (initialize_w32_display): Build a display info for the console.
11964 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11965 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11966 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11967 as 2 button mice.
11968 * w32gui.h (struct W32FontStruct): Revert last change after change
11969 to xdisp.c.
11970 * w32menu.c (single_submenu): Set up help string.
11971 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11972 (w32_dialog_show): Set up help string.
11973 * w32term.c (w32_display_info_for_display): Remove unused function.
11974 (w32_draw_bitmap): Use pre-built bitmaps.
11975 (w32_initialize_display_info): New function to initialize parts of
11976 display info that are common to both GUI and console frames.
11977 (w32_term_init): Use w32_initialize_display_info. Do not set
11978 Vw32_num_mouse_buttons here, as it is not called for console
11979 frames. Build bitmaps for indicating truncated lines etc.
11980 (x_delete_display): Destroy pre-built bitmaps.
11981 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11982 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11983
4516715a
DL
119842000-02-27 Dave Love <fx@gnu.org>
11985
11986 * lisp.h: Add a bunch of prototypes.
11987
171ca836
KH
119882000-02-26 Kenichi Handa <handa@etl.go.jp>
11989
11990 * keyboard.c (read_char): Set `usec' correctly.
11991
4013921d
KH
119922000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11993
11994 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11995 `lambda', set reg[RRR] to the map index.
11996 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11997 reg[RRR] to 0. Otherwise, set it to -1.
11998
9244a058
GM
119992000-02-25 Gerd Moellmann <gerd@gnu.org>
12000
2df636f4 12001 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12002
18e21ce8 120032000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12004
f43d79c1
GM
12005 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12006 and contains a `:', prepend `/:'.
12007
12008 * window.c (select_window_1): If selected_window is nil,
12009 don't "swap out" the buffer's point.
12010 (Fset_window_configuration): Set selected_window to nil
12011 before calling Fselect_window.
12012 (unshow_buffer): Don't set point in buffer from window's point
12013 if another more recently selected window also shows the buffer.
12014
bed0c171
GM
120152000-02-25 Gerd Moellmann <gerd@gnu.org>
12016
449c3c52
GM
12017 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12018
f5b58615
GM
12019 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12020 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12021 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12022 New variables.
f5b58615
GM
12023 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12024 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12025 (hide_busy_cursor): New functions.
12026 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12027
12028 * minibuf.c (read_minibuf): Cancel busy-cursor.
12029
12030 * keyboard.c (command_loop_1): Call start_busy_cursor before
12031 Fcommand_execute and cancel_busy_cursor after it.
12032 (timer_check): Remove busy-cursor code.
12033 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12034 cursor timer.
12035
12036 * process.c (wait_reading_process_input): Remove busy-cursor code.
12037
12038 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12039 Fx_hide_busy_cursor.
12040
12041 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12042 Remove prototyoes.
12043 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12044
12045 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12046
12047 * xterm.c (XTread_socket): Remove busy-cursor code.
12048
4eb8436f
GM
12049 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12050 (build_frame_matrix_from_leaf_window): Put code handling
12051 glyph row's not being a slice of a frame row in #if 0.
12052 (sync_window_with_frame_matrix_rows): New function.
12053 (frame_row_to_window): New function.
12054 (mirror_line_dance): Handle copies between windows.
12055
3cb65b0e
GM
12056 * lread.c (Fload): Use `xfree' instead of `free'.
12057 (init_obarray): Use `xmalloc' instead of `malloc'.
12058
bed0c171
GM
12059 * window.c (Fset_window_buffer): Set WINDOW to the window
12060 after decoding.
2add4349
GM
12061 (coordinates_in_window): Take frame's internal border width
12062 into account.
bed0c171 12063
42088c12
GM
120642000-02-24 Gerd Moellmann <gerd@gnu.org>
12065
12066 * xterm.c (x_display_and_set_cursor): Display cursor of
12067 non-selected windows depending on the setting of
12068 cursor_in_non_selected_windows.
12069
12070 * xdisp.c (cursor_in_non_selected_windows): New variable.
12071 (syms_of_xdisp): DEFVAR_BOOL it.
12072
d1e103b2
GM
120732000-02-23 Gerd Moellmann <gerd@gnu.org>
12074
723e779c
GM
12075 * data.c (Fstring_to_number): If number is greater than what
12076 fits into an integer, return a float.
12077
d1e103b2
GM
12078 * eval.c (specbind): Remove references to
12079 keyword_symbols_constant_flag.
12080
12081 * data.c (keyword_symbols_constant_flag): Removed.
12082 (Fmakunbound, set_internal, syms_of_data): Remove references to
12083 keyword_symbols_constant_flag.
12084
12085 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12086
214f877f
KH
120872000-02-23 Kenichi Handa <handa@etl.go.jp>
12088
12089 * syntax.c (multibyte_syntax_as_symbol): New variable.
12090 (syms_of_syntax): Declare it as a Lisp variable.
12091 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12092 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12093 nonzero, treat all multibyte characters as symbol.
52283633 12094 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12095
130adcb7
EZ
120962000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12097
3cb65b0e 12098 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12099 a deleted frame.
130adcb7 12100
17cbbf95
GM
121012000-02-21 Gerd Moellmann <gerd@gnu.org>
12102
12103 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12104
12105 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12106 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12107
beb0bc36
DL
121082000-02-21 Dave Love <fx@gnu.org>
12109
12110 * frame.c (Vmouse_position_function): New variable.
12111 (Fmouse_position): Use it.
12112 (syms_of_frame): Install it.
12113
12114 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12115
1d92afcd
GM
121162000-02-20 Gerd Moellmann <gerd@gnu.org>
12117
12118 * fileio.c (Finsert_file_contents): Unbind the binding of
12119 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12120
12121 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12122 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12123 (specbind, unbind_to): Handle most common case of non-constant
12124 symbol with trivial value specially.
12125
12126 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12127
18e21ce8 121282000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12129
12130 * data.c (Fmake_variable_buffer_local): Doc fix.
12131 Init found_for_buffer to 0.
12132 (Fmake_variable_frame_local): If the variable has already
12133 been buffer-local, set the check_frame field.
12134
1d4311c3
EZ
121352000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12136
12137 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12138 produced for CODING_MODE_LAST_BLOCK requires.
12139
2dc95ddd
DL
121402000-02-18 Dave Love <fx@gnu.org>
12141
12142 * keyboard.c (echo_keystrokes): Remove declaration.
12143 (Vecho_keystrokes) New variable.
12144 (read_char, record_menu_key, read_key_sequence): Use it to allow
12145 use of float value.
12146 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12147
12148 * lread.c: Undef feature selection macros before defining.
12149
f0930f35
GM
121502000-02-18 Gerd Moellmann <gerd@gnu.org>
12151
12152 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12153 for symbols other than the symbol in question.
12154
e3d4de90
DL
121552000-02-17 Dave Love <fx@gnu.org>
12156
12157 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12158
0b378936
GM
121592000-02-17 Gerd Moellmann <gerd@gnu.org>
12160
d621caf7
GM
12161 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12162
0b378936
GM
12163 * alloc.c (enum mem_type): Compile unconditionally.
12164
3b451f74
EZ
121652000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12166
12167 * xfaces.c (tty_defined_color): Don't return faulire indication
12168 for unspecified-fg and unspecified-bg pseudo-colors.
12169
10689a01
GM
121702000-02-17 Gerd Moellmann <gerd@gnu.org>
12171
1216f5e4
GM
12172 * alloc.c (mark_object): Don't mark symbol names in pure space.
12173 (gc_sweep): Don't unmark symbol names in pure space.
12174
12175 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12176 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12177 [GC_MARK_STACK]: New defines.
427ec082 12178 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12179 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12180
12181 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12182
12183 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12184 allocate_buffer instead of xmalloc.
12185
12186 * alloc.c (toplevel): Include setjmp.h.
12187 (PURE_POINTER_P): New define.
12188 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12189 (Vdead) [GC_MARK_STACK]: New variable.
12190 (lisp_malloc): Add parameter TYPE, call mem_insert if
12191 GC_MARK_STACK is defined.
12192 (allocate_buffer): New function.
427ec082 12193 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12194 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12195 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12196 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12197 (MEM_NIL) [GC_MARK_STACK]: New define.
12198 (struct mem_node) [GC_MARK_STACK]: New structure.
12199 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12200 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12201 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12202 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12203 (mark_stack) [GC_MARK_STACK]: New functions.
12204 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12205 (clear_marks): Removed.
12206 (gc_sweep): Set free conses' car, free floats' type, free
12207 symbols' function to Vdead. Use lisp_free to free buffers.
12208 (init_alloc_once): Initialize Vdead.
12209 (survives_gc_p): Return non-zero for pure objects.
12210
12211 * alloc.c: Add comments throughout the file.
12212
2503c8b1
GM
12213 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12214 that unblocks alarms.
12215
8389e1e2
GM
12216 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12217 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12218 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12219
10689a01 12220 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12221
bfc17d18
KH
122222000-02-17 Kenichi Handa <handa@etl.go.jp>
12223
4a09dee0
KH
12224 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12225 avoid infinite error signaling. Allocate sufficient memory for
12226 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12227
2b927d02
SM
122282000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12229
12230 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12231 depends on the previous behavior.
12232
b49cb764
GM
122332000-02-16 Gerd Moellmann <gerd@gnu.org>
12234
12235 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12236
99e95407
GM
122372000-02-15 Gerd Moellmann <gerd@gnu.org>
12238
12239 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12240
12241 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12242 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12243 write(2).
12244
6ffd3cf7
RS
122452000-02-15 Richard M. Stallman <rms@gnu.org>
12246
12247 * data.c (set_internal): Don't make variable buffer-local
12248 if within a let-binding for the same buffer.
12249 (let_shadows_buffer_binding_p): New function.
12250
12251 * eval.c (specbind): For buffer-local value,
12252 record the current buffer also.
12253 (unbind_to): Cope with that change.
12254
cad53475
GM
122552000-02-15 Gerd Moellmann <gerd@gnu.org>
12256
12257 * window.c (Fsave_window_excursion): Doc fix.
12258
1aa963c8
SM
122592000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12260
12261 * syntax.c (back_comment): Make sure we only consider comment-starters
12262 of the relevant style and return -1 in case of a failure to find the
12263 beginning of the comment.
12264 (Fforward_comment): If back_comment fails, go back to the position just
12265 after the comment-end.
12266 (scan_lists): Add comment describing a very minor bug.
12267
b9b84fd3
SM
122682000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12269
12270 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12271 `completion-regexp-list' in the docstring.
12272
3a28db80
DL
122732000-02-14 Dave Love <fx@gnu.org>
12274
12275 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12276
fb4a568d
SM
122772000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12278
12279 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12280 to Emacs' syntax. Also fix the comment about set/not-set meanings
12281 since Emacs syntax is not the value 0 any more.
12282 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12283 since it's now part of RE_SYNTAX_EMACS.
12284
1063ebb5
DL
122852000-02-12 Dave Love <fx@gnu.org>
12286
52283633 12287 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12288
fb07a302
GM
122892000-02-12 Gerd Moellmann <gerd@gnu.org>
12290
12291 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12292
aaf2320c
DL
122932000-02-12 Dave Love <fx@gnu.org>
12294
12295 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12296
12297 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12298 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12299 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12300
12301 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12302
12303 * s/nextstep.h: Don't define HAVE_ALLOCA.
12304
12305 * config.in: Add vfork bits.
12306
eedf8bde
GM
123072000-02-12 Gerd Moellmann <gerd@gnu.org>
12308
12309 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12310 unwind function to undo the effect of stopping atimers.
12311
52283633 12312 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12313
12314 * atimer.c (stopped_atimers): New variable.
12315 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12316 New functions.
12317
12318 * atimer.h (stop_other_atimers, run_all_atimers)
12319 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12320
eedf8bde
GM
12321 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12322
8476c2f8
KR
123232000-02-11 Ken Raeburn <raeburn@gnu.org>
12324
12325 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12326 library may depend on jpeg.
12327 (atimer.o): Depends on atimer.c.
12328
0e85e4a3
KH
123292000-02-11 Kenichi Handa <handa@etl.go.jp>
12330
12331 * insdel.c (del_range_1): Call update_compositions.
12332 (del_range_both): Call update_compositions just once..
12333
97fa0cc8
DL
123342000-02-10 Dave Love <fx@gnu.org>
12335
12336 * xfns.c (create_frame_xic): Fix initialization of automatic
12337 aggregates for pcc.
12338
25566a3c
KH
123392000-02-09 Kenichi Handa <handa@etl.go.jp>
12340
12341 * ccl.c (CCL_MAKE_CHAR): New macro.
12342 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12343 registers by CCL_MAKE_CHAR before calling translate_char.
12344 <CCL_TranslateCharacterConstTbl> Likewise.
12345
69da54ba
DL
123462000-02-08 Dave Love <fx@gnu.org>
12347
12348 * lread.c (__EXTENSIONS__): Define.
12349
f7136ee8
GM
123502000-02-08 Gerd Moellmann <gerd@gnu.org>
12351
12352 * puresize.h (BASE_PURESIZE): Increase to 650000.
12353
7768790b
EZ
123542000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12355
12356 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12357 the help message.
12358
38fd211b
EZ
123592000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12360
12361 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12362 md, mh, mb, mr, and me to the fake termcap entry.
12363
66e4690f
KR
123642000-02-06 Ken Raeburn <raeburn@gnu.org>
12365
12366 * sound.c (sound_cleanup): Don't call device close routine if the
12367 function pointer is null.
12368
a75dfea0
AI
123692000-02-06 Andrew Innes <andrewi@gnu.org>
12370
12371 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12372 around image definitions and prototypes.
12373 (gamma_correct) [WINDOWSNT]: New prototype.
12374
12375 * w32term.c (x_make_frame_visible): Replace call to
12376 input_poll_signal with poll_for_input.
12377
12378 * window.c [WINDOWSNT]: Include w32term.h.
12379
12380 * xdisp.c [WINDOWSNT]: Include w32term.h.
12381
12382 * makefile.nt: Add dependencies on w32gui.h.
12383 (OBJ1): Include atimer.obj.
12384 ($(BLD)\atimer.obj): New dependency rule.
12385
12386 * w32.c (sigmask): New function (does nothing).
12387 (sigunblock): Ditto.
12388
12389 * frame.c [WINDOWSNT]: Include w32term.h.
12390
12391 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12392
12393 * lread.c (syms_of_lread): Fix literal newlines.
12394
12395 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12396 the string constant limit (2048 bytes) in MSVC.
12397 (main): Ditto.
12398
59ddecde
GM
123992000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12400
52283633 12401 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12402 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12403 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12404 dispatch the event.
12405
07590973
DL
124062000-02-04 Dave Love <fx@gnu.org>
12407
12408 * fileio.c: Remove some unused vars.
12409 (_GNU_SOURCE): Define (for euidaccess).
12410
12411 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12412
12413 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12414 gcpro1, gcpro2.
12415 (read_minibuf): Deal with allow_props correctly.
12416
649351f9
EZ
124172000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12418
12419 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12420
66e4690f 124212000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12422
12423 * search.c (compile_pattern): If a cache entry has a nil regexp,
12424 fill in that entry instead of clobbering a previously cached
12425 string regexp.
12426
66e4690f 124272000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12428
12429 * puresize.h (BASE_PURESIZE): Increase to 610000.
12430
d240a249
GM
124312000-02-02 Gerd Moellmann <gerd@gnu.org>
12432
12433 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12434 can GC.
12435
ca91fb26
KH
124362000-02-02 Kenichi Handa <handa@etl.go.jp>
12437
25660570
KH
12438 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12439 instead of incrementing ic directly.
12440 <CCL_WriteExprConst> Likewise.
12441 <ccl_set_expr>: Set ic to jump_address.
12442
ca91fb26
KH
12443 * fileio.c (e_write): Fix the handling of
12444 CODING_FINISH_INSUFFICIENT_SRC.
12445
2ede9689
DL
124462000-02-01 Dave Love <fx@gnu.org>
12447
12448 * editfns.c (Fpropertize): Doc fix.
12449
12450 * process.c (Fstart_process): Doc fix.
12451
12452 * eval.c: Fix various doc strings not to duplicate information
12453 from help-manyarg-func-alist.
12454
52283633 12455 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12456
12457 * doc.c (Vhelp_manyarg_func_alist): New variable.
12458 (Fdocumentation): Use it.
12459 (syms_of_doc): Define it.
12460
b6680a0e
GM
124612000-01-31 Gerd Moellmann <gerd@gnu.org>
12462
2cb750ba
GM
12463 * xterm.c (xim_open_dpy): Remove unused local variable.
12464
52283633 12465 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12466
12467 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12468 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12469
b6680a0e
GM
12470 * fns.c (sweep_weak_table): New function.
12471 (sweep_weak_hash_tables): Use it. Keep on marking until there
12472 is no more change.
12473
994c5afe
GM
124742000-01-30 Gerd Moellmann <gerd@gnu.org>
12475
12476 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12477 that XTread_socket does not crash by trying to call XNoOp on a
12478 closed display.
427ec082 12479
f00276e3
JR
124802000-01-30 Jason Rumney <jasonr@gnu.org>
12481
12482 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12483 Change selected_frame to SELECTED_FRAME ().
12484 (w32_console_mouse_position): Remove #ifndef MULE from around
12485 `insist' parameter.
12486
12487 * makefile.nt: Remove dosfns.obj.
12488
12489 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12490
12491 * w32fns.c (w32_defined_color): Check for valid frame before
12492 applying gamma correction. Eliminate dependency on frame elsewhere.
12493 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12494 (w32_to_x_font): Use resx and resy not height_in and width_in.
12495 (x_to_w32_font): Doc fix.
12496 (xlfd_strip_height): New function to strip and return font height.
12497 (w32_font_match): Compare height separately from rest of xlfd
12498 spec, using xlfd_strip_height.
12499
12500 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12501 width_in. Use w32_defined_color in place of defined_color.
12502
12503 * w32faces.c: Merge more of DOS and X specifics in preparation for
12504 merge with xfaces.c.
12505 (defined_color): Remove FIXME comment.
12506 (tty_color_name): Provide w32-specific function.
12507 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12508
12509 * w32console.c (turn_on_face, turn_off_face): Removed.
12510 (w32_face_attributes): New function.
12511 (Global_variables): Reduce scope where possible.
12512 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12513 fill attribute.
12514 (hl_mode): Don't modify text attributes.
12515 (write_glyphs): Don't do anything if len <= 0. Use
12516 w32_face_attributes to get attributes for drawing. Write
12517 terminating codes using char_attr_normal.
12518 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12519 (update_begin, update_end): Likewise.
12520 (vga_stdcolor_name): New function.
12521 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12522 (Fset_screen_color): Remove char_attr_reverse.
12523
b08e8bb2
GM
125242000-01-29 Gerd Moellmann <gerd@gnu.org>
12525
12526 * xfns.c (xic_set_preeditarea): Take window parameter and
12527 window-relative pixel-positions.
12528
12529 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12530 is its frame's selected window.
12531 (xim_instantiate_callback): Likewise.
12532
12533 * xfns.c (x_create_im): Removed.
12534 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12535 (supported_xim_styles): Renamed from supported_styles.
12536 (best_xim_style): Renamed from best_style.
12537 (create_frame_xic): Renamed from xic_create_frame.
12538 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12539
b08e8bb2
GM
125402000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12541
12542 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12543 our frames, call XFilterEvent with 2nd parameter `None'.
12544 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12545 returning XBufferOverflow.
52283633 12546 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12547 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12548 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12549 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12550 (xim_initialize, xim_close)
12551 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12552 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12553 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12554 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12555
12556 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12557 and `xim_styles'.
12558 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12559 `xic_style' and `xic_xfs'.
12560 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12561 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12562 (FRAME_XIM): Removed.
12563
12564 * xfns.c (supported_styles): New variable.
12565 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12566 (xic_create_xfontset, best_style, xic_create_frame)
12567 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12568 (xic_set_xfontset): New functions.
12569
142e109c
DL
125702000-01-28 Dave Love <fx@gnu.org>
12571
12572 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12573
12574 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12575
b02786f9
GM
125762000-01-28 Gerd Moellmann <gerd@gnu.org>
12577
d060bc9f
GM
12578 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12579 for *scratch* if it already existed.
12580
b02786f9
GM
12581 * emacs.c (USAGE): New macro.
12582 (main): Use it to display usage information.
12583
2c52d7e4
EZ
125842000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12585
12586 Support for the menu-help feature:
12587
52283633 12588 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12589
12590 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12591 part of the line to the termscript file.
12592 (IT_clear_to_end): Clear the entire line, not just its beginning.
12593 (menu_help_message, prev_menu_help_message): New variables.
12594 (IT_menu_make_room): Make room for the help_text member.
12595 (IT_menu_display): New argument disp_help; all callers changed.
12596 If disp_help is non-zero, store the help text of the active menu
12597 item in menu_help_message.
12598 (XMenuAddPane): Initialize the help_text member to NULL.
12599 (XMenuAddSelection): New argument help_text. Store it in the
12600 XMenu structure.
12601 (XMenuActivate): New argument help_callback. If the value of
12602 menu_help_message has changed since the last time, display the
12603 menu help message text while waiting for the mouse to move. Clear
12604 the echo area before exiting.
12605 (XMenuDestroy): Free the help_text member.
12606
ffe0bcd1
GM
126072000-01-27 Gerd Moellmann <gerd@gnu.org>
12608
12609 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12610 XMenuAddSelection. Pass help callback to XMenuActivate.
12611 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12612
50dbd23f
EZ
126132000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12614
12615 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12616 and EMACS_SET_USECS.
12617
f5941bf8
GM
126182000-01-26 Dave Love <fx@gnu.org>
12619
6c67ddee
DL
12620 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12621
f5941bf8
GM
12622 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12623 an error may be signalled.
12624
9e49c990
GM
126252000-01-26 Gerd Moellmann <gerd@gnu.org>
12626
fc3cb460
GM
12627 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12628 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12629
9e49c990
GM
12630 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12631
d0c037d8
GM
126322000-01-25 Gerd Moellmann <gerd@gnu.org>
12633
12634 * charset.c (Fstring): If there is a multibyte char among
12635 the args, always return a multibyte string.
12636
e12489f9
GM
126372000-01-25 Gerd Moellmann <gerd@gnu.org>
12638
12639 * sysdep.c (sys_select): Turn atimers off and on instead of
12640 recording and restoring old alarm handler
12641
12642 * process.c (toplevel): Include atimer.h.
12643 (create_process_1): Rewritten.
12644 (create_process): Use atimers instead of alarm.
12645 (wait_reading_process_input) [hpux]: Turn atimers off instead
12646 of turning off SIGALRM.
12647 (wait_reading_process_input): Turn off atimers instead off
12648 calling stop_polling.
12649
12650 * emacs.c (main): Call init_atimer.
12651
12652 * keyboard.c (toplevel): Include systime.h and atimer.h.
12653 (polling_for_input): Removed because unused.
12654 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12655 (poll_timer): New variable.
12656 (poll_for_input, poll_for_input_1): New functions.
12657 (start_polling, stop_polling): Rewritten.
12658
12659 * keyboard.h (polling_for_input): Removed.
427ec082 12660
e12489f9
GM
12661 * atimer.h, atimer.c: New files.
12662
12663 * Makefile.in (obj): Add atimer.o.
12664 (atimer.o): New target.
12665
12666 * blockinput.h (pending_atimers): Add extern declaration.
12667 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12668
12669 * lisp.h (popup_activated_flag): Add extern declaration.
12670
12671 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12672 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12673 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12674
12675 * xterm.c (toplevel): Include atimer.h.
12676 (toolkit_scroll_bar_interaction): New variable.
12677 (Fxt_process_timeouts): Removed.
12678 (x_process_timeouts): New function.
12679 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12680 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12681 (x_make_frame_visible): Call poll_for_input_1 instead of
12682 input_poll_signal. Don't call alarm.
12683 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12684
1e5279b9
DL
126852000-01-24 Dave Love <fx@gnu.org>
12686
6c67ddee 12687 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12688 Don't use -cckr -- apparently not now necessary.
12689
edf6aeb8
EZ
126902000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12691
12692 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12693 screen boundary.
12694
9badad41
JR
126952000-01-23 Jason Rumney <jasonr@gnu.org>
12696
12697 * w32fns.c (w32_defined_color): Apply gamma correction before
12698 trying to map to the palette.
12699 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12700 to w32_clear_rect.
12701
12702 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12703 here. Callers changed to always pass real device context.
12704 (w32_draw_bitmap): Likewise.
12705 (w32_get_glyph_overhangs): Likewise.
52283633 12706 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12707 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12708 pfnSetScrollInfo and SetScrollRange.
12709 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12710 back into MULE characters after decoding them.
12711 (x_get_glyph_face_and_encoding): Likewise.
12712 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12713 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12714 (x_produce_glyphs): Calculate per char metrics for a character
12715 that we know exists in default font when font_not_found_p is true.
12716
63bd786b
JR
127172000-01-22 Jason Rumney <jasonr@gnu.org>
12718
12719 * makefile.nt (intervals.obj, composite.obj): New modules.
12720 (composite.h): Added as dependency where appropriate.
12721
12722 * w32gui.h (XGCValue): New struct for emulating X GCs.
12723
12724 * w32term.h (XCharStruct): New struct for emulating X.
12725
12726 * w32console.c (turn_on_face, turn_off_face): New functions.
12727 (change_line_highlight): New prototype for new redisplay.
12728 (write_glyphs): Support multibyte text. Support faces.
12729
52283633 12730 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12731
12732 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12733 throughout. struct frame * in place of FRAME_PTR.
12734 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12735 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12736 (w32_get_arg): Renamed from x_get_arg.
12737 (Fx_file_dialog): New function.
12738 (w32_list_fonts): Check cache before asking system.
12739 (Vw32_enable_synthesized_fonts): New variable.
12740 (Vw32_enable_italics): Obsolete, removed.
12741
12742 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12743 Use SELECTED_FRAME macro.
12744
12745 * w32menu.c: Add skeleton support for help strings on menus.
12746 (add_menu_item): Native checkbox and radio support added, but not
12747 yet enabled due to bugs.
12748 (push_menu_item): Add parameters type, selection and help.
12749 Callers updated.
12750 Formatting changes to reduce unnecessary diffs with xmenu.c.
12751
12752 * w32select.c (Fw32_set_clipboard_data): Update call to
12753 find_charset_in_str.
12754
12755 * w32term.c: Complete rewrite for new redisplay based on new
12756 xterm.c with necessary sections merged back in from old w32term.c.
12757
6ffd3cf7 127582000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12759
12760 * data.c (set_internal): Further fix in same criterion.
12761
6ffd3cf7 127622000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12763
12764 * data.c (set_internal): Fix the criteria for whether
12765 to swap out the old cached binding.
12766
60af03f1
DL
127672000-01-19 Dave Love <fx@gnu.org>
12768
12769 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12770
f9be074f
KH
127712000-01-18 Kenichi Handa <handa@etl.go.jp>
12772
12773 * regex.c (re_compile_fastmap): While checking a range table for
12774 `charset', skip flag bits for a character class correctly.
12775
52b8dbf9
GM
127762000-01-17 Gerd Moellmann <gerd@gnu.org>
12777
d36100c9
GM
12778 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12779
52283633 12780 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12781
12782 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12783 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12784
12785 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12786 MENU_ITEMS_ITEM_.*.
12787 (MENU_ITEMS_ITEM_HELP): New enumerator.
12788 (push_menu_item): Add parameter HELP. Record help in menu_items.
12789 (single_menu_item, single_submenu, list_of_items): Call
12790 push_menu_item with new parameter.
12791 (single_submenu): Set help string in widget value.
12792 (menu_highlight_callback): New function.
12793 (set_frame_menubar): Call lw_create_widget with new
12794 parameter list.
12795 (xmenu_show, xdialog_show): Ditto.
12796
3139018f
GM
127972000-01-13 Gerd Moellmann <gerd@gnu.org>
12798
12799 * sound.c (Fplay_sound): Improve doc string.
12800
83c8f461
RS
128012000-01-11 Richard M. Stallman <rms@gnu.org>
12802
12803 * lisp.h (set_internal): Enter the new arg.
12804
12805 * eval.c (specbind): Record buffer-local variables specially,
12806 indicating which buffer's binding was saved.
12807 (unbind_to): Restore buffer-local variables specially
12808 in the proper buffer.
12809
12810 * data.c (set_internal): New arg BUF.
427ec082 12811
83c8f461
RS
12812 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12813 * data.c (Fset): Pass new arg to set_internal.
12814 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12815
1fab1775
GM
128162000-01-11 Gerd Moellmann <gerd@gnu.org>
12817
52283633 12818 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12819
83c8f461 128202000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12821
12822 * minibuf.c (Ftry_completion): Doc fix.
12823
7a85e4df
GM
128242000-01-11 Gerd Moellmann <gerd@gnu.org>
12825
12826 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12827 vector, too.
12828
a970dae4
AS
128292000-01-11 Andreas Schwab <schwab@suse.de>
12830
12831 * coding.c (code_convert_region): Initialize total_skip.
12832
c65d14ee
DL
128332000-01-08 Dave Love <fx@gnu.org>
12834
12835 * eval.c (Fuser_variable_p): Check customizability too.
12836
834938d2
GM
128372000-01-07 Gerd Moellmann <gerd@gnu.org>
12838
12839 * minibuf.c (Fcompleting_read): Doc fix.
12840
e0303cd6
GM
128412000-01-05 Gerd Moellmann <gerd@gnu.org>
12842
8a26744b
GM
12843 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12844 -L /usr/local/lib.
12845
e0303cd6
GM
12846 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12847 Check that input style is supported before trying to create an
12848 IC for it.
12849 (x_window): Call x_create_im.
427ec082 12850
2e471eb5
GM
128512000-01-04 Gerd Moellmann <gerd@gnu.org>
12852
560a7bd2
GM
12853 * xfns.c (current_gif_memory_src): New variable.
12854 (gif_load): Record the address of the current memory source
12855 in current_gif_memory_src.
12856 (gif_read_from_memory): Use current_gif_memory_src.
12857
f9ee84a3
GM
12858 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12859 macros statement form.
12860
d1299cde
GM
12861 * sound.c (struct sound): Renamed from struct sound_file.
12862 (struct sound): Add members `data' and `header_size'.
12863 (enum sound_attr): Add SOUND_DATA.
12864 (current_sound, current_sound_device): Variables renamed from
12865 sound_file and sound_device.
12866 (parse_sound): Parse :data.
12867 (parse_sound): Handle sound data in strings.
12868 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12869 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12870 needed header size.
12871 (wav_play, au_play): Play sounds from string data.
12872
2e471eb5
GM
12873 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12874
12875 * lisp.h: Add prototype for allocate_string_data.
12876
52283633 12877 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12878
12879 * alloc.c (mark_buffer): Remove code in #if 0.
12880 (gc_sweep): Ditto.
12881 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12882 (strings_consed): New variable.
12883 (allocate_string): Set it.
12884 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12885 (Fmemory_use_counts): Return strings_consed. Use Flist.
12886
12887 * alloc.c: General cleanup in comments etc. Remove conditional
12888 compilation for `standalone'.
12889
12890 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12891
12892 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12893 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12894 (DONT_COPY_FLAG): Removed.
12895 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12896 (struct sdata, struct sblock): New
12897 (struct string_block): Rewritten.
12898 (STRINGS_IN_STRING_BLOCK): New macro.
12899 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12900 (large_sblocks, string_blocks, string_free_list): New variables.
12901 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12902 (init_strings): Rewritten.
12903 (allocate_string, allocate_string_data, compact_small_strings)
12904 (free_large_strings, sweep_strings): New functions.
12905 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12906 (struct string_block_head, current_string_block)
12907 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12908 (STRING_PAD): Removed.
12909 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12910 (Fgarbage_collect): Don't set mark bit in large strings.
12911 (mark_object): Mark strings differently. Mark symbol names
12912 differently.
12913 (survives_gc_p): Test marked strings differently.
427ec082 12914 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12915 symbol names.
12916 (compact_strings): Removed.
12917
42608ba8
EZ
129182000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12919
12920 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12921 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12922
e0a09e1a
KH
129232000-01-04 Kenichi Handa <handa@etl.go.jp>
12924
dd9f0750 12925 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12926 in a non-empty buffer.
dd9f0750 12927
3c0f3b15 12928 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12929
44cd3ae5
GM
129302000-01-03 Gerd Moellmann <gerd@gnu.org>
12931
12932 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12933 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12934
12935 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12936
c182a70f
EZ
129372000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12938
12939 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12940 need to test for MSDOS frames.
12941
24480d5b
EZ
129422000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12943
12944 * dosfns.c (unspecified_colors): Remove.
12945 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12946 unspecified_bg.
12947 (msdos_stdcolor_name): Return strings for unspecified fore- and
12948 back-ground colors.
12949
12950 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12951 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12952 (tty_color_name): Return Lisp strings for unspecified fore- and
12953 back-ground colors.
12954 (Finternal_set_lisp_face_attribute): Remove the special treatment
12955 for Qunspecified_{f,b}g.
52283633 12956 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12957
047f434a
GM
129582000-01-03 Gerd Moellmann <gerd@gnu.org>
12959
12960 * xdisp.c (reseat_at_next_visible_line_start): Position before
12961 newline only if ending up on a newline.
12962 (next_element_from_ellipsis): Return success. Handle case of
52283633 12963 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12964 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12965 returns 0.
12966
d684c676
EZ
129672000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12968
12969 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12970 (Fcolor_supported_p): Renamed from face-color-supported-p.
12971
5fe1d139
EZ
129722000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12973
12974 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12975 list of colors renamed to tty-defined-color-alist.
12976 (tty_color_name): Pass the frame to tty-color-by-index.
12977 (realize_tty_face): tty-color-alist is now a function which
12978 accepts the frame as argument.
12979
52283633 12980 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12981
816be8b8
EZ
129822000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12983
12984 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12985 encode_terminal_code.
12986
b635321e
EZ
129872000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12988
12989 * dispnew.c (mode_line_string): Support termcap frames as well.
12990
9b784e96
GM
129912000-01-01 Gerd Moellmann <gerd@gnu.org>
12992
27189709
GM
12993 * syntax.c (Fforward_word): Undo previous change.
12994
12995 * editfns.c (Fconstrain_to_field): Don't constrain if
12996 inhibit-field-text-motion is non-nil.
12997 (Fline_beginning_position): Undo previous change.
12998 (Fline_end_position): Ditto.
12999
13000 * syntax.c (Fforward_word): Notice field boundaries only if
13001 inhibit-field-text-motion is nil.
13002
13003 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13004
13005 * editfns.c (Vinhibit_field_text_motion): New variable.
13006 (inhibit-field-text-motion): New DEFVAR_LISP.
13007 (Fline_beginning_position, Fline_end_position): Notice field
13008 boundaries only if inhibit-field-text-motion is nil.
13009
45158a91
GM
13010 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13011 All calls adjusted.
13012 (x_build_heuristic_mask): Likewise.
13013 (xbm_load_image_from_file): Change error output.
13014 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13015 (gif_load, gs_load, x_kill_gs_process): Ditto.
13016
9b784e96
GM
13017 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13018 color indices when accessing raster pixels.
63cec32f
GM
13019 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13020 one of :file or :data.
13021 (enum pbm_keyword_index): Add PBM_DATA.
13022 (pbm_format): Add :data.
13023 (pbm_image_p): Allow either :file or :data.
13024 (pbm_read_file): New function.
13025 (pbm_scan_number): Rewritten to read from string.
13026 (pbm_load): Support :data.
9b784e96 13027
2cb085db 13028See ChangeLog.8 for earlier changes.
6922b018
KH
13029
13030;; Local Variables:
49b3bd82 13031;; coding: iso-2022-7bit
6922b018 13032;; End:
2a34a036
GM
13033
13034 Copyright (C) 2001 Free Software Foundation, Inc.
13035 Copying and distribution of this file, with or without modification,
13036 are permitted provided the copyright notice and this notice are preserved.