Include <sys/ioctl.h> also on systems without <soundcard.h>.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
502150e5
PJ
12001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * sound.c: Include <sys/ioctl.h> also on systems without
4 <soundcard.h>.
5
b56ba8de
SS
62001-10-15 Sam Steingold <sds@gnu.org>
7
8 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
9
6a0b793a
PJ
102001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
11
e2ba787b
PJ
12 * process.c (process-inherit-coding-system-flag,
13 get-buffer-process): Do not confuse make-docfile with doc strings
14 in comment.
15
a1f17501
PJ
16 * editfns.c (Fchar_to_string): Make doc string consistent with
17 arguments.
18 Put doc strings in comments.
a65da641
PJ
19
20 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 21
aa601ad0
GM
222001-10-15 Gerd Moellmann <gerd@gnu.org>
23
24 * window.c (window_loop): Don't check for Fother_buffer returning
25 nil.
b56ba8de 26
aa601ad0
GM
27 * window.c (select_window_1): Unfreeze window start. Remove a
28 doubled test for WINDOW being live.
29
288148a1
PJ
302001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
31
dd8d1e71
PJ
32 * fns.c (Fmapconcat): Fix typo in a doc string.
33
288148a1
PJ
34 * dispnew.c (Fsleep_for): Fix typo in a doc string.
35
9f5eb4a3
GM
362001-10-15 Gerd Moellmann <gerd@gnu.org>
37
38 * xterm.c (x_draw_glyph_string): Restore clipping after
39 drawing box.
40
dbae44c8
PJ
412001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
42
43 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc
44 string.
45
0c88c937
SM
462001-10-14 Stefan Monnier <monnier@cs.yale.edu>
47
56378db4
GM
48 * indent.c (skip_invisible): Use new retval of
49 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 50
845e4cf4
SM
51 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
52 If a parent is reached and noinherit is set, exit immediately.
53 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
54
0c88c937
SM
55 * s/ms-w32.h (EXEC_SUFFIXES):
56 * s/msdos.h (EXEC_SUFFIXES):
57 * process.h (EXEC_SUFFIXES): Remove.
58
59 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
60 (decode_suffixes): Remove.
61
62 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
63 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
64 (invisible_ellipsis_p): Remove.
0c88c937
SM
65
66 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
67 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
68 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
69 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
70 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 71
d19be8a9
PJ
722001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
73
04d7d066
PJ
74 * lisp.h (Ftop_level): Add prototype.
75
d624284c
PJ
76 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
77 (XTread_socket): Improve style of comments to follow other
78 comments.
79
a87414f9
PJ
80 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
81 is already prototyped in included lisp.h).
82
d19be8a9
PJ
83 * frame.c (Fset_mouse_position): Improve style of comment to
84 follow other comments.
85 (Fset_mouse_pixel_position): Improve style of comment to follow
86 other comments.
87 (Fmake_frame_visible): Doc fix and typo in comment.
88 (Fmake_frame_invisible): Doc fix and typo in comment.
89 (Ficonify_frame): Fix typo in comment.
90
c061c855
GM
912001-10-14 Gerd Moellmann <gerd@gnu.org>
92
37f6b5b6 93 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 94 * term.c, alloc.c: Put doc strings in comments.
c061c855 95
e641b454
GM
962001-10-13 Gerd Moellmann <gerd@gnu.org>
97
98 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
99 Provide definitions for doc strings in comments.
100
101 * fns.c: Put doc strings in comments.
102
51724e26
EZ
1032001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
104
105 * dired.c (file_name_completion): Ignore a candidate directory if
106 it matches an element in completion-ignored-extensions that ends
107 in a slash.
108 (syms_of_dired) <completion-ignored-extensions>: Mention the above
109 feature in the doc string.
110 (Ffile_name_completion): Ditto.
111
be5fc59b
SM
1122001-10-12 Stefan Monnier <monnier@cs.yale.edu>
113
5a1373f3
SM
114 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
115
116 * xfns.c (syms_of_xfns): Update calls to Fprovide.
117
118 * lisp.h (Fprovide): Update prototype.
119 (Ffeaturep, invisible_p): Remove.
120
bbc4a3d3 121 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
122 (DOLIST, LOOP_PROPVAL): New macros.
123 (invisible_p, invisible_ellipsis_p): Use them.
124 (invisible_noellipsis_p): New function.
125 (syms_of_xdisp): Use empty_string.
126
127 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
128
129 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
130 (syms_of_lread) <Vafter_load_alist>: Update docstring.
131
132 * print.c (Fwith_output_to_temp_buffer): Align with
133 internal_with_output_to_temp_buffer.
134 (print_preprocess): Use traverse_intervals_noorder.
135 (print_object): Update call to traverse_intervals.
136
137 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
138 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
139
140 * intervals.c (traverse_intervals_noorder): New function.
141 (search_for_interval, count_intervals): Use it.
142 (traverse_intervals): Use less stack space and drop `depth' arg.
143
144 * fns.c (Ffeaturep): Add new `subfeature' arg.
145 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
146 (Qsubfeatures): New var.
147 (syms_of_fns): Initialize it.
148
026f408d
SM
149 * keymap.c (Fkey_description): Use empty_string.
150 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
151 (syms_of_keymap): Setup inheritance between maps.
152 Don't export Sdescribe_bindings_internal any more.
153
be5fc59b
SM
154 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
155
3365175e
GM
1562001-10-12 Gerd Moellmann <gerd@gnu.org>
157
158 * xterm.c (notice_overwritten_cursor): Renamed from
159 note_overwritten_text_cursor. Rewritten to take glyph widths into
160 account.
161
2ab7765c
EZ
1622001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
163
164 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
165 multi-line strings without a trailing "\n\".
166
311346bb
PJ
1672001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
168
169 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
170 defined.
171
2168e04d
SM
1722001-10-11 Stefan Monnier <monnier@cs.yale.edu>
173
026f408d
SM
174 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
175
c0ec53ad
SM
176 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
177 * w32proc.c (sys_spawnve):
178 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
179 * w32.c (check_windows_init_file):
180 * sound.c (Fplay_sound):
026f408d 181 * emacs.c (init_cmdargs):
c0ec53ad
SM
182 * process.c (Fstart_process): Update calls to openp.
183
184 * callproc.c (Vexec_suffixes): New var.
185 (Fcall_process): Update call to openp.
186 (decode_suffixes): New function.
187 (syms_of_callproc): Init exec-suffixes.
188
189 * lread.c (Vload_suffixes, default_suffixes): New vars.
190 (openp): Take a lisp list of suffixes.
191 Check for file-name-handlers even if the file was absolute already.
192 (syms_of_lread): Declare load-suffixes.
193 (Fload): Fix up call to openp.
194 Don't bother checking for file-name-handler at the very beginning.
195
f6333468
SM
196 * keymap.h (Fcopy_keymap): Don't export.
197
198 * lisp.h (empty_string): Declare.
c0ec53ad
SM
199 (Vload_suffixes, Vexec_suffixes): Declare.
200 (openp): Update prototype.
f6333468
SM
201
202 * emacs.c (empty_string): New var.
203 (syms_of_emacs): Initialize it.
204
205 * search.c (wordify): Use it.
206
207 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
208 selected window if it's not displayed there. Handle the case
209 when the window is dedicated.
210 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
211
212 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
213
2168e04d
SM
214 * syntax.h (struct gl_state_s): Change the meaning of b_property.
215 Remove left_ok and right_ok.
216 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
217 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
218 new meaning of b_property.
219
220 * syntax.c (update_syntax_table): Simplify.
221 (Fforward_comment): Don't skip quoted chars when going backward.
222
13d95cc0
GM
2232001-10-11 Gerd Moellmann <gerd@gnu.org>
224
beb0990f
GM
225 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
226 in case I is of some unsigned type, in which case
227 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
228 comparison becomes bogus.
229
cb938d46
GM
230 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
231 (Fuser_full_name): Fix bug treating a float as a fixnum.
232
233 * data.c (Fstring_to_number): Use make_fixnum_or_float.
234
235 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 236
13d95cc0
GM
237 * lisp.h (circular_list_error): Add prototype.
238
239 * data.c (Qcircular_list): New variable.
240 (circular_list_error): New function.
241 (syms_of_data): Initialize it Qcircular_list.
242
e35f6ff7
SM
2432001-10-10 Stefan Monnier <monnier@cs.yale.edu>
244
245 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
246 casefiddle.c, buffer.c: Include keymap.h.
247
619632ac
GM
2482001-10-10 Gerd Moellmann <gerd@gnu.org>
249
250 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
251 options. From Dave Love <d.love@dl.ac.uk>.
252
5e5388f6
GM
2532001-10-09 Gerd Moellmann <gerd@gnu.org>
254
255 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
256 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
257
14a3dff7
GM
258 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
259 unsigned char.
260 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 261
76ba8daf
AI
2622001-10-08 Andrew Innes <andrewi@gnu.org>
263
264 * lisp.h [max]: Undef min and max before redefining them.
265
266 * w32gui.h: Do not undef min and max.
267
268 * w32heap.h: Do not undef min and max.
269
270 * s/ms-w32.h: Do not undef min and max.
271
166253cb
SM
2722001-10-08 Stefan Monnier <monnier@cs.yale.edu>
273
274 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
275
0c4d9527
SS
2762001-10-08 Sam Steingold <sds@gnu.org>
277
278 * keymap.c (current-active-maps): Quote newlines (compilation error).
279
14bfa771
EZ
2802001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
281
282 * Makefile.in (lisp, shortlisp): Replace bindings.el with
283 bindings.elc, since otherwise doc strings in bindings.el get wrong
284 offsets in etc/DOC.
285
bdb7aa47
SM
2862001-10-08 Stefan Monnier <monnier@cs.yale.edu>
287
9985827f
SM
288 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
289
290 * keyboard.h (map_prompt): Remove.
291
292 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 293 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 294
bdb7aa47
SM
295 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
296
297 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
298
299 * keyboard.c (map_prompt): Remove.
300 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
301 Use Fkeymap_prompt.
302
303 * keymap.h: New file. Extracted from lisp.h.
304
9985827f
SM
305 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
306 (accessible_keymaps_1): New function.
307 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
308 (Fwhere_is_internal): Use Fcurrent_active_maps.
309 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
310 Insert in current buffer rather than standard-output.
311 Don't call `help-mode'. Export to elisp.
312 (describe_buffer_bindings): New wrapper.
313 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
314 and Sdescribe_buffer_bindings.
315
402c9a51
GM
3162001-10-08 Gerd Moellmann <gerd@gnu.org>
317
9985827f 318 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
319 Remove code setting signal handler.
320
9985827f 321 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
322 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
323
3fe81fdf
PJ
3242001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
325
326 * keyboard.c: Don't define min/max.
327
55fa7820
GM
3282001-10-08 Gerd Moellmann <gerd@gnu.org>
329
9985827f 330 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 331 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 332 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 333 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 334 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
335 Don't define min/max.
336
337 * lisp.h (min, max): New macros.
338
55fa7820
GM
339 * puresize.h (BASE_PURESIZE): Increase to 725000.
340
1aad31e4
PJ
3412001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
342
9180dc8c
PJ
343 * xfaces.c (free_frame_menubar): Add prototype.
344
01f67d2c
PJ
345 * lisp.h (init_window): Add prototype.
346
347 * editfns.c: Include ctype.h.
348
349 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 350 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
351 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
352 variable `sb'.
353
5f351ff1
PJ
354 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
355 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
356 `popup_activated_flag' and `title'.
357
479dfe87
PJ
358 * doc.c (Fdocumentation_property): Fix typo in a doc string.
359
dff49fc8
PJ
360 * emacs.c (main): Remove extra `;'.
361
248ac615
PJ
362 * atimer.h (struct atimer): Fix typos in a comment.
363
364 * atimer.c: Fix typo.
365
af232c7d
PJ
366 * Makefile.in: Fix typo.
367
368 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 369
d876f455
MB
3702001-10-07 Miles Bader <miles@gnu.org>
371
372 * Makefile.in (lisp, shortlisp): Add `button.elc'.
373
0037e2f2
KR
3742001-10-07 Ken Raeburn <raeburn@gnu.org>
375
b056f36d
KR
376 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
377 Lisp_Object.
378
0037e2f2
KR
379 * lisp.h (Ffield_end): Declare.
380
1a4372ef
GM
3812001-10-07 Gerd Moellmann <gerd@gnu.org>
382
a4a74e8c
GM
383 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
384
385 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
386
387 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
388
389 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
390
1a4372ef
GM
391 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
392 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
393
394 * alloc.c (inhibit_garbage_collection): Simplify.
395 (Fmemory_use_counts): Ditto.
396
9985827f 397 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
398 (syms_of_data): DEFVAR_INT most-positive-fixnum and
399 most-negative-fixnum.
400
9985827f 401 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
402 (FIXNUM_OVERFLOW_P): New macros.
403
4650e362
MB
4042001-10-06 Miles Bader <miles@gnu.org>
405
406 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
407 scroll_bar_bottom_shadow_pixel fields.
408 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
409 for the shadows, and tell the toolkit about them if we succeed.
410 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
411 Free scroll-bar shadow colors.
412 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
413 Free scroll-bar shadow colors when the background color changes.
414 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
415 Initialize scroll-bar shadow-color fields.
416
ace64e0a
GM
4172001-10-05 Gerd Moellmann <gerd@gnu.org>
418
419 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
420
ec66bdc7
MB
4212001-10-05 Miles Bader <miles@gnu.org>
422
9985827f
SM
423 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
424 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 425 New functions (were in simple.el).
9985827f 426 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
427 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
428 (syms_of_minibuf): Initialize them.
429
a0fb4492
GM
4302001-10-05 Gerd Moellmann <gerd@gnu.org>
431
432 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
433 (tiff_load): Install them as error and warning handler.
434
0bcf87c1
AI
4352001-10-04 Andrew Innes <andrewi@gnu.org>
436
437 * w32fns.c (x_to_w32_color): Fix argument to alloca.
438 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 439 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
440 (x_to_w32_charset): Handle private format for unknown charsets.
441 Handle wildcards in charset spec, by ignoring them.
442 (w32_codepage_for_font): Fix argument to alloca. Don't remove
443 "*-" prefix from charset.
444 (x_to_w32_font): Enlarge remainder array for safety. Specifically
445 handle the truncated font spec form constructed by font_list_1, so
446 that we correctly identify the charset fields. Don't remove "*-"
447 prefix from charset.
448 (w32_list_synthesized_fonts): Fix argument to alloca.
449
c89e4bc5
GM
4502001-10-04 Stefan Monnier <monnier@cs.yale.edu>
451
452 * window.h (MINI_WINDOW_P): Use NILP.
453
454 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
455
456 * termhooks.h (struct input_event): Use proper type for `kind'.
457
4582001-10-04 Gerd Moellmann <gerd@gnu.org>
459
460 This handles unknown keysyms better than before. For example,
461 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
462 Emacs formerly completely ignored F5. With the change, it derives
463 a key symbol from the name of the X keysym, `ccaron' in this case.
464 Reported by Martin Buchholz.
465
466 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
467 unknown keysyms.
468
469 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
470 that EVENT->code isn't a function key, use the keysym's name.
471
4722001-10-04 Gerd Moellmann <gerd@gnu.org>
473
474 FOREACH is a macro that should make it easier to loop over Lisp
475 lists with checks for cycles and proper lists.
476
477 * lisp.h (LIST_END_P, FOREACH): New macros.
478
4792001-10-04 Gerd Moellmann <gerd@gnu.org>
480
481 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
482 called for a lost connection. Prevent dumping core in this case.
483 Instead print the X error, and exit. On user request.
484
485 * xterm.c (error_msg): New variable.
486 (x_fatal_error_signal): New function.
487 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
488 as fatal_error_signal_hook around the call to XtCloseDisplay.
489
490 * emacs.c (fatal_error_signal_hook): New variable.
491 (fatal_error_signal): Call that function.
492
4932001-10-04 Gerd Moellmann <gerd@gnu.org>
494
495 With this, Emacs prints how much pure storage it will
496 approximately need in case pure storage overflows while dumping.
497
498 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
499 New variables.
500 (init_alloc_once): Initialize new variables.
501 (PURE_POINTER_P): Use new variables.
502 (pure_alloc): If pure storage overflows, allocate from the heap.
503 (check_pure_size): New function.
504 (Fgarbage_collect): Don't GC if pure storage has overflowed.
505
506 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
507 (check_pure_size): Add prototype.
508
509 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
510
5112001-10-04 Gerd Moellmann <gerd@gnu.org>
512
513 This adds a post-gc-hook that's run with GC inhibited.
514 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
515
516 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
517 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
518 (Fgarbage_collect): Run post-gc-hook.
519
5202001-10-04 Gerd Moellmann <gerd@gnu.org>
521
522 This adds `defvaralias' and `indirect-variable'. Changes not
523 directly related to this feature are there to gain the same
524 performance again as before variable aliases.
525
526 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
527 code to get and set symbol values, to take defvaralias into account.
528
529 (Note: the new `constant' bit-flag in symbols would make it
530 possible to define arbitrary read-only variables, e.g. with
531 `defconst'.)
532
533 Documentation is in lispref/variables.texi. Added to NEWS.
534
535 * lisp.h (enum symbol_interned): New enumeration.
536 (struct Lisp_Symbol): Remove member `obarray', add
537 `indirect_variable', `constant', and `interned'.
538 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
539 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
540 (indirect_variable): Add prototype.
541
542 * print.c (print_preprocess, print_object): Test internedness of
543 symbols differently.
544
545 * lread.c (Fintern, Funintern): Set symbol's interned and constant
546 bit-fields.
547 (init_obarray): Likewise for t and nil.
548
549 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
550 (Fdefvaralias): New function.
551 (specbind): Simplify the test if symbol is a constant.
552 (syms_of_eval): Defsubr Fdefvaralias.
553
554 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
555 (Qcyclic_variable_indirection): New variable.
556 (Fkeywordp): Check for internedness differently.
557 (Fmakunbound): Simplify the test if symbol is a constant.
558 (indirect_variable, Findirect_variable): New functions.
559 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
560 aliased symbol.
561 (let_shadows_buffer_binding_p): Check for variable aliases.
562 (set_internal): Simplify the test if SYMBOL is a constant.
563 If SYMBOL has a buffer-local value and is an alias, use the aliased
564 symbol instead.
565 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
566 Sindirect_variable.
567
568 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
569 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
570 set directly.
571
572 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
573
574 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
575 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
576 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
577
ab952a4f
GM
5782001-10-04 Gerd Moellmann <gerd@gnu.org>
579
580 * Branch for 21.1.
b56ba8de 581
ba88ff28
MB
5822001-10-03 Miles Bader <miles@gnu.org>
583
584 * callproc.c (syms_of_callproc): Explicitly state in the
585 documentation for `process-environment' that earlier entries take
586 precedence over later ones.
587
ae1a9581
MB
5882001-10-02 Miles Bader <miles@gnu.org>
589
590 * textprop.c (Fnext_char_property_change)
591 (Fprevious_char_property_change): Remove reference to non-existant
592 argument OBJECT from doc-string.
593
257e3f57
GM
5942001-10-01 Gerd Moellmann <gerd@gnu.org>
595
596 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
597 (try_window_id): Skip back over lines ending in a newline from a
598 string.
599
600 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
601 New bit flag
602
c1f29759
RS
6032001-10-01 Richard M. Stallman <rms@gnu.org>
604
605 * search.c (Freplace_match): Doc fix.
606
c30dce3d
AI
6072001-09-28 Andrew Innes <andrewi@gnu.org>
608
609 * w32menu.c (set_frame_menubar): Take into account that
610 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
611 <raeburn@gnu.org>.
612
03be5931
EZ
6132001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
614
615 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
616
75bec752
PJ
6172001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
618
619 * s/gnu-linux.h: Fix a typo in comment.
620
83100e0a
AS
6212001-09-28 Andreas Schwab <schwab@suse.de>
622
623 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
624 nocombreloc, in case -z combreloc is the default.
625
a74b48cf
GM
6262001-09-28 Gerd Moellmann <gerd@gnu.org>
627
628 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
629 really going on here.
630
09c4719e
SM
6312001-09-27 Stefan Monnier <monnier@cs.yale.edu>
632
633 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
634
f7d5d963
EZ
6352001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
636
637 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
638 utf-8, menu-bar, and latin-N.
639 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
640 unconditionally now.
641 (lisp): Add latin-N, since they are preloaded.
642
9240e746
GM
6432001-09-27 Gerd Moellmann <gerd@gnu.org>
644
14531065
GM
645 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
646 to the left. Some cleanup.
647
9240e746
GM
648 * xdisp.c (display_mode_element): One more case where a string's
649 multibyteness should be used for display.
650
edd1e654
GM
6512001-09-26 Gerd Moellmann <gerd@gnu.org>
652
b02439c8
GM
653 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
654 reading at EOF.
655
032906b1 656 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 657 of the only temporarily set echoing flag for deciding when
032906b1
GM
658 the cancel echoing.
659
660 * keyboard.c (echo_kboard): Make externally visible.
661
662 * lisp.h (echo_kboard): Declare extern.
663
cb617e7c 664 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 665 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
666 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
667 this round of redisplay if make_cursor_line_fully_visible fails.
668 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 669 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
670
671 * dispextern.h (required_matrix_width, required_matrix_height):
672 Add prototypes.
673
09c4719e
SM
674 * dispnew.c (required_matrix_width, required_matrix_height):
675 New functions.
cb617e7c 676 (allocate_matrices_for_window_redisplay)
09c4719e
SM
677 (allocate_matrices_for_frame_redisplay: Use them.
678 Remove parameters CH_DIM.
cb617e7c 679
edd1e654
GM
680 * xdisp.c (display_mode_lines): Temporarily set selected_frame
681 and selected_window to the frame of the window whose mode-lines
682 are displayed, and to the window itself.
683 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 684 here.
edd1e654 685
924b604c
GM
6862001-09-25 Gerd Moellmann <gerd@gnu.org>
687
daba7643
GM
688 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
689 the image cache under us.
690
b7a22712 691 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 692 with a string value, use that string's multibyteness for displaying.
b7a22712 693
ad648212
GM
694 * keyboard.c (read_char): Don't clear a message for a switch-frame
695 event. From Stefan Monnier <monnier@cs.yale.edu>.
696
9f8531e5
GM
697 * xterm.c (fast_find_position) [0]: Add a presumably more correct
698 version for after 21.1.
699
700 * xdisp.c (row_containing_pos): Make externally visible.
701
702 * dispextern.h (row_containing_pos): Add prototype.
703
924b604c
GM
704 * process.c (send_process): Disable composition if from_byte < 0.
705 From Kenichi Handa <handa@etl.go.jp>.
706
6f3f0db4
GM
7072001-09-24 Gerd Moellmann <gerd@gnu.org>
708
c69c0ebc
GM
709 * xterm.c (refreshicon): Function removed.
710
d1182bc4
GM
711 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
712
713 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
714
715 * xterm.c (toplevel): Remove includes in #if 0.
716
6f3f0db4
GM
717 * process.c (sigchld_handler) [LINUX]: Don't return from
718 the signal handler at the end of the loop.
719
59957f85
GM
7202001-09-21 Gerd Moellmann <gerd@gnu.org>
721
09c4719e
SM
722 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
723 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 724
a0528984
EZ
7252001-09-21 Markus Rost <rost@math.ohio-state.edu>
726
727 * Makefile.in (shortlisp): Add ../lisp/env.elc.
728
db92b288
GM
7292001-09-20 Gerd Moellmann <gerd@gnu.org>
730
3fed8ad5
GM
731 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
732 since this function can be called during GC.
733
db92b288
GM
734 * callproc.c (Fcall_process): Handle errors from pipe(2).
735 (child_setup): Delete code in #ifdef vipc.
736
7121b85a
GM
7372001-09-19 Gerd Moellmann <gerd@gnu.org>
738
72f62cb5
GM
739 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
740 (display_mode_element): Display the string from decode_mode_spec
741 depending on its multibyteness.
742
a2697022
GM
743 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
744
7121b85a
GM
745 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
746
bfc97351
GM
7472001-09-18 Gerd Moellmann <gerd@gnu.org>
748
c9063433
GM
749 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
750 recursive_edit_unwind.
751 (recursive_edit_unwind): Set kboard state according to
752 SINGLE-KBOARD.
753
3fbdba3e
GM
754 * buffer.c (modify_overlay): Don't do nothing if START == END;
755 This can still be a modification, for example when an overlay has
756 a before-string or after-string.
757 (Fdelete_overlay): Prevent redisplay optimizations when deleting
758 an overlay with before-string or after-string.
759
1270031d
GM
760 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
761 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
762
bfc97351
GM
763 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
764 first_unchanged_at_end_row is in front of
765 last_unchanged_at_beg_row. This code should be removed after the
766 release of 21.1.
767
d8a973aa
GM
7682001-09-17 Gerd Moellmann <gerd@gnu.org>
769
e18c8b8d
GM
770 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
771 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
772
d8a973aa
GM
773 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
774 versions >= 2.95.
775
ed7d6ba4
EZ
7762001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
777
778 * dired.c (Ffile_attributes): Doc fix.
779
551629f9
GM
7802001-09-14 Gerd Moellmann <gerd@gnu.org>
781
782 * fileio.c (Ffile_symlink_p): Fix last change.
783
784 * filelock.c (current_lock_owner): Fix last change.
785
4c8c7926
GM
7862001-09-13 Gerd Moellmann <gerd@gnu.org>
787
620c4704
GM
788 * filelock.c (current_lock_owner): If readlink returns ERANGE,
789 take that to mean that the buffer is too small.
790
81c3310d
GM
791 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
792 that to mean that the buffer is too small.
793
06fd3792
GM
794 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
795 current buffer's multibyteness when discarding the iterator's
796 stack.
797
4c8c7926
GM
798 * xfns.c (Fx_window_property): Handle case that property gets
799 deleted between the two calls to XGetWindowProperty.
800
9a72e4c1
GM
8012001-09-11 Gerd Moellmann <gerd@gnu.org>
802
bd819d14 803 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 804
a41edd99
GM
805 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
806 in addition to read-only.
807
808 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
809 to t in addition to read-only.
810
811 * lisp.h (Qinhibit_modification_hooks): Declare.
812
813 * insdel.c (Qinhibit_modification_hooks): New variable.
814 (syms_of_insdel): Initialize and staticpro it.
815
d4881c6a
GM
816 * textprop.c (verify_interval_modification): Don't run
817 modification-hooks if inhibit_modification_hooks.
818
819 * dispnew.c (set_window_cursor_after_update): Fix code
820 finding glyph row containing cursor when cursor_in_echo_area
821 is >= 0.
822
9a72e4c1
GM
823 * xdisp.c (init_from_display_pos): Put some code in #if 0.
824 (add_to_log): Use bcopy instead of strcpy.
825 (init_from_display_pos): Use an explicit loop over bytes in
826 overlay strings instead of calling index.
827
f4a374a1
GM
8282001-09-10 Gerd Moellmann <gerd@gnu.org>
829
300e57bd
GM
830 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
831
832 * dispnew.c (direct_output_for_insert): Don't change IT's
833 stop_charpos to something in front of its current position.
834
f4a374a1
GM
835 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
836 `format'.
837
7e4cbc91
RS
8382001-09-10 Richard M. Stallman <rms@gnu.org>
839
840 * frame.c (Fmouse_position): Doc fix.
841
6afad91e
GM
8422001-09-07 Gerd Moellmann <gerd@gnu.org>
843
844 * xdisp.c (init_from_display_pos): Don't compare the result
845 of calling index with NULL.
846
f76e0368
GM
8472001-09-06 Gerd Moellmann <gerd@gnu.org>
848
849 * xfns.c (x_set_background_color): Don't change the colors
850 of the X window of scroll bar widgets.
851
9ead1b60
AI
8522001-09-05 Andrew Innes <andrewi@gnu.org>
853
854 * w32fns.c (w32_createwindow): Undo last change.
855
c3b497b3
GM
8562001-09-05 Gerd Moellmann <gerd@gnu.org>
857
08e1d6df
GM
858 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
859
c3b497b3
GM
860 * xdisp.c (string_buffer_position): Use *single_char_property*
861 functions instead of the *single_property* functions.
b56ba8de 862
8f860180
AI
8632001-09-04 Andrew Innes <andrewi@gnu.org>
864
9a72e4c1
GM
865 * w32term.c (w32_read_socket): Add more information to debugging
866 output.
8f860180
AI
867
868 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
869 from Emacs frames, so that calls to GetClipBox in w32term.c
870 correctly report when part of a frame is visible (including
871 scrollbars, etc). This prevents repeated redrawing of frames when
872 only a scrollbar is visible.
873 (w32_wnd_proc): Add more frame information to debugging output.
874
2ee1aa00
SM
8752001-09-03 Stefan Monnier <monnier@cs.yale.edu>
876
877 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
878
e3b22517
GM
8792001-09-03 Gerd Moellmann <gerd@gnu.org>
880
7e376260
GM
881 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
882 help-echo for a string which doesn't have help-echo itself, use
883 get-char-property to obtain the help-echo from the string's buffer
884 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
885 have mouse-face, look ``under'' the string for mouse-face from an
886 overlay.
887 (fast_find_position): Add parameter STOP. In the final row, stop
888 before glyphs having STOP as object. Don't consider glyphs that
889 are not from a buffer.
890
e3b22517
GM
891 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
892
9a249bba
EZ
8932001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
894
895 * fns.c (Fmd5): Doc fix.
896
c9979669
GM
8972001-08-31 Gerd Moellmann <gerd@gnu.org>
898
899 * composite.c (update_compositions): Do nothing if
900 inhibit-modification-hooks is set.
901
9584e63a
GM
9022001-08-30 Gerd Moellmann <gerd@gnu.org>
903
986ec8f2 904 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 905 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
906 glyph matrices etc. in a core dump.
907
92a25631
GM
908 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
909 (syms_of_xdisp): Initialize them.
910 (handle_single_display_prop): Don't change point, bind `object',
911 `position', and `buffer-position' instead to the object having the
2ee1aa00 912 `display' property, position in the object and position in the buffer.
92a25631 913
9584e63a
GM
914 * fileio.c (Finsert_file_contents): Don't change the multibyteness
915 of the buffer if REPLACE is non-nil.
916
d38633a3
GM
9172001-08-29 Gerd Moellmann <gerd@gnu.org>
918
919 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
920
f4fccc1e
EZ
9212001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
922
923 * w32term.c (x_set_glyph_string_background_width)
924 (show_mouse_face): Track the last changes in xterm.c.
925
eaaa65b0
GM
9262001-08-28 Gerd Moellmann <gerd@gnu.org>
927
7b0870b2
GM
928 * xterm.c (x_set_glyph_string_background_width): Set the glyph
929 string's background width so that multi-line mouse-face is drawn
930 to the right edge of the window.
931 (show_mouse_face): Set the row's mouse_face_p flag after drawing
932 glyphs.
933
6b6e2422 934 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 935 before inserting/writing glyphs.
6b6e2422 936
eaaa65b0
GM
937 * xdisp.c (display_mode_element): Use string_byte_to_char to
938 determine character positions in strings, use chars_in_text
939 instead of strwidth.
940 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
941 a matrix as parameter; this is easier to use from GDB.
942
9ad62cf8
MB
9432001-08-28 Miles Bader <miles@gnu.org>
944
2ee1aa00
SM
945 * textprop.c (Fprevious_single_char_property_change)
946 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 947
32171635
GM
9482001-08-27 Gerd Moellmann <gerd@gnu.org>
949
47d57b22
GM
950 * fileio.c (Finsert_file_contents): Allocate, restore, and
951 free composition data in the case of REPLACE not being nil.
952
953 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
954 there exist overlay strings with newlines at POS.
955 (text_outside_line_unchanged_p): Return 0 if changes start at
956 START and overlays exist at START. Likewise for END.
957 (try_window_id): Give up if init_to_row_end returns 0.
958
32171635
GM
959 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
960 unconditionally.
961
e1249666
GM
9622001-08-24 Gerd Moellmann <gerd@gnu.org>
963
33954c45
GM
964 * keymap.c (access_keymap): Return the cdr of the binding of
965 a generic character instead of its definition (KEY . BINDING).
966
e1249666
GM
967 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
968 to 0 also in the REPLACE case.
969
fb4c6c96
AC
9702001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
971
972 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
973 open to determine whether file is readable (as for DOS_NT).
974
59ecf80b
GM
9752001-08-23 Gerd Moellmann <gerd@gnu.org>
976
977 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
978 coding.type is coding_type_no_conversion or coding_type_raw_text,
979 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
980 non-nil instead of just setting enable_multibyte_characters in the
981 buffer to nil.
982
40e33037
GM
9832001-08-22 Gerd Moellmann <gerd@gnu.org>
984
374388c3
GM
985 * dispextern.h (struct face_cache): Add member
986 menu_face_changed_p.
987
988 * xfaces.c (menu_face_changed_default): New variable.
989 (menu_face_changed_count): Variable removed.
990 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
991 the menu_face_changed_default flag, otherwise set the FRAME's
992 menu_face_changed_p flag if the `menu' face has been changed.
993 Prevent calling set_font_frame_param if FRAME is t.
994 (make_face_cache): Initialize cache's menu_face_changed_p
995 from menu_face_changed_default.
996 (realize_basic_faces): Look into the frame's face cache to
997 determine if the menu appearance needs updating.
998
40e33037
GM
999 * keymap.c (access_keymap): Fix last change to not consider
1000 IDX when it has modifiers.
1001
859ea4b8
GM
10022001-08-21 Gerd Moellmann <gerd@gnu.org>
1003
1004 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1005 . BINDING) exists, where GENERIC-CHAR is the generic character of
1006 the charset of IDX, return BINDING unless there exists a binding
1007 for IDX itself.
1008
e8660d73
GM
10092001-08-16 Gerd Moellmann <gerd@gnu.org>
1010
cca1b1d7
GM
1011 * xrdb.c (SYSV): Don't define on Solaris 2.
1012 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1013
e8660d73 1014 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1015 of the screen line, not text line, containing IT's current position.
e8660d73 1016
93aba6fc
GM
10172001-08-15 Gerd Moellmann <gerd@gnu.org>
1018
288d4e06
GM
1019 * window.c (window_scroll_pixel_based): Don't recenter if
1020 PT is partially visible in the window.
1021
3452efc2
SM
1022 * xterm.c (expose_window_tree, expose_window, expose_line):
1023 Return 1 when overwriting mouse-face.
82f053ab
GM
1024 (expose_frame): If mouse-face was overwritten, redo it.
1025
93aba6fc
GM
1026 * xfaces.c (x_update_menu_appearance): Don't call
1027 set_frame_menubar, let the next redisplay do it.
1028
858a55c1
AI
10292001-08-14 Andrew Innes <andrewi@gnu.org>
1030
1031 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1032 drawing glyph string.
1033
3a990b67
EZ
10342001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1035
1036 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1037 running HI-UX/MPP.
1038
04386463
GM
10392001-08-14 Gerd Moellmann <gerd@gnu.org>
1040
1041 * xfaces.c (x_update_menu_appearance): Save and restore value of
1042 interrupt_input_blocked.
1043
3e6385a4
GM
10442001-08-13 Gerd Moellmann <gerd@gnu.org>
1045
b0e619b4
GM
1046 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1047 a line start, move back to the line start.
3452efc2 1048
0de73d5a
GM
1049 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1050 exactly when a mini-buffer is active.
1051
3e6385a4
GM
1052 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1053 in units of 1/8 character on non window-system frames.
1054 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1055
d1b5f629
EZ
10562001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1057
1058 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1059 a doc string.
1060
eaa2319f
GM
10612001-08-09 Gerd Moellmann <gerd@gnu.org>
1062
8e3189f0
GM
1063 * keyboard.c (Vpre_help_message): New variable.
1064 (syms_of_keyboard): Initialize and staticpro it.
1065 (show_help_echo): Record current message before displaying a
1066 help-echo, and restore that message when clearing the help.
1067
eaa2319f
GM
1068 * xfns.c (x_create_im): Remove prototype.
1069
1070 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1071
1072 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1073
eaa2319f
GM
10742001-08-08 Gerd Moellmann <gerd@gnu.org>
1075
1076 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1077 windows whose height has changed, disable partially visible lines.
eaa2319f 1078
17fdcfc8
GM
10792001-08-07 Gerd Moellmann <gerd@gnu.org>
1080
22d01aed 1081 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1082 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1083
17fdcfc8
GM
1084 * xdisp.c (start_display): Don't try to determine the continuation
1085 lines width if lines are truncated. It's superfluous and leads to
1086 incorrect results if POS is not visible in the window after
1087 reseating the iterator at the previous line start.
1088
8e3fe78e
GM
10892001-08-06 Gerd Moellmann <gerd@gnu.org>
1090
1091 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1092
98a8938c
GM
10932001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1094
1095 * alloc.c (init_stack): Remove declaration.
1096
18f9986a
GM
10972001-08-03 Gerd Moellmann <gerd@gnu.org>
1098
5e1f85e0
GM
1099 * keyboard.c (read_key_sequence): Check that key is an integer
1100 before comparing it with quit_char.
1101 (add_command_key): Use larger_vector.
1102 (read_char_x_menu_prompt): Instead of converting symbol and
1103 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1104 which cannot be confused with valid events.
5e1f85e0
GM
1105 (read_char): When reading from Vunread_command_events, check for
1106 events of the form (EVENT . disabled) instead of
1107 (EVENT . nil).
1108
18f9986a
GM
1109 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1110 a float, determine the max height from the frame's height.
1111
fbc7f2a6
GM
11122001-08-02 Gerd Moellmann <gerd@gnu.org>
1113
1114 * xdisp.c (redisplay_internal): Take message_cleared_p into
1115 account only if minibuf_level == 0.
1116
81b1a79d
GM
11172001-08-01 Gerd Moellmann <gerd@gnu.org>
1118
e5c60873
GM
1119 * xdisp.c (redisplay_internal): Add a check for the last
1120 displayed message.
3452efc2 1121
6e019995
GM
1122 * xdisp.c (message_cleared_p): New variable.
1123 (clear_message): Set message_cleared_p when clearing the current
1124 message.
1125 (redisplay_internal): Look at message_cleared_p to capture
1126 the case that the echo area should be cleared.
1127
308a74d8
GM
1128 * keyboard.c (command_loop_1): Fix spelling of
1129 resize_echo_area_exactly.
1130
3452efc2 1131 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1132
1133 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1134
81b1a79d
GM
1135 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1136 current matrix when the window gets smaller.
1137
ada329e6
EZ
11382001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1139
1140 * print.c (strout): Cast the character passed to insert_char to
1141 unsigned char, to avoid sign extension when it is promoted to int.
1142
ed86208c
GM
11432001-07-31 Gerd Moellmann <gerd@gnu.org>
1144
1145 * fileio.c (Finsert_file_contents): Don't treat a return value
1146 of 0 from emacs_read as an IO error.
1147
6594ac22
GM
11482001-07-30 Gerd Moellmann <gerd@gnu.org>
1149
cef68af5
GM
1150 * keyboard.c (abs): New macro.
1151 (double_click_fuzz): New variable.
1152 (make_lispy_event): Use it to determine what makes a double-click.
1153 (syms_of_keyboard): DEFVAR_INT it.
1154
6594ac22
GM
1155 * xmenu.c (set_frame_menubar): Take into account that
1156 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1157 <raeburn@gnu.org>.
1158
75c5350a
GM
11592001-07-27 Gerd Moellmann <gerd@gnu.org>
1160
1161 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1162
1163 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1164 of row's visible height.
1165
1166 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1167 deal with the first overlay string having an image `display' property.
1168 (try_window_reusing_current_matrix, compute_line_metrics):
1169 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1170 row is invisible above and part of the row is at the same time
1171 invisible below the window.
1172
ac49effe
GM
11732001-07-26 Gerd Moellmann <gerd@gnu.org>
1174
1175 * xfns.c (x-show-tip): Doc fix.
3452efc2 1176
ac49effe
GM
1177 * xfns.c (Vx_max_tooltip_size): New variable.
1178 (syms_of_xfns): DEFVAR_LISP it.
1179 (Fx_show_tip): Set frame's window_width to the width of the
1180 window. Use a maximum tooltip size specified by
1181 Vx_max_tooltip_size, if that has valid contents.
1182 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1183
8c3b00cb
AI
11842001-07-26 Andrew Innes <andrewi@gnu.org>
1185
1186 * w32term.c (x_display_list): New variable.
1187 (w32_term_init): Set it.
1188
1189 * w32term.h (x_display_list): New extern.
1190
16098288
GM
11912001-07-26 Gerd Moellmann <gerd@gnu.org>
1192
1193 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1194 is non-nil, instead of when redisplaying_p is non-zero.
1195 See comment there.
16098288
GM
1196 (mark_window_display_accurate_1): Add an assertion.
1197
64c5be50
GM
11982001-07-25 Gerd Moellmann <gerd@gnu.org>
1199
e743f599
GM
1200 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1201
563b384d
GM
1202 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1203 events so that we get a chance of processing expose events.
1204
64c5be50
GM
1205 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1206
296808a5
GM
12072001-07-24 Gerd Moellmann <gerd@gnu.org>
1208
1209 * xfns.c (valid_image_p): Protect better against invalid image
1210 specifications. Previous code could signal an error.
1211
5247262a
GM
12122001-07-23 Gerd Moellmann <gerd@gnu.org>
1213
3452efc2 1214 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1215 presence of display table entries.
1216 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1217
dd42b31a
GM
1218 * dispnew.c (adjust_glyph_matrix): In the optimization for
1219 windows whose height has changed, use the new window height
1220 to compute which rows to invalidate.
1221
9e5a7f2a
GM
1222 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1223 (MAX_10_EXP): New macro.
1224 (Fformat): Use it.
1225
5247262a
GM
1226 * coding.c (code_convert_region): Handle the multibyte case if
1227 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1228
177ab8ce
GM
12292001-07-20 Gerd Moellmann <gerd@gnu.org>
1230
6e07c0a5
GM
1231 * dispextern.h (struct face): Change type of `stipple' to
1232 int; it's an ID.
1233
177ab8ce
GM
1234 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1235
b5b80599
GM
12362001-07-19 Gerd Moellmann <gerd@gnu.org>
1237
4e2a256b
GM
1238 * dispnew.c (update_window): Don't set the cursor at the end
1239 of the update if display update has been paused.
1240
3452efc2 1241 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1242
c1fd9232
KR
12432001-07-18 Ken Raeburn <raeburn@gnu.org>
1244
1245 * fns.c (Fset_char_table_default): Check that a charset is defined
1246 before checking its dimension.
1247
928a85c1
KR
12482001-07-17 Ken Raeburn <raeburn@gnu.org>
1249
1250 * coding.c (setup_coding_system): Don't do any designation based
1251 on reg_bits if charset is not yet defined.
1252
fb4c6c96 1253 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1254 pointer, using eassert.
1255
de11c1ea
GM
12562001-07-17 Gerd Moellmann <gerd@gnu.org>
1257
3452efc2
SM
1258 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1259 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1260
467f1209
GM
12612001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1262
1263 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1264
c3d6be34
GM
12652001-07-16 Gerd Moellmann <gerd@gnu.org>
1266
c1d61a7d
GM
1267 * fileio.c (unwind_read): Function removed.
1268 (read_non_regular, read_non_regular_quit): New functions.
1269 (Finsert_file_contents): When reading from non-regular files,
1270 arrange to catch a `quit' and terminate the loop. Rearrange
1271 code so that a `quit' when reading from a regular file doesn't
1272 insert text in the buffer.
1273
c3d6be34
GM
1274 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1275 Clear faces afterwards.
1276 (clear_font_table): Take a x_display_info parameter. Don't free
1277 fonts being the default font of any frame on the given display.
1278
e06aa1f9
GM
12792001-07-13 Gerd Moellmann <gerd@gnu.org>
1280
1281 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1282 instead of CHAR_STRING which can signal an error.
1283
1284 * charset.c (char_to_string_1): Extracted from char_to_string.
1285 Return -1 instead of signaling an error.
1286 (char_to_string): Use it.
1287
1288 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1289
176c92e6
SM
12902001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1291
1292 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1293 is t, don't try to append anything to it.
1294
1c56232f
EZ
12952001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1296
1297 * dired.c (file_name_completion): Pass dp->d_name to
1298 Fstring_match, not elt, which is always nil here.
1299
1d2b2268
GM
13002001-07-12 Gerd Moellmann <gerd@gnu.org>
1301
1302 * xselect.c (x_decline_selection_request): Handle errors
1303 caused by receivers that have vanished.
1304
1305 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1306 ignoring events on foreign windows in #if 0. Always dispatch
1307 the event after checking it with x_handle_property_notify.
1308
1309 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1310 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1311 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1312 (toplevel): Add prototypes for file-local functions.
1313 (x_atom_to_symbol): Remove DPYINFO parameter.
1314
fe5a0162
SM
13152001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1316
1317 * w32menu.c (menubar_selection_callback, w32_menu_show):
1318 Initialize `entry' to nil.
1319 (w32_dialog_show): Remove unused `save_wv' variable.
1320 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1321
a777242c
GM
13222001-07-11 Gerd Moellmann <gerd@gnu.org>
1323
8ee5b6a3
GM
1324 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1325
d0e2444e
GM
1326 * fileio.c (unwind_read): Print a message when discarding inserted
1327 text or switching the buffer to unibyte. Change parameter.
1328 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1329
a777242c
GM
1330 * fileio.c (unwind_read): New function.
1331 (Finsert_file_contents): Record it as unwind-function for
1332 the case that reading is interrupted by C-g.
1333
ae794295
GM
13342001-07-10 Gerd Moellmann <gerd@gnu.org>
1335
fe5a0162 1336 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1337 update when scrolling_window returns 0.
1338
6b05fae3
GM
1339 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1340
1341 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1342 for the case that x_decode_color signals an error.
6b05fae3 1343
ae794295
GM
1344 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1345
bb6e8cee
GM
13462001-07-09 Gerd Moellmann <gerd@gnu.org>
1347
1348 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1349 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1350 around ioctls.
1351
36b40a8a
EZ
13522001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1353
24b97d4b
EZ
1354 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1355 doc string line for dos-timezone-offset.
1356
36b40a8a
EZ
1357 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1358 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1359 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1360 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1361
1362 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1363
0967b4b0
GM
13642001-07-05 Gerd Moellmann <gerd@gnu.org>
1365
f25cfe53
GM
1366 * sound.c: Include Emacs' header files with #include "...".
1367
0967b4b0
GM
1368 * eval.c (specbind): Additionally record the buffer that was
1369 current when a buffer-local or frame-local variable was bound.
1370
c347a1c3
GM
13712001-07-04 Gerd Moellmann <gerd@gnu.org>
1372
1373 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1374 to unibyte characters in unibyte buffers.
1375
6332ca8a
GM
13762001-07-03 Gerd Moellmann <gerd@gnu.org>
1377
38472d44
GM
1378 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1379 the frame on the binding stack. Change format of entries for
1380 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1381 (unbind_to): Handle unbinding a frame-local variable.
1382
6332ca8a 1383 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1384 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1385 (dump_glyph_row): Print row's continuation_lines_width.
1386 (try_window_id): Take the shortcut if ZV is visible in the
1387 window, but there are actually no changes at ZV.
1388
63d1b174
GM
13892001-07-02 Gerd Moellmann <gerd@gnu.org>
1390
4c175203
GM
1391 * xterm.h (x_free_dpy_colors): Add prototype.
1392
1393 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1394 right number of arguments.
1395
0b54ce28
GM
1396 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1397 ($(lwlibdir)TAGS): New target.
4c175203 1398 (TAGS): Fix dependency list.
0b54ce28 1399
63d1b174
GM
1400 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1401 with input blocked.
1402
d827466c
GM
14032001-06-30 Gerd Moellmann <gerd@gnu.org>
1404
1405 * emacs.c (main): Remove extern declaration for sys_nerr, which
1406 isn't used and causes a compilation error with GCC 3.0 on
1407 FreeBSD 4.3.
1408
b5cb1ada
GM
14092001-06-27 Gerd Moellmann <gerd@gnu.org>
1410
a5d3ec3f 1411 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1412 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1413 (toplevel): Include <signal.h> and syssignal.h.
1414
b5cb1ada
GM
1415 * sound.c (vox_configure, vox_close): Turn off atimers
1416 around ioctls.
1417
d9bad487
GM
14182001-06-26 Gerd Moellmann <gerd@gnu.org>
1419
fdbb67fe
GM
1420 * keyboard.c (read_char) <non_reread>: Record the previous idle
1421 start time before calling timer_stop_idle.
1422 (read_char) <reread_first>: After processing a help-echo event,
1423 restore the previous idle start time.
1424
d9bad487
GM
1425 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1426 the start of invisible text.
1427 (setup_for_ellipsis): New function.
1428 (next_overlay_string): After all overlay strings have been
1429 processed, display an ellipsis if necessary.
1430 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1431 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1432
1433 * dispextern.h (struct iterator_stack_entry): Add member
1434 display_ellipsis_p.
1435
2b9c25e0
GM
14362001-06-25 Gerd Moellmann <gerd@gnu.org>
1437
80de57df
GM
1438 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1439 on the value of the wait-for-wm frame parameter.
1440
1441 * xterm.h (struct x_output): Add member wait_for_wm.
1442
1443 * xfns.c (Qwait_for_wm): New variable.
1444 (x_frame_parms): Add entry for `wait-for-wm".
1445 (x_set_wait_for_wm): New function.
1446 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1447 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1448
2b9c25e0
GM
1449 * xdisp.c (try_window_id) <all changes below window end>: Don't
1450 take this shortcut if ZV is visible in the window.
1451 (try_window_id): When checking for window start being in changed
1452 text, don't check that the buffer's size has changed.
1453
f772775c
RS
14542001-06-23 Richard M. Stallman <rms@gnu.org>
1455
1456 * minibuf.c (Fcompleting_read): Doc fix.
1457
fa9090b8
GM
14582001-06-19 Gerd Moellmann <gerd@gnu.org>
1459
1460 * composite.c (Ffind_composition_internal): Accept ZV
1461 and a string's end position as POS.
1462
f6f1beba
GM
14632001-06-18 Gerd Moellmann <gerd@gnu.org>
1464
1465 * composite.c (Ffind_composition_internal): Check POS
1466 for validity.
1467
0ae83348
EZ
14682001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1469
1470 * editfns.c (Fmessage_box): If the frame is not under a window
1471 system, output the message in the echo area.
1472
e4cdc335
RS
14732001-06-14 Richard M. Stallman <rms@gnu.org>
1474
1475 * xdisp.c (try_window_id): When EOB is visible, don't treat
1476 insertion at EOB as if it were "off the bottom of the screen."
1477
a55a5f3c
AI
14782001-06-11 Andrew Innes <andrewi@gnu.org>
1479
1480 * w32proc.c (create_child): Add new parameter is_gui_app.
1481 (w32_executable_type): Add new parameter is_gui_app.
1482 (sys_spawnve): Use it.
1483 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1484 SIGQUIT. This matches better how the signals are interpreted by
1485 MSVC compiled programs.
1486 (syms_of_ntproc): Update docstring.
1487
1b85dc1c
SM
14882001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1489
1490 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1491 well otherwise note_mouse_highlight might optimize away highlighting
1492 if we pass over that same overlay again.
1493
b75f8eab
EZ
14942001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1495
1496 * lread.c (Fload): Document that the argument is run via
1497 substitute-in-file-name.
1498
94843cc1
GM
14992001-05-31 Gerd Moellmann <gerd@gnu.org>
1500
b14659e6
GM
1501 * Makefile.in (bootstrap-doc): New target.
1502 (bootstrap-emacs): Depend on it.
1503
0894672f
GM
1504 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1505 auto-save-list-file-name when shutting down Emacs, because
1506 creating the directory might signal an error, and leaves
1507 Emacs in a strange state.
1508
94843cc1
GM
1509 * term.c: (tty_cursor_hidden): New variable.
1510 (update_begin): Don't call tty_hide_cursor. Clean up.
1511 (update_end, set_terminal_window, set_scroll_region): Clean up.
1512 (ring_bell, reset_terminal_modes): Clean up.
1513 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1514 on tty_cursor_hidden.
1515 (write_glyphs): Call tty_hide_cursor.
1516
db3a49a6
SM
15172001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1518
1519 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1520
8bd189fb
GM
15212001-05-30 Gerd Moellmann <gerd@gnu.org>
1522
6f1be3b9
GM
1523 * xfns.c (enum image_value_type): New enumerator
1524 IMAGE_STRING_OR_NIL_VALUE.
1525 (parse_image_spec): Handle it.
1526 (xbm_format, pbm_format): Use it for :foreground and :background.
1527 (xbm_load, pbm_load): Check for nil color names.
1528
8bd189fb
GM
1529 * xterm.c (note_mouse_highlight): If an overlapping overlay
1530 exists, but we find that we highlight the same overlay as before,
1531 don't do the highlighting again.
1532
7bdba03c
GM
15332001-05-29 Gerd Moellmann <gerd@gnu.org>
1534
4c329aa8
GM
1535 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1536 Protect unibyte strings created by replacing their multibyte
1537 equivalents in menu_items.
1538
e15e2828
GM
1539 * keymap.c (Fsingle_key_description): NUL-terminate the string
1540 buffer before calling build_string.
1541
7bdba03c
GM
1542 * callproc.c (Fcall_process): Deal with decode_coding returning
1543 CODING_FINISH_INCONSISTENT_EOL.
1544
89c8dc6c
GM
15452001-05-28 Gerd Moellmann <gerd@gnu.org>
1546
db3a49a6 1547 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1548 an item's name with its key description in case the description
1549 is a multibyte string.
1550
1551 * keymap.c (Fsingle_key_description): Create a multibyte string
1552 only if necessary.
1553
eb04d6cd
GM
1554 * macros.c (Fstart_kbd_macro): Doc fix.
1555
8bd6307f
GM
1556 * xterm.c (cursor_in_mouse_face_p): New function.
1557 (x_draw_stretch_glyph_string): Use it to choose a different GC
1558 when drawing a cursor within highlighted text.
1559
e26c4089
GM
1560 * editfns.c (char_property_eq): Put in #if 0.
1561
1562 * indent.c (string_display_width): Put in #if 0.
1563
1564 * lread.c (Fload): Remove unused label.
1565
89c8dc6c
GM
1566 * termcap.c (speeds): Put in #if 0.
1567
9a1211f2
GM
15682001-05-18 Gerd Moellmann <gerd@gnu.org>
1569
29148a3f
GM
1570 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1571
9a1211f2
GM
1572 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1573 transformation matrix by 10.
1574
09393d07
GM
15752001-05-16 Gerd Moellmann <gerd@gnu.org>
1576
1577 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1578 only if it's equal to the former foreground pixel color.
db3a49a6 1579 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1580 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1581
460e6bae
GM
15822001-05-16 Dave Love <fx@gnu.org>
1583
1584 * insdel.c (signal_before_change, signal_after_change): Consider a
1585 local change hook which changes the buffer.
99c78ce8
GM
1586
1587 * process.c (read_process_output): Don't call signal_after_change
1588 and update_compositions after insert_from_string_before_markers.
1589
dbcf3c03
GM
15902001-05-16 Gerd Moellmann <gerd@gnu.org>
1591
a90b3d3c
GM
1592 * xfaces.c (split_font_name): Use the right field when
1593 checking for `[...]' syntax.
1594
1b7818b4
GM
1595 * buffer.c (copy_overlays): New function.
1596 (clone_per_buffer_values): Use it.
1597
1598 * buffer.h (OVERLAY_PLIST): New macro.
1599
9bae8781
GM
1600 * keymap.c (Fsingle_key_description): Replace a build_string with
1601 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1602
dbcf3c03
GM
1603 * fontset.c (Ffontset_info): Check that face is non-null
1604 before accessing its fields.
1605
8a1ae4dd
GM
16062001-05-15 Gerd Moellmann <gerd@gnu.org>
1607
18a0a39e
GM
1608 * keyboard.c (read_key_sequence): Prevent generating a fake
1609 prefix key twice.
1610
e335b66a
GM
1611 * xfaces.c (split_font_name): Handle `[...]' for the right
1612 font name fields.
1613
8a1ae4dd
GM
1614 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1615 of CCL_STAT_INVALID_CMD.
1616
3cf80731
SM
16172001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1618
33568849
SM
1619 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1620 in <var> has no default value yet.
1621
3cf80731
SM
1622 * xfaces.c (try_alternative_families): First try the FAMILY.
1623 And if nothing is found in the end, try again with scalable fonts.
1624 (try_font_list): Let try_alternative_families do a bit more of
1625 the work. Only use FAMILY if it is not nil.
1626 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1627
933b0249
GM
16282001-05-14 Gerd Moellmann <gerd@gnu.org>
1629
58e5af83
GM
1630 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1631 pointer shape when show_mouse_face has already done it.
33568849 1632
58e5af83 1633 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1634 full-width rows.
1635
7b16a6bf
GM
1636 * xfaces.c (split_font_name): Make sure to leave the loop
1637 with the right value of `i'.
3cf80731 1638
933b0249
GM
1639 * xfaces.c (split_font_name): Handle matrix transformations
1640 in the pixel and point size fields of XLFD font names.
1641 (xlfd_point_size): Likewise.
1642
dddcbf00
EZ
16432001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1644
3cf80731 1645 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1646 (x_to_w32_font): Add prototype.
1647
7689ef0b
EZ
1648 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1649 redefining, to avoid compiler warnings.
1650
e7c15bba
EZ
1651 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1652
dddcbf00
EZ
1653 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1654 (w32_get_bdf_glyph): Cast between unsigned char and char when
1655 passing arguments to subroutines, to shut up compiler warnings.
1656 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1657 GET_HEX_VAL.
1658
1659 * xfaces.c: Include keyboard.h before frame.h, not after it.
1660
1661 * widget.c: Include keyboard.h before frame.h.
1662
1663 * w32term.h (struct image, struct face): Forward declaration, to
1664 avoid compiler warnings.
1665
7bd2d083
GM
16662001-05-11 Gerd Moellmann <gerd@gnu.org>
1667
47e72862
GM
1668 * keyboard.c (read_key_sequence): Don't modify events when
1669 generating fake prefix keys (mode-line, scroll-bar, ...) since
1670 this prevents proper processing of such events when pushed back
1671 into unread-command-events.
1672
dd5f324b
GM
1673 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1674 actually redrawn. Make the function static.
1675 (note_mouse_highlight): Fix a case where the mouse cursor
1676 was changed back to the text cursor.
1677
1678 * xterm.h (clear_mouse_face): Remove prototype.
1679
d88a79d4
GM
1680 * xdisp.c (try_window_id): Fix the fix and set the right
1681 window_end_vpos.
1682
1683 * xdisp.c (try_window_id): Fix computation of window end in the
1684 case that lines were deleted at the end of the window. Add some
1685 more debug_method_adds.
0416532f 1686
7bd2d083
GM
1687 * xfaces.c (try_alternative_families): New function.
1688 (try_font_list): Use it. If ATTRS specifies a family, check
1689 fonts from that family first.
1690 (choose_face_font): Remove code setting the family part of
1691 the pattern to nil.
1692
23fca891
GM
16932001-05-10 Gerd Moellmann <gerd@gnu.org>
1694
ff9aa2ca
GM
1695 * xdisp.c (try_window_id): Fix case of all changes before
1696 the window start.
7b2654b5 1697
23fca891
GM
1698 * xdisp.c (try_window_id): Add some xasserts.
1699
e9726794
GM
17002001-05-09 Gerd Moellmann <gerd@gnu.org>
1701
1702 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1703
9e53a675
GM
17042001-05-09 Dave Love <fx@gnu.org>
1705
1706 * xdisp.c (GIVE_UP): Fix for K&R C.
1707
0d487c52
GM
17082001-05-09 Gerd Moellmann <gerd@gnu.org>
1709
fe88d421
GM
1710 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1711
0d487c52
GM
1712 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1713 back to the text cursor shape without need.
1714
1e9fc92e
GM
17152001-05-07 Gerd Moellmann <gerd@gnu.org>
1716
a2a6232e
GM
1717 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1718
1719 * dispextern.h (inverse_video): Declare extern.
1720
1e9fc92e
GM
1721 * keyboard.c (delete_kboard): Handle the case that selected_frame
1722 has been deleted in the course of x_connection_closed.
1723
12949a7f
EZ
17242001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1725
7b2654b5
SM
1726 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1727 Fix the change from 2001-04-30.
12949a7f 1728
2fa2f461
GM
17292001-05-03 Gerd Moellmann <gerd@gnu.org>
1730
a779d213
GM
1731 * xfns.c (file_dialog_unmap_cb): New function.
1732 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1733 where a dialog is closed via the window manager.
1734
7b2654b5 1735 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1736 the window start or all below the window end mostly rewritten.
1737 (redisplay_window): Move the tests if try_window_id is
1738 applicable to try_window_id.
1739 (GIVE_UP): New macro.
1740
3356df63
GM
17412001-05-02 Gerd Moellmann <gerd@gnu.org>
1742
a39202f6 1743 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1744 currently being updated, mark the frame garbaged.
1745 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1746 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1747
3356df63
GM
1748 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1749 again if it has already been drawn.
1750
a9d2fd1d
SM
17512001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1752
1753 * syntax.c (update_syntax_table): Check that oldi has the same
1754 properties as old_prop before deciding not to invalidate.
1755
c95fc5f1
GM
17562001-04-30 Gerd Moellmann <gerd@gnu.org>
1757
a9793e45
GM
1758 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1759 read-only text that is so because of text properties.
1760
c95fc5f1 1761 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1762 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1763 windows that are components of a Lucid menu bar.
1764
5a5d9185
GM
17652001-04-27 Gerd Moellmann <gerd@gnu.org>
1766
1767 * term.c (turn_on_face): Fix reverse video handling on terminals
1768 that don't support colors.
1769
ba973f7a
GM
17702001-04-26 Gerd Moellmann <gerd@gnu.org>
1771
1772 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1773 a non-buffer.
1774
8c56a983
GM
17752001-04-25 Gerd Moellmann <gerd@gnu.org>
1776
a728644c
GM
1777 * term.c (toggle_highlight): New function.
1778 (turn_on_face): Change handling of reverse video.
1779
7b2654b5
SM
1780 * process.c (wait_reading_process_input):
1781 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1782
bfd8410f
GM
1783 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1784 of the number of overlays to check.
1785
be2488ca
GM
1786 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1787
8c56a983
GM
1788 * xdisp.c (try_window_id): Fix a case where window_end_pos
1789 and window_end_bytepos were not adjusted.
1790
522d42f7
GM
17912001-04-23 Gerd Moellmann <gerd@gnu.org>
1792
1793 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1794 zero instead of -1.
1795
78c1afb6
EZ
17962001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1797
a9d2fd1d
SM
1798 * process.c (wait_reading_process_input) [!subprocesses]:
1799 Don't reference waiting_for_user_input_p, it's not defined in the
1800 branch without async subprocesses support.
78c1afb6 1801
a2fab450
GM
18022001-04-19 Gerd Moellmann <gerd@gnu.org>
1803
a122a38e
GM
1804 * keyboard.c (delete_kboard): Prevent a dangling reference
1805 from current_kboard to KB, which is freed.
1806
a9d2fd1d
SM
1807 * process.c (wait_reading_process_input):
1808 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1809 read_key_sequence aware of buffer changes from under it.
1810
0f8d6dc7
GM
18112001-04-18 Gerd Moellmann <gerd@gnu.org>
1812
eeffb293
GM
1813 * xfaces.c (Qscalable_fonts_allowed): New variable.
1814 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1815 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1816 removed.
eeffb293 1817 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1818 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1819 for scalable-fonts-allowed to t.
eeffb293 1820
0f8d6dc7
GM
1821 * fileio.c (Finsert_file_contents): If the file size returned from
1822 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1823 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1824
eec2d1de
EZ
18252001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1826
1827 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1828 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1829 (__memalign_hook): Make the two prototypes consistent.
1830
f4f480bd
GM
18312001-04-17 Gerd Moellmann <gerd@gnu.org>
1832
1833 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1834 matrix of mini-windows.
1835
52283633
SM
18362001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1837
1838 * intervals.c (find_interval): Don't rebalance during signal handling.
1839
ec2423c9
GM
18402001-04-11 Gerd Moellmann <gerd@gnu.org>
1841
30cb0001 1842 * fns.c: Include blockinput.h.
52283633 1843
ec2423c9
GM
1844 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1845
719d83ad
GM
18462001-04-10 Gerd Moellmann <gerd@gnu.org>
1847
60f8d735
GM
1848 * fns.c (Fcompare_strings): Fix return values.
1849
afffeb57
GM
1850 * window.c (window_scroll): Change the meaning of N to mean
1851 N screen-fulls or N lines.
1852 (window_scroll_pixel_based, window_scroll_line_based)
1853 (scroll_command, Fscroll_other_window): Change accordingly.
1854
52283633
SM
1855 * window.c (window_scroll_pixel_based, Frecenter):
1856 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1857 height of the window.
1858
1859 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1860 instead of using it.last_visible_y for the height of the window.
52283633 1861
719d83ad 1862 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1863 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1864
1865 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1866 able to write to hidden and system files. From Dan Holmsand
1867 <dan@eyebee.com>.
719d83ad 1868
8ddf3ee1
GM
1869 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1870 Holmsand <dan@eyebee.com>.
719d83ad 1871
522ed7fb
GM
18722001-04-09 Gerd Moellmann <gerd@gnu.org>
1873
9170e5d4
GM
1874 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1875
522ed7fb
GM
1876 * window.c (window_internal_height): Return 1 less if the
1877 window has a header line.
1878
1879 * xdisp.c (try_window_id): When scrolling on a terminal, take
1880 the change of window_internal_height into account.
1881
ceeb3d7d
EZ
18822001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1883
1884 * gmalloc.c (align): If the argument SIZE would overflow
1885 __malloc_ptrdiff_t, fail right away.
1886
63685b9d
GM
18872001-04-06 Gerd Moellmann <gerd@gnu.org>
1888
1889 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1890 Make sure the tooltip is completely visible.
1891 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1892
1893 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1894
1895 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1896
3ffb33bb
DL
18972001-04-06 Dave Love <fx@gnu.org>
1898
52283633
SM
1899 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1900 Fix test of `from'.
3ffb33bb 1901
869fb12c
GM
19022001-04-06 Gerd Moellmann <gerd@gnu.org>
1903
52283633 1904 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1905
869fb12c
GM
1906 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1907
441bf856
GM
19082001-04-05 Gerd Moellmann <gerd@gnu.org>
1909
4d664b04
GM
1910 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1911
52283633 1912 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1913
30ca89f5
GM
1914 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1915 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1916
1917 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1918 shell widget's position only if it is non-null.
1919
52283633
SM
1920 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1921 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1922
81a81c0f
GM
1923 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1924 FILENAME to bring it in synch with the documentation.
1925
441bf856
GM
1926 * xfaces.c (realizing_basic_faces_p): Renamed from
1927 realize_default_face_p.
1928 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1929 (realize_default_face): Don't set the flag.
1930
702a1e8e
GM
19312001-04-04 Gerd Moellmann <gerd@gnu.org>
1932
1013f4e3
GM
1933 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1934
52283633
SM
1935 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1936
1013f4e3
GM
1937 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1938 the buffer that was used for echoing.
1939
702a1e8e
GM
1940 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1941 (first_font_matching): Removed unused function.
1942 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1943 (may_use_scalable_font_p): Remove parameter FONT; rename
1944 parameter NAME to FONT.
1945 (x_face_list_fonts): Fix missing bounds check.
1946 (realizing_default_face_p): New variable.
1947 (realize_default_face): Set and clear that flag.
1948 (x_face_list_fonts): When called during the realization of the
1949 default face, and no matching fonts are found when ignoring
1950 scalable fonts and fonts matching a regexp from
1951 face-ignored-fonts, try without ignoring fonts.
1952
f9dbcda4
GM
19532001-04-03 Gerd Moellmann <gerd@gnu.org>
1954
ad18ffb1
GM
1955 * xfns.c (postprocess_image): New function.
1956 (lookup_image): Call it for all image types except PostScript.
1957 (x_kill_gs_process): Call postprocess_image.
1958
f9dbcda4
GM
1959 * xterm.c (x_use_underline_position_properties): New variable.
1960 (x_draw_glyph_string): Use it.
1961 (syms_of_xterm): DEFVAR_BOOL it.
1962
651f03b6
GM
19632001-04-02 Gerd Moellmann <gerd@gnu.org>
1964
1965 * xterm.c (x_alloc_nearest_color_1): New function.
1966 (x_alloc_nearest_color): Use it.
1967 (x_color_cells): Take a Display as argument, instead of a frame.
1968 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1969 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1970 (x_initialize): Register cvt_string_to_pixel as resource converter
1971 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1972
73d75a62
GM
19732001-03-30 Gerd Moellmann <gerd@gnu.org>
1974
b2046df8
GM
1975 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1976 (set_iterator_to_next): If a string from a display property ends,
1977 consider the case that this might also be the end of an
1978 overlay string having the display property.
1979
52283633 1980 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1981
87d8eba4
GM
1982 * xdisp.c (reseat_to_string): Undo last change.
1983
73d75a62
GM
1984 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1985 matrix of a window when the header line changes, when
1986 new rows are allocated, or when the width changes.
1987
911a2406
EZ
19882001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1989
52283633 1990 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1991
aea51abe
EZ
19922001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1993
1994 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1995 deprecated.
1996
176bc847
GM
19972001-03-29 Gerd Moellmann <gerd@gnu.org>
1998
ed31fabf
GM
1999 * data.c (Fsubr_interactive_form): New function.
2000 (syms_of_data): Defsubr it.
2001
176bc847
GM
2002 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2003 (live_float_p, live_misc_p): Return 1 only if the offset of the
2004 pointer in its block is >= 0.
2005
e59d0e9d
GM
20062001-03-28 Paul Eggert <eggert@twinsun.com>
2007
2008 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2009 microseconds calcuation. Avoid double-rounding problem.
2010 In doc string, warn that the result is approximate.
2011
f827b862
GM
20122001-03-28 Gerd Moellmann <gerd@gnu.org>
2013
30a3f61c
GM
2014 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2015 bind `inhibit-eval-during-redisplay' to t.
2016
2017 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2018
2019 * xdisp.c (inhibit_eval_during_redisplay)
2020 (Qinhibit_eval_during_redisplay): New variables.
2021 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2022 don't eval, return nil instead.
2023 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2024 Initialize Qinhibit_eval_during_redisplay.
2025
e719f5ae
GM
2026 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2027 the iterator's multibyte_p flag.
2028
deb2613a
GM
2029 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2030 instead of setting it to zero; it's incremented for each frame
2031 where the menu face is changed.
2032
52283633
SM
2033 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2034 change bottom shadow accordingly.
2035
2036 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2037 intersections here.
2038 (expose_window): Do it here instead.
52283633 2039 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2040
f827b862
GM
2041 * bytecode.c (BYTE_CODE_QUIT): New macro.
2042 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2043
4bde0ebb
GM
20442001-03-27 Gerd Moellmann <gerd@gnu.org>
2045
607ec83c
GM
2046 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2047 Give up if matrix starts in an ellipsis.
2048 (init_from_display_pos): Do nothing if POS doesn't specify
2049 a dpvec_index but the iterator has such a position.
2050
0245398f
GM
2051 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2052
aba25348
GM
2053 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2054 x/y position is (0, 0) after destroying the menu bar, restore
2055 its original position.
2056
4bde0ebb
GM
2057 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2058 (init_from_display_pos): Use it.
2059 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2060
8cdb267e
GM
20612001-03-26 Gerd Moellmann <gerd@gnu.org>
2062
2063 * xdisp.c (try_window_id): Undo last change.
2064
9948db79
EZ
20652001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2066
2067 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2068
2069 * buffer.c (syms_of_buffer): Doc fix.
2070
2eddf899
GM
20712001-03-26 Gerd Moellmann <gerd@gnu.org>
2072
2073 * xfaces.c (x_update_menu_appearance): Use local variable
2074 popup_path for setting font resources.
2075
6c145d35
EZ
20762001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2077
6a65b1b5
EZ
2078 * frame.c (Fframe_list): Don't reference tip_frame if
2079 HAVE_WINDOW_SYSTEM is not defined.
2080
6c145d35
EZ
2081 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2082 <wl@gnu.org>.
2083
d74c1900
GM
20842001-03-25 Gerd Moellmann <gerd@gnu.org>
2085
20fbd925
GM
2086 * xdisp.c (init_from_display_pos): Test invisible property
2087 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2088
927c5b3b
GM
2089 * xdisp.c (redisplay_internal) <update one window>: Make sure
2090 last_arrow_position and last_arrow_string are set.
2091
d74c1900
GM
2092 * frame.c (Fframe_list): Don't return a tooltip frame.
2093
091f8878
GM
20942001-03-23 Gerd Moellmann <gerd@gnu.org>
2095
52283633
SM
2096 * xdisp.c (mark_window_display_accurate_1): New function,
2097 extracted from mark_window_display_accurate.
2098 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2099 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2100 (mark_window_display_accurate): Use it.
2101 (redisplay_internal): Use it for the selected window.
2102 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2103 for the selected frame.
2104
ac90c44f
GM
2105 * xdisp.c Use make_number, for readability.
2106 (try_window_id): Disable rows below the window end.
2107 (try_window_reusing_current_matrix): Use cursor_row_p.
2108 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2109 of rows.
2110 (init_from_display_pos): If POS specifies a position in a display
2111 vector, maybe get the iterator set up for that ellipsis.
43c09969 2112
091f8878
GM
2113 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2114
991786dd
EZ
21152001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2116
2117 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2118
6c29b43c
GM
21192001-03-23 Gerd Moellmann <gerd@gnu.org>
2120
2121 * xfaces.c (x_update_menu_appearance): Use a different path
2122 for Lucid popup menus.
2123
d8731202
SM
21242001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2125
2126 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2127
2128 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2129 (string_buffer_position): Use `make_number'.
2130
f61a541b
GM
21312001-03-22 Gerd Moellmann <gerd@gnu.org>
2132
3c9e997b
GM
2133 * xfaces.c (x_update_menu_appearance): Renamed from
2134 x_set_menu_face_resources. Use different resources for popups.
2135
2136 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2137 (GC_CHECK_STRING_BYTES): Don't define.
2138
364cd450
GM
2139 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2140 Removed, together with subroutines.
2141 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2142 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2143
d8731202
SM
2144 * dispextern.h (x_set_menu_resources_from_menu_face):
2145 Remove prototype.
364cd450 2146
d8731202 2147 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2148 Remove calls to x_set_menu_resources_from_menu_face.
2149
d8731202
SM
2150 * xfaces.c (xm_set_menu_resources_from_menu_face):
2151 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2152
2153 * xmenu.c: Include widget.h.
2154 (single_submenu): Return int. Some cleanup.
2155 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2156
140330de
GM
21572001-03-21 Gerd Moellmann <gerd@gnu.org>
2158
2159 * xterm.c (x_update_window_end): Handle overwritten mouse face
2160 also for tool bar windows.
2161 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2162 DRAW is DRAW_IMAGE_RAISED.
2163
1741905c
GM
21642001-03-20 Gerd Moellmann <gerd@gnu.org>
2165
fa88947e
GM
2166 * print.c (syms_of_print): Doc fixes.
2167
1741905c
GM
2168 * fns.c (Fmd5): Doc fix.
2169
ade0bee1
GM
21702001-03-19 Gerd Moellmann <gerd@gnu.org>
2171
357e7376
GM
2172 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2173 Clear area of the frame not occupied by the scroll bar.
2174
c2c097cc
GM
2175 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2176 tip frame's root window buffer to *tip* right after creating
2177 the frame.
2178
ade0bee1
GM
2179 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2180 is an integer don't have to be for space characters.
2181
88c6e37e
GM
21822001-03-16 Gerd Moellmann <gerd@gnu.org>
2183
52283633
SM
2184 * indent.c (current_column, current_column_1, Fmove_to_column)
2185 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2186
c62eed76
KH
21872001-03-15 Kenichi Handa <handa@etl.go.jp>
2188
2189 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2190 drawing glyph string.
2191
c899e7e6
GM
21922001-03-15 Gerd Moellmann <gerd@gnu.org>
2193
d0bbfc99
GM
2194 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2195 (command_loop_1): Undo last change.
2196
03d1a189
GM
2197 * xterm.c (fast_find_position): Return the correct vpos.
2198
c899e7e6 2199 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2200 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2201 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2202 Call store_symval_forwarding with BUF null.
2203 (set_internal): Call store_symval_forwarding with the BUF
2204 parameter passed to set_internal. Formerly, the value was always
2205 set in the current buffer; the buffer recorded in specbind for
2206 this case wasn't used.
2207 (arith_driver): Reindent.
2208
52283633
SM
2209 * buffer.c (swap_out_buffer_local_variables):
2210 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2211
2212 * lisp.h (store_symval_forwarding): Change prototype.
2213
2214 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2215
57ac7c81
GM
22162001-03-14 Gerd Moellmann <gerd@gnu.org>
2217
697617d9
GM
2218 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2219 FOR_DELETION. Avoid resizing the mini-window of the selected
2220 frame if FOR_DELETION is set.
2221 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2222 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2223 signature.
2224
2225 * window.c (Fset_window_configuration): Change call to
2226 do_switch_frame to new format.
2227
2228 * keyboard.c (quit_throw_to_read_char): Change call to
2229 do_switch_frame to new format.
2230
2231 * lisp.h (do_switch_frame): Change prototype.
2232
819dce0f
GM
2233 * frame.c (Fframe_parameters): In the `buffer-list' frame
2234 parameter, store the buffer list of FRAME, not the list of the
2235 selected frame.
2236
57ac7c81
GM
2237 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2238 box just because the glyph row's full_width_p flag is set.
2239
65008712
GM
22402001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2241
2242 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2243 skip the padding blanks inserted in extend_face_to_end_of_line,
2244 before checking for trailing whitespace.
2245
159cf431
GM
22462001-03-13 Gerd Moellmann <gerd@gnu.org>
2247
52283633 2248 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2249 Remove special handling for LessTif/Motif.
2250 (toplevel): Don't include Xm/Xm.h.
2251
52283633
SM
2252 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2253 Remove workaround code for LessTif; it doesn't work anymore.
2254
2564ea1b 2255 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2256 Xm/ScrollBarP.h.
afcdc0a1 2257
52283633
SM
2258 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2259 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2260 contemporary LessTif.
2261
52283633
SM
2262 * xfaces.c (xm_set_menu_resources_from_menu_face):
2263 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2264
159cf431
GM
2265 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2266 removing button grabs.
2267
c6f7429a
KH
22682001-03-13 Kenichi Handa <handa@etl.go.jp>
2269
cb82d767
KH
2270 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2271 and clip-large-size-font as obsolete.
2272
c6f7429a
KH
2273 * lread.c (read_multibyte): Check the validity of multibyte
2274 sequence. If invalid, return the first byte.
2275
760cefb5
GM
22762001-03-12 Gerd Moellmann <gerd@gnu.org>
2277
2278 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2279 before running the command; timer functions or process
2280 filters may have set it.
2281
5141f9d0
EZ
22822001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2283
2284 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2285 Doc fix.
2286
b6a15240
GM
22872001-03-12 Gerd Moellmann <gerd@gnu.org>
2288
2289 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2290 to sprintf.
2291
95522746
GM
22922001-03-09 Gerd Moellmann <gerd@gnu.org>
2293
db14cfc5
GM
2294 * dispextern.h (string_buffer_position): Add prototype.
2295
52283633 2296 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2297 (single_display_prop_string_p): New functions.
2298
2299 * xterm.c (note_mouse_highlight): If there's no help-echo on
2300 a string, look at the buffer text ``under'' it.
2301
2302 * keyboard.c (make_lispy_event): Add string info to the event,
2303 analogous to what's done on mode lines.
2304 (read_key_sequence): For a click on a string, consider `local-map'
2305 and `keymap' of that string.
2306
52283633
SM
2307 * keyboard.c (make_lispy_event, make_lispy_movement):
2308 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2309
2310 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2311
2312 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2313 POS; return void.
2314
95522746
GM
2315 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2316 flags argument to emacs_open; it seems to conflict with O_EXCL.
2317
898a399d
KH
23182001-03-09 Kenichi Handa <handa@etl.go.jp>
2319
28cd4910
KH
2320 * composite.h (struct composition): Change types of members;
2321 glyph_len to unsigned, width to unsigned short.
898a399d 2322
4cdf6a6c
AI
23232001-03-08 Andrew Innes <andrewi@gnu.org>
2324
2325 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2326 menu titles.
2327
129004d3
GM
23282001-03-08 Gerd Moellmann <gerd@gnu.org>
2329
221dd3e7
GM
2330 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2331 instead of nil.
2332
52283633 2333 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2334 help-echo in strings.
2335 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2336 (fast_find_string_pos): New function.
2337
52283633
SM
2338 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2339 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2340
2341 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2342 Handle `mouse-face'.
2343
2344 * dispextern.h (face_at_string_position): Change prototype.
2345
52283633 2346 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2347
129004d3
GM
2348 * keyboard.c (make_lispy_event): Avoid generating drag events
2349 if the mouse hasn't actually moved to another buffer position.
52283633 2350
80c8ab8c
DL
23512001-03-08 Dave Love <fx@gnu.org>
2352
129004d3 2353 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2354
989521fd
GM
23552001-03-08 Gerd Moellmann <gerd@gnu.org>
2356
2357 * process.c (Fset_process_window_size): Fix a typo.
2358
bb5c338d
KH
23592001-03-08 Kenichi Handa <handa@etl.go.jp>
2360
2361 * coding.c (detect_coding_sjis): Do more rigid check.
2362 (detect_coding_big5): Likewise.
2363 (decode_coding_sjis_big5): Likewise.
2364 (Fdetect_coding_region): Call detect_coding_system with tailing
2365 anchor byte `\0' for more rigid detection.
52283633 2366 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2367 (Fdetect_coding_string): Likewise.
2368
8b8f9197
SM
23692001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2370
2371 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2372 a string before extracting its data.
2373
3bdf2660
GM
23742001-03-07 Gerd Moellmann <gerd@gnu.org>
2375
2376 * window.c (Frecenter): Rewrite code handling negative values
2377 of ARG on graphical frames.
2378
23792001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2380
2381 * window.c (displayed_window_lines): If W->start is outside the
2382 accessible portion of the buffer, call start_display with BEGV or
2383 ZV instead of W->start.
2384
471f86b9
GM
23852001-03-07 Gerd Moellmann <gerd@gnu.org>
2386
2ab62c6c
GM
2387 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2388
471f86b9
GM
2389 * process.c (Fset_process_filter): Don't crash if the input
2390 file descriptor of PROCESS is closed.
2391 (Fset_process_window_size): Likewise.
2392
101922c3
GM
23932001-03-06 Kenichi Handa <handa@etl.go.jp>
2394
2395 * xterm.c (XTflash): Make the timeout of select shorter, and call
2396 select repeatedly until the desired time expires.
2397
45d051a7
GM
23982001-03-06 Gerd Moellmann <gerd@gnu.org>
2399
2400 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2401
2402 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2403
2404 * lisp.h (Vwindow_list): Declare extern.
2405
8f372c46
EZ
24062001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2407
2408 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2409
f16a7aa5
GM
24102001-03-06 Gerd Moellmann <gerd@gnu.org>
2411
157ae273
GM
2412 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2413 to detect a case where we have to highlight a different region
2414 despite not having left the currently highlighted region.
2415 Set mouse_face_overlay in the x_display_info.
45d051a7 2416 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2417
2418 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2419
2420 * buffer.c (mouse_face_overlay_overlaps): New function.
2421
2422 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2423 (Qmouse_face): Declare extern.
2424
f16a7aa5
GM
2425 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2426 if face_change_count is non-zero.
2427
827afcac
KH
24282001-03-06 Kenichi Handa <handa@etl.go.jp>
2429
2430 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2431 that the source is unibyte.
2432
14c7242e
DL
24332001-03-05 Dave Love <fx@gnu.org>
2434
827afcac 2435 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2436
c28b847b
GM
24372001-03-05 Gerd Moellmann <gerd@gnu.org>
2438
2439 * minibuf.c (read_minibuf): Clean up the binding stack if
2440 called noninteractively.
2441
b86644f2
KH
24422001-03-05 Kenichi Handa <handa@etl.go.jp>
2443
2444 * coding.c (syms_of_coding): Docstring modified.
2445
203682cc 24462001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2447
2448 * charset.c (char_to_string): If a single byte char has modifier
2449 bits that can't be reflected to the character code, ignore them
45d051a7 2450 instead of signaling an error.
b86644f2 2451
e30bd7b7
EZ
24522001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2453
2454 * s/msdos.h: Update copyright notice.
2455
2456 * dosfns.h: Update copyright notice.
2457
2458 * dosfns.c: Update copyright notice.
2459
2460 * msdos.c: Update copyright notice.
2461
b52b65bd
GM
24622001-03-02 Gerd Moellmann <gerd@gnu.org>
2463
2464 * xterm.c (glyph_rect): New function.
2465 (XTmouse_position): Use it to raise the threshold for mouse
2466 movement event generation.
2467
53c4b1e6
EZ
24682001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2469
2470 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2471 specifies (reverse . t), reverse the initial screen colors.
2472 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2473 but we are reversing the colors, set bg_set, not fg_set.
2474 Likewise for setting background-color and reversing: set fg_set.
2475 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2476 in effect.
2477
2478 * xfaces.c (Finternal_set_lisp_face_attribute)
2479 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2480 parameters alist.
2481
f964b4d7
GM
24822001-03-02 Gerd Moellmann <gerd@gnu.org>
2483
ef53d75e
GM
2484 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2485 to a single slash in the middle of file names.
2486
52283633 2487 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2488 Accept only alphanumeric time zone names.
2489
f964b4d7
GM
2490 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2491 or width area.
2492 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2493 a widget to zero height.
52283633 2494
c3c45f65
GM
24952001-03-01 Gerd Moellmann <gerd@gnu.org>
2496
2497 * window.c (Fwindow_end): Call move_it_past_eol only if
2498 ending up on a partially visible line.
2499
028d739a
DL
25002001-03-01 Dave Love <fx@gnu.org>
2501
2502 * ccl.c (Fccl_execute): Doc fix.
2503
57c5889c
GM
25042001-03-01 Gerd Moellmann <gerd@gnu.org>
2505
35f59f6b
GM
2506 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2507 of the tool bar before calling x_figure_window_size.
2508
f84ff02c
GM
2509 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2510 NULL after destroying it, otherwise XTread_socket can access a
2511 destroyed widget when input is unblocked.
2512
8b8f9197 2513 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2514
57c5889c
GM
2515 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2516 same name as before, although there was a change in fontsets.
2517
224227d1
KR
25182001-02-28 Ken Raeburn <raeburn@gnu.org>
2519
4560730a
KR
2520 * lisp.h (Fframe_parameter): Declare.
2521
224227d1 2522 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2523 Lisp_Object.
224227d1 2524
ece93c02
GM
25252001-02-28 Gerd Moellmann <gerd@gnu.org>
2526
11ef99b9
GM
2527 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2528 NULL instead.
2529
2530 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2531 NULL instead.
2532
ece93c02
GM
2533 * alloc.c (toplevel): Include process.h.
2534 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2535 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2536 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2537 (allocate_vector, allocate_hash_table, allocate_window)
2538 (allocate_frame, allocate_process, allocate_other_vector):
2539 New functions.
ece93c02
GM
2540 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2541 (mark_maybe_pointer): New function.
52283633 2542 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2543 remain and not Lisp_Objects.
2544 (min_heap_address, max_heap_address): New variables.
2545 (mem_find): Return MEM_NIL if START is below min_heap_address or
2546 above max_heap_address.
2547 (mem_insert): Compute min_heap_address and max_heap_address.
2548
2549 * process.c (make_process): Use allocate_process.
2550
2551 * frame.c (make_frame): Use allocate_frame.
2552
2553 * window.c (make_window, make_dummy_parent): Use allocate_window.
2554 (Fcurrent_window_configuration): Use allocate_other_vector.
2555
2556 * lisp.h (allocate_vectorlike): Remove prototype.
2557 (allocate_vector, allocate_other_vector, allocate_frame)
2558 (allocate_window, allocate_process, allocate_hash_table):
2559 Add prototypes.
2560
2561 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2562 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2563
063af457
KH
25642001-02-27 Kenichi Handa <handa@etl.go.jp>
2565
2566 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2567 treat the produced bytes as a valid multibyte sequence.
2568
2569 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2570 (ccl_driver) <CCL_WriteMultibyteChar2>:
2571 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2572 <ccl_finish>: Set ccl->eight_bit_control properly.
2573
2574 * ccl.h (struct ccl_program): New member eight_bit_control.
2575
f58c6494
SM
25762001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2577
2578 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2579 accessible_keymaps_char_table.
2580 (accessible_keymaps_char_table): Obey `is_metized'.
2581 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2582 Lisp_Object.
2583
c596c392
GM
25842001-02-26 Gerd Moellmann <gerd@gnu.org>
2585
2586 * dispnew.c: Check HAVE_TERM_H before including term.h.
2587
425de386
AI
25882001-02-24 Andrew Innes <andrewi@gnu.org>
2589
2590 * makefile.w32-in: Update copyright notice.
2591
2ba11bbd
SM
25922001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2593
2594 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2595
66c56ed1
KH
25962001-02-24 Kenichi Handa <handa@etl.go.jp>
2597
4c1593ce
KH
2598 * Makefile.in (lisp): Add international/utf-8.elc.
2599
66c56ed1
KH
2600 * fontset.c (Fnew_fontset): Fix handling of the case that an
2601 element of FONTLIST is a cons of family and registry.
2602
796ead7e
JR
26032001-02-23 Jason Rumney <jasonr@gnu.org>
2604
2605 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2606 to height unconditionally.
2607
2608 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2609 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2610 (x_insert_glyphs): Call window_box_left to obtain the left
2611 x-coordinate of the area to shift.
2612
2613 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2614 safe_run_hooks.
2615
f6839838
AI
26162001-02-22 Andrew Innes <andrewi@gnu.org>
2617
52283633 2618 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2619 ($(BLD)\dispnew.obj):
2620 ($(BLD)\editfns.obj):
2621 ($(BLD)\fileio.obj):
2622 ($(BLD)\filelock.obj):
2623 ($(BLD)\keyboard.obj):
2624 ($(BLD)\w32proc.obj):
2625 ($(BLD)\process.obj):
2626 ($(BLD)\sysdep.obj): Ditto.
2627
2628 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2629 header files.
52283633
SM
2630 ($(BLD)/dispnew.$(O)):
2631 ($(BLD)/editfns.$(O)):
2632 ($(BLD)/fileio.$(O)):
2633 ($(BLD)/filelock.$(O)):
2634 ($(BLD)/keyboard.$(O)):
2635 ($(BLD)/w32proc.$(O)):
2636 ($(BLD)/process.$(O)):
f6839838
AI
2637 ($(BLD)/sysdep.$(O)): Ditto.
2638
c224f70b
GM
26392001-02-22 Gerd Moellmann <gerd@gnu.org>
2640
51695746
GM
2641 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2642 at the start of the function, check that the \n in it->c is
2643 from the iterator's current position.
52283633 2644
a61b7058
GM
2645 * xdisp.c (handle_single_display_prop): Add parameter
2646 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2647 properties which replace the display of text with something else.
2648 (handle_display_prop): Call handle_single_display_prop with
2649 additional argument saying if we already replaced text display
2650 with something else. Use AREF.
52283633 2651 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2652 (decode_mode_spec_coding): Use AREF and ASIZE.
2653
3473f362
GM
2654 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2655 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2656 * vmstime.h: Files removed.
52283633 2657
2bb58df3
GM
2658 * unexencap.c, unexfx2800.c: Files removed.
2659
c224f70b
GM
2660 * dispnew.c (direct_output_for_insert): Give up if we are showing
2661 a message or just cleared the message because we might need to
2662 resize the echo area window or display an empty echo area.
2663
ffc9ff0c
GM
26642001-02-21 Gerd Moellmann <gerd@gnu.org>
2665
0528abe1
GM
2666 * xdisp.c (redisplay_internal): Do the
2667 mark_window_display_accurate after all windows have been
2668 redisplayed because this call resets flags in buffers which are
2669 needed for proper redisplay.
2670
52283633
SM
2671 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2672 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2673 the old names.
2674
52283633
SM
2675 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2676 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2677
2678 * msdos.h (struct x_output): Rename busy_window to
2679 hourglass_window, busy_p to hourglass_p.
2680
52283633
SM
2681 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2682 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2683
2684 * xfns.c: Rename everything containing *busy_cursor* and similar
2685 to *hourglass*.
2686 (syms_of_w32fns): Rename x-busy-pointer-shape to
2687 x-hourglass-pointer-shape, display-busy-cursor to
2688 display-hourglass, busy-cursor-delay to hourglass-delay.
2689
2690 * w32fns.c: Rename everything containing *busy_cursor* and similar
2691 to *hourglass*.
2692 (syms_of_w32fns): Rename x-busy-pointer-shape to
2693 x-hourglass-pointer-shape, display-busy-cursor to
2694 display-hourglass, busy-cursor-delay to hourglass-delay.
2695
2696 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2697 of its busy_p flag.
2698
2699 * dispextern.h (start_hourglass, cancel_hourglass)
2700 (display_hourglass_p): Renamed from *busy_cursor*.
2701
ab2c5f0a
GM
27022001-02-20 Gerd Moellmann <gerd@gnu.org>
2703
d17e49a8
GM
2704 * keyboard.c (read_char): When an event from unread-command-events
2705 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2706
fa97adf6
GM
2707 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2708 equal to the current buffer.
2709
ab2c5f0a
GM
2710 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2711 nil, otherwise we're left with truncate_lines t when a message
2712 is printed with message-truncate-lines bound to t.
2713
aeac019e
GM
27142001-02-19 Gerd Moellmann <gerd@gnu.org>
2715
c8bc6f65
GM
2716 * window.c (Fmove_to_window_line): Undo last change.
2717 (displayed_window_lines): Call line_bottom_y to determine
2718 the line's bottom position.
2719
2720 * dispextern.h (line_bottom_y): Add prototype.
2721
52283633 2722 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2723 (pos_visible_p): Use it.
2724
980a2d69
GM
2725 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2726 set redisplaying_p to 0 here instead of in Frecursive_edit.
2727 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2728 set redisplaying_p.
2729
52283633 2730 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2731 New variables.
2732 (syms_of_xdisp): Initialize new variables.
2733 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2734 Specbind `inhibit-menubar-update' when updating the menu bar.
2735
65048e97
GM
2736 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2737 safe_run_hooks.
2738
2739 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2740 safe_run_hooks.
2741
a57c4026
GM
2742 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2743 is null.
2744
aeac019e
GM
2745 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2746 to the start of the file.
2747
76846b31
GM
27482001-02-16 Gerd Moellmann <gerd@gnu.org>
2749
f3f053f3 2750 * window.c (set_window_buffer): Fix last change.
52283633 2751
f3f053f3
GM
2752 * window.c (set_window_buffer): Set window's vscroll to 0.
2753
dad75588
GM
2754 * window.c (coordinates_in_window): Increase width of area
2755 where the vertical line can be dragged.
2756
c220b753
GM
2757 * xterm.c (x_set_glyph_string_background_width): Extend the
2758 background face to the end of the drawing area in the text
2759 area, only.
2760
c56b1c1b
GM
2761 * xdisp.c (handle_single_display_prop): Set iterator's position
2762 to where the `display' property starts, like for images.
2763 (dump_glyph): New function.
2764 (dump_glyph_row): Use it. Dump info about marginal areas.
2765
2766 * dispnew.c (direct_output_for_insert): Recognize more cases where
2767 glyphs can be written instead of being inserted.
2768
2769 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2770 the left x-coordinate of the area to shift.
2771
76846b31
GM
2772 * dired.c (directory_files_internal): Set result list to nil
2773 before retrying.
2774
0fc71a77
KH
27752001-02-15 Kenichi Handa <handa@etl.go.jp>
2776
2777 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2778 invalid multibyte sequence, treat *SRC as a character of
2779 eight-bit-graphic.
2780
25078b54
EZ
27812001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2782
2783 * textprop.c (Fset_text_properties): Doc fix.
2784
8399f8a0
GM
27852001-02-15 Gerd Moellmann <gerd@gnu.org>
2786
2787 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2788
9a2a6f73
DL
27892001-02-14 Dave Love <fx@gnu.org>
2790
2791 * coding.c: Doc and message fixes.
2792
bf853fee
AI
27932001-02-14 Andrew Innes <andrewi@gnu.org>
2794
2795 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2796 Emacs frame above the screen size.
2797
78c663d8
GM
27982001-02-14 Gerd Moellmann <gerd@gnu.org>
2799
2800 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2801
7cc9f69f
GM
28022001-02-13 Gerd Moellmann <gerd@gnu.org>
2803
0a411995
GM
2804 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2805 case that TO ends up beyond ZV after running before-change-functions.
2806
5ddc1b75
GM
2807 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2808 the selected window if it is showing the buffer in question.
2809
7cc9f69f
GM
2810 * dired.c (directory_files_internal): Initialize errno.
2811 (toplevel): Include errno.h.
2812
2e6621ca
GM
28132001-02-13 Kenichi Handa <handa@etl.go.jp>
2814
2815 * xfaces.c (best_matching_font): New parameter width_ratio.
2816 Multiply avgwidth by width_ratio.
2817 (choose_face_font): Call best_matching_font with width_ratio
2818 calculated from the column width of C.
2819
60222d69
AI
28202001-02-12 Andrew Innes <andrewi@gnu.org>
2821
2822 The following changes are to draw box lines inside characters area
2823 if line-width is negative.
52283633 2824
60222d69
AI
2825 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2826 face->box_line_width is negative.
2827 (x_produce_stretch_glyph): Likewise.
2828 (x_produce_glyphs): Likewise.
2829 (x_estimate_mode_line_height): Likewise.
2830 (x_draw_glyph_string_background): Likewise.
2831 (x_draw_glyph_string_foreground): Likewise.
2832 (x_draw_composite_glyph_string_foreground): Likewise.
2833 (x_draw_glyph_string_box): Likewise.
2834 (x_draw_image_foreground): Likewise.
2835 (x_draw_image_relief): Likewise.
2836 (x_draw_image_foreground_1): Likewise.
2837 (x_draw_image_glyph_string): Likewise.
2838
9804b846
KH
28392001-02-09 Kenichi Handa <handa@etl.go.jp>
2840
2841 The following changes are to draw box lines inside characters area
2842 if line-width is negative.
52283633 2843
9804b846
KH
2844 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2845 face->box_line_width is negative.
2846 (x_produce_stretch_glyph): Likewise.
2847 (x_produce_glyphs): Likewise.
2848 (x_estimate_mode_line_height): Likewise.
2849 (x_draw_glyph_string_background): Likewise.
2850 (x_draw_glyph_string_foreground): Likewise.
2851 (x_draw_composite_glyph_string_foreground): Likewise.
2852 (x_draw_glyph_string_box): Likewise.
2853 (x_draw_image_foreground): Likewise.
2854 (x_draw_image_relief): Likewise.
2855 (x_draw_image_foreground_1): Likewise.
2856 (x_draw_image_glyph_string): Likewise.
2857
2858 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2859 and :line-width can be negative.
52283633 2860 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2861
49be9f70
JR
28622001-02-09 Jason Rumney <jasonr@gnu.org>
2863
2864 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2865 characters the same as ASCII and latin-1.
2866 (x_display_and_set_cursor): Check for the focus frame's selected
2867 window instead of selected_window.
2868 (x_after_update_window_line): Don't clear if frame's internal
2869 border width is zero.
2870 (x_new_font): Don't change a tooltip's size.
2871 (w32_initialize): Set char_ins_del_ok to 1.
2872
2873 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2874 (x_set_font): If font hasn't changed, avoid recomputing
2875 faces and other things.
52283633
SM
2876 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2877 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2878 (x_create_tip_frame): Prevent changing the tooltip's
2879 background color by specifying a color for the default font
2880 in .Xdefaults.
2881 (Qcancel_timer): New variable.
2882 (syms_of_w32fns): Initialize and staticpro it.
2883 (Fx_hide_tip, Fx_show_tip): Use it.
2884 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2885 the timer.
2886 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2887
2888 * w32.c (init_environment): Duplicate local string before putenv.
2889
555e35d2
SZ
28902001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2891
2892 * charset.c (Fstring): A typo.
2893
19c92c94
KH
28942001-02-09 Kenichi Handa <handa@etl.go.jp>
2895
e47a1c33
KH
2896 * charset.c (Fstring): If all arguments are less than 256, return
2897 a unibyte string.
2898
2899 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2900 return a unibyte string.
2901
19c92c94
KH
2902 * coding.c (code_convert_region): After detecting a coding, if
2903 nothing found, set coding->composing to COMPOSITION_NO.
2904 (decode_coding_string): Likewise.
2905
d8e675f5
SM
29062001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2907
2908 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2909 to avoid overflow.
2910
bd503487
KH
29112001-02-07 Kenichi Handa <handa@etl.go.jp>
2912
2913 * charset.c (parse_str_to_multibyte): New function.
2914
2915 * charset.h (parse_str_to_multibyte): Extern it.
2916
2917 * print.c (print_string): If we are going to print a unibyte
2918 string into a multibyte buffer, convert the string to multibyte by
2919 str_to_multibyte.
2920
a8370d72
AI
29212001-02-06 Andrew Innes <andrewi@gnu.org>
2922
2923 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2924 been created. It seems we can get sent window messages such as
2925 WM_ERASEBKGND before we properly update a frame.
2926
c363a1d6
GM
29272001-02-06 Gerd Moellmann <gerd@gnu.org>
2928
2929 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2930 Avoid some unnecessary cursor positioning.
2931
a08332c0
GM
29322001-02-05 Gerd Moellmann <gerd@gnu.org>
2933
52283633 2934 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2935 (LFACE_AVGWIDTH): New macro.
2936 (LFACEP): Use AREF.
2937 (check_lface_attrs): Check LFACE_AVGWIDTH.
2938 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2939 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2940 (merge_face_vectors): Check LFACE_AVGWIDTH.
2941 (Finternal_make_lisp_face): Use AREF.
2942 (xm_set_menu_resources_from_menu_face)
2943 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2944 (Finternal_lisp_face_empty_p): Use AREF.
2945 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2946 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2947 Compare average widths..
2948 (best_matching_font): Arrange for comparing average widths.
2949
52283633
SM
2950 * dispextern.h (enum lface_attribute_index):
2951 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2952
5cb3c8d4
DL
29532001-02-05 Dave Love <fx@gnu.org>
2954
2955 * puresize.h: Revert last change following loadup.el change.
2956
193fba87
AI
29572001-02-05 Andrew Innes <andrewi@gnu.org>
2958
2959 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2960 invocation of temacs, to work with Windows 2000.
2961 (bootstrap-emacs): Ditto.
2962
e16f52ce
GM
29632001-02-05 Gerd Moellmann <gerd@gnu.org>
2964
7a58ab59
GM
2965 * xterm.c (x_display_and_set_cursor): Check for the focus
2966 frame's selected window instead of selected_window.
2967
e89aaabd
GM
2968 * xdisp.c (try_scrolling): If point is in the line below the
2969 window, make sure to move the iterator at least a canonical
2970 char height down.
2971
52283633 2972 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2973
789ce875
KH
29742001-02-05 Kenichi Handa <handa@etl.go.jp>
2975
52283633
SM
2976 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2977 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2978 (ccl_driver): If the CCL program is terminated because of
2979 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2980 destination instead of throwing them away.
2981
20b28f82
GM
29822001-02-02 Gerd Moellmann <gerd@gnu.org>
2983
79fb38c0
GM
2984 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2985 faces and other things.
2986
20b28f82
GM
2987 * xdisp.c (get_next_display_element): Fix case of empty
2988 display table entry.
2989
5a72551e
EZ
29902001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2991
eb24d0bf
EZ
2992 * editfns.c (Fconstrain_to_field): Doc fix.
2993
6a3f48c7
EZ
2994 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2995 into `thoroughly', to make it consistent with the doc string.
2996
5a72551e
EZ
2997 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2998
01acdb05
GM
29992001-02-01 Gerd Moellmann <gerd@gnu.org>
3000
0353b28f
GM
3001 * search.c (search_buffer): Call set_search_regs with a byte
3002 position, not a character position.
3003
01acdb05
GM
3004 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3005 minibuffer-only,
3006
e86b5133
EZ
30072001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3008
3009 * frame.c (Fmodify_frame_parameters): Doc fix.
3010
7442878f
GM
30112001-01-31 Gerd Moellmann <gerd@gnu.org>
3012
01acdb05
GM
3013 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3014 identifier which is not reserved by Standard C.
52283633 3015
7442878f
GM
3016 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3017
3018 * window.c (enum window_part): New enumeration.
3019 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3020 Qright_bitmap_area.
3021 (coordinates_in_window): Return an enumerator from enum
3022 window_part. Fix handling of right scroll bar.
3023 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3024 `right-fringe' instead of `left-bitmap-area' and
3025 `right-bitmap-area'. Use enumerators from enum window_part
3026 instead of hard-coded integers.
52283633
SM
3027 (check_window_containing, window_from_coordinates):
3028 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3029 (syms_of_window): Replace Qleft_bitmap_area and
3030 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3031
7c132cba
EZ
30322001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3033
3034 * editfns.c (Fformat_time_string): Doc fix.
3035
c359dd9e
SM
30362001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3037
3038 * keymap.c (Fwhere_is_internal): Use the first valid binding
3039 if no ascii binding is found (when firstonly is t).
3040
ce070307
GM
30412001-01-31 Gerd Moellmann <gerd@gnu.org>
3042
b4f30ec5
GM
3043 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3044 instead of Finteractive_p.
3045
3046 * lisp.h (interactive_p): Add prototype.
3047
3048 * eval.c (interactive_p): New function.
3049 (Finteractive_p): Use it.
3050
ce070307
GM
3051 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3052
f57b6e64
DL
30532001-01-31 Dave Love <fx@gnu.org>
3054
d61c7afe
DL
3055 * .gdbinit (hook-run): Define to run xreload.
3056
f57b6e64
DL
3057 * textprop.c (Fset_text_properties): Fix newline in doc string.
3058
eef93f99
GM
30592001-01-30 Gerd Moellmann <gerd@gnu.org>
3060
52283633
SM
3061 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3062 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3063
3064 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3065 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3066 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3067
3068 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3069 height.
3070
d9c1f6f9
DL
30712001-01-30 Dave Love <fx@gnu.org>
3072
3073 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3074 AFTER_POTENTIAL_GC.
3075
e8f044a0
GM
30762001-01-29 Gerd Moellmann <gerd@gnu.org>
3077
52283633
SM
3078 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3079 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3080
8e1db7b3
EZ
30812001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3082
3083 * textprop.c (Fset_text_properties): Doc fix.
3084
4eefd9d2
GM
30852001-01-29 Gerd Moellmann <gerd@gnu.org>
3086
3087 * xdisp.c (forward_to_next_line_start): Remove xassert.
3088
fccb8288
EZ
30892001-01-29 Jason Rumney <jasonr@gnu.org>
3090
4eefd9d2 3091 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3092 returning without releasing it.
3093
76581eab
KH
30942001-01-29 Kenichi Handa <handa@etl.go.jp>
3095
3096 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3097 for '^', '$', and '\0'.
3098
83a96b4d
AC
30992001-01-28 Andrew Choi <akochoi@i-cable.com>
3100
5604ec34
AC
3101 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3102 regex for '^', '$', and '\0'.
3103
83a96b4d
AC
3104 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3105 only if current_sblock has been initialized.
3106
3107 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3108 terminal frame even if it is the only visible frame.
3109
c09a6440
KH
31102001-01-28 Kenichi Handa <handa@etl.go.jp>
3111
3112 * fontset.c (font_family_registry): Even if FONTNAME conform to
3113 XLFD, if it specifies other fields than family and registry,
52283633 3114 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3115 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3116 a signle byte character. Don't set FAMILY part to nil here.
3117 It is handled by the caller choose_face_font.
c09a6440
KH
3118 (Fnew_fontset): Call font_family_registry with FORCE 0.
3119 (Fset_fontset_font): Likewise.
3120
4dcd74e6
GM
31212001-01-27 Gerd Moellmann <gerd@gnu.org>
3122
3123 * xdisp.c (display_line): Don't treat a newline as fitting
3124 on the line.
3125
d2906bf8
GM
31262001-01-26 Gerd Moellmann <gerd@gnu.org>
3127
0130fe1a
GM
3128 * window.c (size_window): Set the window's orig_top to nil when
3129 changing heights, so that a future shrink_mini_window won't
3130 restore a bogus height.
3131
550f0e6a
GM
3132 * frame.c (do_switch_frame): If selected frame has a mini-window,
3133 resize that to exact size.
3134
b7b20fbd
GM
3135 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3136
a47b7816
GM
3137 * xdisp.c (display_line): Simplify check for glyphs fitting
3138 entirely in the line.
3139
d2906bf8
GM
3140 * xfns.c (xic_style): New variable.
3141 (create_frame_xic): Move static variable to global scope for
550f0e6a 3142 the case that `static' gets defined away.
d2906bf8 3143
73df2b1e
KH
31442001-01-26 Kenichi Handa <handa@etl.go.jp>
3145
3146 * coding.c (decode_coding): Set a flag for inhibiting
3147 inconsistent eol.
3148 (code_convert_region): Always set saved_coding_symbol.
3149 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3150 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3151
6613cfc4
GM
31522001-01-25 Gerd Moellmann <gerd@gnu.org>
3153
c5e6e06b
GM
3154 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3155 XClearArea.
3156
3157 * xterm.c (x_after_update_window_line): Don't clear if frame's
3158 internal border width is zero.
3159 (x_clear_area): New function.
3160 (x_after_update_window_line, x_clear_end_of_line)
3161 (x_scroll_bar_create, x_scroll_bar_set_handle)
3162 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3163 instead of XClearArea.
3164
3165 * xterm.h (x_clear_area): Add prototype.
3166
6613cfc4
GM
3167 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3168 which doesn't seem necessary anymore with Lesstif 0.92.
3169
650cc6cc
DL
31702001-01-25 Dave Love <fx@gnu.org>
3171
34ac3367
DL
3172 * puresize.h (BASE_PURESIZE): Up to 720000.
3173
650cc6cc
DL
3174 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3175
5e37dc22
GM
31762001-01-25 Gerd Moellmann <gerd@gnu.org>
3177
e1e441f9
GM
3178 * xdisp.c (echo_area_display): Don't call redisplay_internal
3179 when Emacs is shutting down. We can't run hooks etc. that
3180 would be necessary to do a redisplay.
3181
5e37dc22
GM
3182 * lread.c (read_integer): Use type EMACS_INT instead of int.
3183
0fb94c7f
EZ
31842001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3185
3186 * ccl.c (ccl_driver): Fix last change.
3187
e3778624
KH
31882001-01-25 Kenichi Handa <handa@etl.go.jp>
3189
3190 * ccl.h (sturct ccl_program): New member suppress_error.
3191
bb264518 3192 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3193 insert error message to the output.
3194 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3195
3196 * coding.h (struct coding_system): New member suppress_error.
3197
3198 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3199 (Fset_terminal_coding_system_internal): Set the member
3200 suppress_error to 1.
3201 (Fset_safe_terminal_coding_system_internal): Likewise.
3202
245ed2b1
SM
32032001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3204
3205 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3206 as if it was a `charset'.
3207
f9aaedb6
GM
32082001-01-24 Gerd Moellmann <gerd@gnu.org>
3209
3210 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3211 value in where_is_cache; the next lookup in the cache returns
3212 something bogus if we do.
3213
c3902c3e
EZ
32142001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3215
3216 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3217 if HAVE_WINDOW_SYSTEM isn't defined.
3218
3497f73e
GM
32192001-01-24 Gerd Moellmann <gerd@gnu.org>
3220
e7e41584
GM
3221 * fns.c (sweep_weak_table): Fix code taking items out of
3222 the hash collision chain. Some cleanup.
3223
3497f73e
GM
3224 * xterm.c (x_new_font): Don't change a tooltip's size.
3225
3226 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3227 background color by specifying a color for the default font
3228 in .Xdefaults.
3229
3d48e687
KH
32302001-01-24 Kenichi Handa <handa@etl.go.jp>
3231
96531b20
KH
3232 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3233 a workaround for SunOS 4's cc.
3234 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3235 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3236 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3237 statement.
3d48e687 3238
a30629d2
GM
32392001-01-23 Gerd Moellmann <gerd@gnu.org>
3240
3241 * xterm.c (x_set_window_size_1): New function extracted from
3242 x_set_window_size.
3243 (x_set_window_size): Use it.
3244 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3245 doesn't have a widget, like tooltips.
3246
5a43decf
EZ
32472001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3248
52283633 3249 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3250
b0e98867
KH
32512001-01-23 Kenichi Handa <handa@etl.go.jp>
3252
3253 * fns.c (Fset_char_table_default): Fix to make sub char-table
3254 correctly.
3255
50606b4c
GM
32562001-01-22 Gerd Moellmann <gerd@gnu.org>
3257
cb2ddc53 3258 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3259 a desired tool bar string, even if there are no tool bar items.
3260
57c28064
GM
3261 * xdisp.c (Ftool_bar_lines_needed): New function.
3262 (syms_of_xdisp): Defsubr it.
3263
50606b4c
GM
3264 * editfns.c (Fformat): Don't extend text properties from arguments
3265 to padding chars in the result.
3266
2f169c38
EZ
32672001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3268
3269 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3270
0f32f023
AI
32712001-01-20 Andrew Innes <andrewi@gnu.org>
3272
52283633 3273 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3274 (w32_initialize): Don't set term hooks that aren't actually needed
3275 in windowed mode.
3276
3277 * xfaces.c (realize_default_face):
3278 (realize_face):
3279 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3280
3281 * xdisp.c (handle_single_display_prop): Remove references to
3282 FRAME_W32_CONSOLE_P.
3283
52283633 3284 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3285
3286 * frame.h (output_method): Remove output_w32_console method.
3287 (FRAME_W32_CONSOLE_P): Remove macro.
3288
3289 * frame.c (Qw32_console): Remove variable.
3290 (Fframep): Remove references to it.
3291 (syms_of_frame): Ditto.
3292 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3293
3294 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3295 redefinition.
3296
7173eada
KH
32972001-01-20 Kenichi Handa <handa@etl.go.jp>
3298
3299 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3300
755b45ce
AI
33012001-01-19 Andrew Innes <andrewi@gnu.org>
3302
3303 * w32.c (init_environment): Add a version-independent site-lisp
3304 directory to EMACSLOADPATH, after the version dependent one.
3305
0a949811
GM
33062001-01-19 Gerd Moellmann <gerd@gnu.org>
3307
8501998a
GM
3308 * editfns.c (Fbuffer_substring): Doc fix.
3309
52283633
SM
3310 * xdisp.c (message_dolog, message2, message2_nolog):
3311 Rename parameter LEN to NBYTES.
0a949811 3312
e6ebcbbe
KH
33132001-01-19 Kenichi Handa <handa@etl.go.jp>
3314
200ecca2
KH
3315 * charset.c (strwidth): Use c_string_width.
3316 (c_string_width): New function.
3317 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3318 Caller changed.
3319
3320 * charset.h (c_string_width, lisp_string_width): Extern them.
3321
52283633 3322 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3323
e6ebcbbe
KH
3324 * indent.c (check_composition): Check validity of composition.
3325
200ecca2
KH
3326 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3327 characters by calling c_string_width.
3328 (x_consider_frame_title): Get byte length of frame tile string
3329 correctly.
3330 (display_mode_element): Pay attention to width of non-ASCII
3331 characters by calling strwidth.
3332
8692ca92
GM
33332001-01-18 Gerd Moellmann <gerd@gnu.org>
3334
8962e303
GM
3335 * xfns.c (Qcancel_timer): New variable.
3336 (syms_of_xfns): Initialize and staticpro it.
3337 (Fx_hide_tip, Fx_show_tip): Use it.
3338 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3339 the timer.
3340 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3341
91523be9
GM
3342 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3343
3344 * window.h (WINDOW_LIVE_P): New macro.
3345
b0b7ed0e
GM
3346 * window.c (window_size_fixed): New variable.
3347 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3348 the doc string.
3349
06bccf8e
GM
3350 * eval.c (specbind): If binding a per-buffer variable which
3351 doesn't have a buffer-local value in the current buffer, change
3352 the global value by changing the value of the symbol bound in all
3353 buffers not having their own value, to make it consistent with
3354 what happens with other buffer-local variables.
3355
8692ca92
GM
3356 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3357
3358 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3359 when searching for a newline.
3360
bb3a3b50
KH
33612001-01-18 Kenichi Handa <handa@etl.go.jp>
3362
3363 * xdisp.c (display_string): Fix previous change.
3364
c2cc16fa
JR
33652001-01-18 Jason Rumney <jasonr@gnu.org>
3366
3367 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3368 GLYPH_DEBUG is defined.
3369 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3370 true for images with `:ascent 100'.
3371 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3372 meantime, use face MOUSE_FACE_ID.
3373 If first glyph isn't a character glyph, use the ASCII NUL
3374 character to determine the face.
3375 (expose_area): Do not treat left margin specially.
3376 (note_mode_line_highlight): If no local_map, check global keymap.
3377 (note_mouse_highlight): Initialize overlay.
52283633 3378 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3379 (show_scroll_bars): Remove unused function.
3380 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3381 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3382 Clip to row.
52283633 3383 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3384 (x_free_frame_resources): Unload relief colors.
3385
9c11f79e
GM
33862001-01-17 Gerd Moellmann <gerd@gnu.org>
3387
3aec8722 3388 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3389 get_next_display_element when the newline is already found.
3390 This may change the iterator's position, when its current position is
3aec8722
GM
3391 equal to the iterator's stop_charpos.
3392
f3ffc2c3
GM
3393 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3394 zero, use this method only at the end of a line.
3395
52283633 3396 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3397 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3398 if SCALABLE_FONTS_P is set.
52283633 3399
d26d6fd9
GM
3400 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3401 so that scalable fonts are included.
3402
9c11f79e
GM
3403 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3404 In the cache, use a key containing the information if scalable
3405 fonts are included.
3406 (x_load_font): Adapt to change of keys in the font cache.
3407
34082001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3409
d26d6fd9
GM
3410 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3411 XListFonts to take advantage of font caching.
3412
9c11f79e
GM
3413 * xterm.c (x_list_fonts): Ensure caching font information when
3414 called for a null frame, which is the case frequently when Emacs
3415 starts.
3416
51446987
GM
34172001-01-17 Gerd Moellmann <gerd@gnu.org>
3418
f864120f
GM
3419 * xfns.c (QCconversion): Replaces QCalgorithm.
3420
3421 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3422
3423 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3424 of :algorithm.
52283633 3425
e37d1417
GM
3426 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3427 not everything could be displayed.
3428
51446987
GM
3429 * line.h, x-list-font.c: Files removed because unused.
3430
9ad4f3e5
AI
34312001-01-17 Andrew Innes <andrewi@gnu.org>
3432
3433 * dired.c (directory_files_internal): Convert result from readdir
3434 to a unibyte string initially, to avoid possible misinterpretation
3435 of some bytes as the internal form of Emacs characters.
3436
2eda09b5
KH
34372001-01-17 Kenichi Handa <handa@etl.go.jp>
3438
3439 * fns.c (concat): Be sure to avoid putting the same `composition'
3440 property on the adjacent regions.
3441
826f3788
GM
34422001-01-16 Gerd Moellmann <gerd@gnu.org>
3443
52283633 3444 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3445 (Fscroll_right, Fscroll_left): Set it here instead, if called
3446 interactively.
3447
d57b83b3
GM
3448 * buffer.c (Fset_buffer_modified_p): Set buffer's
3449 prevent_redisplay_optimizations_p flag.
3450
826f3788 3451 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3452 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3453 with additional arg.
3454
3455 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3456 Change prototype.
826f3788 3457
826f3788
GM
3458 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3459 FROM_WHERE, for debugging.
3460
261d788b
KH
34612001-01-16 Kenichi Handa <handa@etl.go.jp>
3462
3463 * ccl.c (Fregister_ccl_program): Handle the return value of
3464 resolve_symbol_ccl_program correctly.
52283633 3465 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3466
bccee4f2
GM
34672001-01-15 Gerd Moellmann <gerd@gnu.org>
3468
e4ded23c
GM
3469 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3470 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3471
3472 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3473 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3474 the display; we didn't open it.
3475
bccee4f2
GM
3476 * dispnew.c (save_or_restore_current_matrices): Function removed.
3477 (save_current_matrix, restore_current_matrix): New functions.
3478 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3479 restore the frame's current matrix. Due to the glyph pointer
3480 setup done in adjust_glyph_matrix, there is no easy way to make
3481 saving the current matrix in the desired matrix generally correct,
3482 so don't try it.
3483
ebeccffa
KH
34842001-01-15 Kenichi Handa <handa@etl.go.jp>
3485
3486 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3487 truncation glyphs.
3488 (display_line): Optimize for wide characters.
e4ded23c 3489 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3490 partially. On ttys, produce more than one truncation glyph for
3491 multi-column characters that don't fit on the line.
3492
64388126
KH
34932001-01-13 Kenichi Handa <handa@etl.go.jp>
3494
52283633
SM
3495 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3496 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3497
8edb0a6f
JR
34982001-01-13 Jason Rumney <jasonr@gnu.org>
3499
3500 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3501 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3502 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3503 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3504
52283633
SM
3505 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3506 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3507 (x_draw_image_glyph_string): Adapt to change of image margins.
3508
3509 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3510 variables.
3511
3512 * w32bdf.c (search_file_line, get_cached_font_char)
3513 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3514
3515 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3516
3517 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3518 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3519 (Fw32_send_sys_command): Remove unused variables.
3520 (w32_msg_pump): Add parentheses.
3521
3522 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3523 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3524 Add parentheses.
3525
4956d1ef
GM
35262001-01-12 Gerd Moellmann <gerd@gnu.org>
3527
b30623be
GM
3528 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3529 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3530 being a pair of margins.
3531 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3532 to DEFVAR_LISP. Extend doc.
3533
3534 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3535 margins.
3536 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3537 pair of integers `(X . Y)', use X for the horizontal and Y for the
3538 vertical margin.
3539 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3540 (parse_image_spec): Check it.
52283633
SM
3541 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3542 (tiff_format, gif_format, gs_format):
3543 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3544
52283633
SM
3545 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3546 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3547 (x_draw_image_glyph_string): Adapt to the change of image margins.
3548
3549 * dispextern.h (struct image): Replace member `margin' with
3550 `hmargin' and `vmargin'.
3551
4554cc79
GM
3552 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3553 and GLYPHS.
3554
3555 * dispnew.c (update_text_area): Put code which decrements the
3556 stop position when the row's face extends to the end of the
3bffc665 3557 line in #if 0.
4554cc79 3558
3cccce8d
GM
3559 * xfns.c (x_set_mouse_color): Fix color allocation.
3560
4956d1ef
GM
3561 * keyboard.c: Call get_local_map with new argument list.
3562
3563 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3564
3565 * intervals.h (enum map_property): Removed.
3566 (get_local_map): Change prototype.
3567
3568 * keymap.c: Call get_local_map with new argument list.
3569 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3570
2c2ff7f2
GM
35712001-01-11 Gerd Moellmann <gerd@gnu.org>
3572
a23887b9
GM
3573 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3574 of the size needed for the tool bar string. For the last image,
3575 use a `display' property that reaches to the end of the string.
3576
a7ee2d2e
GM
3577 * xselect.c (selection_request_dpyinfo): New variable.
3578 (x_handle_selection_request): Set it.
3579 (x_selection_request_lisp_error): Don't call
3580 x_decline_selection_request if selection request's display has
3581 been closed.
3582
52283633
SM
3583 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3584 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3585
457b792c
GM
35862001-01-10 Dave Love <fx@gnu.org>
3587
3588 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3589 ${SOME_MACHINE_LISP}, not ${lisp}.
3590
c1efd260
GM
35912001-01-10 Gerd Moellmann <gerd@gnu.org>
3592
52283633
SM
3593 * xdisp.c (display_line): On ttys, produce more than one truncation
3594 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3595
ac95a621
GM
3596 * xselect.c (x_reply_selection_request): Add a comment.
3597
c1efd260
GM
3598 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3599 XkbGetNames instead of XkbGetKeyboard.
3600
1bfb1345
DL
36012001-01-10 Dave Love <fx@gnu.org>
3602
3603 * sysdep.c (random): Revert the declaration.
3604
38119822
GM
36052001-01-09 Gerd Moellmann <gerd@gnu.org>
3606
52283633
SM
3607 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3608 Call function string_bytes.
35f464a7
GM
3609 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3610
3611 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3612 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3613 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3614 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3615 the current sblock.
3616 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3617 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3618 after sweeping strings, and at the end.
3619 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3620
38119822
GM
3621 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3622 ensure that pop_message is called.
3623
3624 * keyboard.c (Fexecute_extended_command): Use a
3625 record_unwind_protect to ensure that pop_message is called.
3626
3627 * lisp.h (push_message_unwind): Add prototype.
3628
3629 * xdisp.c (push_message_unwind): New function.
3630
3631 * fileio.c (do_auto_save_unwind): Do the pop_message here
3632 instead of in Fdo_auto_save.
3633 (Fdo_auto_save): Don't call pop_message.
3634
f47a9ec4
KR
36352001-01-08 Ken Raeburn <raeburn@gnu.org>
3636
3637 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3638 in inner block.
3639
a758f97d
GM
36402001-01-08 Gerd Moellmann <gerd@gnu.org>
3641
6d0afc03
GM
3642 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3643 when increasing window's vscroll.
3644
a758f97d
GM
3645 * macros.c (Qkbd_macro_termination_hook): New variable.
3646 (syms_of_macros): Initialize and staticpro it.
3647 (pop_kbd_macro): Run kbd-macro-termination-hook.
3648
3649 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3650
1bfb1345 36512001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3652
3653 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3654 arglist, for documentation's sake.
3655
0dac6924
AI
36562001-01-06 Andrew Innes <andrewi@gnu.org>
3657
3658 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3659 of *.pdb.
3660
8182406a
AI
36612001-01-05 Andrew Innes <andrewi@gnu.org>
3662
3663 * term.c (update_end): Don't check updating_frame; for some reason
3664 this can be 0 sometimes, such as after dismissing a popup menu,
3665 and isn't necessary given the explicit frame argument.
3666
3828218c
GM
36672001-01-05 Gerd Moellmann <gerd@gnu.org>
3668
3669 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3670 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3671
2f5ded21
GM
36722001-01-04 Gerd Moellmann <gerd@gnu.org>
3673
52283633 3674 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3675
3676 * xfns.c (x_create_tip_frame): Preserve the value of
3677 face_change_count around the creation of the tip frame.
52283633 3678
2f5ded21
GM
3679 * xfns.c (last_show_tip_args): New variable.
3680 (compute_tip_xy): New function.
3681 (Fx_show_tip): Reuse an existing tip frame, if possible.
3682 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3683
dfad65fa
DL
36842001-01-04 Dave Love <fx@gnu.org>
3685
64d4ec0f
DL
3686 * editfns.c (Fformat): Doc fix.
3687
dfad65fa
DL
3688 * systime.h (set_file_times): Prototype.
3689
3690 * widget.h (EmacsFrameSetCharSize_): Prototype.
3691
3692 * sysdep.c (random, srandom): Declare explicitly.
3693
3694 * dispextern.h (move_it_vertically_backward): Declare.
3695
85fe3b5e
GM
36962001-01-04 Gerd Moellmann <gerd@gnu.org>
3697
0f2ac578
GM
3698 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3699 like in Fx_create_frame.
3700
482cca61
GM
3701 * xfaces.c (set_font_frame_param): Don't do anything for
3702 non-graphical frames.
3703
85fe3b5e
GM
3704 * window.c (Fdelete_other_windows): Set window's window_end_valid
3705 to nil when changing the window's start. Don't change the
3706 window's start when its top position hasn't changed. If we do,
3707 this will set the window's optional_new_start, which act's like a
3708 force_start during redisplay with C-x 1 M-> under particular
3709 circumstances (see report from Per Starback to emacs-pretest-bug
3710 from 2000-12-13.).
3711
3e99d3b4
GM
37122001-01-03 Gerd Moellmann <gerd@gnu.org>
3713
a77dc1ec
GM
3714 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3715 short cut at the start of the function. Add an assertion.
3716 (reseat_at_next_visible_line_start): Add an assertion.
3717
2f3cad6c
GM
3718 * window.c (Frecenter): When changing the window start, set the
3719 window's window_end_valid to nil.
3720 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3721
3722 * dispextern.h (move_it_past_eol): Add prototype.
3723
3724 * xdisp.c (move_it_past_eol): New function.
3725
3e99d3b4
GM
3726 * window.c (Fwindow_end): Doc fix.
3727
37282001-01-03 Dave Love <fx@gnu.org>
3729
52283633 3730 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3731
bafb434c
GM
37322001-01-03 Gerd Moellmann <gerd@gnu.org>
3733
3734 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3735 the enabled_p flag of the glyph row at window_end_vpos to 0.
3736 (handle_single_display_prop): Fix last change.
3737
5297fb00
RS
37382001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3739
3740 * window.c (Frecenter): Doc fix.
3741
13d6a61c
AI
37422001-01-02 Andrew Innes <andrewi@gnu.org>
3743
3744 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3745
3746 * frame.h (output_method): Add output_w32_console method.
3747 (FRAME_W32_CONSOLE_P): New macro.
3748
3749 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3750 use output_w32_console method.
3751 (Qw32_console): New Lisp_Object.
3752 (Fframep): Return it.
3753 (syms_of_frame): Init it.
52283633 3754 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3755
3756 * xfaces.c (realize_default_face): Set face foreground and
3757 background to unspecified for w32_console frames.
3758 (realize_face): Realize face cache for w32_console frames.
3759 (realize_tty_face): Accept w32_console frames.
3760
52283633 3761 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3762 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3763 necessary, even if running interactively.
3764
3765 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3766 w32_console frames.
3767
52283633
SM
3768 * w32term.c (x_update_begin):
3769 (x_update_end):
3770 (x_clear_frame):
3771 (x_ins_del_lines):
3772 (x_change_line_highlight):
3773 (x_delete_glyphs):
3774 (w32_ring_bell):
3775 (x_update_begin):
3776 (x_update_end):
3777 (w32_reassert_line_highlight):
3778 (w32_frame_rehighlight):
13d6a61c
AI
3779 (w32_frame_raise_lower): Do nothing if not w32 frame.
3780
3781 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3782
3783 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3784 system doesn't tell us directly.
3785 (Fx_display_visual_class): Implement properly.
3786
d6bb0c0d
GM
37872001-01-02 Gerd Moellmann <gerd@gnu.org>
3788
3789 * window.c (Frecenter): Handle centering in graphical frames
3790 specially. Centering on the basis of line counts doesn't work
3791 reliably with variable-height lines.
52283633 3792
315f5865
EZ
37932001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3794
3795 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3796 and al[].
3797
52283633 3798 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3799 (update_compositions): Remove unused variable `hook'.
3800
3801 * intervals.c (get_local_map): Remove unused variable `tem'.
3802
3803 * doprnt.c (doprnt1): Remove unused variable `size'.
3804
3805 * fns.c (Flength): Remove unused variable `tail'.
3806 (Fdelete): Remove unused variable `size'.
3807
3808 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3809 and `gcpro2'.
3810
52283633 3811 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3812
3813 * data.c (find_symbol_value): Remove extra 3rd argument in the
3814 call to swap_in_symval_forwarding.
3815
52283633 3816 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3817
3818 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3819 (trivial_regexp_p): Remove unused variable `c'.
3820 (boyer_moore): Remove unused variable `k'.
3821
3822 * indent.c (current_column): Remove unused variable `stopchar'.
3823 (Fcompute_motion): Remove unused variable `contin'.
3824
3825 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3826
3827 * dired.c (directory_files_internal): Fix a typo in a comment.
3828 Remove an unused variable `handler'.
52283633 3829 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3830 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3831 on BSD4_2.
3832
52283633 3833 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3834
3835 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3836 and `buf'.
3837 (Fmarker_insertion_type): Remove unused variable `buf'.
3838
3839 * insdel.c (make_gap): Remove unused variable `result'.
3840
52283633 3841 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3842 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3843 (menu_bar_items): Remove unused function-scope variable `tem'.
3844
3845 * fontset.c (fontset_ref): Remove unused variable `i'.
3846 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3847 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3848 (make_fontset_for_ascii_face): Remove unused variable `name'.
3849 (fs_load_font): Remove unused variable `font_idx'.
52283633 3850 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3851 (list_fontsets): Remove unused variable `tail'.
3852 (Fnew_fontset): Remove unused variables `family' and `registry'.
3853 (accumulate_font_info): Remove unused variable `tmp'.
3854 (Ffontset_font): Remove unused variable `id'.
3855 (syms_of_fontset): Remove unused variable `i'.
3856
3857 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3858 to x_term_init.
3859 (lookup_image): Remove unused variable `file'.
3860 (xbm_load): Remove unused variables `bitmap_data', `height', and
3861 `width'. Remove function-local variable `i', leave the
3862 block-local one.
3863 (gif_load): Remove unused variable `inc'.
3864
52283633 3865 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3866 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3867 leave only the one in the inner block.
3868
3869 * xfaces.c (face_fontset, realize_default_face): Remove unused
3870 variable `fontset'.
3871 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3872
3873 * term.c (encode_terminal_code): Remove unused variable `c'.
3874
3875 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3876 char *' instead of `char *'.
3877
3878 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3879 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3880 (Fchar_category_set): Remove unused variables `val', `charset',
3881 `c1' and `c2'.
3882
52283633
SM
3883 * coding.c (detect_coding_iso2022, setup_coding_system):
3884 Remove unused variable `i'.
315f5865
EZ
3885 (detect_coding_mask): Remove unused variable `idx'.
3886 (detect_coding): Remove unused variable `i'.
3887 (ccl_coding_driver): Remove unused variable `result'.
3888 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3889 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3890 (encode_coding_string): Remove unused variables `gcpro1' and
3891 `saved_coding_symbol'.
3892 (Ffind_coding_systems_region_internal): Remove function-local
3893 variable args[], leave only the block-local one.
3894 (code_convert_region1): Remove unused variable `len'.
3895
3896 * charset.c (char_printable_p): Remove unused variable `chars'.
3897 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3898 (str_to_multibyte): Remove unused variable `c'.
3899
3900 * window.c (size_window): Remove block-local variable `min_size'.
3901
3902 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3903 `header_line_height'.
3904 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3905 enum display_element_type.
3906
1a8a9daf
GM
39072001-01-02 Gerd Moellmann <gerd@gnu.org>
3908
6dde6abc 3909 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3910 statements that call X. Save away the error message in a local copy.
3911
1883b2c6
GM
3912 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3913 the start.
3914
a13be207
GM
3915 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3916 in or at the start of invisible text.
3917
1a8a9daf
GM
3918 * dispnew.c (update_window): Don't check_current_matrix_flags.
3919
3608c0f9
JR
39202001-01-01 Jason Rumney <jasonr@gnu.org>
3921
3922 * w32fns.c (x_figure_window_size): Do not allow new_height and
3923 new_width of frame to override specified values.
3924
abb1acc4
KH
39252000-12-30 Kenichi Handa <handa@etl.go.jp>
3926
52283633 3927 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3928
762a68ec
GM
39292000-12-29 Gerd Moellmann <gerd@gnu.org>
3930
52283633 3931 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3932 (update_window) [GLYPH_DEBUG]: Call it.
3933 (scrolling_window): Prevent including current rows which are below
3934 what's displayed in the window.
3935
3936 * xdisp.c (try_window_reusing_current_matrix)
3937 <new start <= old start>: Disable rows in the current matrix
3938 which are below the window after scrolling.
52283633 3939
762a68ec
GM
3940 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3941 is zero. It's not worth the complexity.
3942 (invisible_text_between_p): Put in #if 0 because unused.
3943
2d5912c1
GM
39442000-12-28 Gerd Moellmann <gerd@gnu.org>
3945
46f6a258
GM
3946 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3947 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3948
89f93679
GM
3949 * keyboard.c (echo_char): If C is an integer, always call
3950 push_key_description. Former code could signal an invalid
3951 character error.
3952
3953 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3954 If set, print multibyte text.
3955 (Fsingle_key_description): Call push_key_description with
3956 FORCE_MULTIBYTE set.
3957 (describe_buffer_bindings): Likewise.
3958
3959 * lisp.h (push_key_description): Add prototype.
3960
c06017fb
GM
3961 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3962 around the call to redisplay_internal.
3963
f1d2ce7f
GM
3964 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3965
2d5912c1
GM
3966 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3967
9371f831
KH
39682000-12-28 Kenichi Handa <handa@etl.go.jp>
3969
3970 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3971 (ccl_driver): New local variable `extra_bytes'.
3972
3973 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3974
52283633
SM
3975 * coding.c (setup_coding_system):
3976 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3977 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3978
0c80628a
KH
39792000-12-28 Kenichi Handa <handa@etl.go.jp>
3980
3981 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3982 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3983 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3984 (decode_composition_emacs_mule): New function.
3985 (decode_coding_emacs_mule): Decode composition sequence by calling
3986 decode_composition_emacs_mule.
3987 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3988 (encode_coding_emacs_mule): Changed from macro to function.
3989 If a text contains compositions, encode them correctly.
0c80628a
KH
3990 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3991 that decoding and encoding are required.
3992
3e32cc27
GM
39932000-12-27 Gerd Moellmann <gerd@gnu.org>
3994
5e25feee
GM
3995 * xfaces.c (PT_PER_INCH): New macro.
3996 (xlfd_point_size): Compute real point size from font's pixel size.
3997 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3998 instead of 72.
3999
892d8fcd
GM
4000 * .gdbinit: Comment out the line pointing to the Lesstif source
4001 directory.
4002
12c8b416
GM
4003 * window.c (Frecenter): Use displayed_window_lines instead
4004 of window_internal_height.
4005
6061fbf0
GM
4006 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4007 instead of x-toolkit-scroll-bars-p.
4008 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4009
4010 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4011 instead of x-toolkit-scroll-bars-p.
4012 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4013
3e32cc27
GM
4014 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4015 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4016 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4017 New variables.
4018 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4019 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4020 (build_frame_matrix_from_leaf_window): Remove unused code.
4021 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4022 redisplay history.
4023 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4024 (update_window) [GLYPH_DEBUG]: Likewise.
4025 (syms_of_display): Defsubr dump-redisplay-history.
4026
31798cfe
GM
40272000-12-23 Gerd Moellmann <gerd@gnu.org>
4028
f717c2ba
GM
4029 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4030 the end of the prompt. Set echo_after_prompt to the offset
4031 of echoptr in echobuf.
4032
aeb2b8fc
GM
4033 * xdisp.c (init_from_display_pos): Pop until the iterator's
4034 stack is empty; there may be frames for stretch or images
4035 on the stack.
4036
31798cfe
GM
4037 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4038 (save_or_restore_current_matrix): New function for the same
4039 purpose, but more efficient.
4040 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4041
f8156156
EZ
40422000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4043
4044 * xdisp.c (syms_of_xdisp): Fix last change.
4045
bdd6d4e8
GM
40462000-12-23 Gerd Moellmann <gerd@gnu.org>
4047
4048 * xdisp.c (syms_of_xdisp): Doc fix.
4049
4050 * xdisp.c (redisplay_window): Remove label restore_buffers;
4051 use finish_scroll_bars instead to make sure that scroll bars
4052 are redeemed. If we don't do this, flickering can result from
4053 scroll bars being destroyed and recreated.
4054
9436cdf9
JR
40552000-12-22 Jason Rumney <jasonr@gnu.org>
4056
4057 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4058 in the wrong colors when the foreground is not black.
4059 (expose_window): Don't redraw the window that's currently being
4060 updated.
4061
951f9df5
GM
40622000-12-22 Gerd Moellmann <gerd@gnu.org>
4063
856ff7a7
GM
4064 * window.c (size_window): When setting the window's too_small_ok
4065 flag, compare old size with minimum size depending on WIDTH_P,
4066 don't compare with window_min_width.
52283633 4067
951f9df5
GM
4068 * window.c (delete_window): Simplify somewhat.
4069 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4070 freeing window matrices. The flag windows_or_buffers_changed is
4071 set, so the next redisplay will consider all windows; this should
4072 suffice.
4073
886bc933
KH
40742000-12-22 Kenichi Handa <handa@etl.go.jp>
4075
4076 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4077
4078 * ccl.h (struct ccl_program): New member cr_consumed.
4079
4080 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4081 (CCL_READ_CHAR): Handle EOL conversion here.
4082 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4083
177f4e88
GM
40842000-12-21 Gerd Moellmann <gerd@gnu.org>
4085
52283633 4086 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4087
4088 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4089 otherwise tabs of different size compare equal.
4090
4091 * callint.c (Fcall_interactively): Prevent a compiler warning.
4092
4093 * print.c (print_unwind): Return nil.
4094 (PRINTDECLARE): Initialize all local variables.
4095 (print_preprocess): Add a default case.
4096
8e15274f
GM
4097 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4098
4099 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4100
52283633 4101 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4102 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4103
4104 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4105
4106 * dispnew.c (ensure_frame_matrix): Removed.
4107 (save_frame_matrix, restore_frame_matrix): New functions.
4108 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4109
4110 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4111 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4112
99012074
AI
41132000-12-21 Andrew Innes <andrewi@gnu.org>
4114
4115 * w32term.c (x_update_begin): Regenerate the palette here, rather
4116 than for each window.
4117
4118 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4119 palette is NULL, since this corrupts memory! Also get
4120 display_info reference from frame.
4121
29ef7d2d
JR
41222000-12-21 Jason Rumney <jasonr@gnu.org>
4123
4124 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4125
4126 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4127 to avoid returning without releasing it.
3e27fa1f 4128
3f9d67a6
KH
41292000-12-21 Kenichi Handa <handa@etl.go.jp>
4130
587fc3f9
KH
4131 * keymap.c (push_key_description): Don't convert eight-bit-control
4132 and eight-bit-graphic to multibyte character.
4133
3f9d67a6
KH
4134 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4135 generic character and CODE1 is nil, return the smallest character
4136 in CHARSET.
4137
774ba8c9
DL
41382000-12-20 Dave Love <fx@gnu.org>
4139
4140 * s/osf5-0.h (NSIG): Don't redefine.
4141
88416888
SM
41422000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4143
4144 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4145 excluding menu-bar and tool-bar.
4146 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4147 (menu_item_p): Remove.
4148 (where_is_internal_1): Don't ignore menu-items.
4149
a6426c6f
GM
41502000-12-20 Gerd Moellmann <gerd@gnu.org>
4151
03ff8aab
GM
4152 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4153 into account.
4154
4155 * window.c (make_window): Initialize window's min_hscroll.
4156 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4157 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4158 to zero.
4159 (struct saved_window): New member min_hscroll.
4160 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4161 (Fset_window_configuration): Set window's min_hscroll.
4162 (save_window_save): Save window's min_hscroll.
4163 (compare_window_configurations): Compare min_hscroll values.
4164
4165 * window.h (struct window): New member min_hscroll.
4166
4167 * keyboard.c (echo_prompt): Prevent a compiler warning.
4168
8de4aaf8
GM
4169 * xdisp.c (try_cursor_movement): Fix last change. The real
4170 condition is that PT is at the end of the row, and should
4171 be displayed at the start of the next row.
52283633 4172
3f7e3031
GM
4173 * xdisp.c (try_cursor_movement): If we end on a partially
4174 visible line, end we already decided to scroll, return -1.
4175
a6426c6f
GM
4176 * dispextern.h (ensure_frame_matrix): Add prototype.
4177
4178 * window.c (delete_window, Fsplit_window)
4179 (Fset_window_configuration): Call ensure_frame_matrix.
4180
52283633
SM
4181 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4182 New functions.
a6426c6f
GM
4183 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4184 completed, call fake_current_matrices instead of marking frame
4185 garbaged.
4186
57fa2774
JR
41872000-12-20 Jason Rumney <jasonr@gnu.org>
4188
4189 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4190
d925df90
EZ
41912000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4192
4193 * fns.c (Frequire): Doc fix.
4194
7b93a85b
GM
41952000-12-19 Gerd Moellmann <gerd@gnu.org>
4196
52283633 4197 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4198
c74e645b
GM
4199 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4200 currently displaying a message.
4201
7b93a85b
GM
4202 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4203 xterm.h.
4204 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4205
90d97e64
AI
42062000-12-18 Andrew Innes <andrewi@gnu.org>
4207
4208 * w32.c (w32_strerror): New function.
4209
4210 * w32.h (w32_strerror): New extern.
4211
4212 * w32fns.c (Fw32_shell_execute): Use it.
4213
91c9e6ce
GM
42142000-12-18 Gerd Moellmann <gerd@gnu.org>
4215
4216 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4217
6f4745e2
EZ
42182000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4219
4220 * msdos.c (IT_set_face): Obey inverse_video.
4221
c9e088ce
KH
42222000-12-18 Kenichi Handa <handa@etl.go.jp>
4223
4224 * dired.c (directory_files_internal): Always return decoded filenames.
4225
c3695f5f
GM
42262000-12-18 Gerd Moellmann <gerd@gnu.org>
4227
52d8e4ff
GM
4228 * xterm.c (x_connection_closed): Prevent being called recursively
4229 because of an error condition in XtCloseDisplay.
52283633 4230
62be9979
GM
4231 * xdisp.c (init_iterator): If noninteractive, and the frame's
4232 face cache is null, make one.
4233
52283633 4234 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4235
c3695f5f
GM
4236 * process.c (wait_reading_process_input): Check for pending
4237 input when running timers.
4238
78555fbe
EZ
42392000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4240
52283633 4241 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4242
b2b36264
KH
42432000-12-18 Kenichi Handa <handa@etl.go.jp>
4244
4245 * process.c (read_process_output): Don't run a filter if the code
4246 decoder produces nothing but carryover.
4247
9c543fbf
AI
42482000-12-17 Andrew Innes <andrewi@gnu.org>
4249
4250 * w32.c (sys_rename): Only check errno against EEXIST, and not
4251 EACCES, when determining whether rename failed because the target
4252 exists. This was resulting in indefinite looping on Windows 9x if
4253 the source file was locked by another process.
4254
4255 * w32fns.c (Ffile_system_info): New function.
4256 (syms_of_w32fns): Defsubr it.
4257
10c2b5a8
GM
42582000-12-17 Gerd Moellmann <gerd@gnu.org>
4259
b0228ace
GM
4260 * window.c (coordinates_in_window): Fix computation for
4261 position on vertical line between mode lines.
4262
10c2b5a8
GM
4263 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4264 Don't alter tip_frame or tip_window.
4265 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4266 was deleted.
4267
c844a81a
GM
4268 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4269 Don't alter tip_frame or tip_window.
4270 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4271 was deleted.
4272
6c825f8e
EZ
42732000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4274
4275 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4276 be consistent with the doc string. Reported by NAKAJIMA Mikio
4277 <minakaji@osaka.email.ne.jp>.
4278
af4bb4c8
KH
42792000-12-16 Kenichi Handa <handa@etl.go.jp>
4280
4281 * xfaces.c (Vface_ignored_fonts): New variable.
4282 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4283 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4284
8062e53a
GM
42852000-12-15 Gerd Moellmann <gerd@gnu.org>
4286
e87b8809
GM
4287 * dispnew.c (update_window): Detect pending input every nth line
4288 updated, i.e. do it depending on real work done, and not on the
4289 vpos of the line.
4290
4291 * xterm.c (expose_window): Don't redraw the window that's
4292 currently being updated.
4293
a6768cc5
GM
4294 * window.c (Fset_window_point): Remove test for
4295 cursor_in_non_selected_windows.
4296
4ea7fdca
GM
4297 * lread.c (read1): Recognize end of file after `\\'.
4298
8062e53a
GM
4299 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4300 not unwind_create_frame.
4301
bb7959c1
GM
43022000-12-15 Dave Love <fx@gnu.org>
4303
4304 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4305 bcopy & al.
4306
4307 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4308
ced04c42
KH
43092000-12-15 Kenichi Handa <handa@etl.go.jp>
4310
c5443913
KH
4311 * coding.c (setup_coding_system): Clear all members of the struct
4312 coding_system at first.
bc137305
KH
4313 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4314 argument.
4315 (code_convert_region): Don't override coding->src_multibyte and
4316 coding->dst_multibyte.
c5443913 4317
ced04c42
KH
4318 * fns.c (Fmd5): Docstring improved.
4319
c2d7f289
MB
43202000-12-15 Miles Bader <miles@gnu.org>
4321
4322 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4323 are actually marked as mode-lines; otherwise use
4324 estimate_mode_line_height.
4325
9d7d9263
GM
43262000-12-14 Gerd Moellmann <gerd@gnu.org>
4327
4328 * editfns.c (Fformat): Prevent a buffer overrun when the format
4329 specifies a precision.
4330
7cf0153a
EZ
43312000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4332
4333 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4334 argument is outside the range [2..3].
4335
1de0f662
AI
43362000-12-14 Andrew Innes <andrewi@gnu.org>
4337
4338 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4339 nothing to do. Bind inhibit-quit.
4340 (tip_frame): Make it a Lisp_Object.
4341 (x_create_tip_frame): Set tip_frame after it has been added to
4342 Vframe_list.
4343 (Fx_show_tip): Don't set tip_frame here.
52283633 4344 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4345 (unwind_create_frame, unwind_create_tip_frame): New functions.
4346 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4347 while a frame is only partially constructed.
4348
4349 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4350 (x_free_frame_resources): New function.
4351 (x_destroy_window): Use it.
4352
02387dcc
GM
43532000-12-14 Gerd Moellmann <gerd@gnu.org>
4354
4355 * xfns.c (Fx_backspace_delete_keys_p): New function.
4356 (syms_of_xfns): Defsubr it.
4357
4358 * config.in (HAVE_XKBGETKEYBOARD): Add.
4359
0544ef49
KH
43602000-12-14 Kenichi Handa <handa@etl.go.jp>
4361
98d62747
KH
4362 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4363 Always store string in multibyte representation in echobuf.
4364 (echo_char): Always store string in multibyte representation in
4365 echobuf.
4366 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4367 (read_key_sequence): Adjusted for the change of echo_prompt.
4368
a20193cd
KH
4369 * fns.c (Fmd5): Docstring improved.
4370
191b83b6
KH
4371 * lisp.h (detect_coding_system): Prototype adjusted.
4372
0544ef49
KH
4373 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4374 (detect_coding_emacs_mule, detect_coding_iso2022,)
4375 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4376 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4377 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4378 (detect_coding_mask, detect_coding_system): New argument
4379 MULTIBYTEP. Callers changed.
1da1bb05
KH
4380 (decode_coding_string): Set coding->src_multibyte and
4381 coding->dst_multibyte before calling detect_coding and detect_eol.
4382 Update them after some coding system is detected.
52283633 4383
d5b3eb1b
SM
43842000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4385
4386 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4387
4388 * keyboard.c (menu_bar_items, tool_bar_items):
4389 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4390
f7f8bb69
GM
43912000-12-13 Gerd Moellmann <gerd@gnu.org>
4392
52283633 4393 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4394 New variables.
4395 (unwind_create_frame, unwind_create_tip_frame): New functions.
4396 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4397 while a frame is only partially constructed.
4398
4399 * xterm.h (x_free_frame_resources): Declare.
4400
4401 * xterm.c (x_free_frame_resources): New function.
4402 (x_destroy_window): Use it.
4403
e10da507
GM
4404 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4405 don't interrupt the update for pending input initially, i.e.
4406 update at least some lines.
4407
4408 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4409
d5b3eb1b 4410 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4411
4412 * xfns.c (gray_bitmap_bits): Declare `char *'.
4413
90aa2856
GM
44142000-12-12 Gerd Moellmann <gerd@gnu.org>
4415
4416 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4417 lines start with a relief line.
4418
a308c9cd
DL
44192000-12-12 Dave Love <fx@gnu.org>
4420
4421 * window.c (Fdisplay_buffer): Doc fix.
4422 (Fwindow_list): Remove unused var.
4423
4424 * buffer.h (mmap_set_vars): Declare.
4425
4426 * window.h (Fset_window_point): Declare.
4427
d575011f
EZ
44282000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4429
bf6282d2 4430 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4431 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4432 variable `area'. When looking for a row under (X,Y), give up if some
4433 of the previous rows is not enabled.
d575011f 4434
ecf4d726
GM
44352000-12-12 Gerd Moellmann <gerd@gnu.org>
4436
2ebf6139
GM
4437 * window.c (Fset_window_point): If displaying cursors in windows
4438 other than the selected window, make sure redisplay updates
4439 other windows to show the new value of point in the window.
4440
4441 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4442
bfdb75ee
GM
4443 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4444 the buffer is the sole visible buffer when in the mini-buffer.
4445
52283633 4446 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4447 Bind `inhibit-read-only' to t.
4448 (unwind_with_echo_area_buffer): Use AREF.
4449
c0006262
GM
4450 * xfns.c (Fx_hide_tip): Simplified.
4451
52283633
SM
4452 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4453 instead of `1'.
e9a59cad 4454
ecf4d726
GM
4455 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4456
e5959a9a
GM
44572000-12-11 Gerd Moellmann <gerd@gnu.org>
4458
a3642e49 4459 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4460
44b5a125
GM
4461 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4462 nothing to do. Bind inhibit-quit.
4463 (tip_frame): Make it a Lisp_Object.
4464 (x_create_tip_frame): Set tip_frame after it has been added to
4465 Vframe_list.
4466 (Fx_show_tip): Don't set tip_frame here.
4467
4468 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4469
4470 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4471 Lisp_Object.
4472
4473 * dispextern.h: Change external declaration of tip_frame.
4474
d990421f
GM
4475 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4476 return an empty string.
4477
4db87380
GM
4478 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4479 of the window's update_mode_line flag, since the former is set by
4480 force-mode-line-update, not the latter. This makes
4481 column-number-mode slightly faster.
52283633 4482
e5959a9a
GM
4483 * xdisp.c (try_window_id) <all changes above window start>:
4484 Set the cursor.
4485
169fe44e
GM
44862000-12-11 Paul Eggert <eggert@twinsun.com>
4487
4488 * config.in (HAVE_FTELLO): Remove.
4489 (HAVE_FSEEKO): Add.
4490 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4491 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4492 HAVE_FTELLO.
4493 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4494 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4495
59ec59ae
MB
44962000-12-11 Miles Bader <miles@gnu.org>
4497
4498 * window.c (displayed_window_lines): Don't round up when
4499 converting empty space at bottom to lines.
ff904dd6
MB
4500 Handle non-newline-terminated final lines properly.
4501 (Fwindow_text_height): New function (used to be in lisp).
4502 (syms_of_window): Initialize it.
59ec59ae 4503
42ebfa31
SM
45042000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4505
4506 * syntax.c (scan_lists): Check that the right quote char has the
4507 right Sstring syntax when jumping over strings.
4508 (init_syntax_once): Use Smax rather than 13.
4509
5cdb3cf3
MB
45102000-12-09 Miles Bader <miles@gnu.org>
4511
4512 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4513 with PARTIALLY, inverting the sense.
4514 (window_scroll_pixel_based): Scroll partially visible lines into
4515 place if we hit the beginning or end of the buffer.
a12167c5
MB
4516 (displayed_window_lines): Don't include partially visible lines.
4517 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4518
842b2a94
GM
45192000-12-08 Gerd Moellmann <gerd@gnu.org>
4520
4521 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4522
4523 * tparam.c (tparam1): Change the way buffers are reallocated to be
4524 portable and less obfuscated.
4525
4526 * termcap.c (tgetent): Change the way buffers are reallocated to
4527 be portable and less obfuscated.
4528
4529 * macros.c (store_kbd_macro_char): Change the way buffers are
4530 reallocated to be portable and less obfuscated.
4531
4532 * lread.c (read1): Change the way buffers are reallocated to be
4533 portable and less obfuscated.
4534
4535 * doc.c (Fsubstitute_command_keys): Change the way buffers
4536 are reallocated so that it is portable.
4537
137cad7c
EZ
45382000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4539
4540 * dosfns.c (Ffile_system_info): New function.
4541 (syms_of_dosfns): Defsubr it.
4542
5c7f629c
SM
45432000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4544
4545 * alloc.c (gc_sweep): Add comment.
4546
959e647d
GM
45472000-12-07 Gerd Moellmann <gerd@gnu.org>
4548
52283633
SM
4549 * sound.c (vox_configure): Change order of ioctls.
4550 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4551 Ignore errors when changing volume.
4552 (vox_close): Don't reset the device.
4553
926b7e5e
GM
4554 * process.c (read_process_output): Make sure the process marker's
4555 position is valid when the process buffer is changed in
4556 after-change functions. W3 does that.
52283633 4557
959e647d
GM
4558 * xfns.c (x_free_gcs): New function.
4559
4560 * xterm.h (x_free_gcs): Add prototype.
4561
4562 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4563 freeing GCs here.
4564
4565 * xterm.c (x_destroy_window): Call x_free_gcs so that
4566 resources of non-toolkit X windows will be freed.
4567
478ea067
AI
45682000-12-07 Andrew Innes <andrewi@gnu.org>
4569
4570 * w32fns.c (xlfd_charset_of_font): Fix last change.
4571
fbee3231
DL
45722000-12-06 Dave Love <fx@gnu.org>
4573
67292061
DL
4574 * md5.h (__P): Don't define -- it comes from config.h.
4575
fbee3231
DL
4576 * strftime.c: Change some #if foo to #ifdef foo.
4577
4ee87dbb
AI
45782000-12-06 Andrew Innes <andrewi@gnu.org>
4579
4580 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4581
52283633 4582 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4583 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4584 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4585
9765b4a4
GM
45862000-12-06 Gerd Moellmann <gerd@gnu.org>
4587
d285b373
GM
4588 * alloc.c (gc_sweep): Prevent symbols read during loadup
4589 from being freed.
4590
384333ee
GM
4591 * xdisp.c (underlying_face_id): New function.
4592 (handle_face_prop, face_before_or_after_it_pos): Use it
4593 to determine the face ``under'' a string. Let strings inherit
4594 the face of the buffer under them.
4595
4596 * xfaces.c (face_at_string_position): Update function comment.
52283633 4597
d4b72d58
GM
4598 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4599 matrix if the window's left position has changed; we need to
4600 redraw it in this case.
4601
4602 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4603
e1d05387
GM
4604 * window.c (coordinates_in_window): Check mouse on mode-line or
4605 header-line first.
4606
eb1b0c74
GM
4607 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4608 advertized by the function documentation.
4609
d94d636f
GM
4610 * window.c (syms_of_window): Doc fix.
4611
3887b449
GM
4612 * sound.c (vox_configure): Set volume for left and right channel.
4613 (sound_cleanup): Return nil.
4614
efc8f57a
GM
4615 * xdisp.c (move_it_by_lines): Fix paren typo.
4616
9765b4a4
GM
4617 * xterm.c (x_load_font): Don't use the font's max_bounds for
4618 computing the height of the font. If max_bounds' ascent or
4619 descent are greater than the font's ascent or descent, this means
4620 glyphs overlap, which should be handled now by redisplay.
4621
6529ed87
GM
4622 * window.c (Veven_window_heights): New variable.
4623 (syms_of_window): DEFVAR_LISP it.
4624 (Fdisplay_buffer): Check Veven_window_heights before evening the
4625 window heights.
52283633 4626
0eb2ecde
MB
46272000-12-06 Miles Bader <miles@gnu.org>
4628
4629 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4630 update `default-frame-alist' instead of setting no frame parameters.
4631
03d7a167
KH
46322000-12-06 Kenichi Handa <handa@etl.go.jp>
4633
4634 * composite.c (update_compositions): Fix typo (use the correct
4635 variable).
4636
5f8803c2
JR
46372000-12-05 Jason Rumney <jasonr@gnu.org>
4638
4639 * md5.h: Remove underscores from function declarations.
4640 (__attribute__, __alignof__) [!__GNUC__]: Define.
4641
4642 * md5.c: Delay include of md5.h until after namespace cleaning.
4643
c28a075b
JR
4644 * makefile.w32-in (fns.o): Depend on md5.h
4645 (md5.o): New target.
4646 (sunfns.o): Remove.
4647
4648 * makefile.nt: Likewise.
4649
ff3c7056
JR
46502000-12-05 Jason Rumney <jasonr@altavista.net>
4651
4652 * w32term.c (expose_area): Complete last change.
4653
0c21eeeb
KR
46542000-12-05 Ken Raeburn <raeburn@gnu.org>
4655
4656 * minibuf.c: Include intervals.h.
4657
f201d732
JR
46582000-12-05 Jason Rumney <jasonr@gnu.org>
4659
4660 * w32term.c (x_produce_glyphs): If a font for a component of
4661 a composition is not found, use 1 pixel dot ascent and 0 dot
4662 descent value to avoid displaying terribly tall empty boxes.
4663 (expose_area): Pass x-coordinate relative to the exposed
4664 area to x_draw_glyphs instead of a window-relative coordinate.
4665
21999ab9
GM
46662000-12-05 Gerd Moellmann <gerd@gnu.org>
4667
4d2036e4
GM
4668 * xdisp.c (next_element_from_ellipsis): Save face before selective
4669 display in saved_face_id, and set face_before_selective_p.
4670 (reseat_1): Reset face_before_selective_p.
4671 (append_space, extend_face_to_end_of_line): If iterator's
4672 face_before_selective_p is set, use the face from saved_face_id.
4673 (extend_face_to_end_of_line): For tty frames, make sure to
4674 use the right face id when producing spaces at the end of
4675 the line.
4676
4677 * dispextern.h (struct it): Add face_before_selective_p.
4678
52be17cc
GM
4679 * keyboard.c (record_char): Don't record identical help-echo
4680 events in recent_keys.
4681
8a4f36cc
GM
4682 * xterm.c [USE_X_TOOLKIT]: Close the display.
4683 (xim_close_dpy): Handle case that the display has been closed.
4684
57d6e381
GM
4685 * xterm.c (x_destroy_window): Reset the frame's X window after
4686 destroying it.
4687
21999ab9
GM
4688 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4689 variable window_width.
4690 (line_draw_cost): Fix code skipping over spaces at the end of the
4691 line when must_write_spaces is not set.
4692 (scrolling_window): Fix code inserting runs in list of all runs.
4693
91372bb7
KH
46942000-12-05 Kenichi Handa <handa@etl.go.jp>
4695
4696 * coding.c (setup_coding_system): Be sure to initialize
4697 coding->category_idx.
4698
6c083b4c
GM
46992000-12-04 Gerd Moellmann <gerd@gnu.org>
4700
0c68ce6f 4701 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4702
6452929e
GM
4703 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4704 area to x_draw_glyphs instead of a window-relative coordinate.
4705
d7f31e22
GM
4706 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4707 error in the message.
4708
ae18aa3b
GM
4709 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4710 timer after having read a key. It's not good for code reading
4711 several keys in a loop, like an input method.
4712
caa15ef7
GM
4713 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4714 record undo information for format-decode.
4715
4716 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4717 current buffer is read-only, not if it isn't.
4718
6c083b4c
GM
4719 * keyboard.c (record_char): Record `help-echo' input events
4720 in recent_keys only if they display some help. Don't record
4721 `help-echo' events as macro char.
4722
caa15ef7
GM
47232000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4724
4725 * editfns.c (save_excursion_restore): Don't move point
4726 in another window if it is showing the wrong buffer.
4727 Avoid the call to Fwindow_live_p, for speed.
4728
5a13529b
KH
47292000-12-04 Kenichi Handa <handa@etl.go.jp>
4730
e225faa7
KH
4731 * xfaces.c (struct font_name): New member registry_priority.
4732 (split_font_name): Initialize the above member to zero.
4733 (concat_font_list): New function.
4734 (font_list): Include fonts of all alternative registries.
4735 (FONT_POINT_SIZE_QUANTUM): New macro.
4736 (better_font_p): Ignore point size difference less than
4737 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4738
e89648b4
KH
4739 * xterm.c (x_produce_glyphs): If a font for a component of
4740 a composition is not found, use 1 pixel dot ascent and 0 dot
4741 descent value to avoid displaying terribly tall empty boxes.
4742
5a13529b
KH
4743 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4744
d7935eb6
KR
47452000-12-03 Ken Raeburn <raeburn@gnu.org>
4746
4747 * coding.h (code_convert_string1): Declare.
4748
4749 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4750
52283633 4751 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4752
0dd5e255
JR
47532000-12-02 Jason Rumney <jasonr@gnu.org>
4754
4755 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4756 correctly for single byte character case.
4757 (w32_per_char_metric): Do not try to make any assumptions about
4758 the metrics of BDF fonts.
250cfece 4759 (x_estimate_mode_line_height): If `mode-line' face
52283633 4760 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4761 (note_mouse_highlight): Change the cursor shape on the vertical
4762 border between windows [not enabled].
4763
4764 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4765
4766 * w32fns.c (Fx_create_frame): Reintroduce the call to
4767 face-set-after-frame-defaults.
4768 (Vx_window_horizontal_drag_shape): New variable.
4769 (syms_of_xfns): DEFVAR_LISP it.
4770 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4771 enabled].
0dd5e255 4772
b5d8d2ca
GM
47732000-12-02 Simon Josefsson <simon@josefsson.org>
4774
4775 * fns.c (Fmd5): Use a different logic to decide the coding system
4776 to use.
4777
4778 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4779
fbb87147
EZ
47802000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4781
52283633 4782 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4783
447e9da0
GM
47842000-12-01 Gerd Moellmann <gerd@gnu.org>
4785
7708ced0
GM
4786 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4787 height for YNegative.
4788 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4789 height; also see comment there.
4790
447e9da0
GM
4791 * window.c (coordinates_in_window): Handle computations for
4792 positions on the vertical bar and fringes differently for
4793 window-system frames. Consider some pixels near the vertical bar
4794 as on the bar if the frame doesn't have vertical scroll bars.
4795 Associate positions between mode or header lines with the
4796 right window, the left one.
4797
86d1db20
JR
47982000-12-01 Jason Rumney <jasonr@gnu.org>
4799
4800 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4801
4802 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4803 invalid frame.
4804
a1d58e5b
GM
48052000-12-01 Gerd Moellmann <gerd@gnu.org>
4806
52283633 4807 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4808 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4809 (save_window_save, Fset_window_configuration): Save/restore
4810 window's orig_top and orig_height.
4811
89c609af
JR
48122000-12-01 Jason Rumney <jasonr@gnu.org>
4813
4d177746 4814 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4815
89c609af
JR
4816 * w32fns.c (x_set_cursor_color): Fix last change.
4817
eccc05db
GM
48182000-11-30 Gerd Moellmann <gerd@gnu.org>
4819
31b6671b
GM
4820 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4821 sure that the next redisplay displays the minibuffer, so that
4822 the cursor will be replaced with what the minibuffer wants.
4823
eccc05db
GM
4824 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4825 #ifndef instead of using #if.
4826 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4827 USE_TOOLKIT_SCROLL_BARS is defined.
4828
162de750
JR
48292000-11-30 Jason Rumney <jasonr@gnu.org>
4830
4831 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4832 x_display_cursor.
4833
693c4692
GM
48342000-11-30 Gerd Moellmann <gerd@gnu.org>
4835
4836 * fns.c (Fmd5): Doc fix.
4837
b5d8d2ca 48382000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4839
4840 * fns.c (Fmd5): New function.
4841 (syms_of_fns): Defsubr md5.
4842
4843 * Makefile.in (obj): Add md5.o
4844
b02cd40b
GM
48452000-11-30 Gerd Moellmann <gerd@gnu.org>
4846
edfb795e
GM
4847 * md5.h, md5.c: New files, taken from glibc.
4848
df3aedcf
GM
4849 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4850
b02cd40b 4851 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4852 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4853
8b5176cd
SM
48542000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4855
4856 * eval.c (Frun_hooks): Allow 0 arguments.
4857
346598f1
GM
48582000-11-29 Gerd Moellmann <gerd@gnu.org>
4859
f9396e03
GM
4860 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4861 is over the menu bar widget, say it's not on the frame.
4862
4a967a9b
GM
4863 * xfns.c (Fx_create_frame): Reintroduce the call to
4864 face-set-after-frame-defaults.
4865
346598f1
GM
4866 * eval.c (Fsignal): Reset handling_signal.
4867
222456a1
JR
48682000-11-28 Jason Rumney <jasonr@gnu.org>
4869
4870 * w32menu.c (add_menu_item): Reset menu item text when changing
4871 type to radio button.
4872
8049ddc0
GM
48732000-11-28 Gerd Moellmann <gerd@gnu.org>
4874
346598f1 4875 * xselect.c: Update copyright.
f4f4ee4d 4876
bebe4a2c
GM
4877 * window.c (coordinates_in_window): If on a mode or header line,
4878 but sufficiently close to its start, return ``on vertical
4879 border''. This gives us a way to drag windows horizontally when
4880 using toolkit scroll bars.
4881
4882 * xterm.c (note_mouse_highlight): Change the cursor shape
4883 on the vertical border between windows.
4884
4885 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4886
4887 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4888 (syms_of_xfns): DEFVAR_LISP it.
4889 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4890
8d2c2642
GM
4891 * textprop.c (text_read_only): New function.
4892 (verify_interval_modification): Use it instead of signaling
4893 `text-read-only'. This makes it easier to catch this error
52283633 4894 with a breakpoint.:
8d2c2642 4895
52283633 4896 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4897 not end of line, which includes CR.
4898
5a2bae6c
KH
48992000-11-28 Kenichi Handa <handa@etl.go.jp>
4900
4901 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4902 include no-conversion.
4903
ae31f84d
JR
49042000-11-27 Jason Rumney <jasonr@gnu.org>
4905
4906 * w32fns.c (w32_load_system_font): Always mark font as double byte
4907 if codepage is unicode.
4908
67f1cf4c
GM
49092000-11-27 Gerd Moellmann <gerd@gnu.org>
4910
4a74d071 4911 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4912 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4913
902ae620
GM
4914 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4915 `vertical-line', `mode-line' and `header-line' events.
4916
4917 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4918 of a character, a TAB for instance. This is easier than to set
4919 up the iterator exactly, and it's not a frequent case, so the
4920 additional effort wouldn't really pay off.
4921
c1e279c2
AC
49222000-11-26 Andrew Choi <akochoi@i-cable.com>
4923
67f1cf4c 4924 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4925 init_window_once.
4926
a609568a
JR
49272000-11-25 Jason Rumney <jasonr@gnu.org>
4928
52283633
SM
4929 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4930 Args to window_from_coordinates should be pixel coordinates.
48b21762 4931
a609568a
JR
4932 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4933 redisplay handles them properly.
4934
a658d039
MB
49352000-11-25 Miles Bader <miles@gnu.org>
4936
4937 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4938
d3416cca
JR
49392000-11-24 Jason Rumney <jasonr@gnu.org>
4940
4941 * w32.c (init_environment): Set LANG environment variable based on
4942 locale settings, if not set.
4943
4944 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4945 making tool bar smaller. When clearing the frame, also
4946 clear current matrices. Clear frame when tool bar disappears.
4947 Don't use more lines for the tool-bar than is available.
4948 (x_change_window_heights): New function.
4949
ba193890
GM
49502000-11-24 Gerd Moellmann <gerd@gnu.org>
4951
2be8f184
GM
4952 * xdisp.c (init_from_display_pos): If POS says we're already after
4953 an overlay string ending at POS, make sure to pop the iterator
4954 because it will be in front of that overlay string. When POS is
4955 ZV, we've thereby also ``processed'' overlay strings at ZV.
4956
ba193890
GM
4957 * xfaces.c (lface_from_face_name): Function comment fix.
4958
1862a24e
MB
49592000-11-24 Miles Bader <miles@gnu.org>
4960
4961 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4962 apply `mode-line-inverse-video' -- zero means force display using
4963 the default face, non-zero means display using the specialized face.
4964 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4965
f07fa1b8
KH
49662000-11-23 Kenichi Handa <handa@etl.go.jp>
4967
4968 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4969 hard coded `4'.
4970
2bcdf662
EZ
49712000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4972
4973 * coding.c (decode_coding_emacs_mule): Fix the case of
4974 CODING_EOL_LF, which used uninitialized value of c.
4975
ba8299ff
SM
49762000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4977
4978 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4979
f4117c4d
GM
49802000-11-22 Gerd Moellmann <gerd@gnu.org>
4981
03e757c1
GM
4982 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4983 buffer object.
4984
f4117c4d
GM
4985 * frame.h (struct frame): Replace desired_tool_bar_items,
4986 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4987 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4988
4989 * frame.c (make_frame): Change initialization of tool bar
4990 items accordingly.
4991
4992 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4993 Change references to members deleted from struct frame to use the
f4117c4d
GM
4994 new ones.
4995
4996 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4997 references to members deleted from struct frame to use the new ones.
f4117c4d 4998
52283633 4999 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5000
5001 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5002
5003 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5004 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5005 from struct frame to use the new ones.
5006
f8e2f3f2
MB
50072000-11-23 Miles Bader <miles@gnu.org>
5008
5009 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5010 the face's inverse-video attribute, rather than overriding it.
5011
60e8e0a5
GM
50122000-11-22 Gerd Moellmann <gerd@gnu.org>
5013
5014 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5015 making tool bar smaller.
5016
92dd1b29
DL
50172000-11-22 Dave Love <fx@gnu.org>
5018
5019 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5020
e672fdce
MB
50212000-11-22 Miles Bader <miles@gnu.org>
5022
3a17d6cc
MB
5023 * keyboard.c (Vminibuffer_message_timeout): New variable.
5024 (command_loop_1): Use it to determine message timeout.
5025 (syms_of_keyboard): Initialize it.
5026
60e8e0a5 5027 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5028
e9655d81
KH
50292000-11-22 Kenichi Handa <handa@etl.go.jp>
5030
5031 * sysdep.c: Move the code for declaring h_errno after #include
5032 <netdb.h>.
5033
77270fac
GM
50342000-11-21 Gerd Moellmann <gerd@gnu.org>
5035
cd913aae
GM
5036 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5037 the menu bar when the tooltip is unmapped.
5038
77270fac
GM
5039 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5040 sole visible buffer when we're currently in the mini-buffer, and
5041 give up if so.
52283633 5042
556635d6
JR
50432000-11-21 Jason Rumney <jasonr@gnu.org>
5044
5045 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5046 put on the clipboard.
5047 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5048 copy of what Emacs last put there. If they are the same, do not
52283633 5049 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5050
5b7bde64
MB
50512000-11-22 Miles Bader <miles@gnu.org>
5052
5053 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5054 (syms_of_minibuf): Initialize it.
5055 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5056 to prompt, don't make read-only.
5057
ff23e1dd
GM
50582000-11-21 Gerd Moellmann <gerd@gnu.org>
5059
52283633
SM
5060 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5061 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5062
7aaf4388
GM
5063 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5064
f5f47add 5065 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5066
ff23e1dd
GM
5067 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5068
37c35586
KH
50692000-11-21 Kenichi Handa <handa@etl.go.jp>
5070
5071 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5072 ... #endif scope.
5073
ff9ab414
GM
50742000-11-20 Gerd Moellmann <gerd@gnu.org>
5075
52283633 5076 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5077 screen supports it.
5078
29a01b72
GM
5079 * s/gnu-linux.h: Don't use `#cpu'.
5080
09dfdf85
GM
5081 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5082 not defined in mman.h.
5083
52283633 5084 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5085 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5086 and store an index in the XClientMessageEvent. Storing a
5087 Lisp_Object or pointer can fail on a 64 bit system, since X only
5088 transfers 32 bits.
52283633
SM
5089 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5090
81459ac9
DL
50912000-11-20 Dave Love <fx@gnu.org>
5092
5093 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5094
56c13ae6
GM
50952000-11-20 Gerd Moellmann <gerd@gnu.org>
5096
5097 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5098
495a6df3
KH
50992000-11-20 Kenichi Handa <handa@etl.go.jp>
5100
2bcf3714
KH
5101 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5102 by WIDTH.
5103
495a6df3
KH
5104 * alloc.c (make_string): Fix previous change. Be sure to make
5105 unibyte string correctly.
5106
6d950f4c
GM
51072000-11-19 Gerd Moellmann <gerd@gnu.org>
5108
39b39373
GM
5109 * window.c (Fwindow_list): Change parameter list to be XEmacs
5110 compatible.
5111 (window_list_1): New function.
5112 (window_loop): Use it instead of Fwindow_list.
5113
b95b34e5
GM
5114 * sysdep.c (emacs_ospeed): New variable.
5115 (toplevel): Don't declare ospeed extern.
5116 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5117
5118 * termcap.c (ospeed): Remove.
5119 (tputs) [!emacs]: Remove unused code.
5120 (tgetent): Avoid a compiler warning.
5121
e83dc917
GM
5122 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5123 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5124 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5125
5126 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5127 removed.
5128 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5129 Take the X display as additional argument.
5130 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5131 `Widget' is a pointer type that's not easily stored in Lisp_Object
5132 form in a portable way.
52283633 5133
6d950f4c
GM
5134 * dispnew.c (update_text_area): Fix last change.
5135
e47306e6
GM
51362000-11-18 Gerd Moellmann <gerd@gnu.org>
5137
fb3cd89b
GM
5138 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5139
5140 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5141 clear current matrices.
5142
edaa9aed
GM
5143 * buffer.c (mmap_enlarge): Don't print a message on stderr
5144 if mapping new memory at the end of the existing region fails.
5145
e47306e6
GM
5146 * dispnew.c (update_text_area): Don't skip over equal glyphs
5147 when the last current glyph overlaps the glyph to its right.
5148
509633e3
MB
51492000-11-18 Miles Bader <miles@gnu.org>
5150
5151 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5152 lines that *end* with "..." too (that's the most common case!).
5153
d392e9c5
GM
51542000-11-18 Gerd Moellmann <gerd@gnu.org>
5155
67988445
GM
5156 * xdisp.c (resize_mini_window): Temporarily change to the
5157 mini-window's buffer if necessary.
1bfdbe43 5158
d392e9c5
GM
5159 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5160 the tooltip obscures less text under it.
5161
51622000-11-17 Gerd Moellmann <gerd@gnu.org>
5163
5164 * puresize.h (BASE_PURESIZE): Increase to 700000.
5165
92bb977f
JR
51662000-11-18 Jason Rumney <jasonr@gnu.org>
5167
5168 * w32term.c (w32_draw_bitmap): Use face to set colors.
5169
26fbf20b
DL
51702000-11-17 Dave Love <fx@gnu.org>
5171
5172 * lread.c (Fload): Fix #ifdef for pcc.
5173
100b593b
GM
51742000-11-17 Gerd Moellmann <gerd@gnu.org>
5175
5176 * xdisp.c (pos_visible_p): Compute the default character height
5177 differently.
5178
a288d0d1
GM
51792000-11-16 Gerd Moellmann <gerd@gnu.org>
5180
cac94de6 5181 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5182 knowing the line's height; use the default font's height in that case.
cac94de6 5183
a288d0d1
GM
5184 * xfaces.c (weight_table): Add `demi' with the same meaning as
5185 `demibold'.
5186
981fb6f6
KH
51872000-11-16 Kenichi Handa <handa@etl.go.jp>
5188
2cca872d 5189 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5190 (clear_glyph_row): Delete local static variable null_row.
5191
e5fa381b
JR
51922000-11-15 Jason Rumney <jasonr@gnu.org>
5193
5194 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5195 (w32_alloc_lighter_color): Use new brightness calculations from
5196 xterm.c. Scale delta to be in the range expected by W32.
5197 (w32_draw_relief_rect): Use frame relief colors.
5198
8e42f043
GM
51992000-11-15 Gerd Moellmann <gerd@gnu.org>
5200
6d133d1f
GM
5201 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5202 (Qinhibit_default_face_x_resources): New variable.
5203 (syms_of_frame): Initialize it.
5204 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5205
5206 * xdisp.c (pos_visible_p): Improve function comment.
5207
5208 * lisp.h (BINDING_STACK_SIZE): New macro.
5209
8e42f043
GM
5210 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5211 reading the directory if readdir returns null and errno is EAGAIN
5212 or EINTR.
5213
e8c87124
SM
52142000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5215
5216 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5217 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5218 Set amount_to_scroll to max of dx and scroll_step so that
5219 scroll-conservatively doesn't defeat scroll-step>1.
5220 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5221 scroll-conservatively for line-at-a-time scrolling.
5222
5f0c971d
GM
52232000-11-14 Gerd Moellmann <gerd@gnu.org>
5224
5225 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5226 extra argument.
5227
5228 * xdisp.c (current_mode_line_height, current_header_line_height):
5229 New variables.
5230 (init_xdisp): Initialize them.
5231 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5232 and use exact mode line heights if it is set.
5233
5234 * lisp.h (pos_visible_p): Change prototype.
5235
5236 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5237 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5238 and current_header_line_height first.
52283633
SM
5239 (current_mode_line_height, current_header_line_height):
5240 Declare extern.
5f0c971d 5241
d7361edf
MB
52422000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5243
5244 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5245 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5246 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5247
ee5e440a
MB
52482000-11-14 Miles Bader <miles@gnu.org>
5249
5250 * xterm.c (x_alloc_lighter_color): Include an additive component
5251 too for dark colors, because FACTOR isn't enough.
5252 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5253 New macros.
5254
5ca020fc
GM
52552000-11-13 Gerd Moellmann <gerd@gnu.org>
5256
5257 * keyboard.c (show_help_echo): Call message3_nolog with number of
5258 bytes in the help string as 2nd parameter, instead of the number
5259 of characters.
5260
9d348294
MB
52612000-11-13 Miles Bader <miles@gnu.org>
5262
5263 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5264 (Fload): Use new openp return protocol.
5265 Don't try to use Vload_source_file_function to load .elc files.
5266 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5267 openp return protocol.
5268 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5269
1729bb9a
KH
52702000-11-11 Kenichi Handa <handa@etl.go.jp>
5271
4e677396
KH
5272 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5273
5274 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5275 Defined these macros.
5276 (NLIST_STRUCT): Avoid re-defining it.
5277
1729bb9a
KH
5278 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5279 -I/usr/contrib/X11R6/include.
5280 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5281
a82fe213
JR
52822000-11-10 Jason Rumney <jasonr@gnu.org>
5283
5284 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5285
5286 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5287 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5288
5289 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5290 (Qw32_charset_vietnamese): New symbol.
5291 (xlfd_charset_of_font): New function.
5292 (w32_load_system_font): Use it.
5293 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5294 when Vw32_charset_info_alist is nil to ensure default face always
5295 has font. Use Fcar and Fcdr for safety.
5296 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5297 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5298 pseudo-codepages for special cases.
5299 (w32_to_x_font): New parameter to allow charset portion to be
5300 specified where there is many to one mapping. Callers changed.
5301 (w32_list_fonts): Avoid listing fonts that won't display.
5302
52d89894
GM
53032000-11-10 Gerd Moellmann <gerd@gnu.org>
5304
5305 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5306 (font_list_1): Renamed from font_list.
5307 (font_list): New function, trying alternative registries from
5308 Vface_alternative_font_registry_alist.
5309 (Finternal_set_alternative_font_registry_alist): New function.
5310 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5311 Vface_alternative_font_registry_alist.
5312 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5313
651cd3da
KR
53142000-11-09 Ken Raeburn <raeburn@gnu.org>
5315
5316 * lisp.h (Flooking_at): Declare.
5317
388ac098
GM
53182000-11-09 Gerd Moellmann <gerd@gnu.org>
5319
778fbc46 5320 * dired.c (directory_files_internal): Fix a braino.
52283633 5321
388ac098
GM
5322 * dired.c (directory_files_internal): Add missing GCPRO's.
5323 Some cleanup.
5324
ecaedde1
GM
53252000-11-08 Gerd Moellmann <gerd@gnu.org>
5326
f7eb32aa
GM
5327 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5328 (resize_mini_window): Return quickly if Vresize_mini_window is
5329 nil. Don't return if Vmax_mini_window_height is nil.
5330
5331 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5332 (syms_of_xdisp): Initialize them.
5333 (resize_mini_window): Act according to the setting of
5334 Vresize_mini_window.
5335 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5336
ecaedde1
GM
5337 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5338 scroll bar widget after configuring it, so that it will appear at
5339 the right position from the start.
5340 (XTredeem_scroll_bar): Cleaned up.
5341
3747ef2c
KH
53422000-11-08 Kenichi Handa <handa@etl.go.jp>
5343
5344 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5345 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5346 division by two.
5347
5348 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5349
03391420
DL
53502000-11-07 Dave Love <fx@gnu.org>
5351
7758f1c1 5352 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5353
5354 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5355
b5de343d
GM
53562000-11-07 Gerd Moellmann <gerd@gnu.org>
5357
acad3c0b
GM
5358 * window.c (Fset_window_configuration): Don't try to preserve
5359 point in the current buffer, if that buffer is displayed in more
5360 than one window.
5361
b5de343d
GM
5362 * xfaces.c (lookup_named_face): If default face isn't realized,
5363 try to realize it. Return -1 if not successful.
5364 (Fx_list_fonts): Handle case that face cannot be determined.
5365 (Fface_font): Likewise.
5366
cdb1fe49
GM
53672000-11-06 Gerd Moellmann <gerd@gnu.org>
5368
5369 * window.c (displayed_window_lines): Detect partially
5370 visible lines at the bottom correctly.
5371
d3a67486
SM
53722000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5373
5374 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5375 when ensuring we don't do visit in indirect buffer.
5376
ff8dd5d5
KH
53772000-11-06 Kenichi Handa <handa@etl.go.jp>
5378
5379 * composite.h (compose_chars_in_text): Add prototype.
5380
5381 * composite.c (Vcomposition_function_table): New variable.
5382 (Qcomposition_function_table): New variable.
5383 (run_composition_function): Call
5384 Vcompose_chars_after_function with three arguments.
5385 (compose_chars_in_text): New function.
5386 (syms_of_composite): Modified the doc-string of
5387 Vcompose_chars_after_function. Declare composition-function-table
5388 as a lisp variable, and initialize it.
5389
5390 * xfns.c (x_encode_text): Suppress producing escape sequences for
5391 composition.
5392
5393 * xselect.c: Include composite.h.
5394 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5395
d1145f85
AI
53962000-11-05 Andrew Innes <andrewi@gnu.org>
5397
5398 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5399
5400 * sysdep.c (read_input_waiting): Remove extraneous argument to
5401 read_socket_hook.
5402
5403 * w32fns.c (Fx_server_version): Include w32_build_number in the
5404 return list.
5405
5406 * w32heap.c (w32_build_number): New variable.
5407 (cache_system_info): Set it.
5408
5409 * w32heap.h (w32_build_number): Add extern.
5410
5411 * emacs.c (syms_of_emacs): Update docstring for
5412 system-configuration, to reflect the actual usage on MS-Windows.
5413
e85ee976
GM
54142000-10-31 Gerd Moellmann <gerd@gnu.org>
5415
26dcb81b
GM
5416 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5417 process idle timers while waiting for another event.
5418
52283633 5419 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5420 the default face are colored.
5421
e85ee976
GM
5422 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5423 window height hasn't changed.
5424
01b220b6
JR
54252000-10-31 Jason Rumney <jasonr@gnu.org>
5426
5427 * w32term.c (x_produce_glyphs): Handle composite characters.
5428 (x_draw_glyph_string_foreground)
5429 (x_draw_composite_glyph_string_foreground): Restore old font.
5430
4e6b7204
MB
54312000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5432
5433 * minibuf.c (read_minibuf): Reset the undo history just before
5434 starting the recursive-edit.
5435
d4358b37
GM
54362000-10-30 Gerd Moellmann <gerd@gnu.org>
5437
563f68f1
GM
5438 * xfaces.c (menu_face_change_count): New variable.
5439 (Finternal_set_lisp_face_attribute): Increment it for changes
5440 of the `menu' face.
5441 (realize_basic_faces): Reflect changes in the `menu' faces
5442 in menu bars.
5443
82e274d1
GM
5444 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5445 dy obtained from the iterator's y-position after moving from
5446 scroll_margin_pos to PT; see comment there.
52283633 5447
0dbf9fd2
GM
5448 * xdisp.c (safe_eval_handler): Call add_to_log.
5449
906b3b14
GM
5450 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5451 is not a symbol or string.
5452
d4358b37
GM
5453 * xdisp.c (echo_area_display): Don't perform a display update from
5454 inside redisplay. The update will happen anyway at the end of
5455 redisplay, and it can confuse redisplay (GC messages while
5456 redisplaying, for instance.)
5457
70c825df
SM
54582000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5459
cf9b4b0b
SM
5460 * xrdb.c (x_load_resources): Use the class name in the defaults.
5461
70c825df
SM
5462 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5463 (regex_compile): Catch bogus \(\1\).
5464
a1d34b1e
GM
54652000-10-30 Gerd Moellmann <gerd@gnu.org>
5466
cae71efe
GM
5467 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5468 RGB values.
52283633 5469
35efe0a1
GM
5470 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5471 we have a color cache, check that the cached color equals the
5472 allocated color. If not, clear the color cache.
5473
1d3baf74
GM
5474 * window.c (displayed_window_lines): Change buffers if necessary.
5475 Fix computation of displayed lines.
5476
a1d34b1e
GM
5477 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5478 update_menu_bindings to DEFVAR_BOOL.
5479
70737ea9
KH
54802000-10-30 Kenichi Handa <handa@etl.go.jp>
5481
70c825df 5482 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5483
fa0cb51d
KH
5484 * puresize.h (BASE_PURESIZE): Increase to 680000.
5485
70737ea9
KH
5486 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5487
0e4c08e8
JR
54882000-10-29 Jason Rumney <jasonr@gnu.org>
5489
5490 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5491
5492 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5493 (w32_cache_char_metrics): Handle possibility that 'x' does not
5494 exist in a BDF font.
5495 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5496
5497 * w32bdf.h (bdffont): Add nchars.
5498
5499 * w32bdf.c (set_bdf_font_info): Set it.
5500 (w32_BDF_TextOut): Swap byte order of double byte characters.
5501 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5502
45b84006
EZ
55032000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5504
5505 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5506 don't override the colors in frame's param_alist, unless they are
5507 unspecified.
5508
5509 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5510 reverse the effect of the highlight flag.
5511
caf9deee
KR
55122000-10-27 Ken Raeburn <raeburn@gnu.org>
5513
5514 * window.h (Fwindow_live_p): Declare.
5515
ae0b9b46
KR
5516 * undo.c (record_delete): Check that last_undo_buffer is really a
5517 buffer before applying XBUFFER to it.
5518
5519 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5520 Faref.
5521
02067692
SM
55222000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5523
5524 * lisp.h (KEYMAPP): New macro.
5525 (get_keymap): Remove.
5526 (get_keymap_1): Rename get_keymap.
5527
5528 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5529
5530 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5531
5532 * xmenu.c (single_submenu): Use KEYMAPP.
5533 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5534 Use KEYMAPP rather than Fkeymapp.
5535
5536 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5537
5538 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5539 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5540 Use KEYMAPP rather than Fkeymapp.
5541 (single_submenu): Use KEYMAPP.
5542 (w32_menu_show, w32_dialog_show): Use TRUE.
5543
5544 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5545
5546 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5547 (Fkeymapp): Use KEYMAPP.
5548 (get_keymap): Rename from get_keymap_1. Remove old def.
5549 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5550 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5551 (Fminor_mode_key_binding): Don't raise an error if the binding
5552 is not a keymap.
5553 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5554 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5555
5556 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5557 Allow Vspecial_event_map to be autoloaded.
5558 (menu_bar_items): Fetch the keymap rather than using keymapp.
5559 (menu_bar_one_keymap): No need to follow func-indirect any more.
5560 (parse_menu_item): get_keymap_1 -> get_keymap.
5561 (tool_bar_items): Fetch the keymap rather than using keymapp.
5562 (read_key_sequence): Use KEYMAPP.
5563
5564 * intervals.c (get_local_map): Use get_keymap rather than following
5565 function-indirections explicitly.
5566
5567 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5568
f9d80af3
JR
55692000-10-27 Jason Rumney <jasonr@gnu.org>
5570
5571 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5572 point, as Windows has oversized fonts.
5573
5574 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5575
a3ba27da
GM
55762000-10-27 Gerd Moellmann <gerd@gnu.org>
5577
5578 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5579 (freehook, reallochook): Handle null pointer arguments.
5580 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5581
aa3b80cc
SM
55822000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5583
5584 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5585 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5586 Giving in to popular pressure to shut up the compiler with casts.
5587
e24e84cc
GM
55882000-10-27 Gerd Moellmann <gerd@gnu.org>
5589
5590 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5591 signed value, and use a default value computed from the font's
5592 maximum descent.
5593
05ea7ef2
MB
55942000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5595
5596 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5597 that specify a negative underline position can still use underlines.
5598
5599 * window.c (Fpos_visible_in_window_p): Make POS default to
5600 WINDOW's point, not the current buffer's point.
5601
0b95284b
DL
56022000-10-26 Dave Love <fx@gnu.org>
5603
5604 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5605 when it's necessary.
5606
6c5b90af
GM
56072000-10-26 Gerd Moellmann <gerd@gnu.org>
5608
8b6d9dc9
GM
5609 * window.c (size_window): Compute size difference from sum of old
5610 child window sizes instead of from parent's size.
5611
6bc92b2e
GM
5612 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5613 Handle obscured lines at the top of the window.
5614
5615 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5616 down after the last error condition check.
5617
6c5b90af
GM
5618 * frame.c (Fdelete_frame): Run delete-frame-hook.
5619
42f92d4d
KH
56202000-10-26 Kenichi Handa <handa@etl.go.jp>
5621
5622 * coding.c (decode_coding): Fix previous change (check also
5623 CODING_MODE_LAST_BLOCK).
5624
d97151cb
SM
56252000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5626
e7efc503
SM
5627 * regex.c: More `unsigned char' -> `re_char' changes.
5628 Also change several `int' into `re_wchar_t'.
5629 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5630 (PUSH_FAILURE_POINTER): Don't cast any more.
5631 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5632 We want GCC to complain, since this piece of code makes
5633 re_match non-reentrant, which *should* be fixed.
5634 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5635 (EXTEND_BUFFER): Use RETALLOC.
5636 (SET_LIST_BIT): Don't cast.
5637 (re_wchar_t): New type.
5638 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5639 that those two functions will always properly return.
5640 (IMMEDIATE_QUIT_CHECK): Cast to void.
5641 (analyse_first): Use recursion rather than an explicit stack.
5642 (re_compile_fastmap): Can't fail anymore.
5643 (re_search_2): Don't check re_compile_fastmap for failure.
5644 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5645 Now also sets the new value (passed in a new argument).
5646 (re_match_2_internal): Use it.
5647 Also, use a new var `reg' of type size_t when looping through regs
5648 rather than reuse the inappropriate `mcnt'.
5649
d97151cb
SM
5650 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5651 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5652 (where_is_internal): Renamed from Fwhere_is_internal.
5653 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5654 (Fwhere_is_internal): New function wrapping where_is_internal.
5655 (where_is_internal_1): Handle the case where we're filling the cache.
5656 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5657
d5789b65
MB
56582000-10-25 Miles Bader <miles@gnu.org>
5659
5660 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5661
4ecda532
GM
56622000-10-25 Gerd Moellmann <gerd@gnu.org>
5663
5664 * window.c (pos_fully_visible_p): Removed.
5665 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5666 if position is visible and/or fully visible.
5667
5668 * lisp.h (pos_visible_p): Add prototype.
5669
5670 * xdisp.c (pos_visible_p): New function.
5671
68c3a137
KH
56722000-10-25 Kenichi Handa <handa@etl.go.jp>
5673
5674 * process.c (send_process): If OBJECT is t, it means that the data
5675 is from C string, but we should encode it. Before calling
5676 setup_raw_text_coding_system, be sure to flush out data by the
5677 previous coding system.
5678
7ae1c032
MB
56792000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5680
ff4dcd4b
MB
5681 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5682 assignment of startpos to prev when startpos == pos.
5683
7ae1c032
MB
5684 * editfns.c (find_field): Set the field stickiness correctly from
5685 overlay fields. Use renamed `text_property_stickiness'.
5686 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5687 Only check text properties, not overlays.
7ae1c032
MB
5688 * textprop.c (get_char_property_and_overlay): New function.
5689 (Fget_char_property): Use it.
5690 * intervals.h (get_char_property_and_overlay): Add declaration.
5691
49801145
SM
56922000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5693
5694 * keymap.c: Use AREF, ASET and ASIZE macros.
5695 (Fmake_sparse_keymap): Docstring fix.
5696 (synkey): Remove.
5697 (shadow_lookup): Move up.
5698 Handle the case where lookup-key returns an integer.
5699 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5700 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5701 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5702 Simplify/rewrite the keymap-finding code.
5703 Add check for command shadowing, using shadow_lookup.
5704
39e776cd
SM
57052000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5706
5707 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5708 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5709 a symbol.
5710
2488aba5
AI
57112000-10-24 Andrew Innes <andrewi@gnu.org>
5712
5713 * dired.c (directory_files_internal_unwind): New function.
5714 (directory_files_internal): Use it to ensure closedir is called
5715 even if expand-file-name or file-attributes throw, eg. because of
5716 a user interrupt. Also enable immediate_quit while calling
5717 re_search, so that matching can be interrupted as well.
5718
b94fdf61
AI
57192000-10-24 Andrew Innes <andrewi@gnu.org>
5720
5721 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5722 NT-Emacs only.
5723 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5724 so that re_search functions only quit when callers expect them to.
5725
57262000-10-24 Kenichi Handa <handa@etl.go.jp>
5727
5728 * regex.c (regex_compile): Change the way of handling a range from
5729 a char less than 256 to a char not less than 256.
5730
1946f901
GM
57312000-10-24 Gerd Moellmann <gerd@gnu.org>
5732
7ae2f10f
GM
5733 * window.c (size_window): Prevent setting window's width or
5734 height to a negative value (esp. with XSETFASTINT).
5735
5dcab13e
GM
5736 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5737 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5738 (protect_malloc_state) [GC_MALLOC_CHECK &&
5739 GC_PROTECT_MALLOC_STATE]: New function.
5740 (PROTECT_MALLOC_STATE): New macro.
5741 (__malloc_initialize, morecore, _malloc_internal)
5742 (_free_internal) _realloc_internal): Use it to make _heapinfo
5743 read-only outside of gmalloc.
5744
63e1b552
GM
5745 * keymap.c: Update copyright.
5746
1946f901
GM
5747 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5748 a symbol.
5749
4fa09beb
GM
57502000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5751
5752 * filelock.c (unlock_all_files): Use unlock_file to expand each
5753 buffer's file_truename before trying remove its lock file.
5754
23afac01
EZ
57552000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5756
5757 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5758 or CRLF, decode EOLs.
5759
04448b95
KH
57602000-10-24 Kenichi Handa <handa@etl.go.jp>
5761
5762 * window.c (Fdisplay_buffer): Fix doc.
5763
3090a5a5
JR
57642000-10-23 Jason Rumney <jasonr@gnu.org>
5765
5766 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5767 ASCII font of default fontset on Windows.
5768
5769 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5770 xterm.c comment below).
5771
5772 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5773
a83fee2c
GM
57742000-10-23 Gerd Moellmann <gerd@gnu.org>
5775
5776 * xterm.c (x_connection_closed): Reset handling_signal.
5777
52283633 5778 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5779
6ffdb539
MB
57802000-10-23 Miles Bader <miles@gnu.org>
5781
5782 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5783 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5784 maintain old behavior.
5785 * minibuf.c (Fminibuffer_complete): Likewise.
5786
7f1c969b
MB
57872000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5788
5789 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5790 that when a font can't be exactly centered, it errs up rather than
5791 down.
5792
23afac01 57932000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5794
52283633 5795 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5796
1a578e9b
AC
57972000-10-23 Andrew Choi <akochoi@i-cable.com>
5798
5799 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5800
5801 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5802 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5803
5804 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5805 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5806 syms_of_search, x_term_init, and init_keyboard before calling
5807 init_window_once. Also, call syms_of_xmenu.
5808
5809 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5810 default fontset to Monaco.
5811
5812 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5813 NewMacWindow and DisposeMacWindow.
5814 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5815 instead of calling NewMacWindow and setting fields of
5816 f->output_data.mac directly. Call init_frame_faces.
5817 (Fdelete_frame) [macintosh]: Remove unused code.
5818 (Fmodify_frame_parameters) [macintosh]: Call
5819 x_set_frame_parameters instead of mac_set_frame_parameters.
5820
5821 * frame.h [macintosh]: Define menu_bar_lines field in struct
5822 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5823
5824 * keyboard.c [macintosh]: Include macterm.h.
5825 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5826 and menu_bar_activate_event type events as for X and NT.
5827 (make_lispy_event) [macintosh]: Construct lisp events of type
5828 MENU_BAR_EVENT as for X and NT.
5829
5830 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5831 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5832 (sys_subshell) [macintosh]: Remove definition entirely.
5833 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5834 Vwindow_system_version here. Remove initialization of
5835 Vx_bitmap_file_path.
5836 (read_input_waiting): Correct the number of parameters passed to
5837 read_socket_hook.
5838 Move all Macintosh functions to mac/mac.c.
5839
5840 * term.c [macintosh]: Include macterm.h.
5841
5842 * window.c [macintosh]: Include macterm.h.
5843
5844 * xdisp.c [macintosh]: Include macterm.h. Declare
5845 set_frame_menubar and pending_menu_activation.
5846 (echo_area_display) [macintosh]: Do not return if terminal frame
5847 is the selected frame.
5848 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5849 Allow only the selected frame to set menu bar.
5850 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5851 calling FRAME_EXTERNAL_MENU_BAR (f).
5852 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5853
5854 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5855 and check_x. Declare XCreateGC. Define x_create_gc and
5856 x_free_gc. Initialize font_sort_order.
5857 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5858 but call x_list_fonts instead of w32_list_fonts.
5859 (Finternal_face_x_get_resource) [macintosh]: Do not call
5860 display_x_get_resource.
5861 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5862 (realize_x_face) [macintosh]: Load the font if it is specified in
5863 ATTRS.
52283633 5864 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5865
1ffbabe3
SM
58662000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5867
5868 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5869 is nil: since we go to the end of submap anyway, we'd end up
5870 setting nil to nil.
5871 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5872 doesn't obey autoload.
5873
bed43f1d
EZ
58742000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5875
1ffbabe3 5876 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5877
ea4233a7
JR
58782000-10-21 Jason Rumney <jasonr@gnu.org>
5879
5880 * w32term.c (w32_cache_char_metrics): Double check that font is
5881 really fixed pitch before trusting tmPitchAndFamily.
5882
f3d3c491
AI
58832000-10-21 Andrew Innes <andrewi@gnu.org>
5884
5885 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5886
5887 * w32term.h: Extern decl for w32_cache_char_metrics.
5888
5889 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5890
5891 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5892 (w32_unload_font): Free per_char array if present.
5893
5894 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5895 cached information in emulated XFontStruct to handle common cases
5896 quickly. Do not allocate XCharStruct for return.
5897 (w32_native_per_char_metric): New function.
5898 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5899 allocating one.
5900 (x_produce_glyphs): Don't get an HDC. Change calls to
5901 w32_per_char_metric to match arg change above. Remove calls to
5902 free results.
5903 (w32_get_glyph_overhangs): Ditto.
5904 (w32_cache_char_metrics): New function.
5905
5906 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5907 ($(BLD)/casefiddle.$(O)): Remove compile command.
5908 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5909 ($(BLD)/dispnew.obj):
5910 ($(BLD)/keyboard.obj):
5911 ($(BLD)/w32inevt.obj):
5912 ($(BLD)/w32bdf.obj):
5913 ($(BLD)/alloc.obj):
5914 ($(BLD)/buffer.obj):
5915 ($(BLD)/editfns.obj):
5916 ($(BLD)/emacs.obj):
5917 ($(BLD)/fileio.obj):
5918 ($(BLD)/fns.obj):
5919 ($(BLD)/indent.obj):
5920 ($(BLD)/insdel.obj):
5921 ($(BLD)/intervals.obj):
5922 ($(BLD)/minibuf.obj):
5923 ($(BLD)/print.obj):
5924 ($(BLD)/scroll.obj):
5925 ($(BLD)/sysdep.obj):
5926 ($(BLD)/textprop.obj):
5927 ($(BLD)/widget.obj):
f3d3c491
AI
5928 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5929 ($(BLD)/term.obj): Add dependency on dispextern.h.
5930
52283633
SM
5931 * makefile.nt ($(BLD)\dispnew.obj):
5932 ($(BLD)\keyboard.obj):
5933 ($(BLD)\w32inevt.obj):
5934 ($(BLD)\w32bdf.obj):
5935 ($(BLD)\alloc.obj):
5936 ($(BLD)\buffer.obj):
5937 ($(BLD)\editfns.obj):
5938 ($(BLD)\emacs.obj):
5939 ($(BLD)\fileio.obj):
5940 ($(BLD)\fns.obj):
5941 ($(BLD)\indent.obj):
5942 ($(BLD)\insdel.obj):
5943 ($(BLD)\intervals.obj):
5944 ($(BLD)\minibuf.obj):
5945 ($(BLD)\print.obj):
5946 ($(BLD)\scroll.obj):
5947 ($(BLD)\sysdep.obj):
5948 ($(BLD)\textprop.obj):
5949 ($(BLD)\widget.obj):
f3d3c491
AI
5950 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5951 ($(BLD)\term.obj): Add dependency on dispextern.h
5952
18ad4821
EZ
59532000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5954
5955 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5956 with an additional argument of Qt.
5957
de54681a
MB
59582000-10-21 Miles Bader <miles@gnu.org>
5959
5960 * window.c (pos_fully_visible_in_window_p): New function.
5961 (Fpos_visible_in_window_p): Add FULLY argument.
5962 Use pos_fully_visible_in_window_p.
5963 (window_scroll_pixel_based, window_scroll_line_based): Update
5964 calls to Fpos_visible_in_window_p.
5965 * lisp.h (Fpos_visible_in_window_p): Update prototype
5966
13c844fb
GM
59672000-10-20 Gerd Moellmann <gerd@gnu.org>
5968
5969 * alloc.c (toplevel): Conditionalize compilation of mem_*
5970 functions differently.
52283633 5971
d9506268
JR
59722000-10-20 Jason Rumney <jasonr@gnu.org>
5973
5974 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5975 mem_init where it used to be. mem_z etc not defined otherwise.
5976
8094989b
GM
59772000-10-20 Gerd Moellmann <gerd@gnu.org>
5978
5979 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5980 GC_MALLOC_CHECK.
5981 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5982 structure definition and related variabled to the top of the file.
5983 Include this code when GC_MALLOC_CHECK is defined.
5984 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5985 register/unregister allocated region.
5986 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5987 which isn't allocated.
5988 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5989 something which is already in use.
5990 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5991 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5992 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5993 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5994
5995 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5996 _malloc_internal instead of malloc.
5997 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5998 of free.
5999
ea456eb4
AI
60002000-10-20 Andrew Innes <andrewi@gnu.org>
6001
6002 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6003 Windows.
6004 (my_strftime) <macro>: Don't use macro arg list when redefining as
6005 _strftime_copytm.
6006 (my_strftime) <function>: Supply 0 as ut argument.
6007
e64c3a75
JR
60082000-10-19 Jason Rumney <jasonr@altavista.net>
6009
6010 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6011 including dispextern.h, as it stops faces from working.
6012
6013 * w32fns.c (Fx_create_frame): Don't bother calling
6014 face-set-after-frame-default since the caller does it for us
6015 anyway. Clean up calls to x_get_arg to be consistent with X.
6016
6017 * w32term.c (x_produce_glyphs): Handle
6018 unibyte_display_via_language_environment correctly.
6019 (w32_draw_box_rect): Fix the calculation of width and height.
6020
6021 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6022 as it has stopped working.
6023 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6024 menu-bar.
6025
17401c97
GM
60262000-10-19 Gerd Moellmann <gerd@gnu.org>
6027
6028 * eval.c (skip_debugger): Prevent a compiler warning.
6029 (Fcondition_case): Likewise.
6030 (Fbacktrace_frame): Use a null interactive spec.
6031
773272d8
KH
60322000-10-19 Kenichi Handa <handa@etl.go.jp>
6033
6034 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6035
a42943e9
GM
60362000-10-18 Gerd Moellmann <gerd@gnu.org>
6037
e50517d9
GM
6038 * strftime.c: Sync with glibc, file version 1.78.
6039 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6040 should no longer be used according to ISO 8601.
6041
9035a35a
GM
6042 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6043 no map for meta_prefix_char, don't try to use it as a keymap.
6044 Instead, if T_OK is non-zero, look up a default binding, if any,
6045 otherwise, if T_OK is zero, return nil.
6046
a42943e9
GM
6047 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6048 (x_to_xcolors, png_load): Use x_query_color.
6049
52283633
SM
6050 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6051 New functions.
a42943e9
GM
6052 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6053 which can be slow.
6054 (x_copy_color, x_alloc_lighter_color): Likewise.
6055
6056 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6057 (x_query_color, x_query_colors): Add prototype.
6058
6059 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6060 check_string_bytes only if not noninteractive, increase count to 50.
6061
00de2987
MB
60622000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6063
6064 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6065 markers correctly.
6066
54918e2b
GM
60672000-10-17 Gerd Moellmann <gerd@gnu.org>
6068
1f0b3fd2
GM
6069 * alloc.c (pure_bytes_used): Renamed from pureptr.
6070 (ALIGN): New macro.
6071 (pure_alloc): New function.
6072 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6073 Use it.
6074 (Fpurecopy): Use PURE_POINTER_P.
6075
68c5d1db
GM
6076 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6077 PT has moved backward.
52283633 6078
9a038881
GM
6079 * xdisp.c (cursor_row_p): Take continued lines into account.
6080
361b097f
GM
6081 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6082 string's size_byte.
6083 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6084 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6085 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6086 string allocated.
6087
54918e2b
GM
6088 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6089 of selective display off while searching for the next line start.
6090
03ed0806
KH
60912000-10-17 Kenichi Handa <handa@etl.go.jp>
6092
6093 * Makefile.in (term.o): Depend on dispextern.h.
6094
7e05cdaf
SM
60952000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6096
6097 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6098
a6801fd1
GM
60992000-10-16 Gerd Moellmann <gerd@gnu.org>
6100
483de32b
GM
6101 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6102 the iterator at the beginning, so that they can be set later on,
6103 for instance in reseat_at_next_visible_line_start, without being
6104 overwritten.
6105
a6801fd1
GM
6106 * xfns.c (pbm_format): Add :foreground and :background keywords.
6107 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6108 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6109
dbf1fcc1
EZ
61102000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6111
6112 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6113
52283633 6114 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6115
6116 * msdos.c (IT_set_face): Compare highlighted face with the default
6117 face, and invert colors if these faces' colors are identical.
6118 (Fmsdos_remember_default_colors): Don't swap foreground and
6119 background colors in initial_colors[].
6120 (IT_set_frame_parameters): Don't swap frame's foreground and
6121 background pixels. If ALIST includes "(reverse . t)", swap
6122 foreground-color and background-color properties in frame's
6123 param_alist. If the original frame's param_alist doesn't specify
6124 the colors, store unspecified-fg and unspecified-bg, reversed if
6125 required.
6126
6127 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6128 the colors are unspecified and reversed, reverse fore- and back-
6129 ground in the returned value.
6130 (Fframe_parameter): Ditto.
6131
b41fe2c3 61322000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6133
3a6b59d9
GM
6134 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6135 get_last_unchanged_at_beg_row.
6136 (find_first_unchanged_at_end_row): Renamed from
6137 get_first_unchanged_at_end_row.
6138 (find_first_unchanged_at_end_row): Convert assertions to
6139 unconditional tests which abort. When looking for a row in
6140 unchanged text, don't go further back than first_text_row.
6141
b41fe2c3
GM
6142 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6143 Don't add in the last line's height when deciding if the new
6144 position is below the scroll margin.
9d1af64f 6145
b41fe2c3 61462000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6147
6148 * editfns.c (Fconstrain_to_field): Check carefully for field
6149 boundaries if either OLD_POS or NEW_POS has a non-nil field
6150 property, even if they're the same.
6151
c412cb7b
KH
61522000-10-16 Kenichi Handa <handa@etl.go.jp>
6153
6154 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6155 height for XFillRectangle.
6156
5586f3eb
SM
61572000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6158
6159 * syntax.c (Fstring_to_syntax): New function extracted from
6160 Fmodify_syntax_entry.
6161 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6162 (skip_chars, Fforward_comment): Remove unused variables.
6163 (syms_of_syntax): Add defsubr for string-to-syntax.
6164 (describe_syntax): Add code for comment and string fences.
6165
db785038
SM
61662000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6167
6168 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6169 Do the meta->esc mapping. Call get_keyelt before returning.
6170 Start scanning from the second element (the first is always `keymap')
6171 to make it easier to detect when we reach a parent map.
6172 Handle the case of inheriting from a symbol whose function is a map.
6173 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6174 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6175 (get_keyelt, Flookup_key): Update call to access_keymap.
6176 Remove the meta->esc mappings.
6177 (define_as_prefix): Delete old disabled code.
6178 (menu_item_p): New function.
6179 (where_is_internal_1): Skip over the few remaining menu items.
6180 * lisp.h (access_keymap): Update prototype.
6181 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6182 Update call to access_keymap.
6183 (follow_key, read_key_sequence): Update calls to access_keymap.
6184 Remove the meta->esc mappings.
6185
cafafe0b
GM
61862000-10-13 Gerd Moellmann <gerd@gnu.org>
6187
a2e2a7f6
GM
6188 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6189 with additional argument.
6190
cafafe0b
GM
6191 * xdisp.c (cursor_row_p): New function.
6192 (try_cursor_movement, display_line): Use it.
52283633 6193
cafafe0b
GM
6194 * xdisp.c (append_space): Also save/restore iterator's current
6195 character and its length.
6196
6197 * xdisp.c (init_from_display_pos): Add an assertion.
6198 (handle_stop): Don't set iterator's add_overlay_start.
6199 (handle_invisible_prop): Likewise.
6200 (load_overlay_strings): If text under an overlay is invisible,
6201 take both before- and after-strings into account when the iterator
6202 is positioned either at the start or at the end of the overlay.
6203 (forward_to_next_line_start): Rewritten.
6204 (reseat_at_next_visible_line_start): Rewritten.
6205 (set_iterator_to_next): Add parameter RESEAT_P.
6206
6207 * dispextern.h (struct it): Remove member add_overlay_start.
6208 (set_iterator_to_next): Change prototype.
6209
c744452b
KH
62102000-10-13 Kenichi Handa <handa@etl.go.jp>
6211
6212 * coding.c (code_convert_region): Be sure to initialize
6213 coding->category_idx.
e4a3f4e1
KH
6214 (decode_coding_string): Set coding->src_multibyte and
6215 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6216 (encode_coding_string): Set coding->src_multibyte and
6217 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6218
321fd26f
SM
62192000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6220
6221 * xfns.c (Fx_create_frame): Don't bother calling
6222 face-set-after-frame-default since the caller does it for us anyway.
6223
76832439
EZ
62242000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6225
6226 * window.c (coordinates_in_window): Fix detection of vertical line
6227 on character terminals.
6228
2483cf58
GM
62292000-10-12 Gerd Moellmann <gerd@gnu.org>
6230
6231 * editfns.c (save_excursion_save): Additionally record the
6232 selected window.
6233 (save_excursion_restore): If buffer was visible in a window, and a
6234 different window was selected, and the old selected window is
6235 still live, restore point in that window.
6236
eb991b25
KH
62372000-10-12 Kenichi Handa <handa@etl.go.jp>
6238
8a0eba09
KH
6239 * xterm.c (x_produce_glyphs): Handle
6240 unibyte_display_via_language_environment correctly.
6241
20401fcc
KH
6242 * regex.c (regex_compile): Change the way of handling a range from
6243 unibyte char to multibyte char.
6244
6245 * syntax.c (skip_chars): Change the way of handling a range from
6246 unibyte char to multibyte char.
6247
eb991b25
KH
6248 * process.c (read_process_output): Cancel previous change.
6249
365dd325
EZ
62502000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6251
c1b096cb
EZ
6252 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6253
365dd325
EZ
6254 * charset.c (Ffind_charset_string): Doc fix.
6255 (Ffind_charset_region): Doc fix.
6256
eb483c2b
KH
62572000-10-11 Kenichi Handa <handa@mule.m17n.org>
6258
6259 * process.c (read_process_output): Fix previous change. Adjust
6260 multibyteness of text to insert in a buffer by
52283633 6261 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6262
b40bfb99
AS
62632000-10-10 Andreas Schwab <schwab@suse.de>
6264
6265 * alloc.c (mark_object): Remove all workarounds installed on
6266 1993-08-08.
6267
caff31d4
KH
62682000-10-10 Kenichi Handa <handa@etl.go.jp>
6269
52283633 6270 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6271 (base64_encode_1): Make it work for a text of multibyte form.
6272 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6273 case. Don't call str_to_multibyte because base64_decode_1
6274 produces correct multibyte form for eight-bit codes.
52283633 6275 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6276 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6277 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6278 codes.
6279
6280 * charset.h (CHAR_STRING): Optimized for single byte characters.
6281
cba026ef
AS
62822000-10-09 Andreas Schwab <schwab@suse.de>
6283
6284 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6285 -1 after socket is closed, to fall through to error processing.
6286
1e21fe48
EZ
62872000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6288
6289 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6290 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6291 background-color, change also the colors of the default face for
6292 this frame.
6293
a640322e
EZ
62942000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6295
6296 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6297 them extern (they are defined on xfaces.c).
6298 (syms_of_msdos): Don't intern and don't staticpro
6299 Qbackground_color and Qforeground_color.
6300
a115794c
EZ
63012000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6302
6303 * frame.c (Fframe_parameter): For non-windowed frames, if
6304 f->param_alist says foreground or background color is unspecified,
6305 call tty_color_name to return the color name computed from the
6306 frame's current colors.
6307
f5533b63
DL
63082000-10-06 Dave Love <fx@gnu.org>
6309
6310 * terminfo.c (ospeed): Don't declare.
6311
6312 * sysdep.c: Don't include string.h.
6313 (h_errno): Declare conditional also on TRY_AGAIN.
6314
6315 * charset.c (Ffind_charset_string): Doc fix.
6316
52283633 6317 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6318 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6319 error messages.
6320
2b06561a
DL
63212000-10-05 Dave Love <fx@gnu.org>
6322
6323 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6324 position like menu-bar.
6325
ca839c85
GM
63262000-10-05 Gerd Moellmann <gerd@gnu.org>
6327
6328 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6329
6330 * xdisp.c (handle_single_display_prop): Use safe_call1.
6331 (safe_call): Renamed from call_function.
6332 (safe_call1): New function.
6333 (handle_fontified_prop): Use safe_call1 instead of call1.
6334 (safe_eval): Renamed from eval_form.
6335 (safe_eval_handler): Renamed from eval_handler.
6336 (handle_single_display_prop, display_mode_element): Use safe_eval
6337 instead of eval_form.
6338
6339 * xfaces.c (merge_face_heights): Use safe_call instead of
6340 call_function.
6341
6342 * keyboard.c (show_help_echo): Use safe_call instead of
6343 call_function; use safe_eval instead of eval_form.
6344
6345 * lisp.h (safe_call): Renamed from call_function.
6346 (safe_eval): Renamed from eval_form.
6347 (safe_call1): Add prototype.
6348
a3489ece
MB
63492000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6350
6351 * xfns.c (image_ascent): Rearrange ascent calculation for the
6352 has-a-font case.
6353
35810b6f
SM
63542000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6355
6356 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6357 (where_is_internal_1): Don't bother ignoring menu-items any more.
6358
3dc78168
GM
63592000-10-04 Gerd Moellmann <gerd@gnu.org>
6360
6361 * keyboard.c (update_menu_bindings): New variable.
6362 (parse_menu_item): Use AREF. If update_menu_bindings
6363 is 0, don't update menu bindings.
6364 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6365
1efc2bb9
EZ
63662000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6367
6368 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6369 to `mark_object'.
6370
3f679f55
SM
63712000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6372
6373 * syntax.c (forw_comment): Match nestedness of ender/starter.
6374 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6375 (prev_char_comstart_first): Remove.
6376 (back_comment): Check two-char comment markers more carefully
6377 to better handle overlapping cases like *//* or /* */* */ ...
6378 Match nestedness of ender/starter.
6379
2021ab61
DL
63802000-10-02 Dave Love <fx@gnu.org>
6381
6382 * config.in (HAVE_GAI_STRERROR): Add undef.
6383
6384 * process.c (Fopen_network_stream): Use it.
6385
6386 * m/alpha.h (NO_REMAP): Don't define.
6387
64e6cc18
GM
63882000-10-02 Gerd Moellmann <gerd@gnu.org>
6389
6390 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6391 return with a string converted to an integer or vice versa when
6392 Vmocklisp_arguments is t.
6393 (Fsignal): Likewise. The function can return for `quit'.
6394 (struct gcpro): Declare member `var' to point to a volatile
6395 Lisp_Object.
6396
6397 * eval.c (error): Prevent compiler warning.
6398
b1904cd9
SM
63992000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6400
6401 * keymap.c (keymap_memberp): New function.
6402 (Fset_keymap_parent): Use it.
6403 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6404 Use keymap_memberp to avoid creating cycles.
6405 (access_keymap): Use KEYMAPP.
6406
71c9ec51
GM
64072000-09-30 Gerd Moellmann <gerd@gnu.org>
6408
6409 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6410 gai_strerror. Make sure xerrno is set if connect fails. Improve
6411 error recovery.
71c9ec51 6412
c70c6b58
JR
64132000-09-29 Jason Rumney <jasonr@gnu.org>
6414
6415 * w32term.c (w32_char_font_type, w32_encode_char)
6416 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6417 (w32_bdf_per_char_metric): New function.
6418 (w32_per_char_metric): Use it.
6419 (x_draw_glyph_string_background): Always draw background for BDF
6420 glyphs.
6421
6422 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6423 GDI object which is a scarce resource.
6424
6425 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6426 (get_quoted_string): Fix limit on memchr search.
6427 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6428 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6429 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6430 (get_cached_font_char, cache_char_offset): Use macro
6431 BDF_CODEPOINT_RANGE_COVER_P.
6432 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6433 (clear_cached_bitmap_slots): New function.
6434 (GET_HEX_VALUE): G-Z, g-z are not hex.
6435 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6436 (get_bitmap_with_cache): Use new cache implementation.
6437 (create_offscreen_bitmap): New function.
6438 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6439
6440 * w32term.c (x_produce_glyphs): If the distance from the current
6441 position to the next tab stop is less than a canonical character
6442 width, use the tab stop after that.
6443 (x_draw_glyphs): Handle case START and END are out of bounds more
6444 carefully.
6445 (x_clear_mouse_face): Block/unblock input.
6446 (x_display_and_set_cursor): Don't show a hollow box cursor for
6447 buffers whose cursor_type is nil.
6448
fe01239f
GM
64492000-09-29 Gerd Moellmann <gerd@gnu.org>
6450
52283633 6451 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6452
6453 * dispextern.h (updating_frame): Declare extern.
6454
e7c52f1f
AS
64552000-09-29 Andreas Schwab <schwab@suse.de>
6456
6457 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6458
de6e1f7c
GM
64592000-09-29 Gerd Moellmann <gerd@gnu.org>
6460
25126faa
GM
6461 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6462 use its function definition.
6463 (tool_bar_items): Likewise.
6464
de6e1f7c 6465 * lisp.h (fatal): Declare NO_RETURN.
52283633 6466
454ee39b
KH
64672000-09-29 Kenichi Handa <handa@etl.go.jp>
6468
6469 * keymap.c: Remove the line "#undef NULL".
6470
96301c5f
GM
64712000-09-28 Gerd Moellmann <gerd@gnu.org>
6472
52283633 6473 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6474
efffeeb4
DL
64752000-09-28 Dave Love <fx@gnu.org>
6476
ecb8b666
DL
6477 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6478
dc3cd20f
DL
6479 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6480
6481 * .gdbinit (xreload): Note its need on GNU/Linux.
6482
efffeeb4
DL
6483 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6484 r_alloc, r_alloc_free.
6485
8610d903
KH
64862000-09-28 Kenichi Handa <handa@etl.go.jp>
6487
6488 * syntax.c (skip_chars): Handle negation correctly.
6489
8901d1ac
GM
64902000-09-27 Gerd Moellmann <gerd@gnu.org>
6491
6f22f1ad
GM
6492 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6493 with non-zero FORCE_P argument.
6494
52283633 6495 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6496 Add assertions.
6497
6498 * xdisp.c (window_box_height): Add an assertion.
6499
6500 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6501 tool-bar than is available.
6502 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6503
36f1966f
DL
65042000-09-27 Dave Love <fx@gnu.org>
6505
efffeeb4 6506 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6507
31d929e5
GM
65082000-09-26 Gerd Moellmann <gerd@gnu.org>
6509
c98863bf
GM
6510 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6511 instead of BITS_PER_INT.
6512 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6513 EMACS_UINT, respectively.
6514 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6515
6516 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6517
6518 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6519
77072ab1
GM
6520 * window.c (freeze_window_starts): Construct last argument for
6521 foreach_window differently.
6522
6523 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6524
6525 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6526 EMACS_UINT instead of `int' and `unsigned int'.
6527 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6528
6529 * frame.h (struct frame): Make the `nothing' member of union
6530 output_data an EMACS_INT.
6531
52283633 6532 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6533 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6534 size in the sdata structure.
6535 (SDATA_NBYTES, SDATA_DATA): New macros.
6536 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6537 differently for the different layout of the sdata structure.
6538 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6539 in sdata.
6540 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6541 Check that size recorded in the string size and size recorded in
6542 the sdata structure agree.
6543
3e60b029
DL
65442000-09-25 Dave Love <fx@gnu.org>
6545
6546 * buffer.c: Include stdio.h.
6547
6548 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6549
3e60b029
DL
6550 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6551
6552 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6553 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6554 (__malloc_extra_blocks): Declare as __malloc_size_t.
6555
8ff16b4e
GM
65562000-09-25 Gerd Moellmann <gerd@gnu.org>
6557
755a2ccd
GM
6558 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6559
d8b4516f
GM
6560 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6561 (read_char): If help-echo is showing, preserve the echo area
6562 when redisplaying.
6563
6564 * xdisp.c (help_echo_showing_p): New variable.
6565 (set_message): Reset it to 0.
6566 (init_xdisp): Initialize help_echo_showing_p.
6567
6568 * dispextern.h (help_echo_showing_p): Declare extern.
6569
6570 * config.in: Fix typo in __GNUC_MINOR__.
6571
6572 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6573
b11af2dd
GM
6574 * s/freebsd.h (POSIX_SIGNALS): Define.
6575
8ff16b4e
GM
6576 * xterm.c (x_clear_mouse_face): Block/unblock input.
6577
844eb643
DL
65782000-09-24 Dave Love <fx@gnu.org>
6579
6580 * fns.c (base64_encode_1): Fix last change.
6581
b30ab1b3
GM
65822000-09-22 Gerd Moellmann <gerd@gnu.org>
6583
6584 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6585
6586 * xdisp.c (try_window_reusing_current_matrix): More fixes
6587 for the case window has a header-line.
6588
c6cbe5f0
DL
65892000-09-22 Dave Love <fx@gnu.org>
6590
4c7c1f3f
DL
6591 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6592 a doc string.
6593
6594 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6595
c6cbe5f0
DL
6596 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6597
550a625e
GM
65982000-09-21 Gerd Moellmann <gerd@gnu.org>
6599
4c7c1f3f 6600 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6601 for GCC >= 2.5.
6602
52283633
SM
6603 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6604 Declare NO_RETURN.
fca99116 6605
80d26f99
GM
6606 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6607 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6608 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6609 warnings.
52283633 6610
80d26f99
GM
6611 * marker.c (byte_char_debug_check): Return void.
6612
623a0aae
GM
6613 * xfns.c (Fx_create_frame): Set default frame parameter value
6614 for tool-bar-lines to 1.
6615
6616 * dispnew.c (scrolling_window): Compare y-positions of rows
6617 equal at the start. Some simplification.
6618
6619 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6620 reused rows' y-position in the case window has a header-line, and
6621 new window start is greater than old window start.
6622
42ac0ae5
GM
6623 * process.c (process_sent_to): New variable.
6624 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6625 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6626 Declare more parameters volatile.
6627
550a625e
GM
6628 * lread.c (Vrecursive_load_depth_limit): New variable.
6629 (Fload): Check recursive loads whose recursion depth exceeds
6630 Vrecursive_load_depth_limit.
6631 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6632
8320414c
GM
66332000-09-20 Gerd Moellmann <gerd@gnu.org>
6634
f46c275e
GM
6635 * fileio.c (Fread_file_name): Doc fix.
6636
6637 * editfns.c (Fmessage_or_box): Doc fix.
6638
6639 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6640
b7e11c5b 6641 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6642
8320414c
GM
6643 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6644 symbols are specified, add color translations to the cache.
52283633 6645 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6646 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6647 xpm_cache_color.
6648 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6649 structures to xpm_init_color_cache.
6650
da1608d9
GM
66512000-09-19 Gerd Moellmann <gerd@gnu.org>
6652
52283633 6653 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6654
6badfa25
AI
66552000-09-19 Andrew Innes <andrewi@gnu.org>
6656
6657 * makefile.nt (bootstrap-emacs): Don't change directory.
6658
3a5f42bb
KH
66592000-09-19 Kenichi Handa <handa@etl.go.jp>
6660
1b7649bd
KH
6661 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6662
3a5f42bb
KH
6663 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6664 If output buffer is too small, signal an appropriated error.
6665
9f83cf0b
DL
66662000-09-18 Dave Love <fx@gnu.org>
6667
52283633 6668 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6669 (current_active_maps): Remove redundant get_local_map call.
6670
28c7826c
GM
66712000-09-18 Gerd Moellmann <gerd@gnu.org>
6672
5cefa566
GM
6673 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6674 cursor for buffers whose cursor_type is nil.
52283633 6675
6fed3546
GM
6676 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6677 a feature to implement that is already implemented.
6678 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6679 warnings.
6680
6681 * xfns.c (x_clear_image_1): New function.
6682 (x_clear_image): Use it.
52283633 6683 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6684
05b1f851
GM
6685 * dispnew.c (update_window): Move test for invisible lines
6686 at the top to update_window_line.
6687 (update_window_line): Handle invisible lines here.
6688
f4779de9
GM
6689 * xfns.c (clear_image_cache): Clear current matrices of all
6690 frames sharing an image cache. Block input while freeing
6691 images. Fix timestamp comparison.
6692 (x_clear_image): Also free the mask.
6693
28c7826c
GM
6694 * xfns.c (lookup_image): Block input while loading the image so
6695 that we won't get interrupted in a state where the image isn't yet
6696 set up completely.
6697 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6698 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6699 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6700 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6701
b7412313
GM
67022000-09-16 Gerd Moellmann <gerd@gnu.org>
6703
6704 * dispnew.c (update_window): Make sure to make desired rows
6705 current even if they are completely invisible at the top
6706 of a window.
6707
47e351a3
GM
67082000-09-15 Gerd Moellmann <gerd@gnu.org>
6709
7f8f1edc
GM
6710 * xfns.c (lookup_image): Build mask before applying an algorithm.
6711 Recognize algorithm `disabled'.
6712 (cross_disabled_images): New variable.
6713 (COLOR_INTENSITY): New macro.
6714 (x_detect_edges): Use COLOR_INTENSITY.
6715 (x_disable_image): New function.
6716 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6717
6718 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6719 disabled state, don't apply an image transformation algorithm if
6720 the user specified an image for the disabled state. Use
28c7826c 6721 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6722 user hasn't specified an image.
6723
ebb8f116
GM
6724 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6725 allocation functions with the XPM lib.
6726 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6727 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6728 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6729 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6730 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6731 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6732 functions, if possible, because these handle color allocation
6733 failure more gracefully.
6734 (Fimage_mask_p): New function.
6735
47e351a3
GM
6736 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6737 (Qedge_detection, Qheuristic): New symbols.
6738 (syms_of_xfns): Initialize new symbols.
6739 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6740 `algorithm (edge-detection ...)'.
6741 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6742 (tiff_format, gif_format, gs_format): Add `:mask'.
6743 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6744 (GIF_MASK, GS_MASK): New enumerators.
6745 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6746 (emboss_matrix, laplace_matrix): New variables.
6747 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6748 (x_edge_detection): New functions.
6749 (x_laplace): Rewritten in terms of x_detect_edges.
6750 (x_build_heuristic_mask): If image has a mask, free it.
6751
fe83b953
AI
67522000-09-14 Andrew Innes <andrewi@gnu.org>
6753
6754 * makefile.w32-in: Revert to Unix line endings.
6755
3021e816
AI
67562000-09-14 Andrew Innes <andrewi@gnu.org>
6757
6758 * makefile.w32-in: Standardize indentation somewhat.
6759 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6760 cater for differences between shells.
6761
6762 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6763
2a32b5ea
GM
67642000-09-14 Gerd Moellmann <gerd@gnu.org>
6765
6766 * xterm.c (x_produce_glyphs): If the distance from the current
6767 position to the next tab stop is less than a canonical character
6768 width, use the tab stop after that.
6769
b4331e96
DL
67702000-09-14 Dave Love <fx@gnu.org>
6771
6772 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6773
ef9e4345
GM
67742000-09-14 Gerd Moellmann <gerd@gnu.org>
6775
085536c2
GM
6776 * xdisp.c (handle_fontified_prop): While running fontification
6777 functions, bind `fontification-functions' and
6778 `after-change-functions' to nil.
6779
ef9e4345
GM
6780 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6781 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6782
6783 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6784
6785 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6786 USE_MMAP_FOR_BUFFERS.
6787
6788 * insdel.c (make_gap): Use enlarge_buffer_text.
6789
6790 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6791 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6792 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6793 from former r_alloc_* functions in ralloc.c.
52283633 6794 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6795 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6796 (mmap_init) [REL_ALLOC_MMAP]: New function.
6797 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6798 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6799 BUFFER_FREE.
6800
6801 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6802 (enlarge_buffer_text): Add prototype.
6803
6804 * ralloc.c: Remove everything having to do with the use of mmap.
6805
f8608968
GM
68062000-09-13 Gerd Moellmann <gerd@gnu.org>
6807
2a494b2d
GM
6808 * sound.c (Fplay_sound): Doc fix.
6809
8c907a56
GM
6810 * keyboard.c: Avoid some more compiler warnings.
6811 (parse_tool_bar_item): Ignore cached key bindings.
6812
f8608968
GM
6813 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6814 and allocation of Lisp data.
6815
6ab70e9a
GM
68162000-09-12 Gerd Moellmann <gerd@gnu.org>
6817
d12d0a9b
GM
6818 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6819 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6820 defaults first.
6821
6ab70e9a
GM
6822 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6823
63c36c3c
KH
68242000-09-12 Miyashita Hisashi <himi@meadowy.org>
6825
6826 * ccl.c: Comment fixed.
6827 (MAX_MAP_SET_LEVEL): Increased to 30.
6828 (PUSH_MAPPING_STACK): Enclose with do-while block.
6829 (POP_MAPPING_STACK): Likewise.
6830 (stack_idx_of_map_multiple): New variable.
6831 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6832 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6833 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6834 (ccl_driver) <CCL_MapSingle>: Likewise.
6835 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6836 with the case where looking up process reaches to the end of
6837 map-set, and call CCL programs as the above change.
6838
7ee3bd7b
GM
68392000-09-11 Gerd Moellmann <gerd@gnu.org>
6840
8ec8a5ec
GM
6841 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6842 that might be clobbered by longjmp.
6843 (check_x_display_info, x_decode_color, create_frame_xic)
6844 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6845 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6846
f74b0705
GM
6847 * lread.c (init_lread): Set Vloads_in_progress to nil.
6848 (Fload): Show list of recursively loaded files, when signaling an
6849 error.
6850
7ee3bd7b
GM
6851 * lread.c (Vloads_in_progress): New variable.
6852 (record_load_unwind): New function.
6853 (Fload): Check for recursive loads.
6854 (syms_of_lread): Initialize Vloads_in_progress.
6855 (read_integer, read1): Avoid some compiler warnings.
6856
6857 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6858 compiler warnings.
6859
974e1e5b
MB
68602000-09-11 Miles Bader <miles@gnu.org>
6861
6862 * editfns.c (Fbuffer_string): Doc fix.
6863
9824c4e3
GM
68642000-09-10 Gerd Moellmann <gerd@gnu.org>
6865
6866 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6867
6a72fdd1
KR
68682000-09-09 Ken Raeburn <raeburn@gnu.org>
6869
6870 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6871 whether to include other header files.
6872
28e6fb66
GM
68732000-09-09 Gerd Moellmann <gerd@gnu.org>
6874
52283633 6875 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6876 by Fmemq as a boolean.
28e6fb66 6877
7f8b6551
SM
68782000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6879
6880 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6881
a8710abf
GM
68822000-09-08 Gerd Moellmann <gerd@gnu.org>
6883
d1a02881
GM
6884 * ralloc.c (mmap_fd): Remove initializer which can make it
6885 read-only in a dumped Emacs.
6886 (mmap_fd_1): New variable.
6887 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6888 restore it from there.
6889 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6890 unconditionally so that mmap_fd can be initialized there.
6891 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6892 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6893 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6894
c454aac1
GM
6895 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6896
6897 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6898 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6899
fc653ef2
GM
6900 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6901
3015eec0
GM
6902 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6903 inheritance.
6904
bfe0ee88
GM
6905 * xdisp.c (try_window_id): When trying to locate cursor in
6906 unchanged rows at the top, handle the case that we can't find it.
6907
a8710abf
GM
6908 * xterm.c (x_draw_glyphs): Handle case START and END are out
6909 of bounds more carefully.
6910
6b7d4ae4
DL
69112000-09-08 Dave Love <fx@gnu.org>
6912
423193c5
DL
6913 * s/sol2.h (REL_ALLOC_MMAP): Define.
6914 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6915
6916 * ralloc.c: Don't include string.h (redundant).
6917 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6918 [!MAP_ANON]: Include fcntl.h.
6919 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6920 (r_alloc, r_re_alloc, r_alloc_free)
6921 (mmap_enlarge, mmap_set_vars): Use it.
6922 (r_alloc_init_fd): New function.
6923 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6924 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6925 malloc type.
6926
6927 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6928 Remove vm-limit.o.
6929
6b7d4ae4
DL
6930 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6931 change to __NetBSD__.
6932
44d31981
KH
69332000-09-08 Kenichi Handa <handa@etl.go.jp>
6934
6935 * search.c (compile_pattern): Check the multibyteness of cached
6936 string and PATTERN.
6937
aad40737
MB
69382000-09-08 Miles Bader <miles@gnu.org>
6939
6940 * xfaces.c (default_face_vector): Function removed.
6941 (Finternal_merge_in_global_face): Restore old global/local
6942 attribute override order. Use inline loop instead of calling
6943 default_face_vector.
6944
91a211b5
GM
69452000-09-07 Gerd Moellmann <gerd@gnu.org>
6946
6947 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6948 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6949 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6950 where necessary, in case POINTER_TYPE is `void'.
6951
03419440
EZ
69522000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6953
6954 * frame.c (make_terminal_frame): Initialize frame foreground and
6955 background colors to unspecified, for the initial instance of an
6956 MSDOS frame.
6957
f46f845b
GM
69582000-09-07 Gerd Moellmann <gerd@gnu.org>
6959
24f76fbf
GM
6960 * ralloc.c (mmap_find): Fix overlap computation.
6961 (mmap_enlarge): Compute nbytes before trying to find an
6962 overlapping region.
6963
f46f845b
GM
6964 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6965 instead of `!='.
6966
6967 * lread.c (syms_of_lread): Change value of regexp
6968 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6969
6970 * xmenu.c (xdialog_show): When looking up the selection in
6971 menu_items, take `quote' boundaries into account; this corresponds
6972 to a nil ITEM in x-popup-dialog.
6973
3c014385
KH
69742000-09-07 Kenichi Handa <handa@etl.go.jp>
6975
fd6f711b
KH
6976 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6977 not 0x81.
6978 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6979
3c014385 6980 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6981 encoding, not decoding. Fix the handling of latin-jisx0201.
6982 Check for the charset katakana-jisx0201 too.
3c014385 6983 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6984 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6985
0da3ecef
GM
69862000-09-07 Gerd Moellmann <gerd@gnu.org>
6987
ab0ee409
GM
6988 * xfaces.c (Vparam_value_alist): New variable.
6989 (syms_of_xfaces): Initialize it.
6990 (Finternal_set_lisp_face_attribute): Avoid more consing.
6991
6992 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6993 specially.
6994 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6995 (Qbackground_mode): New variable.
6996 (syms_of_frame_1): Initialize Qbackground_mode.
6997
6998 * lisp.h (Qdisplay): Declare extern.
1091dd67 6999
0da3ecef
GM
7000 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7001 change face on all frames, and change the default for new frames.
7002
b14654b9
DL
70032000-09-07 Dave Love <fx@gnu.org>
7004
7005 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7006
d24fd56f
KH
70072000-09-07 Kenichi Handa <handa@etl.go.jp>
7008
794f3670
KH
7009 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7010
0fddd0dc
KH
7011 * charset.c: Include composite.h
7012 (lisp_string_width): New function.
7013 (Fstring_width): Call lisp_string_width instead of strwidth.
7014
7015 * Makefile.in (charset.o): Depends on composite.h.
7016
d24fd56f
KH
7017 * process.c (read_process_output): Before inserting the decoded
7018 text in the buffer, adjust the multibyteness.
7019
fa0b693c
GM
70202000-09-06 Gerd Moellmann <gerd@gnu.org>
7021
52283633 7022 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7023 buffer's text buffer is null, map new memory.
7024
0a58f946
GM
7025 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7026 POINTER_TYPE and size_t.
7027 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7028 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7029 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7030 [REL_ALLOC_MMAP]: New macros.
7031 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7032 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7033 [REL_ALLOC_MMAP]: New functions.
7034
7035 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7036 before and after unexec.
7037
7038 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7039 text buffers if necessary.
7040
7041 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7042 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7043 in prototypes.
7044
fa0b693c
GM
7045 * config.in (HAVE_MMAP): Add #undef.
7046
877055f6
GM
70472000-09-05 Gerd Moellmann <gerd@gnu.org>
7048
08ba3862
GM
7049 * frame.c (Qdisplay_type): New variable.
7050 (syms_of_frame_1): Initialize it.
7051 (Fframe_parameter): New function that avoids consing.
7052 (syms_of_frame): Defsubr it.
7053
66ffe51c
GM
7054 * buffer.c (Fother_buffer): Consider buffers as invisible when
7055 they are displayed in a window on an invisible frame.
7056
877055f6
GM
7057 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7058 get-largest-window always return nil.
7059
bb970e67
GM
70602000-09-04 Gerd Moellmann <gerd@gnu.org>
7061
7062 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7063 variable; recognize Emacs 19 elc files.
7064
7a3d0e0e
MB
70652000-09-04 Miles Bader <miles@gnu.org>
7066
7067 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7068 before initially popping up the menu, so the menu doesn't flash
52283633 7069 when the face settings are significantly different from the defaults.
7a3d0e0e 7070
14473664
SM
70712000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7072
7073 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7074 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7075 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7076 (BIT_UNIBYTE): Remove.
7077 (re_match_2_internal): Delete corresponding code and streamline the
7078 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7079 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7080 (re_wctype_t): New type.
7081 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7082 (regex_compile): Use them and fix handling of overly long char classes.
7083
c1174479
AI
70842000-09-03 Andrew Innes <andrewi@gnu.org>
7085
f8803e97
AI
7086 * makefile.w32-in: Change to DOS line endings.
7087
c1174479
AI
7088 * s/ms-w32.h (ORDINARY_LINK): New define.
7089
7090 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7091 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7092
7093 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7094 (distclean): Delete them here instead.
7095
44ef7cf6
AI
7096 * w32proc.c (compare_env): Convert to uppercase for comparison,
7097 not lowercase, to match how the native Windows shell works.
7098
49b3bd82
JR
70992000-09-03 Jason Rumney <jasonr@gnu.org>
7100
7101 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7102 CVS changes the line-ends when checking in/out on DOS/Windows.
7103
7104 * makefile.nt (emacs): Do not change directory to run temacs, as
7105 the load-path is set relative to current directory.
7106
a3d35a39
MB
71072000-09-03 Miles Bader <miles@gnu.org>
7108
7109 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7110
d276b0cf
GM
71112000-09-02 Gerd Moellmann <gerd@gnu.org>
7112
715e84c9
GM
7113 * xdisp.c (redisplay_mode_lines): New function.
7114 (display_mode_lines): Return number of mode lines displayed.
7115 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7116 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7117
8892f40b
GM
7118 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7119 string.h and strings.h.
7120 (index) [HAVE_INDEX]: Add prototype.
7121
d276b0cf
GM
7122 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7123 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7124
7125 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7126 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7127
38404229
GM
71282000-09-01 Gerd Moellmann <gerd@gnu.org>
7129
7130 * lread.c (read1): Accept `?' as symbol constituent, for
7131 compatiblity with XEmacs.
7132
c0f9ea08
SM
71332000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7134
7135 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7136 (struct re_pattern_buffer): Remove newline_anchor.
7137 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7138 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7139 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7140 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7141 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7142 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7143 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7144 Get rid of references to newline_anchor.
7145 (regcomp): Allocate and precompute a fastmap.
7146
8c0f83fe
GM
71472000-08-31 Gerd Moellmann <gerd@gnu.org>
7148
7149 * lread.c (openp): GCPRO local variable `filename'.
7150
4bb91c68
SM
71512000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7152
7153 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7154
7155 * regex.c: Merge some changes from GNU libc. Add prototypes.
7156 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7157 Use memcmp and memcpy instead of bcopy and bcmp.
7158 (init_syntax_once): Use ISALNUM.
7159 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7160 (REG_UNSET_VALUE): Remove. Use NULL instead.
7161 (REG_UNSET, re_match_2_internal): Use NULL.
7162 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7163 New macros.
7164 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7165 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7166 (regex_compile): In handle_interval, return an error rather than try to
7167 unfetch the interval if we can't find the closing brace.
7168 Obey the RE_NO_GNU_OPS syntax bit.
7169 (TOLOWER): New macro.
7170 (regcomp): Use it.
7171 (regexec): Allocate regs.start and regs.end as one block.
7172
5226a931
GM
71732000-08-30 Gerd Moellmann <gerd@gnu.org>
7174
868dd24b
GM
7175 * xdisp.c (echo_area_display): Check display_completed instead
7176 of calling detect_input_pending.
7177
7178 * dispnew.c (update_frame): Only set display_completed here; move
7179 the update_begin and update_end calls here from update_frame_1.
7180 (update_frame_1): Don't set display_completed here, don't call
7181 update_begin/update_end.
7182
5226a931
GM
7183 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7184 instead of store_frame_param.
7185
2a8bd25f
GM
71862000-08-29 Gerd Moellmann <gerd@gnu.org>
7187
7188 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7189 desired window matrix hasn't been displayed, use the current row
7190 instead. Make sure that only those frame rows are updated for
7191 which there exists a corresponding enabled desired row.
52283633 7192
ba3478d9
MB
71932000-08-29 Miles Bader <miles@gnu.org>
7194
7195 * xfaces.c (default_face_vector): New function.
7196 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7197
87d0f685
GM
71982000-08-29 Gerd Moellmann <gerd@gnu.org>
7199
7200 * lread.c (openp): Prevent temporary string passed to
7201 Ffile_readable_p from being garbage collected.
7202
6fa86045
DL
72032000-08-28 Dave Love <fx@gnu.org>
7204
7205 * keymap.c (store_in_keymap): Add `static' to declaration.
7206
bb17930d
GM
72072000-08-28 Gerd Moellmann <gerd@gnu.org>
7208
7209 * emacs.c, callint.c, doc.c, editfns.c
7210 (toplevel) [HAVE_STRING_H]: Include string.h.
7211 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7212 (index): Remove prototypes which might conflict with non-standard
7213 definitions of index/strchr.
7214
7215 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7216 (rindex): Define only if !HAVE_RINDEX.
7217
7218 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7219
7220 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7221
87188200
MB
72222000-08-28 Miles Bader <miles@gnu.org>
7223
7224 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7225 made inconsistent by a font-related attribute in FROM.
7226 (merge_face_inheritance): Add function comment.
7227
41a68aef
KH
72282000-08-28 Kenichi Handa <handa@etl.go.jp>
7229
7230 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7231 the 4th arg (PREV_EVENT) Qt to suppress input method.
7232
f7c436c1
SM
72332000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7234
0b32bf0e
SM
7235 * regex.c: Indent cpp directives and remove parens after `defined'.
7236 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7237 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7238 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7239 (re_compile_pattern): Use size_t for length.
7240 (init_syntax_once): Move to a better place.
7241 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7242 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7243
f7c436c1
SM
7244 * syntax.c (back_comment): Detect cases where a comment-starter is
7245 actually inside another comment as in: /* a // b */ c // d \n.
7246 Make it clear that `comstart_pos' is unused for nested comments.
7247
7248 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7249 (KEYMAPP): New macro.
7250 (Fkeymap_parent, Fset_keymap_parent): Use it.
7251 (fix_submap_inheritance): Mark it static.
7252 (define_as_prefix, describe_buffer_bindings, describe_command)
7253 (describe_translation, describe_map): Complete prototypes.
7254
7255 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7256
7257 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7258 to better match the key-lookup behavior.
7259
6288c62f
GM
72602000-08-27 Gerd Moellmann <gerd@gnu.org>
7261
7262 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7263 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7264
e931344e
EZ
72652000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7266
7267 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7268 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7269 (xterm.o): Depend on coding.h
7270
d10dfeef
KH
72712000-08-26 Kenichi Handa <handa@etl.go.jp>
7272
7273 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7274 the corresponding '#endif'.
7275
2d73e8d3
MB
72762000-08-26 Miles Bader <miles@gnu.org>
7277
7278 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7279 * xfaces.c (QCinherit): New variable.
7280 (syms_of_xfaces): Initialize it.
7281 (LFACE_INHERIT): New macro.
7282 (Finternal_get_lisp_face_attribute)
52283633 7283 (merge_face_vector_with_property)
2d73e8d3
MB
7284 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7285 (check_lface_attrs): Allow new types of face height. Check
7286 inherit attribute.
7287 (CYCLE_CHECK): New macro.
7288 (merge_face_inheritance): New function.
7289 (merge_face_vectors): Merge inherited faces too. Add F and
7290 CYCLE_CHECK arguments.
7291 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7292 (lookup_named_face, lookup_derived_face, realize_named_face)
7293 (face_at_string_position, face_at_buffer_position): Supply
7294 new F and CYCLE_CHECK arguments to merge_face_vectors.
7295 (merge_face_heights): New function.
52283633 7296 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7297 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7298 handle relative face heights.
7299 (lface_same_font_attributes_p): Compare heights using EQ.
7300
6ce974d4
KH
73012000-08-26 Kenichi Handa <handa@etl.go.jp>
7302
7303 * charset.c (char_to_string): Check the character validity.
52283633 7304 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7305
dc1e502d
SM
73062000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7307
7308 * regex.c (PUSH_FAILURE_COUNT): New macro.
7309 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7310 Handle popping of a register's or a counter's data.
7311 (POP_FAILURE_POINT): Use the new name.
7312 (re_match_2_internal): Push counter data on the stack for succeed_n,
7313 jump_n and set_number_at and remove misleading dead code in succeed_n.
7314
bd9d0f3f
GM
73152000-08-25 Gerd Moellmann <gerd@gnu.org>
7316
7317 * xdisp.c (redisplay_internal): If considering all windows on all
7318 frames, update the display for each frame as soon as possible,
7319 instead of first building all desired matrices for all frames, and
7320 then updating them all.
7321 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7322
aa5b8e15
GM
73232000-08-24 Gerd Moellmann <gerd@gnu.org>
7324
17494071
GM
7325 * bytecode.c (mark_byte_stack): Add a comment.
7326
52283633
SM
7327 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7328 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7329 a graphical frame.
7330
c543db81
KH
73312000-08-24 Kenichi Handa <handa@etl.go.jp>
7332
d246d5f5
KH
7333 * minibuf.c (do_completion): Always use compare-string, not
7334 string-equal because the latter doesn't pay attention to
7335 multibyteness of strings.
7336
c543db81
KH
7337 * process.c (create_process): Don't setup raw-text coding here.
7338 (Fopen_network_stream): Don't set coding->src_multibyte and
7339 coding->dst_multibyte here.
7340 (read_process_output): For process filter, return unibyte string
7341 if default-enable-multibyte-characters is nil.
7342 (send_process): If OBJECT is multibyte text, be sure to encoded it
7343 by the specified coding system for the process. Otherwise, setup
7344 raw-text coding.
52283633 7345 (init_process): Don't initialize default-process-coding-system here.
c543db81 7346
9b47cfe0
EZ
73472000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7348
7349 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7350 <scroll-down-aggressively>: Likewise.
7351
f5a36960
KH
73522000-08-23 Kenichi Handa <handa@etl.go.jp>
7353
7354 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7355 zero. Set coding->produced_char correctly.
7356
69a7ffa7
AI
73572000-08-22 Andrew Innes <andrewi@gnu.org>
7358
7359 * makefile.w32-in: New file.
7360
7361 * unexw32.c (unexec): Ignore old_name, and use the actual location
7362 of the current executable instead. Base new_name on this.
7363
7364 * w32proc.c (create_child): Remove reference to security
7365 descriptor, which isn't needed and doesn't compile with mingw32.
7366
7367 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7368 up dllimport attributes.
7369 (x_update_window_end): Update prototype.
7370
7371 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7372 extern, which screws up dllimport attributes.
7373
7374 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7375 up dllimport attributes.
7376
7377 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7378 screws up dllimport attributes.
7379
7380 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7381 up dllimport attributes.
7382 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7383 screws up dllimport attributes.
7384
7385 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7386 up dllimport attributes.
7387
7388 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7389 screws up dllimport attributes.
7390
7391 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7392 screws up dllimport attributes.
7393
7394 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7395 up dllimport attributes.
7396
7397 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7398 unnecessary extern, which screws up dllimport attributes.
7399 (main): Ditto.
7400
7401 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7402 up dllimport attributes.
7403
7404 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7405 unnecessary extern, which screws up dllimport attributes.
7406
7407 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7408 screws up dllimport attributes.
7409
7410 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7411 up dllimport attributes.
7412
7413 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7414
52283633
SM
7415 * w32bdf.c (search_file_line):
7416 (set_bdf_font_info):
7417 (seek_char):
7418 (w32_get_bdf_glyph):
69a7ffa7
AI
7419 (w32_BDF_to_x_font): Fix compile warnings.
7420
52283633 7421 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7422
7423 * w32select.c: Include keyboard.h before frame.h.
7424
7425 * w32fns.c (max): Define macro.
7426 (JOHAB_CHARSET): Define if not known.
7427 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7428 (Fx_show_tip): Synch with X version.
7429
7430 * w32xfns.c: Include keyboard.h before frame.h.
7431
7432 * w32fns.c: Include keyboard.h before frame.h.
7433
7434 * w32term.c: Include keyboard.h before frame.h.
7435
7436 * fontset.c: Include keyboard.h before frame.h.
7437
7438 * w32inevt.c: Include keyboard.h before frame.h.
7439 (MOUSE_MOVED): Define if not known.
7440
7441 * minibuf.c: Include keyboard.h before frame.h.
7442
7443 * keyboard.c: Include keyboard.h before frame.h.
7444
7445 * indent.c: Include keyboard.h before frame.h.
7446
7447 * dispnew.c: Include keyboard.h before frame.h.
7448
7449 * buffer.c: Include keyboard.h before frame.h.
7450
7451 * alloc.c: Include keyboard.h before frame.h.
7452
7453 * print.c: Include keyboard.h before frame.h.
7454
7455 * process.c: Include keyboard.h before frame.h.
7456
7457 * scroll.c: Include keyboard.h before frame.h.
7458
7459 * sysdep.c: Include keyboard.h before frame.h.
7460
7461 * term.c: Include keyboard.h before frame.h.
7462
7463 * window.c: Include keyboard.h before frame.h.
7464
7465 * xdisp.c: Include keyboard.h before frame.h.
7466 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7467
7468 * frame.c: Include keyboard.h before frame.h.
7469
7470 * w32heap.h: Undefine min, max.
7471
7472 * w32gui.h: Undefine min, max.
7473
7474 * unexw32.c: Change PUCHAR to PCHAR.
7475 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7476 (relocate_offset):
7477 (get_section_info):
69a7ffa7
AI
7478 (copy_executable_and_dump_data): Remove unnecessary static defs.
7479 (copy_executable_and_dump_data): Fix compile warnings.
7480
7481 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7482
7483 * w32console.c (min): Define macro.
7484 (clear_frame, write_glyphs): Fix compile warning.
7485
52283633 7486 * w32proc.c (compare_env):
69a7ffa7
AI
7487 (find_child_console): Fix compile warning.
7488
7489 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7490 sys_errlist instead of _sys_errlist.
7491 (get_emacs_configuration_options): New function.
7492
7493 * s/ms-w32.h (sys_nerr): Provide default definition.
7494 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7495 name with _ prepended.
7496 (NSIG): Define if not known.
7497 (get_emacs_configuration): Provide extern declaration.
7498 (get_emacs_configuration_options): Provide extern declaration.
7499 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7500
7501 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7502 (map_w32_filename):
69a7ffa7
AI
7503 (read_unc_volume): Fix compile warning.
7504
7505 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7506 definitions from being used.
7507
7508 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7509
52283633 7510 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7511 (open_unc_volume): Make arg const.
7512
7513 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7514 (read_input_waiting): Remove excess parameter.
7515
7516 * w32.c (init_environment): Call _access.
7517 (check_windows_init_file): Call _close.
7518 (init_user_info): Call _putenv.
7519 (init_environment): Call _putenv and _strdup.
7520 (init_ntproc): Reset volume info cache on startup.
7521
7522 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7523 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7524 cannot override the CRT malloc.
7525
7526 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7527 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7528
7529 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7530 unless we are linking with a static CRT.
7531 (RVA_TO_PTR): Cast result to unsigned char*.
7532
7533 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7534 (add_volume_info): Use xstrdup.
7535
25060080
SM
75362000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7537
7538 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7539 (do_completion, Fminibuffer_complete_word): Use it.
7540 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7541 var so it can take non-boolean values.
7542
6917e6bb
GM
75432000-08-21 Gerd Moellmann <gerd@gnu.org>
7544
acb7cc89 7545 * editfns.c (find_field): Formatting changes.
52283633 7546 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7547 changed to prototypes, some new protypes added, some functions
7548 made static.
7549
7550 * lisp.h (set_time_zone_rule): Add prototype.
7551 (use_dialog_box): External declaration.
7552
0bbfdc25
GM
7553 * keyboard.c (gen_help_event): Add parameter SIZE.
7554 (kbd_buffer_events_waiting): Slightly rewritten.
7555 (clear_event): New function.
7556 (kbd_buffer_get_event): Use it, and clear the input_events of
7557 HELP_EVENTs.
7558 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7559 don't fill the newly created array with nils.
7560 (toplevel): Convert some old-style function forward declarations
7561 to prototypes.
7562
7563 * keyboard.h (gen_help_event): Change prototype.
7564
7565 * xterm.c (XTread_socket): Change calls to gen_help_event.
7566
7567 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7568
6917e6bb
GM
7569 * eval.c (Fmacroexpand): Doc fix.
7570
e5cd3d11
JR
75712000-08-20 Jason Rumney <jasonr@gnu.org>
7572
7573 * w32term.h (x_display_info_for_display): Remove as this function
7574 does not exist on W32.
7575
7576 * w32term.c (help_echo_window): New variable.
7577 (syms_of_w32term): staticpro it.
7578 (note_mode_line_highlight): Set it.
7579 (XTextExtents16): Removed as there is no equivalent on W32.
7580 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7581 the X way of doing this will not work for W32.
7582 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7583 (x_draw_image_foreground): Avoid drawing outside of the clip area
7584 when image doesn't have a mask.
7585 (note_mouse_highlight): Process overlays in the right order of
7586 priority. Set help_echo_window.
7587 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7588 because that's more visible for large images.
7589
7590 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7591 name to single_keymap_panes.
7592 (w32_menu_show): Set wv->title when dealing with titles.
7593 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7594
6e69ab8c
MB
75952000-08-21 Miles Bader <miles@gnu.org>
7596
7597 * minibuf.c (do_completion): Try again if we rewrite the input
7598 string, but no completion was done, so that any completion message
7599 will be correct.
7600
511bd4eb
GM
76012000-08-20 Gerd Moellmann <gerd@gnu.org>
7602
7603 * xfaces.c (lface_equal_p): Compare strings differently.
7604 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7605 (realize_tty_face): Use them.
7606 (syms_of_xfaces): Initialize new variables.
7607 (map_tty_color): New function, extracted from realize_tty_face.
7608 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7609 foreground or background color, store the new color name in the
7610 realized face; previous code trying to do this had no effect.
7611 (realize_tty_face): Use map_tty_color.
7612 (Fclear_face_cache): Set face_change_count and ensure thorough
7613 redisplay.
7614
1433385f
GM
76152000-08-19 Gerd Moellmann <gerd@gnu.org>
7616
511bd4eb
GM
7617 * undo.c (record_first_change, record_marker_adjustment): Don't
7618 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7619
419ac0a2
KH
76202000-08-18 Kenichi Handa <handa@etl.go.jp>
7621
7622 * coding.c (decode_coding_string): Set members consumed,
7623 consumed_char, produced, produced_char of *coding correctly. If
7624 decode_coding doesn't consume any byte, don't try anymore.
7625 (encode_coding_string): Likewise.
7626
7eb9e30d
GM
76272000-08-18 Gerd Moellmann <gerd@gnu.org>
7628
511bd4eb
GM
7629 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7630 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7631
7632 * xdisp.c (redisplay_internal): Compare windows for equality with
7633 EQ, instead of applying XWINDOW to something that might not
7634 be a window.
52283633 7635
dd34a735
KH
76362000-08-18 Kenichi Handa <handa@etl.go.jp>
7637
7638 * fontset.c (Finternal_char_font): Search only the selected frame
7639 for a window of the current buffer.
7640
385ff9e3
GM
76412000-08-18 Gerd Moellmann <gerd@gnu.org>
7642
511bd4eb 7643 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7644 Lisp_Objects.
7645
385ff9e3
GM
7646 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7647 second half of a HELP_EVENT is found at the start of kbd_buffer.
7648
d6abb4c7
MB
76492000-08-18 Miles Bader <miles@gnu.org>
7650
4618074a
MB
7651 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7652
d6abb4c7
MB
7653 * editfns.c (save_restriction_save): Rewrite to use markers.
7654 (save_restriction_restore): Rewrite to understand new form of data
7655 saved by save_restriction_save.
7656 (Fsave_restriction): Remove cautionary note in doc-string.
7657
a7b28523
GM
76582000-08-17 Gerd Moellmann <gerd@gnu.org>
7659
7660 * fileio.c (build_annotations): Add a comment explaining the
7661 return value of format-annotate-function. Replace a spurious call
7662 to Flength with a CONSP test. Call format-annotate-function with
7663 a fifth arg specifying how many times the function is been called
7664 in a row, to let it choose temporary buffers appropriately.
7665
03c9ed77
DL
76662000-08-17 Dave Love <fx@gnu.org>
7667
7668 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7669 declare make_temp_name twice.
7670
52283633 7671 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7672 (unreadpure): Give it an arg.
7673
7674 * unexalpha.c: Prototype fatal_unexec, mark_x,
7675 update_dynamic_symbols. Declare unexec as void.
7676
7677 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7678 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7679
7680 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7681 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7682
7683 * alloca.c: Use #error.
7684 [POINTER_TYPE]: Use it.
7685
7686 * eval.c (Fdefvar): Doc fix.
7687
7688 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7689 INITIALIZE_INTERVAL.
7690
7691 * buffer.h: Avoid DECLARE_INTERVALS.
7692
7693 * config.in: Add size_t.
7694
aae41d97
EZ
76952000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7696
7697 * w16select.c (set_clipboard_data): If there's not enough memory
7698 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7699 expects. In case of other failures, return 3.
7700 (system_error_msg): New error message.
7701 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7702 system_error_msg.
7703
65aa5e85
GM
77042000-08-16 Gerd Moellmann <gerd@gnu.org>
7705
7706 * term.c (write_glyphs): Also turn off inverse video after turning
7707 off other appearances in case TS_exit_attribute_mode is not equal
7708 to TS_end_standout_mode.
7709 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7710 with the same face.
7711 (turn_off_face): Reset standout_mode only if
7712 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7713 is equal to TS_end_standout_mode.
7714
ece23901
KH
77152000-08-16 Kenichi Handa <handa@etl.go.jp>
7716
9d7bcb2e
KH
7717 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7718 sequence at the end of the source block.
7719
ece23901
KH
7720 * ccl.c (Fccl_program_p): Docstring modified.
7721 (Fccl_execute): Likewise.
7722 (Fccl_execute_on_string): Likewise.
7723
5e30eaa2
EZ
77242000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7725
7726 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7727
290602fd
KH
77282000-08-16 Kenichi Handa <handa@etl.go.jp>
7729
7730 The following changes are mainly to fix bugs of
7731 encode/decode-coding-string failing if encoding/decoding return
7732 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7733 variable conversion_buffer.
7734
7735 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7736 decrement dst_end to avoid buffer overflow in the later call of
7737 string_as_multibyte
7738
7739 * coding.h (conversion_buffer_size, conversion_buffer)
7740 (get_conversion_buffer): Extern deleted.
7741
7742 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7743 (conversion_buffer, conversion_buffer_size): Variables deleted.
7744 (get_conversion_buffer): Function deleted.
7745 (struct conversion_buffer): New structure.
7746 (MAX_ALLOCA): New macro.
7747 (allocate_conversion_buffer): New macro.
7748 (extend_conversion_buffer, free_conversion_buffer): New functions.
7749 (ccl_coding_driver): Set coding->result.
7750 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7751 this is the last block of source.
7752 (encode_coding): Likewise. Handle the source block as the last
7753 one only when the whole source text is consumed.
7754 (decode_coding_string): Handle the case that the output buffer is
7755 too small to decode the whole source text. Use
7756 allocate_conversion_buffer, extend_conversion_buffer and
7757 free_conversion_buffer, not get_conversion_buffer.
7758 (encode_coding_string): Likewise.
7759 (init_coding): Function deleted.
52283633 7760 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7761
7762 * emacs.c (main): Don't call init_coding.
7763
52283633 7764 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7765
7766 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7767 (insert_glyphs): Likewise.
7768
7769 * w32console.c (write_glyphs): Use a locally declared
7770 conversion_buffer.
7771
b9f80d41
EZ
77722000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7773
7774 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7775 member of display_info is NULL.
7776
32dc52f7
GM
77772000-08-15 Gerd Moellmann <gerd@gnu.org>
7778
52283633 7779 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7780
32dc52f7 7781 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7782 appearances with capability `me'.
32dc52f7
GM
7783 (write_glyphs): Switch on inverse video before each face change.
7784
4eb22d33
DL
77852000-08-14 Dave Love <fx@gnu.org>
7786
7787 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7788 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7789 (lisp_free): Declare and make static.
7790
7791 * window.c: Fix embedded comment.
7792 (syms_of_window): Fix doc string.
7793
90cbf47e
GM
77942000-08-14 Gerd Moellmann <gerd@gnu.org>
7795
52283633 7796 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7797 make sure to print `C-' before `M-', like in the manual.
7798
440fc135
GM
77992000-08-11 Gerd Moellmann <gerd@gnu.org>
7800
7801 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7802 since they aren't relocated anymore.
52283633 7803 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7804
7805 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7806 partially visible line which is smaller than the window's height.
440fc135 7807
6e264fad
KH
78082000-08-11 Kenichi Handa <handa@etl.go.jp>
7809
7810 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7811 the multibyte form of eight-bit-control characters.
6e264fad
KH
7812 (Fccl_execute_on_string): Initialize ccl->multibyte.
7813
7814 * ccl.h (struct ccl_program): New member multibyte.
7815
7816 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7817
c371f69a
KH
78182000-08-11 Kenichi Handa <handa@etl.go.jp>
7819
7820 * regex.c (regex_compile) <normal_char>: Pay attention to
7821 multibyteness.
7822 (analyse_first) <exactn>: Setup fastmap correctly for
7823 eight-bit-control characters.
7824
78252000-08-11 Kenichi Handa <handa@etl.go.jp>
7826
52283633 7827 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7828
7829 * keyboard.c (make_lispy_event): Handle the new event type
7830 multibyte_char_keystroke.
7831
7832 * xterm.c: Include coding.h.
7833 (XTread_socket): Work around a bug of XmbLookupString. If the
7834 input is from XIM, decode it according to the current locale. In
7835 that case, generate multibyte_char_keystroke events.
7836
b8ddbe71
KH
78372000-08-11 Kenichi Handa <handa@etl.go.jp>
7838
7839 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7840 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7841
47589c8c
GM
78422000-08-10 Gerd Moellmann <gerd@gnu.org>
7843
7844 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7845 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7846 (move_it_in_display_line_to): Record iterator's ascent and descent
7847 before producing glyphs, and restore them when we know the glyph
7848 doesn't fit on the line.
7849 (move_it_to): Restructured so that it's easier to debug. If
7850 moving to a vpos, and not moving to an x or character position,
7851 stop as soon as the specified vpos is reached; don't move further
7852 into that line because that might change the computed line height.
7853 (try_cursor_movement): New function, extracted from the cursor
7854 movement branch of redisplay_window. If ending on a partially
7855 visible line, don't try to scroll if the cursor line is taller
7856 than the window.
7857 (redisplay_window): Use try_cursor_movement.
7858
7859 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7860 because that function doesn't cope with variable-height lines.
7861
7862 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7863 box cursor because that's better visible for large images.
52283633 7864
c51bacd6
MB
78652000-08-10 Miles Bader <miles@gnu.org>
7866
7867 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7868
bea56df7
GM
78692000-08-10 Gerd Moellmann <gerd@gnu.org>
7870
7871 * xdisp.c (Vmessages_buffer_name): New variable.
7872 (message_dolog): Use it.
7873 (syms_of_xdisp): Initialize it.
7874
99cd7364
EZ
78752000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7876
52283633 7877 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7878 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7879 redundant now that keyboard.h is included.
7880
7d093d56
EZ
78812000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7882
7883 * keyboard.c (kbd_buffer_events_waiting): New function.
7884
7885 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7886
7887 * msdos.c: Include keyboard.h.
7888 (XMenuActivate): Empty no_event events from the event buffer. If
7889 no events are left after that, call clear_input_pending.
7890 (mouse_clear_clicks): New function, code moved from mouse_init.
7891 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7892 mouse driver to ``forget'' any past clicks.
7893
7894 * Makefile.in (msdos.o): Depend on keyboard.h.
7895
41e757a6
GM
78962000-08-09 Gerd Moellmann <gerd@gnu.org>
7897
8e7bd231
GM
7898 * lisp.h (input_pending): External declaration.
7899
7900 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7901
8e7bd231
GM
7902 * xdisp.c (echo_area_display): Display thoroughly if input is
7903 pending. Bind redisplay-dont-pause to t during the redisplay.
7904 in case input is pending.
7905
7906 * dispnew.c (Qredisplay_dont_pause): New variable.
7907 (syms_of_display): Initialize and staticpro it.
7908 (update_frame_1): Don't interrupt the display for pending input if
7909 redisplay_dont_pause is set.
52283633 7910
43028b7e
GM
7911 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7912
41e757a6
GM
7913 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7914
2f2174fa
KH
79152000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7916
7917 * callproc.c (Fcall_process): Terminate the unwind-protect around
7918 the post-read-conversion of coding system.
7919
0a6fd67e
MB
7920 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7921 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7922 * buffer.h (overlays_at): Update prototype.
7923 * xdisp.c (next_overlay_change): Update call to overlays_at.
7924 * xfaces.c (face_at_buffer_position): Likewise.
7925 * textprop.c (Fget_char_property): Likewise.
7926 * xterm.c (note_mouse_highlight): Likewise.
7927
0c80756e
MB
7928 * minibuf.c (do_completion): Don't consider a simple change of
7929 case as `completion'.
7930
975f250a
KR
79312000-08-08 Ken Raeburn <raeburn@gnu.org>
7932
52283633 7933 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7934 * undo.c (record_delete): Make sure last_point_position_buffer is
7935 a buffer before comparing pointers.
7936
7937 * coding.h (decode_coding_string): Declare.
7938
7939 * intervals.h (Fprevious_single_char_property_change): Declare.
7940
7941 * textprop.c (Fprevious_single_char_property_change): Don't do
7942 arithmetic directly on lisp objects.
7943
52283633 7944 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7945
7946 * keyboard.h (menu_item_eval_property): Declare.
7947
7948 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7949 reuse as buffer name, instead of recreating (and discarding) every
7950 time a message is logged.
7951 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7952 (current_message_1, truncate_message_1, set_message_1)
7953 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7954 (current_message, truncate_echo_area, display_echo_area)
7955 (resize_echo_area_axactly): Changed calls.
b347b3fd 7956
975f250a 7957 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7958 Lisp object.
975f250a 7959 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7960 must be an integer, not a Lisp object.
975f250a 7961
46dc9912
KH
79622000-08-08 Kenichi Handa <handa@etl.go.jp>
7963
7964 * charset.c (Fchar_width): Doc fix.
7965
9f6d1a6c
GM
79662000-08-08 Gerd Moellmann <gerd@gnu.org>
7967
7968 * charset.c (Fstring_width): Doc fix.
7969
ff3d9573
GM
79702000-08-07 Gerd Moellmann <gerd@gnu.org>
7971
41e757a6 7972 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7973 line, clear ascent and descent members of the iterator structure;
7974 the height of the continued line does not affect the height of the
7975 continuation line.
7976 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7977 line taller than the window.
7978 (redisplay_window) <forced window start>: Handle case that the
7979 middle of the window is not found in any row.
7980 (dump_glyph_row): Show more information.
7981 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7982 first text line in a glyph matrix.
7983
7984 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7985 of the clip area when image doesn't have a mask.
7986
70fc58b3
GM
7987 * fns.c (sweep_weak_table): Fix survival conditions for
7988 key-or-value and key-and-value weakness.
7989
7990 * .gdbinit (xhashtable): New command.
7991
ac0e96ee
GM
7992 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7993 tables out of the list of all weak hash tables.
7994
ff3d9573
GM
7995 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7996 a new buffer is created, make sure echo_area_buffer[] references
7997 the new buffer.
7998
e0d8827b
EZ
79992000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8000
8001 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8002 the doc string.
8003
c6f35378
KH
80042000-08-07 Kenichi Handa <handa@etl.go.jp>
8005
8006 * syntax.c (skip_chars): Fix previous change. Make the handling
8007 of unibyte string consistent with that of regex search.
8008
1fd4c450
GM
80092000-08-05 Gerd Moellmann <gerd@gnu.org>
8010
e49aa397
GM
8011 * xmenu.c (popup_get_selection): Use xfree instead of free.
8012
8013 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8014
8015 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8016
8017 * callproc.c (child_setup): Use xfree instead of free.
8018
8019 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8020 instead of malloc.
8021 (run_mac_command, closedir): Use `xfree' instead of `free'.
8022
8023 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8024
8025 * eval.c (error): Use xfree instead of free.
8026
1fd4c450
GM
8027 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8028
8029 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8030 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8031
82d497fc
KH
80322000-08-05 Kenichi Handa <handa@etl.go.jp>
8033
8034 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8035 conversion.
8036
59f953a2
NF
80372000-08-04 Noah Friedman <friedman@splode.com>
8038
8039 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8040 docstring.
8041
688351f2
GM
80422000-08-04 Gerd Moellmann <gerd@gnu.org>
8043
8044 * syntax.c (skip_chars): Fix typo in error message.
8045
2dad51cc
AS
80462000-08-04 Andreas Schwab <schwab@suse.de>
8047
8048 * m/ia64.h: Moved from s/ia64.h.
8049
99bb2c60
KH
80502000-08-04 Kenichi Handa <handa@etl.go.jp>
8051
082a1df2
KH
8052 * process.c (read_process_output): Big simplification. Handle
8053 composition and post-read-conversion of coding system correctly.
8054 (send_process): Handle composition correctly.
8055
8056 * callproc.c (Fcall_process): Handle post-read-conversion of
8057 coding system if any.
8058
99bb2c60
KH
8059 * coding.c (decode_coding_iso2022): More strict check for handling
8060 single shifting.
082a1df2
KH
8061 (coding_restore_composition): Pay attention to the case that
8062 cmp_data is not set properly (because of invalid code in the
8063 source text).
8064 (run_pre_post_conversion_on_str): Include text properties in the
8065 resulting string.
8066 (decode_coding_string): Set members of coding correctly.
99bb2c60 8067
f4988be7
GM
80682000-08-03 Gerd Moellmann <gerd@gnu.org>
8069
8070 * s/ia64.h: New file.
8071
8072 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8073 Use NULL instead of 0 at the end of variable argument list of
8074 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8075 sizeof (int) < sizeof (void *).
8076
8077 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8078 of variable argument lists of XtVaGetValues and XtVaSetValues.
8079
8080 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8081 variable argument lists of XtVaGetValues and XtVaSetValues.
8082
ead53494
GM
80832000-08-02 Gerd Moellmann <gerd@gnu.org>
8084
8085 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8086 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8087
8088 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8089 prototype.
8090
8091 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8092 in call to Fsingle_key_description.
8093
8094 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8095 Callers changed.
8096
80972000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8098
8099 * window.c (display_buffer_reuse_frames): New variable.
8100 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8101 frames displaying BUFFER.
52283633 8102 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8103
10b0f752
MB
81042000-08-01 Miles Bader <miles@gnu.org>
8105
8106 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8107 when to constrain NEW_POS (they were pretty screwed up before).
8108
16425c4a
EZ
81092000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8110
8111 * msdos.c (run_msdos_command): Save and restore the master
8112 environment, for the case that child_setup signals an error.
8113 When mirroring slashes in DOS shell commands, don't fail when
8114 argv[2] has embedded blanks.
da288c14
EZ
8115 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8116 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8117 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8118
8119 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8120 using alloca; free it after run_msdos_command returns.
8121
27f73852
DL
81222000-07-27 Dave Love <fx@gnu.org>
8123
52283633
SM
8124 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8125 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8126
8127 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8128
c0261b5e
EZ
81292000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8130
8131 * editfns.c (lisp_time_argument): Fix last change.
8132
b548072f
GM
81332000-07-27 Gerd Moellmann <gerd@gnu.org>
8134
3ab82477
GM
8135 * fns.c (Fdelete): Make it work on vectors and strings in addition
8136 to lists.
8137
b548072f
GM
8138 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8139 (syms_of_fns): Initialize new variables.
52283633 8140 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8141 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8142 weakness, with t meaning the same as `key-and-value'.
8143
91ae8751
KH
81442000-07-27 Kenichi Handa <handa@etl.go.jp>
8145
8146 * coding.h (struct coding_system): Member safe_charset deleted.
8147
8148 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8149 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8150 New variables.
91ae8751
KH
8151 (coding_safe_chars): New function.
8152 (CODING_SAFE_CHAR_P): New macro.
8153 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8154 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8155 (detect_coding_iso2022): New local variable safe_chars.
8156 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8157 safe_charsets member of the coding system.
8158 (decode_coding_iso2022): New local variable safe_chars.
8159 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8160 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8161 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8162 (ENCODE_UNSAFE_CHARACTER): New macro.
8163 (encode_coding_iso2022): New local variable safe_chars. Check
8164 unsafe chars.
8165 (setup_coding_system): Delete the code to initialize
8166 coding->safe_charses
8167 (intersection, find_safe_codings): New functions.
8168 (Ffind_coding_systems_region_internal): New function.
8169 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8170 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8171 variable and initialize it.
8172
8173 * fns.c (char_table_ref_and_index): New function.
8174
8175 * lisp.h (char_table_ref_and_index): Add prototype.
8176
34a7a267
SS
81772000-07-26 Sam Steingold <sds@gnu.org>
8178
8179 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8180 (Ffloat_time): New built-in Lisp function.
34a7a267 8181
a95cb10a
GM
81822000-07-26 Gerd Moellmann <gerd@gnu.org>
8183
3353ef5a
GM
8184 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8185 for the character code.
8186
8187 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8188 GNU/Linux.
8189
a95cb10a
GM
8190 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8191 if called for a popup menu.
8192 (xmenu_show): Store help string in widget values.
8193
b4a12321
DL
81942000-07-26 Dave Love <fx@gnu.org>
8195
8196 * syswait.h: Move some definitions.
8197 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8198 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8199 perspicuous definitions.
8200 (WTERMSIG): Fix bit pattern used.
8201
13f5ad37
KH
82022000-07-26 Kenichi Handa <handa@etl.go.jp>
8203
8204 * print.c (print_object): If vector printing is truncated, print
8205 "..." to indicate it as well as the case of list printing.
8206
070fe99c
GM
82072000-07-25 Gerd Moellmann <gerd@gnu.org>
8208
969065c3
GM
8209 * xdisp.c (next_element_from_display_vector): Improve comments.
8210
8211 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8212 for the character code, and the rest for the face id as in 20.x.
8213 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8214
8215 * window.c (window_display_table): Cleaned up.
8216
070fe99c
GM
8217 * syntax.c (Fforward_word): Add last arg nil in call of
8218 Fconstrain_to_field.
8219
bad77ef7
EZ
82202000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8221
969065c3 8222 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8223 identical but for the letter-case, don't call
8224 barf_or_query_if_file_exists.
bad77ef7 8225
c28da489
MB
82262000-07-25 Miles Bader <miles@gnu.org>
8227
8228 * editfns.c (find_field): Honor special `boundary' fields.
8229 (Qboundary): New variables.
8230 (syms_of_editfns): Initialize Qboundary.
8231 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8232 Use scan_buffer instead of find_before_next_newline, because it
8233 allows us to detect the boundary case where there's a newline at
8234 the search limit.
8235 * lisp.h (Fconstrain_to_field): Update external declaration.
8236
e3c31fd5
GM
82372000-07-24 Gerd Moellmann <gerd@gnu.org>
8238
8239 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8240 if that is nil.
c28da489 8241
c66c29a2
DL
82422000-07-24 Dave Love <fx@gnu.org>
8243
8244 * s/sunos4-0.h, s/sol2.h:
8245 (LIBS_TERMCAP): Move from m/sparc.h.
8246
8247 * m/sparc.h (TERMINFO): Moved to system files (probably only
8248 relevant for sunos4 judging by its vintage).
8249 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8250 __arch64__.
8251
fbe0a958
EZ
82522000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8253
8254 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8255 name to single_keymap_panes.
8256
7d88e5c9
AS
82572000-07-24 Andreas Schwab <schwab@suse.de>
8258
8259 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8260
e024b101
GM
82612000-07-24 Gerd Moellmann <gerd@gnu.org>
8262
8263 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8264 parameters instead of using int parameters. Expect FN to accept
8265 EMACS_INT parameters.
8266 (display_echo_area, resize_echo_area_axactly, current_message)
8267 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8268 with new argument list.
8269 (resize_mini_window_1): New callback function.
8270 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8271 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8272
25c1a9ce
KH
82732000-07-24 Kenichi Handa <handa@etl.go.jp>
8274
8275 * fontset.c (fontset_ref): Remove INLINE declaration.
8276 (fontset_ref_via_base): Likewise.
8277 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8278 to downcase.
8279
7f987ac0
EZ
82802000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8281
8282 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8283 correct order of priority. If help echo was found in an overlay,
8284 use that overlay as the object in which the help echo was found.
8285
e2db3069
MB
82862000-07-22 Miles Bader <miles@gnu.org>
8287
8288 * textprop.c (Fprevious_single_char_property_change): The initial
8289 property value should be from the position preceding POSITION, not
8290 following it.
8291
5e3203e4
EZ
82922000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8293
8294 * coding.c (syms_of_coding): Doc fix for
8295 inhibit-iso-escape-detection.
8296
62145073
GM
82972000-07-21 Gerd Moellmann <gerd@gnu.org>
8298
c20aeb83
GM
8299 * xterm.c (note_mouse_highlight): Process overlays in the right
8300 order of priority.
34a7a267 8301
743934db
GM
8302 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8303
8304 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8305 overlay, use that overlay as the object in which the help was found.
743934db 8306
d1dc7e43 8307 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8308
62145073
GM
8309 * window.c (foreach_window): Instead of a fake variable argument
8310 list, take one USER_DATA argument.
8311 (foreach_window_1): Likewise, and call callback functions with two
8312 args, the window and USER_DATA.
8313 (struct check_window_data): New struct.
8314 (check_window_containing): Use it.
8315 (window_from_coordinates): Set up a struct check_window_data for
8316 foreach_window.
8317 (add_window_to_list, freeze_window_start): Change parameters
8318 according to new calling convention.
8319
8320 * window.h (foreach_window): Change prototype.
8321
8322 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8323
83242000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8325
8326 * xmenu.c (menu_help_callback): Call show_help_echo with
8327 additional arguments OBJECT and POS.
8328
11270583
KH
83292000-07-21 Kenichi Handa <handa@etl.go.jp>
8330
07b14857
KH
8331 * data.c (Faset): Allow storing any multibyte character in a
8332 string. Convert unibyte string to multibyte if necessary.
8333
11270583
KH
8334 * xfns.c (x_encode_text): New function.
8335 (x_set_name): Use x_encode_text.
8336 (x_set_title): Likewise.
8337
8338 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8339
8340 * xterm.h (x_encode_text): Add prototype.
8341
bc75b4fd
DL
83422000-07-20 Dave Love <fx@gnu.org>
8343
8344 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8345 xfree, not free.
8346
48c14970
EZ
83472000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8348
8349 * msdos.c (help_echo_window): New variable.
8350 (syms_of_msdos): Initialize and staticpro it.
8351 (IT_note_mode_line_highlight): Set help_echo_window.
8352 (IT_note_mouse_highlight): Ditto.
8353 (dos_rawgetc): Store help_echo_window in the second event produced
8354 for HELP_EVENTs.
8355
8356 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8357 Record the object that generated the help echo and the position of
8358 that object in help_echo_object and help_echo_pos. Record that
8359 some glyphs in a row are displayed in mouse-face.
8360 (IT_update_begin): Don't clear mouse highlight unless one of the
8361 enabled glyph rows is marked as being displayed in mouse-face.
8362 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8363 and position recorded in help_echo_object and help_echo_pos to the
8364 event queue.
8365 (IT_menu_display): Accept a new argument PN: the pane number of
8366 the current menu pane. Record the pane number and the item
8367 number of the item which has associated help string.
8368 (XMenuActivate): Update the prototype for help_callback in
8369 function declaration. Call IT_menu_display with the current menu
8370 pane number as an additional argument. Call help_callback with
8371 two additional arguments: the pane number and the item number of
8372 the menu item associated with the help text.
8373 (help_echo_object, help_echo_pos): New variables.
8374 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8375
8376 * msdos.h (XMenuActivate): Update prototype.
8377
4279296d
GM
83782000-07-19 Gerd Moellmann <gerd@gnu.org>
8379
47db06aa
GM
8380 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8381 Add some more prototypes.
8382
8383 * xterm.c, xterm.h: Add some more prototypes.
8384
8385 * lisp.h (Fnext_single_char_property_change): Add prototype.
8386
8387 * dispnew.c (direct_output_for_insert): Remove confusing
8388 outer local variable mouse_face_overwritten_p.
8389 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8390
4279296d
GM
8391 * alloc.c (allocate_string_data): Don't copy old string contents.
8392
670acd62
KH
83932000-07-19 Kenichi Handa <handa@etl.go.jp>
8394
8395 * coding.c (code_convert_region): Delete text properties before
8396 shrinking the conversion region.
8397
7cea38bc
GM
83982000-07-18 Gerd Moellmann <gerd@gnu.org>
8399
dc1cac59
GM
8400 * dispnew.c (update_text_area): Write the whole row if it
8401 has mouse-face in it.
8402
85a8aca9
GM
8403 * xfaces.c (face-alternative-font-family-alist): Remove
8404 DEFVAR_LISP; staticpro instead.
8405
34a7a267 8406 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8407 new arguments.
8408
8409 * keyboard.c (show_help_echo): Add parameter WINDOW.
8410 (read_char): Call show_help_echo with window extracted from Lisp
8411 help event.
8412 (gen_help_event): Add parameter WINDOW.
8413
8414 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8415
8416 * xterm.c (help_echo_window): New variable.
52283633 8417 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8418 (XTread_socket): Pass help_echo_window to gen_help_event.
8419 (syms_of_xterm): Initialize and staticpro help_echo_window.
8420
f8276b77
DL
84212000-07-18 Dave Love <fx@gnu.org>
8422
52283633 8423 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8424
088831a6
GM
84252000-07-18 Gerd Moellmann <gerd@gnu.org>
8426
3d6cd763
GM
8427 * alloc.c (allocate_string_data): If string had already data
8428 assigned, copy old contents to new string data.
8429
8430 * coding.c (syms_of_coding): Fix typo in spelling of variable
8431 `inhibit-iso-escape-detection'.
8432
088831a6
GM
8433 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8434
8435 * Makefile.in: Add dependencies on dispextern.h.
8436 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8437 `free'; both can conflict with system header files.
8438
bc8a8d55
KH
84392000-07-18 Kenichi Handa <handa@etl.go.jp>
8440
8441 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8442 undefined.
8443
069f5950
DL
84442000-07-18 Dave Love <fx@gnu.org>
8445
8446 * window.c (Fwindow_list): Declare arg `window'.
8447
aa96c820
KH
84482000-07-18 Kenichi Handa <handa@etl.go.jp>
8449
8450 * coding.c (setup_coding_system): Don't override the explicitly
8451 specified designations.
8452
06be8d32
MB
84532000-07-15 Miles Bader <miles@gnu.org>
8454
8455 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8456 from `text_property_eq' and `text_property_stickiness', respectively.
8457 (find_field, Fconstrain_to_field, char_property_eq)
8458 (char_property_stickiness): Changed to call char-property functions
8459 instead of text-property-only ones.
8460
8461 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8462 `next_single_char_property_change'). Do more error checking, and
8463 cleanup limit behavior.
8464 (Fprevious_single_char_property_change): New function.
8465 (syms_of_textprop): Initialize new subrs.
8466
8467 * xdisp.c (display_prop_end, invisible_text_between_p):
8468 Call Fnext_single_char_property_change instead of
8469 next_single_char_property_change.
8470
3fddcdc3
JR
84712000-07-15 Jason Rumney <jasonr@gnu.org>
8472
8473 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8474 after menu is finished with.
8475 (add_menu_item): Only consider wv->title as a menu title.
8476 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8477
8478 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8479 null title.
8480 (FONT_REGEXP): Remove unused macro, and its sub-components.
8481 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8482
8483 * w32term.c (help_echo_object, help_echo_pos): New variables.
8484 (note_mode_line_highlight): Store additional information about the
8485 help-echo in help_echo_object and help_echo_pos. Check both
8486 `local-map' and `keymap' properties for changing the cursor
8487 (note_mouse_highlight): Store additional information about the
8488 help-echo in help_echo_object and help_echo_pos.
8489 (note_tool_bar_highlight): Set help_echo_object to nil and
8490 help_echo_pos to -1.
8491 (w32_read_socket): Use gen_help_event instead of filling
8492 input_events manually.
8493 (syms_of_w32term): Staticpro help_echo_object.
8494 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8495 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8496 (x_clear_mouse_face): New function.
8497 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8498 (x_update_window_begin): No need to turn off the mouse
8499 highlight here.
8500 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8501 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8502 (x_fill_stretch_glyph_string): Consume runs of stretch
8503 glyphs instead of a single one.
8504 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8505 with new argument list.
8506 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8507 (x_append_glyph, x_append_composite_glyph)
8508 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8509 changes in struct glyph starting 1999-12-27. See comments for
8510 xterm.c on 2000-07-05.
8511
178c5d9c
SS
85122000-07-14 Sam Steingold <sds@gnu.org>
8513
8514 * xfaces.c (realize_x_face): Fix the last patch:
8515 check `default_face' before dereferencing.
8516
6fe533f6
DL
85172000-07-14 Dave Love <fx@gnu.org>
8518
069f5950 8519 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8520
dd7b81cf
KH
85212000-07-14 Kenichi Handa <handa@etl.go.jp>
8522
0693904a 8523 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8524 default_face's fontset, not using the default fontset.
0693904a 8525
dd7b81cf
KH
8526 * coding.c (inhibit_iso_escape_detection): New variable.
8527 (syms_of_coding): Make it a Lisp variable.
8528 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8529 nonzero, ignore ISO2022's escape sequence.
8530
d5aa31d8
GM
85312000-07-14 Gerd Moellmann <gerd@gnu.org>
8532
e5acf0ca
GM
8533 * alloca.c (malloc) [emacs]: Define as xmalloc.
8534
bd23a692
GM
8535 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8536 use that instead of the mouse position. Add parameters DX and DY.
8537
8538 * dispextern.h (Fx_show_tip): Adjust number of parameters
8539 in prototype.
8540
9662da0b
GM
8541 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8542 if HELP is a function, call it with OBJECT and POS as parameters
8543 to get the help to display.
8544 (gen_help_event, kbd_buffer_store_help_event): New functions.
8545 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8546 (read_char): Call show_help_echo with new parameters.
8547
178c5d9c 8548 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8549 Add prototypes.
8550
8551 * xterm.c (help_echo_object, help_echo_pos): New variables.
8552 (note_mode_line_highlight): Store additional information about the
8553 help-echo in help_echo_object and help_echo_pos. Check both
8554 `local-map' and `keymap' properties for changing the cursor
8555 (note_mouse_highlight): Store additional information about the
8556 help-echo in help_echo_object and help_echo_pos.
8557 (note_tool_bar_highlight): Set help_echo_object to nil and
8558 help_echo_pos to -1.
8559 (XTread_socket): Use gen_help_event instead of filling
8560 input_events manually.
8561 (syms_of_xterm): Staticpro help_echo_object.
8562
8563 * xmenu.c (menu_highlight_callback): Use
8564 kbd_buffer_store_help_event instead of setting up and input_event
8565 structure manually.
8566
8567 * xdisp.c (eval_form): GCPRO argument sexpr.
8568 (call_function): New function.
8569 (handle_single_display_prop): Use call_function and FUNCTIONP
8570 instead of checking whether if font_height is a symbol and
8571 using eval_form.
8572
8573 * eval.c (internal_condition_case_2): New function.
8574
8575 * lisp.h (FUNCTIONP): New macro.
8576 (internal_condition_case_2, call_function): Add prototypes.
8577
d5aa31d8
GM
8578 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8579 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8580 Always set `arg' member of input_events.
8581 (construct_menu_click): Unused function removed.
8582
8583 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8584
8585 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8586 (construct_drag_n_drop, x_scroll_bar_handle_click)
8587 (w32_read_socket): Always set `arg' member of input_events.
8588
8589 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8590
8591 * lisp.h (eval_form): Add prototype.
8592
8593 * xdisp.c (eval_form): Make it externally visible.
8594
0f1a9b23
GM
85952000-07-13 Gerd Moellmann <gerd@gnu.org>
8596
8597 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8598 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8599 consing. For prefix events, store the frame in the `arg' slot of
8600 the event, otherwise store the key there.
8601 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8602 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8603
8604 * xmenu.c (menu_highlight_callback): Store help string in the
8605 `arg' member of the input event; don't cons.
8606 (menubar_selection_callback): Use the `arg' slot of input events
8607 to queue additional information, instead of consing.
8608
8609 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8610
8611 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8612 TOOL_BAR_EVENTs.
8613 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8614
8615 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8616 input events to queue additional information, instead of consing.
8617
8618 * keyboard.c (kbd_buffer_gcpro): Renamed from
8619 kbd_buffer_frame_or_window. Now used for all Lisp objects
8620 referenced from the input queue.
8621 (kbd_buffer_store_event): Always use structure assignment for
8622 copying input events. Record all Lisp objects referenced from
8623 events in kbd_buffer_gcpro.
8624 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8625 differently from input events. Test for prefix menu_bar_events
8626 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8627 event in kbd_buffer_gcpro to nil.
8628 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8629 frame_or_window is equal to its arg member as prefix events.
8630 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8631 used by an input event to nil.
8632 (init_keyboard): Use two times the size of the input queue
8633 for kbd_buffer_gcpro.
8634 (syms_of_keyboard): Likewise.
8635
52283633
SM
8636 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8637 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8638
8639 * termhooks.h (struct input_event): Add member `arg'.
8640 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8641 (USER_SIGNAL_EVENT): Renamed from user_signal.
8642
8643 * xfaces.c (ASET): Remove definition.
8644
8645 * lisp.h (AREF, ASET, ASIZE): New macros.
8646
8647 * fontset.c (AREF, ASIZE): Remove definitions.
8648
8649 * fns.c (AREF): Remove definition.
178c5d9c 8650
0f1a9b23
GM
8651 * composite.c (AREF): Remove definition.
8652
712eaef2
GM
86532000-07-12 Gerd Moellmann <gerd@gnu.org>
8654
d8ee7803
GM
8655 * dispnew.c (redraw_overlapped_rows): Add missing local.
8656 (scrolling_window): Remove debug code.
8657
712eaef2
GM
8658 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8659 Before scrolling, turn off a mouse-highlight in the window
8660 being scrolled.
8661
8662 * xterm.c (x_update_window_end): Add parameter
8663 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8664 redisplay in XTframe_up_to_date.
8665 (x_clear_mouse_face): New function.
8666 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8667
8668 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8669 current glyph row.
8670 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8671 it when any row is written to that contains glyphs highlighted in
8672 mouse-face.
8673 (update_window): Call the window update end hook with new
8674 parameter MOUSE_FACE_OVERWRITTEN_P.
8675 (direct_output_for_insert): Give up if row contains mouse-face.
8676
8677 * dispextern.h (struct redisplay_interface): Add parameter
8678 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8679 (clear_mouse_face): New function pointer member.
8680
02010917
SM
86812000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8682
8683 * syntax.c (back_comment): Use one switch rather than a few `if's.
8684 Obey open_paren_in_column_0_is_defun_start.
8685 When reverting to the `slow' method, try to nicely handle the case
8686 of nested comments by checking that the comment-starter we found
8687 does indeed match the comment-ender.
8688 (scan_sexps_forward, scan_sexps_forward):
8689 Ignore excessive opening parenthesis rather than throwing an error.
8690
d76c03ea
GM
86912000-07-11 Gerd Moellmann <gerd@gnu.org>
8692
8693 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8694 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8695
8696 * dispnew.c (direct_output_forward_char): Give up if currently
8697 displaying a message instead of the minibuffer contents.
8698
8699 * xterm.c (x_update_window_begin): No need to turn off the mouse
8700 highlight here.
8701 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8702 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8703
8704 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8705 compare the mouse_face_p flags of both rows.
8706
8707 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8708
d55ead18
EZ
87092000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8710
8711 * keyboard.c (show_help_echo): Accept additional parameter
8712 ok_to_overwrite_keystroke_echo.
8713 (read_char): Call show_help_echo with a zero
8714 ok_to_overwrite_keystroke_echo argument.
52283633 8715 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8716 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8717 ok_to_overwrite_keystroke_echo argument.
8718 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8719 non-zero ok_to_overwrite_keystroke_echo argument.
8720
df75b1a3
GM
87212000-07-10 Gerd Moellmann <gerd@gnu.org>
8722
4b92c49a
GM
8723 * xdisp.c (try_window_id): If changes are all below what is
8724 displayed in the window, and point is in the window, we still
8725 might have to find point on the display.
8726
8727 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8728 glyphs instead of a single one.
8729 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8730 with new argument list.
8731 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8732
df75b1a3
GM
8733 * keymap.c (get_keymap_1): Add comment that this function can GC.
8734 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8735 comment that functions can GC.
8736 (Fset_keymap_parent): GCPRO arg KEYMAP.
8737
4314cf3e
EZ
87382000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8739
8740 * msdos.c (XMenuActivate): After exiting the menu, restore the
8741 echo area message and erase it.
8742
ab49ce15
KH
87432000-07-10 Kenichi Handa <handa@etl.go.jp>
8744
8745 * fontset.c (Ffontset_info): Make the return value more compatible
8746 with that of Emacs 20.
8747
090a072f
GM
87482000-07-07 Gerd Moellmann <gerd@gnu.org>
8749
8750 * eval.c (Fsignal): Handle case that backtrace_list is null.
8751
f92de4a6
KH
87522000-07-07 Kenichi Handa <handa@etl.go.jp>
8753
8754 * ccl.c (Fccl_execute): Typo fixed.
8755
dd8888a1
GM
87562000-07-06 Gerd Moellmann <gerd@gnu.org>
8757
e5c81191 8758 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8759
dd8888a1
GM
8760 * window.c (Fwindow_list): Reverse list at the end.
8761 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8762 means allow windows on OWINDOW's frame, only.
8763 (window_loop): Simplified; use Fwindow_list.
8764
8765 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8766
485266d0
GM
87672000-07-05 Gerd Moellmann <gerd@gnu.org>
8768
8769 * xterm.c (XTread_socket): Increment handling_signal at the start,
8770 decrement it at the end.
8771
8772 * eval.c (handling_signal): New variable.
8773 (Fsignal): Abort if handling_signal is non-zero.
8774
8775 * lisp.h (handling_signal): External declaration.
178c5d9c 8776
485266d0
GM
8777 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8778
80fcd514
KR
87792000-07-05 Ken Raeburn <raeburn@gnu.org>
8780
8781 Sound support for NetBSD through "Linux emulation" support:
8782 * config.in (HAVE_SOUNDCARD_H): Undef.
8783 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8784 * Makefile.in (LIBSOUND): New variable.
8785 (LIBES): Include it.
52283633
SM
8786 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8787 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8788 (vox_open): Use DEFAULT_SOUND_DEVICE.
8789 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8790
d5c5cddd
GM
87912000-07-05 Gerd Moellmann <gerd@gnu.org>
8792
8793 * print.c (print_error_message): If Vsignaling_function is set,
8794 show it in *Messages*.
8795
8796 * lisp.h (Vsignaling_function): External declaration.
8797
8798 * eval.c (Vsignaling_function): New variable.
8799 (Fsignal): Compute it.
8800 (syms_of_eval): Staticpro it.
8801
65171e3a
DL
88022000-07-05 Dave Love <fx@gnu.org>
8803
8804 * syswait.h: Use the autoconf recommended approach. Old code
8805 #if'd out in case we need to revert.
8806
178c5d9c 8807 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8808
e2c46326
AI
88092000-07-05 Andrew Innes <andrewi@gnu.org>
8810
8811 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8812 when non-NULL instead of __morecore, to take account of buffer
8813 memory. This also solves a problem with spurious memory warnings
8814 on Windows.
8815
8816 * ralloc.c: Make real_morecore non-static.
8817
8818 * eval.c (internal_condition_case): Comment out abort if
8819 interrupt_input_blocked is not zero.
8820
8821 * makefile.nt: Add support for `bootstrap' and related targets.
8822 Include minimal debug info in emacs.exe in release build.
8823 Remove all dependencies on lisp.h, and fixup some others.
8824
8825 * w32.c (init_environment): Install code from 20.7 for providing
8826 default values for environment variables, based on the
8827 executable's own location.
52283633 8828 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8829 (sys_socket): Install socket inheritance bug fix from 20.7.
8830
8831 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8832 here via blockinput.h).
8833
a027a91b
SM
88342000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8835
e4b31601
SM
8836 * w32menu.c (w32_menu_display_help):
8837 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8838
8839 * keyboard.h (show_help_echo): Declare.
8840
8841 * keyboard.c (show_help_echo): New function, extracted from read_char.
8842 Feval its `msg' argument if it's a cons cell.
8843 (read_char): Use it.
4cf8d9d5 8844 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8845
178c5d9c 8846 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8847 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8848 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8849 (dos_rawgetc):
8850 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8851 (note_tool_bar_highlight, w32_read_socket):
8852 Do not gratuitously ignore non-string `help-echo' properties.
8853
88d75730
GM
88542000-07-05 Gerd Moellmann <gerd@gnu.org>
8855
969f7e79
GM
8856 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8857
71201b00
GM
8858 * window.c (delete_all_subwindows): Reset Vwindow_list.
8859
88d75730
GM
8860 * xterm.c (x_append_glyph, x_append_composite_glyph)
8861 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8862 changes in struct glyph starting 1999-12-27. Some bit-fields of
8863 struct glyph were not set, which made glyphs unequal when compared
8864 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8865 effects were the result. This also depended on the contents of
8866 memory returned by xmalloc. If flickering happens again, activate
8867 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8868 gone with that, chances are that it is caused by something similar.
88d75730
GM
8869
8870 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8871
88d75730
GM
8872 * dispextern.h: Add some comments.
8873
8874 * window.c (add_window_to_list): Add parameter LIST.
8875 (window_list): Order list so that, for each frame, windows are
8876 in canonical order, and so that frames appear in the list in
8877 the order given by Vframe_list.
8878 (next_window): Reverse the handling of NEXT_P.
8879
53654733
GM
88802000-07-04 Gerd Moellmann <gerd@gnu.org>
8881
87efd256
GM
8882 * window.c (Vwindow_list): New variable.
8883 (make_window, delete_window): Set Vwindow_list to nil.
8884 (check_window_containing): New function.
8885 (window_from_coordinates): Rewritten.
8886 (add_window_to_list, window_list, candidate_window_p)
8887 (decode_next_window_args, next_window): New functions.
52283633 8888 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8889 (Fwindow_list): New function.
8890 (Fother_window): Cleaned up.
8891 (foreach_window): Add a longer "variable argument list". Let
8892 callback function return 0 to indicate that cycling over windows
8893 should stop.
8894 (foreach_window_1): Likewise.
8895 (freeze_window_start): Return int.
8896 (init_window): New function.
8897 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8898
8899 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8900 input_event with bzero.
8901 (main): Call init_window.
8902
53654733
GM
8903 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8904 a menu filter.
8905
4a8c194f
KH
89062000-07-04 Kenichi Handa <handa@etl.go.jp>
8907
8908 * composite.h (make_composition_value_copy): Extern it.
8909
8910 * composite.c (make_composition_value_copy): New function.
8911
8912 * editfns.c (Fformat): While copying text properties, make each
8913 composition property value a copy.
8914
8915 * fns.c (concat): While copying text properties, make each
8916 composition property value a copy.
8917
831a6cb0
GM
89182000-07-03 Gerd Moellmann <gerd@gnu.org>
8919
2f516940
GM
8920 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8921
178c5d9c 8922 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8923 marked already.
8924
831a6cb0
GM
8925 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8926 include those frames as candidates which have their focus
8927 redirected to the minibuffer frame.
8928
d9c4f922
SM
89292000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8930
8931 * fns.c (Fputhash): Return `value' rather than nil.
8932
3780bc22
GM
89332000-06-30 Gerd Moellmann <gerd@gnu.org>
8934
97d176db
GM
8935 * frame.c (next_frame): Don't check focus redirection in case
8936 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8937 unless their focus is redirected, which contradicts the
8938 specification of next-frame, and leads to infinite loops in
8939 certain situations when cycling through windows with next-window.
8940
dca9961d
KH
89412000-06-30 Kenichi Handa <handa@etl.go.jp>
8942
8943 * coding.c (code_convert_region): Even if the length of text is
8944 zero, try to convert it if coding->type is coding_type_ccl.
8945 (decode_coding_string, encode_coding_string): Likewise.
8946
d5483ab1
GM
89472000-06-28 Gerd Moellmann <gerd@gnu.org>
8948
af5c25e1 8949 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8950 the display if windows_or_buffers_changed.
af5c25e1
GM
8951
8952 * dispnew.c (struct row_entry): New structure.
8953 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8954 (row_table_size, old_lines, new_lines, old_lines_size)
8955 (new_lines_size, run_pool, runs_size, runs): New variables.
8956 (add_row_entry): New function.
8957 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8958 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8959 holding them in local variables. Use a larger hash table whose
8960 size depends on glyph matrix sizes. Don't use bzero to clear the
8961 hash table; instead, clear used slots only.
8962
8963 * fns.c (next_almost_prime): Make it externally visible.
8964
8965 * lisp.h (next_almost_prime): Add prototype.
8966
d5483ab1
GM
8967 * s/isc4-0.h (sigunblock): Define.
8968
8969 * s/sco5.h (sigunblock): Define.
8970
93e40f40
DL
89712000-06-27 Dave Love <fx@gnu.org>
8972
8973 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8974 (moved to osf5-0.h).
8975 [!NOT_C_CODE]: Protect string.h stuff.
8976
8977 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8978 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8979
3c4b7685
GM
89802000-06-27 Gerd Moellmann <gerd@gnu.org>
8981
97d176db 8982 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8983 below the last line from the needed window height.
8984
32cad0aa
SM
89852000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8986
8987 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8988 (Fwidget_get): Use it.
8989 (syms_of_fns): Defsubr it.
8990
2c69ced2
GM
89912000-06-26 Gerd Moellmann <gerd@gnu.org>
8992
178c5d9c 8993 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8994 display info for XIM.
8995 (xim_open_dpy): Likewise.
8996 (xim_close_dpy): Don't free the display info's XIM.
8997
8998 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8999
9000 * config.in (USE_XIM): New define.
9001
3fc720e4
GM
9002 * keymap.c (get_keyelt): For menu-items containing a `:filter
9003 FILTER', apply FILTER to the menu-item's definition to get the
9004 real definition to use.
9005
9006 * lisp.h (QCfilter): External declaration.
9007
2c69ced2
GM
9008 * xfns.c (Fimage_size): New function.
9009 (syms_of_xfns): Defsubr it.
9010
f978b2a2
AS
90112000-06-26 Andreas Schwab <schwab@suse.de>
9012
9013 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9014 Fstring_as_unibyte.
9015
94cc7892
DL
90162000-06-25 Dave Love <fx@gnu.org>
9017
52283633 9018 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9019
9020 * Makefile.in (blockinput.h): Depend on atimer.h.
9021 (atimer.h): Depend on systime.h.
9022
52283633 9023 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9024
52283633 9025 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9026
9027 * lisp.h (swap_in_global_binding): Declare.
9028
b8c24556
KR
90292000-06-24 Ken Raeburn <raeburn@gnu.org>
9030
9031 * process.c (Fopen_network_stream): Turn off atimers for duration
9032 of call to connect. (Patch from Gerd.)
9033
8cf8560b
DL
90342000-06-23 Dave Love <fx@gnu.org>
9035
511c7541
DL
9036 * ralloc.c: Maybe include unistd.h
9037
8cf8560b
DL
9038 * emacs.c (setgrp): Undefine before defining.
9039 (malloc_warning, set_time_zone_rule, index): Prototype.
9040
9041 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9042 HAVE_STRUCT_TIMEZONE.
9043
9044 * s/osf1.h: Move string.h hack here from alpha.h and make it
9045 conditional.
9046 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9047 _XOPEN_SOURCE.
9048 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9049 (SOCKLEN_TYPE): Don't define.
9050
9051 * m/alpha.h: Remove string.h hack.
9052
9053 * s/osf5-0.h: New file.
9054
9055 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9056 include time.h, done by systime.h.
9057 [__FreeBSD__]: Remove redundant includes.
9058
3fc720e4 9059 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9060 (delete_temp_file): Return Qnil to avoid warning.
9061
9062 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9063
9064 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9065 HAVE_X_WINDOWS.
9066
9067 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9068
9069 * composite.h (compose_text): Declare.
9070
9071 * xterm.c: Don't include sys/types.h unconditionally. Don't
9072 protect its inclusion with !USG (following xmenu.c).
9073
ea055732
GM
90742000-06-23 Gerd Moellmann <gerd@gnu.org>
9075
9076 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9077 in x_create_frame.
9078
74b01b80
EZ
90792000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9080
9081 * coding.c (decode_eol_post_ccl): Special handling for undecided
9082 and inconsistent EOL types.
9083
64f3a166
GM
90842000-06-22 Gerd Moellmann <gerd@gnu.org>
9085
16cf31f7
GM
9086 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9087 trough color and main window's background color.
9088
52283633 9089 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9090
9091 * xterm.h (Xt_app_con): External declaration.
9092
9093 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9094
486a103d
GM
9095 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9096
64f3a166
GM
9097 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9098 (handle_invisible_prop): Record the start of invisible text in
9099 it->add_overlay_start.
9100 (struct overlay_entry): Add member `overlay'.
9101 (handle_overlay_change): Simplify.
9102 (next_overlay_string): After having processed overlay strings at the
9103 end of the buffer, record that fact in
9104 it->overlay_strings_at_end_processed_p.
9105 (compare_overlay_entries): If before- and after-strings come
9106 from the same overlay, let before-strings come first.
9107 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9108 (load_overlay_strings): Take it->add_overlay_start into account
9109 when adding overlay strings.
9110
9111 * dispextern.h (struct it): Add member add_overlay_start.
9112
bb746ea6
DL
91132000-06-22 Dave Love <fx@gnu.org>
9114
9115 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9116
9117 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9118
a8f573f3
KH
91192000-06-22 Kenichi Handa <handa@etl.go.jp>
9120
9121 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9122 is greater than 0.
9123
9f2bbc92
DL
91242000-06-21 Dave Love <fx@gnu.org>
9125
178c5d9c 9126 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9127
3ee5041c
SM
91282000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9129
9130 * syntax.c (back_comment): Simplify string-parity counting (with
9131 the added benefit of handling multiple string-styles as long as
9132 they are not intertwined).
9133 Jump to the slow code as soon as a comment starter is found in
9134 a "string_lossage" position. Fixes the case: " /* " /* " */.
9135
4c343001
DL
91362000-06-21 Dave Love <fx@gnu.org>
9137
9138 * Makefile.in: Use GETLOADAVG_LIBS.
9139
9140 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9141 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9142
e6365855
SM
91432000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9144
9145 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9146 (Fforward_comment, scan_lists):
9147 Check the comstyle of single-char comment-starters.
9148 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9149 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9150 Check the comstyle of single-char comment-starters.
9151 Clarify control-flow around the Scomment case.
e6365855 9152
5700d2cc
DL
91532000-06-20 Dave Love <fx@gnu.org>
9154
d355bd8a
SM
9155 * fns.c (make_hash_table, maybe_resize_hash_table):
9156 Cast arg of next_almost_prime.
5700d2cc 9157
178c5d9c 9158 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9159
9160 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9161 and unistd.h.
9162
4a27bdfb
GM
91632000-06-20 Gerd Moellmann <gerd@gnu.org>
9164
a61d762c 9165 * keyboard.c (adjust_point_for_property): Check if display
52283633 9166 property should be treated as intangible by looking at its value.
a61d762c 9167
178c5d9c 9168 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9169 (display_prop_intangible_p): New functions.
9170
9171 * dispextern.h (display_prop_intangible_p): Add prototype.
9172
9173 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9174
4a27bdfb
GM
9175 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9176 argument to sigprocmask.
9177
9178 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9179 argument to sigprocmask.
9180
9181 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9182 sigprocmask_set, and pass a pointer to it to sigprocmask.
9183
9184 * sysdep.c (sigprocmask_set): New variable.
9185
9186 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9187 report_file_error.
9188
427ec082
SS
91892000-06-20 Sam Steingold <sds@gnu.org>
9190
9191 * xrdb.c: Don't declare xmalloc, xrealloc.
9192
8972fe79 91932000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9194
9195 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9196 (re_comp): Cast gettext return value to avoid complaints when
9197 !HAVE_LIBINTL.
9198
074b6efe
DL
91992000-06-20 Dave Love <fx@gnu.org>
9200
52283633 9201 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9202
5700d2cc 9203 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9204
d355bd8a 9205 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9206
9207 * m/alpha.h: Don't declare xmalloc, xrealloc.
9208
0af4f205
DL
9209 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9210
9211 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9212
9213 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9214
9215 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9216 HAVE_GETWD.
9217
074b6efe
DL
9218 * keyboard.h (poll_for_input_1): Declare.
9219
9220 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9221
9222 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9223
9224 * doprnt.c: Don't declare xmalloc, xrealloc.
9225
9226 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9227 (getenv, ctime, getwd): Removed.
9228 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9229
9230 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9231 x_set_tool_bar_lines.
9232
9233 * config.in: Add HAVE_GETWD. Move some definitions above
9234 machine/system includes.
9235
68a5e97b
KH
92362000-06-20 Kenichi Handa <handa@etl.go.jp>
9237
95417e1e
KH
9238 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9239
68a5e97b
KH
9240 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9241 contain information about ENCODING.
9242
9243 * fontset.c (FONTSET_ASCII): Use the first element of char table
9244 for an ASCII font, not defalt slot.
9245 (fontset_ref_via_base): If FONTSET doesn't contain information for
9246 C, try the default fontset.
9247 (make_fontset): Don't copy the default fontset.
9248 (fontset_font_pattern): Likewise.
9249 (accumulate_font_info): If ELT is nil, use the corresponding
9250 element in the default fontset.
9251
3b4fa1b2
DL
92522000-06-19 Dave Love <fx@gnu.org>
9253
943e731c
DL
9254 * syntax.c (Fparse_partial_sexp): Doc fix.
9255
9256 * regex.h: Test PROTOTYPES as well as __STDC__.
9257
3b4fa1b2
DL
9258 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9259 errno, strerror. Put text after #endif in comment.
9260
52283633 9261 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9262
9263 * xterm.c (x_frame_of_widget): Likewise.
9264
cdf0357b
GM
92652000-06-19 Gerd Moellmann <gerd@gnu.org>
9266
9267 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9268 to Vfundamental_mode_abbrev_table.
9269
9270 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9271 bogus objects are marked. This slows down GC by ~80 percent, but
9272 it might be worth trying when debugging GC-related problems.
9273 This feature requires conservative stack marking to be enabled.
9274
9275 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9276 returns XLookupChars, reset `modifiers' to zero.
9277
998e9f8c
DL
92782000-06-19 Dave Love <fx@gnu.org>
9279
9280 * mktime.c: Unprotoized.
9281
18e21ce8 92822000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9283
9284 * data.c (set_internal): If variable is frame-local,
9285 store the new value immediately into the frame parameter alist.
9286
140c4ac6
KR
92872000-06-19 Ken Raeburn <raeburn@gnu.org>
9288
14358466
KR
9289 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9290 in the custom handler pointer.
9291
140c4ac6
KR
9292 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9293 value, or checks for CHAR_META can fail when Lisp_Object is a
9294 union type.
9295 * keymap.c (get_keyelt): Likewise.
9296
10d7bf84
KH
92972000-06-19 Kenichi Handa <handa@etl.go.jp>
9298
9299 * ccl.h (struct ccl_program): New member eol_type.
9300 (struct ccl_spec): New member cr_carryover.
9301
9302 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9303 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9304
9305 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9306 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9307 (decode_eol_post_ccl): New function.
9308 (decode_coding): Don't detect EOL format here for CCL based coding
9309 systems.
9310 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9311 decode_eol_post_ccl after running the CCL program.
9312 (code_convert_region): Don't detect EOL format here for CCL based
9313 coding systems.
9314 (decode_coding_string): Likewise.
9315
52e386c2
KR
93162000-06-18 Ken Raeburn <raeburn@gnu.org>
9317
9318 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9319 when treating it as an integer.
9320
9321 * coding.h (encode_coding_string): Declare.
9322
9323 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9324 it as an integer.
9325
9326 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9327 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9328 to be passed to get_local_map.
9329
9330 * sound.c (Fplay_sound): Don't call make_number on
9331 Frun_hook_with_args count argument.
9332
9333 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9334 for lisp objects in X event structure data field, when lisp
9335 objects are represented with unions.
9336 (x_scroll_bar_to_input_event): Ditto.
9337
b357b9d4
KR
93382000-06-16 Ken Raeburn <raeburn@gnu.org>
9339
9340 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9341 termination of string. Fix sense of test whether
9342 Vline_number_display_limit is an integer.
b357b9d4 9343
a871441d
GM
93442000-06-16 Gerd Moellmann <gerd@gnu.org>
9345
a9021acd
GM
9346 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9347 only if HAVE_X_WINDOWS.
9348
6344985d
GM
9349 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9350 of titles.
9351
427ec082 9352 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9353 out of bounds.
9354
228b083e
EZ
93552000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9356
9357 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9358 of its headers.
9359
c25b53a2
KH
93602000-06-15 Kenichi Handa <handa@etl.go.jp>
9361
9362 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9363 start of the while loop.
9364
a6981b11
GM
93652000-06-15 Gerd Moellmann <gerd@gnu.org>
9366
e9924e52
GM
9367 * atimer.c (alarm_signal_handler): Add forward declaration.
9368
a6981b11
GM
9369 * data.c (set_internal): Remove debug code.
9370
25fa6deb
GM
93712000-06-14 Gerd Moellmann <gerd@gnu.org>
9372
dce6b995
GM
9373 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9374
9f817ea4
GM
9375 * unexec.c (toplevel) [COFF]: Include coff.h.
9376
9377 * s/lynxos.h: New file.
9378
9379 * keymap.c (Fsingle_key_description): Enclose function key and
9380 event symbol names in angle brackets.
9381
8a4e3c0c
GM
9382 * xdisp.c (setup_echo_area_for_printing): Call
9383 message_log_maybe_newline if message_buf_print is not set.
9384
9385 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9386 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9387 function does something useful even when message_buf_print is
9388 already set.
9389
52283633
SM
9390 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9391 New variables.
25fa6deb
GM
9392 (ensure_echo_area_buffers): Initialize echo buffer's
9393 truncate lines setting to nil.
9394 (with_echo_area_buffer): Don't set the echo buffer's truncate
9395 lines setting here.
8a4e3c0c 9396 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9397 of message_truncate_lines.
9398 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9399 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9400 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9401
9402 * keyboard.c (read_char): Bind message-truncate-lines to t
9403 while displaying a help-echo.
9404
9405 * lisp.h (Qmessage_truncate_lines): External declaration.
9406
163dcff3
GM
94072000-06-13 Gerd Moellmann <gerd@gnu.org>
9408
1681ead6
GM
9409 * xdisp.c (Vline_number_display_limit): Renamed from
9410 line_number_display_limit.
9411 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9412 Extend documentation string. Initialize
9413 Vline_number_display_limit to nil meaning no limit.
9414 (decode_mode_spec): Use Vline_number_display_limit with its new
9415 meaning.
9416
163dcff3
GM
9417 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9418
18e21ce8 94192000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9420
9421 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9422
163dcff3
GM
9423 * xfns.c (x_set_frame_parameters): Comment fix.
9424
9425 * frame.c (store_frame_param): Call swap_in_global_binding if the
9426 variable's current binding was chosen based on this frame.
9427
9428 * data.c (swap_in_global_binding): New function.
9429
a704139d
EZ
94302000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9431
9432 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9433 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9434
9b6610db
EZ
94352000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9436
9437 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9438
c68833d2
JR
94392000-06-12 Jason Rumney <jasonr@gnu.org>
9440
9441 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9442
9443 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9444
9445 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9446
9447 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9448
ed1056b3
GM
94492000-06-12 Gerd Moellmann <gerd@gnu.org>
9450
9451 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9452 (syms_of_xfaces): Defsubr Sdump_colors.
9453 (x_free_colors): Don't treat b&w specially on default visual.
9454 (x_free_dpy_colors): New function.
9455 (free_face_colors): Don't check visual class; it's done
9456 in x_free_colors.
9457
9458 * xterm.c (x_frame_of_widget): New function.
9459 (x_alloc_nearest_color_for_widget): Use it.
9460 (x_copy_dpy_color): New function.
9461 (x_destroy_window): Free various colors.
9462
5050a2ef
KH
94632000-06-12 Kenichi Handa <handa@etl.go.jp>
9464
9465 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9466
9467 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9468
9469 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9470
9471 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9472
9473 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9474
fb1b041d
DL
94752000-06-11 Dave Love <fx@gnu.org>
9476
9477 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9478
ff96b5f4
EZ
94792000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9480
9481 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9482
db8eeecd
GM
94832000-06-11 Gerd Moellmann <gerd@gnu.org>
9484
ed1056b3 9485 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9486 to `XEvent *'.
9487
49b71c5f
KH
94882000-06-10 Kenichi Handa <handa@etl.go.jp>
9489
c479bd55
KH
9490 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9491 (regex_compile): Fix the code for handling the case of single byte
9492 char and multibyte char being mixed in a range within [...].
9493
ff6a65c2
KH
9494 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9495 and dst_multibyte members of coding.
9496
49b71c5f
KH
9497 * charset.c (update_charset_table): Update the table
9498 bytes_by_char_head.
9499 (init_charset_once): Initialize elements of bytes_by_char_head to
9500 1 except for leading codes for private charases.
9501
9502 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9503 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9504
9e80b57d
KR
95052000-06-09 Ken Raeburn <raeburn@gnu.org>
9506
9507 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9508 access the data it doesn't point to.
9509
f83fe4b4
GM
95102000-06-08 Gerd Moellmann <gerd@gnu.org>
9511
9512 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9513 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9514 event queue. This is necessary because Emacs otherwise won't
9515 perform a switch-frame to a new frame until some other event, for
9516 example a keystroke event, forces it to do so. This has various
9517 effects, one visible being that the cursor of a frame created with
9518 C-x 5 2 or switched to with a window manager key binding like
9519 A-TAB stays hollow because selected_window isn't on the newly
9520 focused frame until the switch-frame is performed.
9521
9522 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9523 generating a switch-frame event if necessary.
9524
9525 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9526
9527 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9528 it's an integer.
9529
0890801b
KH
95302000-06-08 Kenichi Handa <handa@etl.go.jp>
9531
52283633 9532 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9533
173cbca8
GM
95342000-06-07 Gerd Moellmann <gerd@gnu.org>
9535
3091c2a6
GM
9536 * window.c (displayed_window_lines): Take empty lines at
9537 the bottom of a window into account.
427ec082 9538
f38952fe
GM
9539 * window.c (displayed_window_lines): New function.
9540 (Fmove_to_window_line): Use displayed_window_lines to determine
9541 the number of lines to move, instead of using the window's height.
9542
9543 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9544 to stop reading, even if the form read sets point to a different
9545 value when evaluated.
9546
427ec082 9547 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9548 put the cursor.
9549
6ba6c818
KH
95502000-06-07 Kenichi Handa <handa@etl.go.jp>
9551
9552 * fileio.c (e_write): Free composition data if stored in
9553 coding->cmp_data.
9554
5f1aea9a
GM
95552000-06-06 Gerd Moellmann <gerd@gnu.org>
9556
666852af
GM
9557 * xdisp.c (display_line): Set row's and iterator's
9558 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9559 Set cursor even if row ends in the middle of a character.
9560 (dump_glyph_row): Print values of new flags.
9561 (redisplay_window) <cursor movement in unchanged window>: When
9562 point has been moved forward, and PT is at the end of the cursor
9563 row, don't place the cursor in the next row if the cursor row ends
9564 in the middle of a character or at ZV.
9565
9566 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9567 (struct glyph_row): Add starts_in_middle_of_char_p and
9568 ends_in_middle_of_char_p.
9569 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9570 ends_in_middle_of_char_p flag.
9571 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9572
d13f3e2e
GM
9573 * term.c (append_glyph): Revert change of 2000-06-06.
9574
9575 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9576 padding glyph not fitting on line as whole character not
9577 fitting on line.
9578
5f1aea9a
GM
9579 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9580 this isn't true for images with `:ascent 100'.
9581
10cda9b0
KH
95822000-06-06 Kenichi Handa <handa@etl.go.jp>
9583
ed00559d
KH
9584 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9585 as modified if it is originally unmodified.
9586
10cda9b0
KH
9587 * term.c (encode_terminal_code): Change the way to check if
9588 terminal coding does any conversion.
9589 (append_glyph): Set glyph->pixel_width correctly.
9590
9591 * xdisp.c (display_line): While checking line continuation, pay
9592 attention to a padding glyph.
9593
1969fae2
GM
95942000-06-05 Gerd Moellmann <gerd@gnu.org>
9595
9596 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9597
162ccef4
DL
95982000-06-05 Dave Love <fx@gnu.org>
9599
f19f32dd
DL
9600 * xdisp.c: Include fontset.h.
9601
9602 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9603
9604 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9605
9606 * dispnew.c: Conditionally include term.h.
9607
9608 * coding.h: Declare code_convert_string_norecord.
9609
9610 * frame.h (struct frame): Use volatile unconditionally.
9611
9612 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9613
9614 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9615
9616 * systime.h: Protect against multiple inclusion.
9617 (timezone) [USG5_4]: Define as time_t.
9618
9619 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9620 (Foptimize_char_table, make_temp_name): Declare.
9621
9622 * Makefile.in (xdisp.o): Depend on fontset.h.
9623
9624 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9625
9626 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9627 (Foptimize_char_table, make_temp_name): Declare.
9628
427ec082 9629 * s/irix4-0.h:
162ccef4
DL
9630 * s/irix5-0.h:
9631 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9632
2082fe81
DL
96332000-06-02 Dave Love <fx@gnu.org>
9634
9635 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9636
dcf671d2
GM
96372000-06-02 Gerd Moellmann <gerd@gnu.org>
9638
9639 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9640 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9641 be freed.
9642
9643 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9644 glyph, use the ASCII NUL character to determine the face.
9645
d42122a3
DL
96462000-06-02 Dave Love <fx@gnu.org>
9647
9648 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9649 (VFORK_RETURN_TYPE): Remove.
427ec082 9650
d42122a3
DL
9651 * config.in: Add NO_MATHERR.
9652
dd432f16
DL
96532000-06-01 Dave Love <fx@gnu.org>
9654
90aa4ea8
DL
9655 * cmds.c (internal_self_insert): Don't check
9656 Vbefore_change_function, Vafter_change_function.
9657
9658 * insdel.c (signal_before_change, signal_after_change): Likewise.
9659
9660 * buffer.c (Vbefore_change_function, Vafter_change_function):
9661 Variables and their initializations deleted.
9662
2330c9d4
DL
9663 * callint.c (Fcall_interactively): Doc fix.
9664
dd432f16
DL
9665 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9666
bf9e8804
DL
96672000-05-31 Dave Love <fx@gnu.org>
9668
9669 * textprop.c: Revert last change -- duplicated.
9670
3694b4ab
GM
96712000-05-31 Gerd Moellmann <gerd@gnu.org>
9672
9673 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9674 in #if 0.
9675
9676 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9677
f14156cd
JR
96782000-05-31 Jason Rumney <jasonr@gnu.org>
9679
8119aab8
JR
9680 * search.c (Fre_search_forward, Fre_search_backward)
9681 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9682
f14156cd
JR
9683 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9684
4aab9be3
JR
96852000-05-30 Jason Rumney <jasonr@gnu.org>
9686
9687 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9688 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9689
52283633 9690 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9691
9692 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9693 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9694 expand a nil default_filename.
9695
9696 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9697 pointer to glyph_to_pixel_coords, not a frame.
9698
9699 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9700 coding.h to dependencies.
9701
9702 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9703
9704 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9705 window pointer to be consistent with w32term.c and xterm.c.
9706
9707 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9708 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9709 (Qline_spacing, Qcenter): New variables.
9710 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9711 (x_set_line_spacing): New function.
52283633 9712 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9713 (x_specified_cursor_type): New function.
9714 (x_set_cursor_type): Use it.
9715 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9716 and icon strings.
9717 (validate_x_resource_name, x_get_resource_string): Measure lengths
9718 of external strings in bytes.
9719 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9720 GetTextExtentPoint32 with NULL title.
9721 (Fx_create_frame): Initialize Qline_spacing.
9722 (w32_load_system_font): Initialize font->double_byte_p.
9723 (x_to_w32_charset): Use Vw32_charset_info_alist.
9724 (Image, busy cursor, tooltip functions): Merged changes from
9725 xfns.c. Not yet functional on Windows.
9726
9727 * w32gui.h (W32FontStruct): Add double_byte_p member.
9728
9729 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9730 (emacs_button_translation): Use it.
9731 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9732 in `mask' to be set.
9733
9734 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9735 menu strings.
9736
9737 * w32term.c: Format and doc changes to bring closer to xterm.c.
9738 (w32_char_font_type): New enum.
9739 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9740 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9741 (w32_encode_char): New function.
9742 (x_encode_char): Removed.
9743 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9744 x_encode_char and w32_font_is_double_byte.
9745 (x_produce_image_glyph): Use image_ascent.
9746 (x_produce_glyphs): Use new version of w32_per_char_metric and
9747 handle NULL return value. Allow extra line spacing.
9748 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9749 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9750 w32_font_type member of glyph instead.
9751 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9752 (fast_find_position): Make sure not to consider rows not visible
9753 in the window.
9754 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9755 w32_menu_display_help with input blocked, as it can abort.
9756 (x_display_and_set_cursor): Choose cursor depending
9757 on buffer-local value of cursor_type.
9758 (x_draw_bar_cursor): Add parameter WIDTH.
9759
9760 * w32term.h (CP_DEFAULT): Define.
9761 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9762
10fc3187
GM
97632000-05-30 Gerd Moellmann <gerd@gnu.org>
9764
9765 * search.c (Fre_search_forward, Fre_search_backward)
9766 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9767
d0555360
KH
97682000-05-30 Kenichi Handa <handa@etl.go.jp>
9769
9770 * coding.c (detect_coding_iso2022): Fix code for checking
9771 CODING_CATEGORY_MASK_ISO_8_2.
9772
f1ad044f
SM
97732000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9774
9775 * regex.c (PREFETCH_NOLIMIT): New function.
9776 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9777
84ec3b4b
GM
97782000-05-29 Gerd Moellmann <gerd@gnu.org>
9779
66254a13
GM
9780 * syntax.c (find_defun_start): Move test for
9781 open_paren_in_column_0_is_defun_start outside of the loop.
9782
49e70dec
GM
9783 * xdisp.c (redisplay_window): Really switch buffers when
9784 displaying mode lines, and temporarily set selected_frame to the
9785 frame of the window that's redisplayed.
9786
84ec3b4b
GM
9787 * xfaces.c (free_realized_faces): Block/unblock input.
9788 (free_realized_multibyte_face): Ditto.
9789
869a3a14
DL
97902000-05-29 Dave Love <fx@gnu.org>
9791
9792 * textprop.c (Qkeymap): New variable.
9793 (syms_of_textprop): Intern it.
9794
9795 * keymap.c: Include intervals.h.
9796 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9797
9798 * Makefile.in (keymap.o): Depend on intervals.h.
9799
9800 * keyboard.c (menu_bar_items, tool_bar_items)
9801 (Fexecute_extended_command): Deal with `keymap' property.
9802 (read_key_sequence): Track map from `keymap' property as well as
9803 `local_map'.
9804
9805 * intervals.c (get_local_map): Extra arg to allow looking for
9806 `keymap' too.
9807
9808 * intervals.h (map_property): New enum.
9809 (get_local_map): Extra arg using it.
9810 (Qkeymap): Declare.
9811
84ec3b4b 9812 * lisp.h (get_local_map): Don't declare here.
869a3a14 9813
89d0c844
KH
98142000-05-29 Kenichi Handa <handa@etl.go.jp>
9815
9816 * Makefile.in (callproc.o): Depend on composite.h.
9817
9818 * callproc.c: Include composite.h.
9819 (Fcall_process): Handle composition correctly.
9820
9821 * coding.h (coding_allocate_composition_data): Extern it.
9822 (coding_restore_composition): Likewise.
9823
9824 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9825 yet allocated, finish decoding with result
9826 CODING_FINISH_INSUFFICIENT_CMP.
9827 (coding_allocate_composition_data): Make it non-static.
9828 (coding_restore_composition): Likewise.
9829
797a084a
EZ
98302000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9831
9832 * charset.c (syms_of_charset): Revert last change.
9833
cf872af5
EZ
98342000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9835
9836 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9837 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9838 Handa.
cf872af5 9839
5b1ae051
EZ
98402000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9841
9842 * charset.c (syms_of_charset): Set width of character sets
9843 eight-bit-control and eight-bit-graphic to 1 column.
9844
34ec9ebe
GM
98452000-05-26 Gerd Moellmann <gerd@gnu.org>
9846
9847 * config.in (HAVE_SPEED_T): New define.
9848
9849 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9850 `extern speed_t'.
9851
dd854dc2
DL
98522000-05-26 Dave Love <fx@gnu.org>
9853
9854 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9855
9856 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9857 (Fsubr_arity): New function.
9858 (syms_of_data): Install them.
9859
ba9f8f95
KH
98602000-05-26 Kenichi Handa <handa@etl.go.jp>
9861
0f3e0672
KH
9862 * charset.c (init_charset_once): Set the table bytes_by_char_head
9863 correctly.
9864
cebefb44
KH
9865 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9866 the default fontset to what Emacs uses by default.
0f3e0672
KH
9867 (check_registry_encoding): This function deleted.
9868 (Fset_fontset_font): Remove the adhoc condition for the default
9869 fontset. Allow cons in FONTNAME.
cebefb44 9870
0f3e0672
KH
9871 * fns.c (map_char_table): Ignore char-table entries for
9872 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9873
7a18af49
KR
98742000-05-25 Ken Raeburn <raeburn@gnu.org>
9875
9876 * emacs.c (main): Initialize keyboard syms before initializing
9877 window code, so face names are available.
9878
d2af47df
SM
98792000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9880
9881 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9882 of an anchor at the beginning of a shy-group.
9883
fc6a6a4e
GM
98842000-05-25 Gerd Moellmann <gerd@gnu.org>
9885
9886 * xdisp.c (handle_invisible_prop): Don't try to skip over
9887 invisible text if end of text is already reached.
9888
005f0d35
DL
98892000-05-25 Dave Love <fx@gnu.org>
9890
02513cdd
DL
9891 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9892
005f0d35
DL
9893 * coding.c (encode_eol): Add null statement after label.
9894
89f6ca4e
EZ
98952000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9896
9897 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9898 2000-05-20.
9899
a4e1759e
KH
99002000-05-25 Kenichi Handa <handa@etl.go.jp>
9901
9902 * ccl.c (ccl_driver): Fix previous change.
9903
eacfd7fe
KH
99042000-05-25 Kenichi Handa <handa@etl.go.jp>
9905
46ab33a9
KH
9906 * coding.c (run_pre_post_conversion_on_str): Set point to the
9907 beginning of buffer before calling coding->post_read_conversion.
9908 (decode_coding_string): Give correct args to
9909 run_pre_post_conversion_on_str.
9910 (encode_coding_string): Likewise.
9911
eacfd7fe
KH
9912 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9913 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9914 eight-bit-graphic correctly.
9915
f8569325
DL
99162000-05-24 Kenichi HANDA <handa@etl.go.jp>
9917
9918 * fileio.c (Finsert_file_contents): Even if a file is not found,
9919 execute codes for setting up coding system. Call
9920 after-insert-file-functions unconditionally.
9921
04545643
GM
99222000-05-24 Gerd Moellmann <gerd@gnu.org>
9923
9924 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9925 BSD_PGRPS are not defined.
9926
747d90ea
KH
99272000-05-24 Kenichi Handa <handa@etl.go.jp>
9928
9929 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9930 DESCRIPTION.
9931 (syms_of_charset): Avoid building same strings.
9932
716e3b88
GM
99332000-05-23 Gerd Moellmann <gerd@gnu.org>
9934
9935 * lread.c (Fload): Add a comment about the meaning of
9936 Vuser_init_file being t.
9937
9938 * puresize.h (BASE_PURESIZE): Increase to 675000.
9939
9940 * s/gnu-linux.h (setpgrp): Don't define it here because this
9941 prevents compilation on GNU/Linux systems with glib 2.2.
9942
9943 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9944 as setpgid.
427ec082 9945
9aeb39fa
EZ
99462000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9947
9948 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9949 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9950 version.
9951 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9952
29ced61b
KH
99532000-05-23 Kenichi Handa <handa@etl.go.jp>
9954
52283633 9955 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9956
3d80f24d
KH
9957 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9958
52283633 9959 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9960
29ced61b
KH
9961 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9962
d7e00792
KH
99632000-05-22 Kenichi Handa <handa@etl.go.jp>
9964
c9d80d38
KH
9965 * keyboard.c (read_char): Allow character codes 128..255 to be
9966 handled by input-method-function.
9967
d7e00792
KH
9968 * insdel.c (adjust_markers_for_replace): Fix previous change.
9969 (adjust_after_replace): If PREV_TEXT is nil, call
9970 adjust_markers_for_insert, not adjust_markers_for_replace.
9971
087121cc 99722000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9973
087121cc
GM
9974 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9975 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9976 [HAVE_GRANDPT]: Define.
9977 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9978
9979 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9980 like SYSV_PTYS.
9981
9982 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9983
9984 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9985
c9671f81
KH
99862000-05-20 Kenichi Handa <handa@etl.go.jp>
9987
9988 The following changes are to handle 8-bit characters in a
9989 multibyte buffer/string without facing with byte combining
9990 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9991 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9992
9993 * Makefile.in (fns.o): Depend on charset.h.
9994
9995 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9996 convert it to unibyte.
9997 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9998
9999 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10000 apparent char boundary.
10001 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10002 0x80..0x9F to/from multibyte form.
10003
10004 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10005 to unibyte.
10006
10007 * callproc.c (Fcall_process): Always encode an argument string if
10008 it is multibyte. Setup src_multibyte and dst_multibyte members of
10009 process_coding properly.
ce75fd23 10010
c9671f81
KH
10011 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10012 SPLIT_NON_ASCII_CHAR.
10013
10014 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10015 as is.
10016 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10017
52283633 10018 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10019 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10020 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10021 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10022 and eight-bit-graphic.
10023 (char_to_string): Likewise. Signal an error for too large
10024 character code.
10025 (char_printable_p): Return 0 for 8-bit characters.
10026 (update_charset_table): Update iso_charset_table only when a final
10027 character is non-negative.
10028 (find_charset_in_text): Renamed from find_charset_in_str.
10029 Arguments and return value changed. Callers changed.
10030 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10031 be -1 if CHARSET is used only internally.
10032 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10033 eight-bit-graphic.
10034 (Fcharset_after): Simplified.
10035 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10036 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10037 (multibyte_chars_in_text): Simplified by assuming there's no
10038 invalid multibyte sequence.
52283633
SM
10039 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10040 (str_as_unibyte): New functions.
10041 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10042 (init_charset_once): Initialization for
10043 LEADING_CODE_8_BIT_CONTROL.
10044 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10045 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10046 eight-bit-control and eight-bit-graphic.
10047
52283633
SM
10048 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10049 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10050 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10051 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10052 (CHARSET_REVERSE_CHARSET): Likewise.
10053 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10054 eight-bit-graphic.
10055 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10056 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10057 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10058 encounter an invalid multibyte sequence.
10059 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10060 sequence is always valid.
10061 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10062 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10063 (CHAR_STRING): For 8-bit characters, call char_to_string.
10064 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10065 multibyte sequence is always valid.
10066 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10067 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10068 (str_as_unibyte): Extern them.
c9671f81 10069 (BCOPY_SHORT): Fix a bug.
52283633 10070 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10071 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10072 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10073 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10074
bd4bde7f 10075 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10076 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10077 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10078 (EMIT_BYTES): New macros.
10079 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10080 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10081 macros deleted.
10082 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10083 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10084 check the validity of multibyte sequence.
10085 (decode_coding_emacs_mule): New function.
10086 (encode_coding_emacs_mule): New macro.
10087 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10088 the source.
10089 (DECODE_ISO_CHARACTER): Just return a character code.
10090 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10091 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10092 EMIT_CHAR to produced decoded characters. Exit the loop only by
10093 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10094 block here.
10095 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10096 only position codes for an invalid character.
10097 (encode_designation_at_bol): Return new destination pointer. 5th
10098 arg DSTP is changed to DST.
10099 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10100 from the source by ONE_MORE_CHAR. Don't handle the case of last
10101 block here.
10102 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10103 macros deleted.
52283633
SM
10104 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10105 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10106 TWO_MORE_BYTES to fetch a byte from the source.
10107 (encode_eol): Pay attention to coding->src_multibyte.
10108 (detect_coding, detect_eol): Preserve members src_multibyte and
10109 dst_multibyte.
10110 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10111 (encoding_buffer_size): Set magnification to 3 for all coding
10112 systems that require encoding.
10113 (ccl_coding_driver): For decoding, be sure that the result is
10114 valid multibyte sequence.
10115 (decode_coding): Initialize coding->errors and coding->result.
10116 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10117 and raw-text, always call decode_eol. Handle the case of last
10118 block here. If not coding->dst_multibyte, convert the resulting
10119 sequence to unibyte.
10120 (encode_coding): Initialize coding->errors and coding->result.
10121 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10122 and raw-text, always call encode_eol. Handle the case of last
10123 block here.
10124 (shrink_decoding_region, shrink_encoding_region): Detect cases
10125 that we can't skip data more rigidly.
10126 (code_convert_region): Setup src_multibyte and dst_multibyte
10127 members of coding. For decoding, if the buffer is multibyte,
10128 convert the source sequence to unibyte in advance. For encoding,
10129 if the buffer is multibyte, convert the resulting sequence to
10130 multibyte afterward.
10131 (run_pre_post_conversion_on_str): New function.
10132 (code_convert_string): Deleted and divided into the following two.
10133 (decode_coding_string, encode_coding_string): New functions.
10134 (code_convert_string1, code_convert_string_norecord): Call one of
10135 above.
10136 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10137 MAKE_NON_ASCII_CHAR.
52283633
SM
10138 (Fset_terminal_coding_system_internal)
10139 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10140 and dst_multibyte members.
10141 (init_coding_once): Initialize iso_code_class with new enum
10142 ISO_control_0 and ISO_control_1.
10143
10144 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10145 devided into ISO_control_0 and ISO_control_1.
10146 (struct coding_system): New members src_multibyte, dst_multibyte,
10147 errors, and result. Delete member fake_multibyte.
10148 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10149 nonzero.
10150 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10151 nonzero.
10152
10153 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10154 (Faset): Likewise.
10155
10156 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10157 multibyte form.
10158 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10159 combining occurs.
10160 (Ftranspose_region): Delete codes for handling byte combining.
10161
10162 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10163 dst_multibyte members of coding. On handling REPLACE on unibyte
10164 buffer, convert the result of decode_coding to unibyte. On
10165 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10166 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10167 multibyteness of the source (buffer or string).
10168
10169 * fns.c (concat): Handle 8-bit characters correctly.
10170 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10171 unibyte in the result.
10172 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10173 valid multibyte form in the result.
10174 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10175 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10176 return -1, signal an error.
10177 (base64_encode_1): New arg MULTIBYTE. Get each character by
10178 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10179 character is found, return -1.
10180 (Fbase64_decode_region): Delete codes for handling byte-combining.
10181 Treat each decoded byte as a unibyte character.
10182 (Fbase64_decode_string): Return unibyte string.
10183 (Fcompare_strings, concat, string_byte_to_char): Use
10184 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10185 FETCH_STRING_CHAR_ADVANCE.
10186 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10187 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10188
10189 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10190 SPLIT_NON_ASCII_CHAR.
10191 (fontset_ref_via_base, fontset_set): Likewise
10192
10193 * insdel.c (adjust_markers_for_record_delete): Deleted.
10194 (adjust_markers_for_insert): Argument changed. Caller changed.
10195 (adjust_markers_for_replace): Likewise.
52283633
SM
10196 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10197 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10198 (copy_text): Delete unused local varialbe c_save. For converting
10199 to multibyte, be sure to make all 8-bit characters in valid
10200 multibyte form.
10201 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10202 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10203 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10204 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10205 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10206 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10207 handling byte combining.
10208 (adjust_before_replace): Deleted.
427ec082 10209
c9671f81
KH
10210 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10211 SPLIT_NON_ASCII_CHAR.
10212 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10213 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10214 (Fkey_description): Likewise.
10215
10216 * lread.c (read1): On reading multibyte string, be sure to make
10217 all 8-bit chararacters in valid multibyte form.
10218 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10219
10220 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10221 unconditionally.
10222
10223 * process.c (Fstart_process): GCPRO current_dir before calling
10224 Ffind_operation_coding_system. Encode arguments here.
10225 (create_process): Don't encode arguments here. Setup
10226 src_multibyte and dst_multibyte members of struct coding.
10227 (read_process_output): Setup src_multibyte and dst_multibyte
10228 members of struct coding. If the output is to multibyte buffer,
10229 always decode the output of the process. Adjust the
52283633 10230 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10231 (send_process): Setup coding->src_multibyte according to the
10232 multibyteness of the source.
10233
52283633 10234 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10235 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10236 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10237
52283633 10238 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10239
10240 * w16select.c (Fw16_set_clipboard_data): Setup members
10241 src_multibyte and dst_multibyte of coding. Adjusted for the
10242 change for find_charset_in_str.
10243 (Fw16_get_clipboard_data): Likewise.
10244
10245 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10246 dst_multibyte of coding.
10247 (x_to_w32_font): Likewise.
10248
10249 * w32select.c (Fw32_set_clipboard_data): Setup members
10250 src_multibyte and dst_multibyte of coding. Adjusted for the
10251 change for find_charset_in_str.
10252 (Fw32_get_clipboard_data): Likewise.
10253
10254 * xdisp.c (get_next_display_element): Handle 8-bit characters
10255 correctly.
52283633
SM
10256 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10257 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10258
10259 * xselect.c (selection_data_to_lisp_data): Setup members
10260 src_multibyte and dst_multibyte of coding. Adjusted for the
10261 change for find_charset_in_str.
10262 (lisp_data_to_selection_data): Likewise.
10263
5f64c9e0
GM
102642000-05-19 Gerd Moellmann <gerd@gnu.org>
10265
52283633 10266 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10267
5f64c9e0
GM
10268 * dispextern.h (Vimage_types): Add extern declaration.
10269
10270 * xdisp.c (Vimage_types): Moved here from xfns.c.
10271 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10272
10273 * xfns.c (Vimages_types): Moved to xdisp.c.
10274 (syms_of_xfns): Move `image-types' to xdisp.c.
10275
10276 * w32fns.c (Vimage_types): Removed.
10277 (syms_of_w32fns): Remove `image-types'.
10278
813086ea
KH
102792000-05-18 Kenichi Handa <handa@etl.go.jp>
10280
10281 * fns.c (map_char_table): Pay attention to character number of
10282 charset. Check the validity of charset at the first level. For
10283 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10284 the default value.
10285
10286 * fontset.c: Include "buffer.h".
10287 (fs_load_font): If the face has fontset, record the face ID in
10288 that fontset.
10289 (Finternal_char_font): New function.
10290 (accumulate_font_info): New function.
10291 (Ffontset_info): Rewritten for the new fontset implementation.
10292 (syms_of_fontset): Register Vdefault_fontset in the first element
10293 of Vfontset_table. Include Vdefault_fontset in
10294 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10295 function.
10296
bdaebbf0
DL
102972000-05-16 Dave Love <fx@gnu.org>
10298
10299 * m/iris5d.h: Deleted -- unused.
10300
cb613bb8
GM
103012000-05-16 Gerd Moellmann <gerd@gnu.org>
10302
b15f3b77
GM
10303 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10304 `invalid' instead of `illegal'.
10305
10306 * indent.c (Fmove_to_column): When ending within a tab, insert
10307 spaces first so that markers at the end of the tab get adjusted.
10308
835c1b36
GM
10309 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10310 buffer list that wasn't selected in that frame.
10311
cb613bb8
GM
10312 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10313 is needed on mescaline, use a 2 char prefix, and call
10314 make_temp_name with second arg non-zero.
10315
10316 * fileio.c (make_temp_name): New function, extracted from
10317 Fmake_temp_name.
10318 (Fmake_temp_name): Use it.
10319
f685bea9
EZ
103202000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10321
52283633 10322 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10323
a1b8d58b
GM
103242000-05-15 Gerd Moellmann <gerd@gnu.org>
10325
10326 * Makefile.in (lisp): Add env.elc.
10327
10328 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10329
a265079f
GM
103302000-05-12 Gerd Moellmann <gerd@gnu.org>
10331
10332 * search.c (Freplace_match): Handle case of `\N' in the
10333 replacement when there's no group N.
10334
da4496b6
GM
103352000-05-11 Gerd Moellmann <gerd@gnu.org>
10336
0ace421a
GM
10337 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10338 of the message to message_dolog.
10339
1172eb8d
GM
10340 * keyboard.c (read_char): Don't clear current message for help
10341 events; let the code handling help events handle this. Change
10342 code detecting help events that should be ignored.
10343
da4496b6
GM
10344 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10345 we're interating over a string.
10346
0623e40f
DL
103472000-05-09 Dave Love <fx@gnu.org>
10348
10349 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10350 that offset before writing. Move gcpro region past call of
10351 Ffile_regular_p.
10352
bae2503b
DL
103532000-05-04 Dave Love <fx@gnu.org>
10354
10355 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10356
ec82fb2f
GM
103572000-05-04 Gerd Moellmann <gerd@gnu.org>
10358
10359 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10360 of inserted characters when BUF equals the current buffer, and PT
10361 is in front of or equal to FROM.
10362
cbf18892
GM
103632000-05-03 Gerd Moellmann <gerd@gnu.org>
10364
4ff40dd0
GM
10365 * xdisp.c (handle_single_display_prop): If display property value
10366 is invalid, or something not supported on the frame, restore
10367 iterator's position to what it was initially. Make sure to return
10368 0 for invalid and unsupported property values.
10369
cbf18892
GM
10370 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10371 that x_per_char_metric returns null.
10372
1b0672c3
GM
103732000-05-02 Gerd Moellmann <gerd@gnu.org>
10374
576da55d
GM
10375 * xterm.h (struct face): Add forward declaration.
10376 (struct image): Ditto.
10377 (image_ascent): Add prototype.
10378
10379 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10380 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10381 image_ascent instead of using IMAGE_ASCENT.
10382
10383 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10384 (IMAGE_ASCENT): Removed.
10385
10386 * xfns.c (Qcenter): New variable.
10387 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10388 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10389 (image_ascent): New function.
10390 (lookup_image): Recognize `:ascent center'.
10391 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10392 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10393 (xbm_load): Don't set image's ascent here.
10394 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10395 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10396 check ascent values here.
10397 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10398 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10399 (syms_of_xfns): Initialize Qcenter.
10400
1b0672c3
GM
10401 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10402 to the limits, increase the limits.
10403
0d7811ed
KH
104042000-05-01 Kenichi Handa <handa@etl.go.jp>
10405
10406 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10407 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10408
a943a5ca
GM
104092000-04-28 Gerd Moellmann <gerd@gnu.org>
10410
10411 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10412 taller than the window.
10413
5dba1e29
KH
104142000-04-28 Kenichi Handa <handa@etl.go.jp>
10415
10416 * xfaces.c (realize_x_face): Fix the argument of the second
10417 xassert. BASE_FACE may not be a face for ASCII.
10418
353964e3
GM
104192000-04-27 Gerd Moellmann <gerd@gnu.org>
10420
c76e04a8
GM
10421 * print.c (print_object): Treat print-length < 0 as nil.
10422
10423 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10424
10425 * s/freebsd.h (TERMCAP_OBJ): Removed.
10426 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10427
10428 * lread.c (read1): Don't treat period followed by certain
10429 characters as symbol start.
10430
10431 * xfns.c (slurp_file): New function.
10432 (xbm_image_p): Handle case of in-memory XBM files.
10433 (xbm_scan): Rewritten to work on memory buffers instead of files.
10434 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10435 Work on memory buffers instead of files. If DATA is null test
10436 if buffer looks like an in-memory XBM file.
10437 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10438 memory buffers instead of files.
10439 (xbm_file_p): New function.
10440 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10441
353964e3
GM
10442 * lread.c (end_of_file_error): New function.
10443 (read1): Call it instead of signaling `end-of-file' directly.
10444
427ec082 10445 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10446 with Fprinc instead of Fprin1.
10447
24d744ac
KR
104482000-04-26 Ken Raeburn <raeburn@gnu.org>
10449
10450 * window.c (freeze_window_start): Check that minibuffer scroll
10451 window isn't nil before extracting the window structure pointer
10452 from it.
10453
10454 * undo.c (record_delete): If we hit the end of the undo list, stop
10455 picking elements apart.
10456
7464346d
GM
104572000-04-26 Gerd Moellmann <gerd@gnu.org>
10458
10459 * xdisp.c (display_line): If lines are continued, restore
10460 iterator's ascent/descent information to the values before the
10461 first glyph not fitting on the line.
10462
612839b6
GM
104632000-04-25 Gerd Moellmann <gerd@gnu.org>
10464
10465 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10466 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10467
10468 * dispnew.c (increment_matrix_positions): Renamed from
10469 increment_glyph_matrix_buffer_positions.
10470 (increment_row_positions): Renamed from
10471 increment_glyph_row_buffer_positions.
10472
10473 * dispextern.h: Change names of renamed functions from dispnew.c
10474 in prototypes.
10475
cc181e95
GM
104762000-04-24 Gerd Moellmann <gerd@gnu.org>
10477
abfcc168
GM
10478 * fileio.c (Fdo_auto_save): Create directories for auto-save
10479 list file if necessary.
10480
cc181e95
GM
10481 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10482 from buffer or frame.
10483 (automatic_hscrolling_p): New variable.
10484 (hscroll_windows): Scroll windows horizontally only if automatic
10485 hscrolling is allowed.
10486 (syms_of_xdisp): New variable `automatic-hscrolling'.
10487
10488 * frame.h (struct frame): Add member extra_line_spacing.
10489
10490 * xfns.c (x_set_line_spacing): New function.
10491 (Fx_create_frame): Set line spacing from resources.
10492 (Qline_spacing): New variable.
10493 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10494
cc181e95
GM
10495 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10496
10497 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10498 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10499 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10500 extra_line_spacing from default value.
10501 (init_buffer_once): Initialize default value of extra_line_spacing.
10502
10503 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10504 and extra3.
10505
10506 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10507 prompt_width. Add extra line spacing.
10508
10509 * term.c (produce_glyphs): Remove reference to struct it's
10510 prompt_width.
10511
10512 * dispextern.h (struct it): Remove member prompt_width, add
10513 extra_line_spacing.
10514
58827478
GM
105152000-04-22 Gerd Moellmann <gerd@gnu.org>
10516
10517 * dispnew.c (update_frame_line): When writing a whole line, make
10518 sure cursor is in the right row afterwards, otherwise a use of
10519 capability `ch' in cmgoto might leave the cursor in the row below.
10520
25a87f42
GM
105212000-04-21 Gerd Moellmann <gerd@gnu.org>
10522
10523 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10524
10525 * keyboard.c (timer_check): Fix typo in comment.
10526
54edf5c2
KH
105272000-04-21 Kenichi Handa <handa@etl.go.jp>
10528
10529 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10530 name change: ch -> character.
10531
3a64eef5
GM
105322000-04-20 Gerd Moellmann <gerd@gnu.org>
10533
10534 * keyboard.c (echo_message_buffer): New variable.
10535 (echo_now): Set echo_message_buffer to the echo area buffer used
10536 to display the echo.
10537 (cancel_echoing): Reset echo_message_buffer to nil.
10538 (read_char): Code rewritten that handles canceling an echo or
10539 echoing a dash, respectively.
10540
10541 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10542 directory doesn't exist.
10543
6142fdcb
DL
105442000-04-19 Dave Love <fx@gnu.org>
10545
10546 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10547 (concat): Don't allow numeric args.
10548 (Fconcat): Doc change.
6142fdcb 10549
ac6b5352
SM
105502000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10551
10552 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10553 instead define end_match(1|2) more carefully.
10554 Use GET_CHAR_BEFORE_2 for `begline'.
10555
cb9215e4
GM
105562000-04-19 Gerd Moellmann <gerd@gnu.org>
10557
5e3dac3f
GM
10558 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10559 on 64-bit systems where NULL is defined as `0'.
10560
10561 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10562 the `variable argument list' to make it work on Alpha.
10563
cb9215e4
GM
10564 * m/alpha.h (_LP64) [!_LP64]: Define.
10565 (ORDINARY_LINK): Define for NetBSD.
10566
10567 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10568
f532dca0
DL
105692000-04-19 Dave Love <fx@gnu.org>
10570
c750667e
DL
10571 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10572 change.
10573
10574 * Makefile.in (LIBS): Don't use.
10575 (GETLOADAVG_OBJ): Define again.
10576 (otherobj): Add GETLOADAVG_OBJ.
10577
f532dca0
DL
10578 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10579
1c7e22fd
GM
105802000-04-18 Gerd Moellmann <gerd@gnu.org>
10581
f6d3257b
GM
10582 * lread.c (read_filtered_event): Cancel and start busy cursor.
10583
427ec082 10584 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10585 that the per-character metrics may be null.
10586
e10f64e7
GM
105872000-04-17 Gerd Moellmann <gerd@gnu.org>
10588
0daee095
GM
10589 * buffer.c (clone_per_buffer_values): New function.
10590 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10591 clone_per_buffer_values if CLONE is not nil.
10592
e10f64e7
GM
10593 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10594
38687d43
DL
105952000-04-16 Dave Love <fx@gnu.org>
10596
10597 * Makefile.in: Remove obsolete localcpp stuff.
10598 (GETLOADAVG_OBJ): Don't define.
10599 (obj): Move LIBOBJS...
10600 (otherobj): ... to here.
10601 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10602 whitespace-only lines after the continuation (Irix).
10603
c21c7262
GM
106042000-04-14 Gerd Moellmann <gerd@gnu.org>
10605
10606 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10607
10608 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10609
314767c0
DL
106102000-04-14 Dave Love <fx@gnu.org>
10611
10612 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10613 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10614 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10615 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10616 NLIST_STRUCT.
10617
10618 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10619 autoconfiscated HAVE_GETLOADAVG.
10620
10621 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10622 BROKEN_MKTIME.
10623
a2522dca
GM
106242000-04-14 Gerd Moellmann <gerd@gnu.org>
10625
10626 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10627 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10628
33744b5d
DL
106292000-04-14 Dave Love <fx@gnu.org>
10630
c21c7262 10631 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10632 (INTERVAL_SRC): Convert to make variable.
10633 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10634 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10635 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10636 add LIBOBJS.
10637 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10638 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10639 (shortlisp): Add facemenu, float-sup, frame.
10640 (SOME_MACHINE_LISP): Remove them from here.
10641 (LIBES): Change unused LDLIBS to autoconf LIBS.
10642
10643 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10644
9d3d5916
KH
106452000-04-14 Kenichi Handa <handa@etl.go.jp>
10646
10647 * composite.c (update_compositions): If FROM and TO are not in a
10648 valid range, do nothing.
10649
198e3c7a
GM
106502000-04-13 Gerd Moellmann <gerd@gnu.org>
10651
52283633 10652 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10653
52283633 10654 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10655
10656 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10657 as TERMCAP_OBJ.
10658
055a28c9
EZ
106592000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10660
10661 * fileio.c (a_write): Remove redundant semi-colons.
10662 (e_write): Return -1 if failed to write all the data.
10663 This fixes the changes made at 1999-12-15.
10664
f5c75033
DL
106652000-04-12 Dave Love <fx@gnu.org>
10666
10667 * fns.c (mapcar1): Test for null vals to support mapc.
10668 (Fmapc): New function.
10669
0c3cfc51
EZ
106702000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10671
10672 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10673 (IT_frame_up_to_date): Support the buffer local value of
10674 cursor-type, if defined.
10675
33465a31
DL
106762000-04-10 Dave Love <fx@gnu.org>
10677
10678 * editfns.c (preceding-char, following-char): Doc fix.
10679
6ed56568
KR
106802000-04-10 Ken Raeburn <raeburn@gnu.org>
10681
10682 * Makefile.in (temacs): Revert 2000-03-12 change.
10683
7cf80d4e
JR
106842000-04-10 Jason Rumney <jasonr@gnu.org>
10685
10686 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10687
34f3f342
GM
106882000-04-10 Gerd Moellmann <gerd@gnu.org>
10689
1a1b1895
GM
10690 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10691 area buffer, if it's not set up yet.
10692
34f3f342
GM
10693 * indent.c (compute_motion): Set immediate_quit.
10694
be0dbdab
GM
106952000-04-09 Gerd Moellmann <gerd@gnu.org>
10696
52283633 10697 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10698 (realize_tty_face): Suppress boldness if colors are the inverse of
10699 the default colors, and tty_suppress_bold_inverse_default_colors_p
10700 is set.
10701 (Ftty_suppress_bold_inverse_default_colors): New function.
10702 (syms_of_xfaces): Defsubr it.
10703
be0dbdab
GM
10704 * buffer.c (Frestore_buffer_modified_p): New function.
10705 (syms_of_buffer): Defsubr it.
10706
e8413c3b
KR
107072000-04-08 Ken Raeburn <raeburn@gnu.org>
10708
87f67317
KR
10709 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10710 charset id (int) argument, not a charset (Lisp_Object).
10711
e8413c3b
KR
10712 * coding.h (code_convert_string): Declare.
10713 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10714 object, as the fourth argument to code_convert_string.
10715
52283633 10716 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10717 (Fset_fontset_font): Use EQ to compare lisp objects.
10718
7c752c80
KR
107192000-04-05 Ken Raeburn <raeburn@gnu.org>
10720
c0333abc
KR
10721 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10722 a pointer that looks like a lisp object.
10723 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10724 zero, instead see whether it's an integer object, since they can't
10725 have intervals.
10726 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10727
52283633
SM
10728 * dispnew.c (allocate_matrices_for_frame_redisplay)
10729 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10730 to convert between (unsigned) int values and lisp integers.
10731 * keyboard.c (read_key_sequence): Likewise.
10732 * lread.c (substitute_object_recurse): Likewise.
10733 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10734 * minibuf.c (do_completion, Fminibuffer_complete_word)
10735 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10736 * term.c (produce_special_glyphs): Likewise.
10737
10738 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10739 * print.c (print_preprocess, print_object): Likewise.
10740
10741 * search.c (compile_pattern): Use NILP when checking for nil.
10742
74e49b38
KR
10743 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10744 __OPTIMIZE__]: Provide a GNU C macro version that handles
10745 lisp-object unions.
10746 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10747 field, to better cope with ENABLE_CHECKING and calls that modify a
10748 Lisp_Object using its old value.
10749
685e5ed2
GM
107502000-04-04 Gerd Moellmann <gerd@gnu.org>
10751
c407c570
GM
10752 * window.c (compare_window_configurations): Signal an error
10753 if parameters C1 or C2 aren't window configurations.
10754
685e5ed2
GM
10755 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10756 AFTER_POTENTIAL_GC calls around calls to functions that can
10757 signal an error and thus invoke the debugger.
10758
587a49ab
GM
107592000-04-03 Gerd Moellmann <gerd@gnu.org>
10760
62f20204
GM
10761 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10762 an error if decoding fails.
10763
587a49ab
GM
10764 * keyboard.c (lispy_mouse_names): Variable removed.
10765 (Vlispy_mouse_stem): New variable.
10766 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10767 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10768 for any mouse button number. Increase size of mouse_syms and
10769 button_down_location as needed. Call modify_event_symbol with
10770 different arguments.
10771 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10772 Call modify_event_symbol with different arguments.
10773 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10774 for any button number. Call modify_event_symbol with different
10775 arguments.
10776 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10777 Accept a string for NAME_ALIST_OR_STEM.
10778
10779 * lisp.h (larger_vector): Add prototype.
10780
10781 * fns.c (larger_vector): Make externally visible.
10782
10783 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10784
2d1675e4
SM
107852000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10786
10787 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10788 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10789 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10790 we are between str1 and str2.
10791 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10792 (PATFETCH): Use `TRANSLATE'.
10793 (PATFETCH_RAW): Fetch multibyte char if applicable.
10794 (PATUNFETCH): Remove.
10795 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10796 When writing a char, write it directly into the pattern buffer rather
10797 than going needlessly through a temp char-array.
10798 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10799 multibyte magic and remove the useless `#ifdef emacs'.
10800 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10801 buffer.
10802
10803 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10804 conditional on `emacs'.
10805
10806 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10807
cc2d8c6b
KR
108082000-04-01 Ken Raeburn <raeburn@gnu.org>
10809
10810 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10811 non-union-type versions of XMARK and friends here, because XMARK
10812 and friends won't work on an integer field if NO_UNION_TYPE is not
10813 defined.
52283633 10814 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10815
52283633 10816 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10817 (syms_of_composite): Delete local var NARGS, pass an int as first
10818 argument to Fmake_hash_table.
10819
2387b382
KR
10820 * editfns.c (text_property_stickiness): Use NILP to test
10821 Lisp_Object boolean value.
10822 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10823 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10824 problems reading from and changing the same lisp value in an
10825 XSETSTRING call.
10826
27660e89
GM
108272000-04-01 Gerd Moellmann <gerd@gnu.org>
10828
10829 * term.c (TN_no_color_video): New variable.
10830 (term_init): Intitialize TN_no_color_video.
10831 (enum no_color_bit): New enumeration.
10832 (MAY_USE_WITH_COLORS_P): New macro.
10833 (turn_on_face): Use it to determine if attributes may be used
10834 combined with colors.
10835
3578db3c
KR
108362000-04-01 Ken Raeburn <raeburn@gnu.org>
10837
10838 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10839 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10840 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10841 proper accessor macros.
10842 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10843 (grow_mini_window): Fix typo getting int value of root->height.
10844
6fc556fd
KR
10845 * xdisp.c (compute_string_pos): Fix order of arguments to
10846 string_pos_nchars_ahead.
10847 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10848 count arg to variable-arg routines like Frun_hook_with_args and
10849 Fformat.
587a49ab
GM
10850 (back_to_previous_visible_line_start)
10851 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10852 fixed-arg routines like Fget_char_property and Fmake_string.
10853 (reconsider_clip_changes): Use XINT when comparing integer lisp
10854 objects, or passing them as int arguments.
587a49ab
GM
10855 (mark_window_display_accurate, insert_left_trunc_glyphs)
10856 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10857 storing or passing integer values as lisp objects.
10858 (set_cursor_from_row, highlight_trailing_whitespace): Use
10859 INTEGERP, not implicit test against zero, for glyph object.
10860 (try_window_id): Don't use make_number when we want an int value.
10861
10862 * xfaces.c (xlfd_symbolic_value): Make last argument a
10863 Lisp_Object, to be consistent with callers.
10864 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10865 (lface_hash): Apply XFASTINT to lisp values before folding in.
10866
10867 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10868 fill in window width and height. Pass an int, not a lisp object,
10869 as first arg to Finsert.
10870
6e7b2457
GM
108712000-04-01 Gerd Moellmann <gerd@gnu.org>
10872
610d841e
GM
10873 * xfaces.c (realize_basic_faces): Block input while realizing
10874 the faces.
10875
6e7b2457
GM
10876 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10877
10878 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10879
aa110c0c
GM
108802000-03-31 Gerd Moellmann <gerd@gnu.org>
10881
10882 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10883 or ASCII, handle case that per-char metric is null.
aa110c0c 10884
8801a864
KR
108852000-03-30 Ken Raeburn <raeburn@gnu.org>
10886
c6129d7e
KR
10887 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10888
52283633
SM
10889 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10890 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10891 pointer, using eassert.
10892 * frame.h (XFRAME): Likewise.
10893
52283633
SM
10894 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10895 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10896 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10897 * data.c (set_internal): Likewise.
52283633
SM
10898 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10899 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10900 * fileio.c (auto_save_1): Likewise.
10901 * insdel.c (check_markers): Likewise.
10902 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10903 * undo.c (record_insert): Likewise.
10904 * vmsproc.c (child_sig): Likewise.
10905 * window.c (unshow_buffer, window_loop): Likewise.
10906 * xterm.c (x_erase_phys_cursor): Likewise.
10907
8e7af858
GM
109082000-03-30 Gerd Moellmann <gerd@gnu.org>
10909
10910 * xfns.c (free_image_cache): Free the cache structure itself
10911 last, after all its members have been freed.
10912
10913 * lisp.h (xstrdup): Add prototype.
10914
10915 * alloc.c (xstrdup): Moved here from xfaces.c.
10916 (allocating_for_lisp): Variable removed.
52283633 10917 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10918
10919 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10920 of Fsymbol_value.
10921 (xstrdup): Moved to alloc.c.
10922
e0b8c689
KR
109232000-03-29 Ken Raeburn <raeburn@gnu.org>
10924
b96f9fb7
KR
10925 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10926
10927 * emacs.c (main): Fix sense of no-loadup test.
10928
e0b8c689
KR
10929 * config.in (ENABLE_CHECKING): Undef.
10930
10931 * lisp.h (struct interval): Replace "parent" field with a union of
10932 interval pointer and Lisp_Object; add new bitfield to use as
10933 discriminant. Change other flag fields to bitfields.
10934 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10935 is defined and the supplied test fails, print a message and abort.
10936 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10937
10938 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10939 pointers; abort if the value looks like a lisp object.
52283633
SM
10940 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10941 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10942 Modify for new interval parent definition.
10943
52283633
SM
10944 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10945 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10946 addressable lisp object in the interval structure.
10947 (die): New function.
10948 (suppress_checking): New variable.
10949
10950 * intervals.c (interval_start_pos): Just return 0 if there's no
10951 parent object.
10952
f83c5440
GM
109532000-03-29 Gerd Moellmann <gerd@gnu.org>
10954
10955 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10956 and earlier Emacs versions.
10957
10958 * keyboard.c (Ftop_level): Cancel busy-cursor.
10959
10960 * eval.c (call_debugger): Cancel busy-cursor.
10961
fdce64ff
KH
109622000-03-29 Kenichi Handa <handa@etl.go.jp>
10963
10964 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10965 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10966
f6a3f532
SM
109672000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10968
10969 * regex.c (analyse_first): New function obtained by ripping out most
10970 of re_compile_fastmap and generalizing it a little bit so that it
10971 can also just return whether a given (sub)pattern can match the empty
10972 string or not.
10973 (regex_compile): Use `analyse_first' to decide whether the loop-check
10974 needs to be done or not for *, +, *? and +? (the loop check is costly
10975 for non-greedy repetition).
10976 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10977
e9b309ac
DL
109782000-03-28 Dave Love <fx@gnu.org>
10979
52283633 10980 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10981
e9b309ac
DL
10982 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10983
ed0767d8
SM
109842000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10985
10986 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10987 an expression.
10988 (enum re_opcode_t): Update description of succeed_n.
10989 (PATFETCH): Always define.
10990 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10991 operators, char classes, shy-groups and intervals).
10992 Optimize special cases of intervals so as to only use succeed_n and
10993 jump_n when really needed.
10994 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10995 that we don't have to handle the special cases any more.
10996 Simplify on_failure_jump handling as well.
10997
e11e7e46
JR
109982000-03-28 Jason Rumney <jasonr@gnu.org>
10999
11000 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11001
88faab89
GM
110022000-03-27 Gerd Moellmann <gerd@gnu.org>
11003
182ff242
GM
11004 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11005
11006 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11007
182ff242
GM
11008 * alloc.c (mark_maybe_object): New function.
11009 (mark_memory): Use it.
11010 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11011 (setjmp_tested_p, longjmp_done): New variables.
11012 (test_setjmp): New function.
11013 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11014 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11015
c1005d06
GM
11016 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11017 to DEC_TEXT_POS and INC_TEXT_POS.
11018
11019 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11020 with parameter MULTIBYTE_P.
11021
52283633 11022 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11023
7439e5b9 11024 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11025 buffers because it looks for multibyte character byte sequences
11026 which don't exist in unibyte text.
7439e5b9 11027
d9c545da
GM
11028 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11029
11fd416e 11030 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11031 [DEBUG_X_COLORS]: New functions.
11032 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11033
11034 * xfns.c (x_set_cursor_color): Get color reference counts right.
11035
11036 * xterm.c (x_copy_color): New function.
11037 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11038
11039 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11040 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11041 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11042 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11043 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11044 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11045 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11046 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11047 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11048 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11049
11fd416e
GM
11050 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11051 names for handling per-buffer variables.
d9c545da
GM
11052
11053 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11054 instead of MAX_BUFFER_LOCAL_VARS.
11055 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11056
11057 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11058
88faab89
GM
11059 * xfns.c (x_specified_cursor_type): New function.
11060 (x_set_cursor_type): Use it.
11061
11062 * buffer.h (struct buffer): Add cursor_type.
11063
d80f42b7
SM
110642000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11065
11066 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11067 (print_partial_compiled_pattern, re_compile_fastmap):
11068 Handle new opcode.
d80f42b7
SM
11069 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11070 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11071 executing it as well as when popping it off the stack to find infinite
11072 loops in non-greedy repetition operators.
11073
89e80928
GM
110742000-03-26 Gerd Moellmann <gerd@gnu.org>
11075
3d4ff2dd
GM
11076 * doc.c (Qfunction_documentation): New variable.
11077 (syms_of_doc): Initialize Qfunction_documentation.
11078 (Fdocumentation): If FUNCTION is a symbol with non-nil
11079 `function-documentation' property, return a documentation derived
11080 from that.
11081
bd96bd79
GM
11082 * buffer.c (syms_of_buffer): Add default-cursor-type.
11083 (init_buffer_once): Don't let cursor_type have a local value
11084 in every buffer.
11085
19d1bc27
GM
11086 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11087 on buffer-local value of cursor_type.
11088 (x_draw_bar_cursor): Add parameter WIDTH.
11089
11090 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11091 (init_buffer_once): Set default cursor_type value to t.
11092 Mark cursor_type as local everywhere.
11093 (syms_of_buffer): New per-buffer variable cursor-type.
11094
89e80928
GM
11095 * buffer.h (struct buffer): Remove member local_var_flags,
11096 add local_flags.
11097 (MAX_BUFFER_LOCAL_VARS): New macro.
11098 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11099 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11100 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11101 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11102
52283633 11103 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11104
11105 * category.c (Fset_category_table): Use new macros for per-buffer
11106 variables.
11107
11108 * buffer.c (buffer_permanent_local_flags): Make a char array.
11109 (max_buffer_local_idx): New variable.
11110 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11111 for new handling of per-buffer variables.
11112 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11113 (init_buffer_once): Initialize per-buffer vars differently.
11114 Set max_buffer_local_idx.
11115
11116 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11117 variables.
11118
52283633 11119 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11120
11121 * data.c (do_symval_forwarding, store_symval_forwarding)
11122 (find_symbol_value, set_internal, default_value, Fset_default)
11123 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11124 per-buffer variables.
11125
11126 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11127
9a0dd3dc
GM
111282000-03-24 Gerd Moellmann <gerd@gnu.org>
11129
b68c375f
GM
11130 * xterm.c (x_term_init): Unblock input around call1 of
11131 Qvendor_specific_keysyms.
11132
9a0dd3dc
GM
11133 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11134 (find_defun_start): Consider an open parenthesis in column 0
11135 a defun start only if open_paren_in_column_0_is_defun_start is set.
11136 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11137
7973e637
SM
111382000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11139
11140 * eval.c (Fautoload): Add entry in load-history (if after dump).
11141 * lread.c (load-history): Update docstring.
11142
39210e90
GM
111432000-03-24 Gerd Moellmann <gerd@gnu.org>
11144
11145 * indent.c (Fvertical_motion): Always use the current buffer.
11146 Temporarily change the window's buffer, if necessary.
11147
72db3ab5
GM
111482000-03-23 Gerd Moellmann <gerd@gnu.org>
11149
11150 * xterm.c (fast_find_position): Make sure not to consider rows
11151 not visible in the window.
11152
990b2375
SM
111532000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11154
11155 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11156 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11157
ff4df011
JR
111582000-03-22 Jason Rumney <jasonr@gnu.org>
11159
11160 * w32menu.c (single_submenu): Set help string to NULL if none.
11161 (w32_menu_show): Set help string correctly.
11162 (add-menu-item): Set help string in MIIM_DATA for menu item.
11163 Load SetMenuItemInfoA explicitly.
11164 (w32_menu_display_help): New function.
427ec082 11165
ff4df011
JR
11166 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11167 (QCdata): Moved to xdisp.c.
11168
11169 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11170 (Vw32_charset_to_codepage_alist): Removed.
11171 (Vw32_charset_info_alist): New variable.
52283633
SM
11172 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11173 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11174 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11175 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11176 with TODO comment.
11177 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11178 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11179 Define Vw32_charset_info_alist and w32_charset symbols.
11180
111812000-03-22 Jason Rumney <jasonr@gnu.org>
11182
11183 * makefile.nt (w32bdf.obj): Update dependencies.
11184
11185 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11186
11187 * w32fns.c: Include fontset.h after dispextern.h.
11188 (Fx_create_frame): Do not create fontset.
11189 (w32_load_system_font): Doc fix.
11190 (Fx_close_connection): Free full_name if it is not shared.
11191
11192 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11193 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11194 Callers updated.
ff4df011
JR
11195 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11196 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11197 (w32_font_is_double_byte): New function, needs body.
11198 (x_append_glyph): Set glyph->glyph_not_available_p.
11199 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11200 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11201 character, convert it to a unibyte character.
11202 (struct glyph_string): Delete member `charset'.
11203 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11204 calculating it is found.
11205 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11206 the case that per char metric is not available correctly.
11207 (x_fill_glyph_string): Handle the case that the specific glyph is
11208 not available correctly.
11209 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11210 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11211 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11212 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11213 fontset. Don't call FS_LOAD_FONT.
11214
439d5cb4
KR
112152000-03-22 Ken Raeburn <raeburn@gnu.org>
11216
11217 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11218 (INT_LISPLIKE): New macro.
11219 (NULL_INTERVAL_P): Use it.
52283633
SM
11220 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11221 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11222 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11223
11224 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11225 explicit references to "parent" field of struct interval and
11226 associated unclean type conversions.
52283633
SM
11227 * intervals.c (create_root_interval, root_interval, rotate_right)
11228 (rotate_left, balance_possible_root_interval, split_interval_right)
11229 (split_interval_left, interval_start_pos, find_interval)
11230 (next_interval, previous_interval, update_interval)
11231 (adjust_intervals_for_insertion, delete_node, delete_interval)
11232 (adjust_intervals_for_deletion, merge_interval_right)
11233 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11234 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11235 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11236 Likewise.
11237 * syntax.c (update_syntax_table): Likewise.
11238
11239 * intervals.c (reproduce_tree_obj): New function, like
11240 reproduce_tree but takes a Lisp_Object for the parent. Declare
11241 with prototype.
11242 (graft_intervals_into_buffer): Use it when appropriate.
11243 (reproduce_tree): Declare with prototype.
11244 (balance_possible_root_interval): Check that the parent is a lisp
11245 object before trying to examine its type.
11246
ee1c5b21
GM
112472000-03-22 Gerd Moellmann <gerd@gnu.org>
11248
11249 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11250 as strings only if both are known to be strings.
11251
11252 * s/openbsd.h (LIBS_TERMCAP): Undef.
11253
1fb352e0
SM
112542000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11255
11256 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11257 definitions for non-Emacs compilation.
11258 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11259 outside of `#ifdef emacs'.
11260 (print_partial_compiled_pattern): Update.
11261 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11262 (re_compile_fastmap): Merge handling of charset and charset_not (for
11263 emacs and non-emacs compilation as well).
11264 Similarly for (not)categoryspec and (not)syntaxspec.
11265 Don't use the fastmap when reaching `anychar' since the added
11266 complexity is not justified.
11267 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11268 and (not)syntaxspec. Merge (not)categoryspec.
11269
fdaa1f77
KH
112702000-03-22 Kenichi Handa <handa@etl.go.jp>
11271
52283633
SM
11272 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11273 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11274 --without-x.
fdaa1f77 11275
d152fb46
DL
112762000-03-21 Dave Love <fx@gnu.org>
11277
11278 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11279 doc string.
11280
d2cafc8c
GM
112812000-03-21 Gerd Moellmann <gerd@gnu.org>
11282
11283 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11284 (lface_fully_specified_p): Don't check contents of
11285 LFACE_FONT_INDEX because that attribute is optional.
11286 (realize_x_face): Remove now unwarranted xassert.
11287
9111d4b5
KH
112882000-03-21 Kenichi HANDA <handa@etl.go.jp>
11289
11290 The following changes are to make font selection based on
11291 characters, not charset. In addition, they recover fontset
11292 facilities while utilizing the new font selection mechanism.
11293
6c4bfdc0
KH
11294 * Makefile.in (fontset.o): Depend on dispextern.h.
11295
11296 * alloc.c (mark_face_cache): Don't mark face->registry.
11297
9111d4b5
KH
11298 * dispextern.h (struct glyph): New member glyph_not_available_p.
11299 Use 22 bits for face_id.
11300 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11301 (struct face): Delete member registry, new member ascii_face.
11302 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11303 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11304 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11305 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11306
11307 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11308 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11309 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11310 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11311 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11312 (fs_free_face_fontset, fontset_font_pattern)
11313 (face_suitable_for_char_p, face_for_char)
11314 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11315 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11316 (FS_LOAD_FACE_FONT): New macro.
11317
11318 * fontset.c: All codes rewritten or adjusted for the change of
11319 fontset implementation. Now fontset is represented by char table.
52283633
SM
11320 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11321 Variables removed.
9111d4b5 11322 (my_strcasecmp): Function removed.
52283633 11323 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11324 (AREF, ASIZE): New macros.
52283633
SM
11325 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11326 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11327 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11328 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11329 (fontset_id_valid_p, font_family_registry, fontset_name)
11330 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11331 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11332 New functions.
11333 (fs_load_font): New arg FACE. Caller changed.
11334 (fs_query_fontset): Argument changed. Caller changed.
11335 (Fquery_fontset): call fs_query_fontset.
11336 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11337 Functions removed.
52283633
SM
11338 (clear_fontset_elements, check_registry_encoding)
11339 (check_fontset_name): New functions.
9111d4b5
KH
11340 (syms_of_fontset): Set char-table-extra-slots property of fontset
11341 to 3. Staticpro and initialize Vfontset_table and
11342 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11343
11344 * frame.h (struct frame): Member `fontset_data' removed.
11345 (FRAME_FONTSET_DATA): Macro removed.
11346
11347 * frame.c (make_frame): Don't allocate f->fontset_data.
11348 (Fdelete_frame): Don't free f->fontset_data.
11349
6c4bfdc0
KH
11350 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11351
9111d4b5
KH
11352 * xdisp.c (charset_at_position): Function removed.
11353 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11354 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11355 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11356 Likewise.
11357 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11358 FACE_FOR_CHARSET.
52283633
SM
11359 (get_next_display_element, append_space)
11360 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11361
11362 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11363 Variables removed.
11364 (clear_font_table, frame_update_line_height, load_face_font):
11365 Adjusted for the change of fontset implementation.
11366 (load_face_fontset_font): Function removed.
11367 (pixel_point_size): New function.
11368 (font_list): Argument type changed. Caller changed.
11369 (LFACE_FONT): New macro.
11370 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11371 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11372 Lisp_Object. Determine the font name by actually loading a font
11373 by the specified pattern. Set LFACE_FONT (lface) to the specified
11374 pattern. Even if a font is not found, don't try alternatives.
11375 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11376 (set_font_frame_param): If `font' is specified in lface, use it.
11377 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11378 (lface_same_font_attributes_p): Likewise.
11379 (make_realized_face): Arguent changed. Caller changed. Set
11380 face->ascii_face to face itself.
11381 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11382 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11383 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11384 (free_realized_multibyte_face): New function.
11385 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11386 changed. Caller changed.
11387 (try_font_list): Argument type changed.
11388 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11389 (choose_face_font): Argument changed. Handle fontset properly.
11390 (choose_face_fontset_font): Function removed.
11391 (realize_default_face, realize_named_face): Don't remove the
11392 former face here.
11393 (realize_face): Argument changed. Caller changed. Remove face
52283633 11394 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11395 (realize_x_face): Argument changed. Caller changed. For a
11396 multibyte character, share fontset with base_face. For a single
52283633 11397 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11398 (realize_tty_face): Argument changed. Caller changed.
11399 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11400 (face_at_buffer_position): Don't check multibyte_p for returning
11401 DEFAULT_FACE_ID.
11402 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11403 FACE_SUITABLE_FOR_CHARSET_P.
11404 (syms_of_xfaces): Remove code for Qx_charset_registry and
11405 Vface_default_registry.
11406
6c4bfdc0
KH
11407 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11408 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11409 (x_per_char_metric): Don't try FONT->default_char. Even if
11410 pcm->width is zero, glyph bits may exist.
11411 (x_encode_char): Always initialize char2b->byte1.
11412 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11413 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11414 (x_append_glyph): Set glyph->glyph_not_available_p.
11415 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11416 it->charset. Handle the case that per char metric is not
11417 available. If it->multibyte_p is zero and it->c is a multibyte
11418 character, convert it to a unibyte character.
11419 (struct glyph_string): Delete member `charset'.
11420 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11421 the case that per char metric is not available correctly.
11422 (x_fill_glyph_string): Handle the case that the specific glyph is
11423 not available correctly.
11424 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11425 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11426 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11427 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11428 fontset. Don't call FS_LOAD_FONT.
11429
11430 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11431 (x_create_tip_frame): Likewise.
11432 (Fx_close_connection): Free full_name of font_info.
11433
11434 * fns.c (optimize_sub_char_table): New function.
11435 (Foptimize_char_table): New function.
11436 (syms_of_fns): Defsubr Soptimize_char_table.
11437
b33dd3b0
GM
114382000-03-20 Gerd Moellmann <gerd@gnu.org>
11439
11440 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11441 only if buffer is displayed in some window.
11442
11443 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11444 (try_window_reusing_current_matrix): Don't call scroll run
11445 function if run's current and desired position are the same;
11446 this prevents cursor flickering.
11447
4e8a9132
SM
114482000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11449
11450 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11451
11452 * regex.c (RE_STRING_CHAR): New macro.
11453 (GET_CHAR_AFER_2): Remove.
11454 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11455 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11456 (print_partial_compiled_pattern, re_compile_fastmap)
11457 (re_match_2_internal): Remove on_failure_jump_exclusive.
11458 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11459 optimization only need to work for * (ie. can use of_keep_string_jump).
11460 Remove the special case for .*\n since it is now covered by the general
11461 optimization.
11462 (re_search_2): Don't bother with `room'.
11463 (skip_one_char): New function.
11464 (skip_noops): Simplify since `memory' is not needed any more.
11465 (mutually_exclusive_p): Restructure slightly to use `switch' and
11466 add handling for "all" remaining cases.
11467 (re_match_2_internal): Change on_failure_jump_smart to use
11468 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11469 rather than on_failure_jump_exclusive.
11470
2136fdd4
GM
114712000-03-19 Gerd Moellmann <gerd@gnu.org>
11472
11473 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11474 number of bits per RGB because it's everywhere used as the depth
11475 of the visual.
11476
11477 * term.c (calculate_costs): Remove code dealing with X frames.
11478
18e21ce8 114792000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11480
11481 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11482
d7b511c4
GM
114832000-03-18 Gerd Moellmann <gerd@gnu.org>
11484
11485 * lread.c (read_integer): Unread the last char not consumed.
11486
16b5d424
GM
114872000-03-17 Gerd Moellmann <gerd@gnu.org>
11488
11489 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11490 which are in the process of being deleted.
16b5d424 11491
1fa28578
GM
114922000-03-16 Gerd Moellmann <gerd@gnu.org>
11493
83488cce
GM
11494 * Makefile.in (mostlyclean): Add `*.core'.
11495 (clean): Add `bootstrap-emacs'.
11496
1fa28578
GM
11497 * lread.c (read_integer): New function.
11498 (read1): Support read syntax #o, #x, #b, #r.
11499
99633e97
SM
115002000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11501
1fa28578
GM
11502 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11503 make sure POINTER_TO_OFFSET gives the same value before and after
11504 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11505 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11506 (debug): Now only active if > 0 rather than if != 0.
11507 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11508 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11509 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11510 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11511 (store_op1, store_op2, insert_op1, insert_op2)
11512 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11513 (group_in_compile_stack): Move to after its arg's types are
11514 declared and add a prototype.
99633e97 11515 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11516 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11517 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11518 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11519 indentation of the greedy-op and shy-group code.
99633e97
SM
11520 (at_(beg|end)line_loc_p): Fix argument's types.
11521 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11522 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11523 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11524 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11525 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11526 QUIT unconditionally.
99633e97 11527
699238d9
GM
115282000-03-15 Gerd Moellmann <gerd@gnu.org>
11529
11530 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11531 a sole completion.
11532
11533 * process.c (send_process): Add a hint that the function
11534 can call Lisp code to its comment.
11535
11536 * lread.c (load_dangerous_libraries): New variable.
11537 (Vbytecomp_version_regexp): New variable.
11538 (safe_to_load_p): New function.
11539 (Fload): Handle files not compiled with Emacs specially.
11540 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11541
34e23e5a
GM
115422000-03-14 Gerd Moellmann <gerd@gnu.org>
11543
9c763cca
GM
11544 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11545
11546 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11547 support functions only if HAVE_X11R6_XIM is defined.
11548 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11549
11550 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11551
11552 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11553 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11554 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11555
11556 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11557 (HAVE_X11R6_XIM): Define.
11558
11559 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11560
34e23e5a
GM
11561 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11562 If set, call XSynchronize.
11563
66f0296e
SM
115642000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11565
34e23e5a
GM
11566 * regex.c: Declare a new type `re_char' used throughout the code
11567 for the string char type. It's `const unsigned char' to match the
11568 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11569 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11570 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11571 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11572 code duplication.
66f0296e
SM
11573
11574 * charset.h (GET_CHAR_AFTER_2): Remove.
11575 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11576
854a025c
KR
115772000-03-12 Ken Raeburn <raeburn@gnu.org>
11578
11579 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11580 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11581 of them try to use backquotes.
11582
b9d2c7e2
DL
115832000-03-12 Dave Love <fx@gnu.org>
11584
11585 * unexelf.c: Restore changes of 1999-10-19.
11586 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11587 fix its type and alignment; copy it from current process.
11588
5e5dff44
GM
115892000-03-12 Gerd Moellmann <gerd@gnu.org>
11590
9b2f3c38
GM
11591 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11592 has been found. Fix bug not computing timer's predecessor.
11593
427ec082 11594 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11595 file name.
11596
e1cff360
GM
11597 * window.c (Fsave_window_excursion): Doc fix.
11598
52283633 11599 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11600
e411ce4b
EZ
116012000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11602
11603 * msdos.c (vga_installed): New function, code moved from
11604 dos_set_window_size.
11605 (Qbar, Qcursor_type, outside_cursor): New variables.
11606 (syms_of_msdos): Intern and staticpro them.
11607 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11608 shape used outside Emacs when called for the first time.
11609 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11610 cursor shape used outside Emacs.
11611 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11612 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11613 type has changed.
11614 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11615 parameters specify the cursor. Make qreverse a global
11616 variable (renamed to Qreverse).
11617
80460654
GM
116182000-03-09 Gerd Moellmann <gerd@gnu.org>
11619
11620 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11621
95cd4c40
SM
116222000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11623
11624 This is a big redesign of failure-stack and register handling, prompted
11625 by bugs revealed when trying to add shy-groups. Overall, what happened
11626 is that loops are now structured a little differently, groups can be
11627 shy and the code is a little simpler.
11628
11629 * regex.h: Update the copyright.
11630 (RE_SHY_GROUPS): New value.
11631 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11632 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11633
80460654
GM
11634 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11635 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11636 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11637 for (start|stop)_memory since they now only take one argument (the
11638 second has becomes unnecessary).
52283633 11639 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11640 (print_compiled_pattern): Use %ld to printf long ints and flush to
11641 make debugging a little easier.
95cd4c40
SM
11642 (union fail_stack_elt): Make the integer unsigned.
11643 (struct fail_stack_type): Add a `frame' element.
11644 (INIT_FAIL_STACK): Init `frame' as well.
11645 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11646 (DEBUG_PUSH, DEBUG_POP): Remove.
11647 (NUM_REG_ITEMS): Remove.
11648 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11649 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11650 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11651 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11652 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11653 New macros.
80460654
GM
11654 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11655 address pushed is not the destination of the jump but the source
11656 of it instead.
95cd4c40
SM
11657 (NUM_FAILURE_ITEMS): Remove.
11658 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11659 registers before the actual failure point). Don't hardcode any
11660 meaning for str==NULL anymore.
95cd4c40 11661 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11662 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11663 Remove.
95cd4c40
SM
11664 (REG_UNSET_VALUE): Use NULL (why not?).
11665 (compile_range): Remove declaration since it doesn't exist.
11666 (struct compile_stack_elt_t): Remove inner_group_offset.
11667 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11668 (regex_grow_registers): Remove dead code.
11669 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11670 (regex_compile): Add shy-groups Change loops to use
11671 on_failure_jump_smart&jump instead of
11672 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11673 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11674 variable to me). Use `jump' instead of `jump_past_alt' and don't
11675 bother with push_dummy_failure in alternatives since it is now
11676 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11677 emacs' for (re)allocating the stack.
11678 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11679 from loop when bufp->can_be_null rather than jumping to `done'.
11680 Avoid jumping backwards so as to ensure termination. Use
11681 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11682 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11683 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11684 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11685 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11686 (lowest_active_reg, highest_active_reg)
11687 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11688 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11689 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11690 variables. Push register (in `start_memory') on the stack rather
11691 than storing it in old_reg(start|end). Remove the cycle detection
11692 from `stop_memory', replaced by the use of on_failure_jump_loop
11693 for greedy loops. Add code for the new on_failure_jump_<foo>.
11694 Remove ad-hoc code in `on_failure_jump' to push more registers in
11695 the case of a loop. Take out code from `maybe_pop_jump' into
11696 separate functions and adapt it to the semantics of
11697 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11698 and push_dummy_failure. Remove dummy_failure handling and
11699 handling of `failures to jump to on_failure_jump' (this last one
11700 was already dead code, it seems).
11701 (group_match_null_string_p, alt_match_null_string_p)
11702 (common_op_match_null_string_p): Remove.
95cd4c40 11703
7397acc4
DL
117042000-03-08 Dave Love <fx@gnu.org>
11705
11706 * config.in: Don't depend on __STDC__ for volatile.
11707 Add POINTER_TYPE, PTR, PROTOTYPES.
11708
11709 * hftctl.c, strftime.c: Use PROTOTYPES.
11710 * eval.c (find_handler_clause): Likewise.
11711
11712 * mem-limits.h: Use POINTER_TYPE.
11713
11714 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11715 (memory_warnings): Declare using POINTER_TYPE.
11716
5e91ff9e
GM
117172000-03-08 Gerd Moellmann <gerd@gnu.org>
11718
feab4fba
GM
11719 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11720
52283633 11721 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11722
5e91ff9e
GM
11723 * xfns.c: Remove obsolete code in #if 0.
11724 (Fx_focus_frame): New function.
11725
a735b7e1
KH
117262000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11727
11728 * coding.c (coding_category_name): Add coding-category-utf-8,
11729 coding-category-utf-16-be, coding-category-utf-16-le.
11730 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11731 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11732 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11733 (detect_coding_utf_8): New function.
11734 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11735 UTF_16_LOW_SURROGATE_P): New macros.
11736 (detect_coding_utf_16): New function
11737 (detect_coding_mask): When priorities are specified, skip any
11738 categories that have `nil' coding-system. Fix bug of returning
11739 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11740 returns a mask not set in PRIORITIES.
11741 (detect_eol_type_in_2_octet_form): New function.
11742 (detect_eol): selects detect_eol_type_XXX to call according to
11743 cooding->category_idx.
11744 (detect_coding_system): Remove `nil' coding-system in the result.
11745 (Fupdate_coding_systems_internal): Update all coding-categories.
11746
52283633
SM
11747 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11748 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11749 New macros.
11750 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11751 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11752 (CODING_CATEGORY_IDX_UTF_16_LE)
11753 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11754 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11755 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11756 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11757
9994cc69
GM
117582000-03-07 Gerd Moellmann <gerd@gnu.org>
11759
e9b4e5ff
GM
11760 * doc.c (Fdocumentation_property): If value is not a string,
11761 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11762
f7daf1e1
GM
11763 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11764 close the display with XtCloseDisplay. This caused a bus error
11765 on OpenWindows.
11766
9994cc69
GM
11767 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11768 complete but not unique.
11769
4336c705
GM
117702000-03-06 Gerd Moellmann <gerd@gnu.org>
11771
18bb0684
GM
11772 * process.c (send_process): Remove local variable `procname' that
11773 might become invalid when a GC happens. Instead, access the
11774 process name slot directly.
11775
4336c705
GM
11776 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11777 orig_height if set.
11778
11779 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11780 orig_height if set.
11781
515d0d0e
EZ
117822000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11783
11784 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11785 glyph matrices have been freed.
11786
100b3cbb
GM
117872000-03-05 Gerd Moellmann <gerd@gnu.org>
11788
50df5e5a 11789 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11790 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11791
11792 * xfns.c (QCdata): Moved to xdisp.c.
11793
11794 * xdisp.c (QCdata): Moved here from xfns.c.
11795 (syms_of_xdisp): Initialize QCdata.
11796
11797 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11798
11799 * window.c (coordinates_in_window): Use
11800 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11801 FRAME_INTERNAL_BORDER_WIDTH.
11802
100b3cbb 11803 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11804 it is obviously invalid.
100b3cbb
GM
11805
11806 * xterm.c (x_term_init): Create a colormap if not using the
11807 default visual.
11808
11809 * xterm.h (select_visual): Change prototype.
11810
11811 * xfns.c (select_visual): Rewritten. Recognize user-specified
11812 visual classes.
11813 (visual_classes): New variable.
11814
64d739c4
GM
118152000-03-04 Gerd Moellmann <gerd@gnu.org>
11816
11817 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11818 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11819 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11820 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11821 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11822 XtNcolormap resources.
11823 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11824 (Fx_create_frame): Initialize color members of x_output structure.
11825 (xpm_load): Pass colormap to XPM lib.
11826
11827 * xfaces.c (x_free_colors): Access colormap of frame using
11828 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11829 when default colormap is used.
11830
11831 * xterm.c (x_term_init): Set Colormap member of x_display_info
11832 structure. Copy colormap if resource `privateColormap' is
11833 specified (PseudoColor only).
11834 (x_setup_relief_color): Access colormap of frame using
11835 FRAME_X_COLORMAP.
11836
11837 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11838 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11839
c3cee013
JR
118402000-03-04 Jason Rumney <jasonr@gnu.org>
11841
11842 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11843 other non-platform-specific equivalents.
64d739c4 11844 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11845 specific functions and macros as their w32 equivalents where
11846 non-platform-specifics are not available.
11847 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11848 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11849 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11850 (frame_update_line_height): Use macros to access f->output_data.
11851 (defined_color): Remove FIXME comments; fixed.
11852 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11853 into #ifdef blocks. Add WINDOWSNT blocks.
11854 (Fx_list_fonts): Use macros for accessing font data.
11855 (set_lface_from_font_name): Different default fonts for X and
11856 WINDOWSNT.
11857 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11858 scalable for backward compatibility.
64d739c4 11859 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11860 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11861
64d739c4 11862 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11863 syms_of_w32faces.
11864
11865 * makefile.nt (w32faces.obj): Remove.
11866 (xfaces.obj): Add.
11867
807cc41c
JR
118682000-03-03 Jason Rumney <jasonr@gnu.org>
11869
11870 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11871 correct parameters.
11872
0007072a
KR
118732000-03-03 Ken Raeburn <raeburn@gnu.org>
11874
11875 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11876 standard ELF definitions here if the system header does not.
11877
71a6ba55
GM
118782000-03-03 Gerd Moellmann <gerd@gnu.org>
11879
11880 * xterm.c (PER_CHAR_METRIC): Removed.
11881 (x_per_char_metric_1, x_default_char): New functions.
11882 (x_per_char_metric): If font's default char is invalid, return
11883 metrics of a suitably chosen usable default char.
11884 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11885 char, replace occurrences of unprintable chars with a suitably
11886 chosen usable default char.
71a6ba55 11887
900fa1f1
GM
118882000-03-02 Gerd Moellmann <gerd@gnu.org>
11889
42f55fe0
GM
11890 * xterm.c (note_mouse_highlight): Return quickly if frame's
11891 glyph matrices have been freed.
11892
11893 * dispnew.c (free_glyphs): Block input while freeing matrices.
11894
900fa1f1
GM
11895 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11896
52283633
SM
11897 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11898 Use x_free_colors.
900fa1f1
GM
11899
11900 * dispextern.h (x_free_colors): Add prototype.
11901
11902 * xfaces.c (x_free_colors): New function.
11903 (unload_color, free_face_colors): Use it.
11904
2f950292
EZ
119052000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11906
11907 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11908
11909 * window.c [MSDOS]: Include msdos.h.
11910
54d04320
DL
119112000-03-02 Dave Love <fx@gnu.org>
11912
11913 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11914
11915 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11916 set C_OPTIMIZE_SWITCH for gcc.
11917
0ba93ac4
KH
119182000-03-02 Kenichi Handa <handa@etl.go.jp>
11919
11920 * coding.c (coding_save_composition): Be sure to allocate
11921 composition data area in coding even if there's no composition in
11922 the current run.
11923
a2bc11d4
JR
119242000-03-01 Jason Rumney <jasonr@gnu.org>
11925
11926 * w32term.c: Equivalent changes to those made to xterm.c on
11927 2000-02-25 and 2000-02-24.
11928
11929 * w32fns.c: Equivalent changes to those made to xfns.c on
11930 2000-02-25 and 2000-02-21.
11931
11932 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11933 correct line-end convention is followed.
11934
11935 * w32menu.c [HAVE_BOXES]: Remove #undef.
11936 (single_keymap_panes): Remove code for simulating checkmarks.
11937 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11938 Remove code for drawing simulated checkmarks.
11939 (w32_menu_show): make unibyte help string correctly.
11940 (add_menu_item): draw standard Windows checkmarks. Draw radio
11941 buttons as radio buttons if possible.
11942
72d19d75
GM
119432000-03-01 Gerd Moellmann <gerd@gnu.org>
11944
2df636f4
GM
11945 * sysdep.c (start_of_text): Don't define this function for NetBSD
11946 with ELF.
11947
427ec082 11948 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11949 Don't define.
11950 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11951 (LINKER): Don't undef if __NetBSD__ is defined.
11952
11953 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11954
11955 * fileio.c [__NetBSD__]: Define `unix'.
11956
72d19d75
GM
11957 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11958
ed4d0512
GM
119592000-02-29 Gerd Moellmann <gerd@gnu.org>
11960
50b1039f
GM
11961 * atimer.c (start_atimer): Don't abort when timers are stopped.
11962 (append_atimer_lists): New function.
11963 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11964 arbitrary lists of stopped and running atimers.
11965
ed4d0512
GM
11966 * atimer.c (cancel_atimer): Handle canceling an atimer when
11967 some timers are stopped.
11968
11969 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11970 after canceling it.
11971
11972 * fns.c (maybe_resize_hash_table): Handle case of new size
11973 coming out as being the same as old size.
11974
387023ee
JR
119752000-02-27 Jason Rumney <jasonr@gnu.org>
11976
11977 * makefile.nt: Add atimer.h to dependencies.
11978 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11979 * w32console.c: Only disable window system features for dispextern.h
11980 (initialize_w32_display): Build a display info for the console.
11981 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11982 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11983 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11984 as 2 button mice.
11985 * w32gui.h (struct W32FontStruct): Revert last change after change
11986 to xdisp.c.
11987 * w32menu.c (single_submenu): Set up help string.
11988 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11989 (w32_dialog_show): Set up help string.
11990 * w32term.c (w32_display_info_for_display): Remove unused function.
11991 (w32_draw_bitmap): Use pre-built bitmaps.
11992 (w32_initialize_display_info): New function to initialize parts of
11993 display info that are common to both GUI and console frames.
11994 (w32_term_init): Use w32_initialize_display_info. Do not set
11995 Vw32_num_mouse_buttons here, as it is not called for console
11996 frames. Build bitmaps for indicating truncated lines etc.
11997 (x_delete_display): Destroy pre-built bitmaps.
11998 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11999 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12000
4516715a
DL
120012000-02-27 Dave Love <fx@gnu.org>
12002
12003 * lisp.h: Add a bunch of prototypes.
12004
171ca836
KH
120052000-02-26 Kenichi Handa <handa@etl.go.jp>
12006
12007 * keyboard.c (read_char): Set `usec' correctly.
12008
4013921d
KH
120092000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12010
12011 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12012 `lambda', set reg[RRR] to the map index.
12013 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12014 reg[RRR] to 0. Otherwise, set it to -1.
12015
9244a058
GM
120162000-02-25 Gerd Moellmann <gerd@gnu.org>
12017
2df636f4 12018 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12019
18e21ce8 120202000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12021
f43d79c1
GM
12022 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12023 and contains a `:', prepend `/:'.
12024
12025 * window.c (select_window_1): If selected_window is nil,
12026 don't "swap out" the buffer's point.
12027 (Fset_window_configuration): Set selected_window to nil
12028 before calling Fselect_window.
12029 (unshow_buffer): Don't set point in buffer from window's point
12030 if another more recently selected window also shows the buffer.
12031
bed0c171
GM
120322000-02-25 Gerd Moellmann <gerd@gnu.org>
12033
449c3c52
GM
12034 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12035
f5b58615
GM
12036 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12037 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12038 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12039 New variables.
f5b58615
GM
12040 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12041 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12042 (hide_busy_cursor): New functions.
12043 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12044
12045 * minibuf.c (read_minibuf): Cancel busy-cursor.
12046
12047 * keyboard.c (command_loop_1): Call start_busy_cursor before
12048 Fcommand_execute and cancel_busy_cursor after it.
12049 (timer_check): Remove busy-cursor code.
12050 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12051 cursor timer.
12052
12053 * process.c (wait_reading_process_input): Remove busy-cursor code.
12054
12055 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12056 Fx_hide_busy_cursor.
12057
12058 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12059 Remove prototyoes.
12060 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12061
12062 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12063
12064 * xterm.c (XTread_socket): Remove busy-cursor code.
12065
4eb8436f
GM
12066 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12067 (build_frame_matrix_from_leaf_window): Put code handling
12068 glyph row's not being a slice of a frame row in #if 0.
12069 (sync_window_with_frame_matrix_rows): New function.
12070 (frame_row_to_window): New function.
12071 (mirror_line_dance): Handle copies between windows.
12072
3cb65b0e
GM
12073 * lread.c (Fload): Use `xfree' instead of `free'.
12074 (init_obarray): Use `xmalloc' instead of `malloc'.
12075
bed0c171
GM
12076 * window.c (Fset_window_buffer): Set WINDOW to the window
12077 after decoding.
2add4349
GM
12078 (coordinates_in_window): Take frame's internal border width
12079 into account.
bed0c171 12080
42088c12
GM
120812000-02-24 Gerd Moellmann <gerd@gnu.org>
12082
12083 * xterm.c (x_display_and_set_cursor): Display cursor of
12084 non-selected windows depending on the setting of
12085 cursor_in_non_selected_windows.
12086
12087 * xdisp.c (cursor_in_non_selected_windows): New variable.
12088 (syms_of_xdisp): DEFVAR_BOOL it.
12089
d1e103b2
GM
120902000-02-23 Gerd Moellmann <gerd@gnu.org>
12091
723e779c
GM
12092 * data.c (Fstring_to_number): If number is greater than what
12093 fits into an integer, return a float.
12094
d1e103b2
GM
12095 * eval.c (specbind): Remove references to
12096 keyword_symbols_constant_flag.
12097
12098 * data.c (keyword_symbols_constant_flag): Removed.
12099 (Fmakunbound, set_internal, syms_of_data): Remove references to
12100 keyword_symbols_constant_flag.
12101
12102 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12103
214f877f
KH
121042000-02-23 Kenichi Handa <handa@etl.go.jp>
12105
12106 * syntax.c (multibyte_syntax_as_symbol): New variable.
12107 (syms_of_syntax): Declare it as a Lisp variable.
12108 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12109 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12110 nonzero, treat all multibyte characters as symbol.
52283633 12111 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12112
130adcb7
EZ
121132000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12114
3cb65b0e 12115 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12116 a deleted frame.
130adcb7 12117
17cbbf95
GM
121182000-02-21 Gerd Moellmann <gerd@gnu.org>
12119
12120 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12121
12122 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12123 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12124
beb0bc36
DL
121252000-02-21 Dave Love <fx@gnu.org>
12126
12127 * frame.c (Vmouse_position_function): New variable.
12128 (Fmouse_position): Use it.
12129 (syms_of_frame): Install it.
12130
12131 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12132
1d92afcd
GM
121332000-02-20 Gerd Moellmann <gerd@gnu.org>
12134
12135 * fileio.c (Finsert_file_contents): Unbind the binding of
12136 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12137
12138 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12139 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12140 (specbind, unbind_to): Handle most common case of non-constant
12141 symbol with trivial value specially.
12142
12143 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12144
18e21ce8 121452000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12146
12147 * data.c (Fmake_variable_buffer_local): Doc fix.
12148 Init found_for_buffer to 0.
12149 (Fmake_variable_frame_local): If the variable has already
12150 been buffer-local, set the check_frame field.
12151
1d4311c3
EZ
121522000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12153
12154 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12155 produced for CODING_MODE_LAST_BLOCK requires.
12156
2dc95ddd
DL
121572000-02-18 Dave Love <fx@gnu.org>
12158
12159 * keyboard.c (echo_keystrokes): Remove declaration.
12160 (Vecho_keystrokes) New variable.
12161 (read_char, record_menu_key, read_key_sequence): Use it to allow
12162 use of float value.
12163 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12164
12165 * lread.c: Undef feature selection macros before defining.
12166
f0930f35
GM
121672000-02-18 Gerd Moellmann <gerd@gnu.org>
12168
12169 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12170 for symbols other than the symbol in question.
12171
e3d4de90
DL
121722000-02-17 Dave Love <fx@gnu.org>
12173
12174 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12175
0b378936
GM
121762000-02-17 Gerd Moellmann <gerd@gnu.org>
12177
d621caf7
GM
12178 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12179
0b378936
GM
12180 * alloc.c (enum mem_type): Compile unconditionally.
12181
3b451f74
EZ
121822000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12183
12184 * xfaces.c (tty_defined_color): Don't return faulire indication
12185 for unspecified-fg and unspecified-bg pseudo-colors.
12186
10689a01
GM
121872000-02-17 Gerd Moellmann <gerd@gnu.org>
12188
1216f5e4
GM
12189 * alloc.c (mark_object): Don't mark symbol names in pure space.
12190 (gc_sweep): Don't unmark symbol names in pure space.
12191
12192 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12193 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12194 [GC_MARK_STACK]: New defines.
427ec082 12195 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12196 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12197
12198 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12199
12200 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12201 allocate_buffer instead of xmalloc.
12202
12203 * alloc.c (toplevel): Include setjmp.h.
12204 (PURE_POINTER_P): New define.
12205 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12206 (Vdead) [GC_MARK_STACK]: New variable.
12207 (lisp_malloc): Add parameter TYPE, call mem_insert if
12208 GC_MARK_STACK is defined.
12209 (allocate_buffer): New function.
427ec082 12210 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12211 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12212 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12213 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12214 (MEM_NIL) [GC_MARK_STACK]: New define.
12215 (struct mem_node) [GC_MARK_STACK]: New structure.
12216 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12217 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12218 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12219 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12220 (mark_stack) [GC_MARK_STACK]: New functions.
12221 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12222 (clear_marks): Removed.
12223 (gc_sweep): Set free conses' car, free floats' type, free
12224 symbols' function to Vdead. Use lisp_free to free buffers.
12225 (init_alloc_once): Initialize Vdead.
12226 (survives_gc_p): Return non-zero for pure objects.
12227
12228 * alloc.c: Add comments throughout the file.
12229
2503c8b1
GM
12230 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12231 that unblocks alarms.
12232
8389e1e2
GM
12233 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12234 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12235 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12236
10689a01 12237 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12238
bfc17d18
KH
122392000-02-17 Kenichi Handa <handa@etl.go.jp>
12240
4a09dee0
KH
12241 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12242 avoid infinite error signaling. Allocate sufficient memory for
12243 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12244
2b927d02
SM
122452000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12246
12247 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12248 depends on the previous behavior.
12249
b49cb764
GM
122502000-02-16 Gerd Moellmann <gerd@gnu.org>
12251
12252 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12253
99e95407
GM
122542000-02-15 Gerd Moellmann <gerd@gnu.org>
12255
12256 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12257
12258 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12259 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12260 write(2).
12261
6ffd3cf7
RS
122622000-02-15 Richard M. Stallman <rms@gnu.org>
12263
12264 * data.c (set_internal): Don't make variable buffer-local
12265 if within a let-binding for the same buffer.
12266 (let_shadows_buffer_binding_p): New function.
12267
12268 * eval.c (specbind): For buffer-local value,
12269 record the current buffer also.
12270 (unbind_to): Cope with that change.
12271
cad53475
GM
122722000-02-15 Gerd Moellmann <gerd@gnu.org>
12273
12274 * window.c (Fsave_window_excursion): Doc fix.
12275
1aa963c8
SM
122762000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12277
12278 * syntax.c (back_comment): Make sure we only consider comment-starters
12279 of the relevant style and return -1 in case of a failure to find the
12280 beginning of the comment.
12281 (Fforward_comment): If back_comment fails, go back to the position just
12282 after the comment-end.
12283 (scan_lists): Add comment describing a very minor bug.
12284
b9b84fd3
SM
122852000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12286
12287 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12288 `completion-regexp-list' in the docstring.
12289
3a28db80
DL
122902000-02-14 Dave Love <fx@gnu.org>
12291
12292 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12293
fb4a568d
SM
122942000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12295
12296 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12297 to Emacs' syntax. Also fix the comment about set/not-set meanings
12298 since Emacs syntax is not the value 0 any more.
12299 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12300 since it's now part of RE_SYNTAX_EMACS.
12301
1063ebb5
DL
123022000-02-12 Dave Love <fx@gnu.org>
12303
52283633 12304 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12305
fb07a302
GM
123062000-02-12 Gerd Moellmann <gerd@gnu.org>
12307
12308 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12309
aaf2320c
DL
123102000-02-12 Dave Love <fx@gnu.org>
12311
12312 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12313
12314 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12315 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12316 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12317
12318 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12319
12320 * s/nextstep.h: Don't define HAVE_ALLOCA.
12321
12322 * config.in: Add vfork bits.
12323
eedf8bde
GM
123242000-02-12 Gerd Moellmann <gerd@gnu.org>
12325
12326 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12327 unwind function to undo the effect of stopping atimers.
12328
52283633 12329 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12330
12331 * atimer.c (stopped_atimers): New variable.
12332 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12333 New functions.
12334
12335 * atimer.h (stop_other_atimers, run_all_atimers)
12336 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12337
eedf8bde
GM
12338 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12339
8476c2f8
KR
123402000-02-11 Ken Raeburn <raeburn@gnu.org>
12341
12342 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12343 library may depend on jpeg.
12344 (atimer.o): Depends on atimer.c.
12345
0e85e4a3
KH
123462000-02-11 Kenichi Handa <handa@etl.go.jp>
12347
12348 * insdel.c (del_range_1): Call update_compositions.
12349 (del_range_both): Call update_compositions just once..
12350
97fa0cc8
DL
123512000-02-10 Dave Love <fx@gnu.org>
12352
12353 * xfns.c (create_frame_xic): Fix initialization of automatic
12354 aggregates for pcc.
12355
25566a3c
KH
123562000-02-09 Kenichi Handa <handa@etl.go.jp>
12357
12358 * ccl.c (CCL_MAKE_CHAR): New macro.
12359 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12360 registers by CCL_MAKE_CHAR before calling translate_char.
12361 <CCL_TranslateCharacterConstTbl> Likewise.
12362
69da54ba
DL
123632000-02-08 Dave Love <fx@gnu.org>
12364
12365 * lread.c (__EXTENSIONS__): Define.
12366
f7136ee8
GM
123672000-02-08 Gerd Moellmann <gerd@gnu.org>
12368
12369 * puresize.h (BASE_PURESIZE): Increase to 650000.
12370
7768790b
EZ
123712000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12372
12373 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12374 the help message.
12375
38fd211b
EZ
123762000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12377
12378 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12379 md, mh, mb, mr, and me to the fake termcap entry.
12380
66e4690f
KR
123812000-02-06 Ken Raeburn <raeburn@gnu.org>
12382
12383 * sound.c (sound_cleanup): Don't call device close routine if the
12384 function pointer is null.
12385
a75dfea0
AI
123862000-02-06 Andrew Innes <andrewi@gnu.org>
12387
12388 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12389 around image definitions and prototypes.
12390 (gamma_correct) [WINDOWSNT]: New prototype.
12391
12392 * w32term.c (x_make_frame_visible): Replace call to
12393 input_poll_signal with poll_for_input.
12394
12395 * window.c [WINDOWSNT]: Include w32term.h.
12396
12397 * xdisp.c [WINDOWSNT]: Include w32term.h.
12398
12399 * makefile.nt: Add dependencies on w32gui.h.
12400 (OBJ1): Include atimer.obj.
12401 ($(BLD)\atimer.obj): New dependency rule.
12402
12403 * w32.c (sigmask): New function (does nothing).
12404 (sigunblock): Ditto.
12405
12406 * frame.c [WINDOWSNT]: Include w32term.h.
12407
12408 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12409
12410 * lread.c (syms_of_lread): Fix literal newlines.
12411
12412 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12413 the string constant limit (2048 bytes) in MSVC.
12414 (main): Ditto.
12415
59ddecde
GM
124162000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12417
52283633 12418 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12419 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12420 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12421 dispatch the event.
12422
07590973
DL
124232000-02-04 Dave Love <fx@gnu.org>
12424
12425 * fileio.c: Remove some unused vars.
12426 (_GNU_SOURCE): Define (for euidaccess).
12427
12428 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12429
12430 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12431 gcpro1, gcpro2.
12432 (read_minibuf): Deal with allow_props correctly.
12433
649351f9
EZ
124342000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12435
12436 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12437
66e4690f 124382000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12439
12440 * search.c (compile_pattern): If a cache entry has a nil regexp,
12441 fill in that entry instead of clobbering a previously cached
12442 string regexp.
12443
66e4690f 124442000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12445
12446 * puresize.h (BASE_PURESIZE): Increase to 610000.
12447
d240a249
GM
124482000-02-02 Gerd Moellmann <gerd@gnu.org>
12449
12450 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12451 can GC.
12452
ca91fb26
KH
124532000-02-02 Kenichi Handa <handa@etl.go.jp>
12454
25660570
KH
12455 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12456 instead of incrementing ic directly.
12457 <CCL_WriteExprConst> Likewise.
12458 <ccl_set_expr>: Set ic to jump_address.
12459
ca91fb26
KH
12460 * fileio.c (e_write): Fix the handling of
12461 CODING_FINISH_INSUFFICIENT_SRC.
12462
2ede9689
DL
124632000-02-01 Dave Love <fx@gnu.org>
12464
12465 * editfns.c (Fpropertize): Doc fix.
12466
12467 * process.c (Fstart_process): Doc fix.
12468
12469 * eval.c: Fix various doc strings not to duplicate information
12470 from help-manyarg-func-alist.
12471
52283633 12472 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12473
12474 * doc.c (Vhelp_manyarg_func_alist): New variable.
12475 (Fdocumentation): Use it.
12476 (syms_of_doc): Define it.
12477
b6680a0e
GM
124782000-01-31 Gerd Moellmann <gerd@gnu.org>
12479
2cb750ba
GM
12480 * xterm.c (xim_open_dpy): Remove unused local variable.
12481
52283633 12482 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12483
12484 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12485 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12486
b6680a0e
GM
12487 * fns.c (sweep_weak_table): New function.
12488 (sweep_weak_hash_tables): Use it. Keep on marking until there
12489 is no more change.
12490
994c5afe
GM
124912000-01-30 Gerd Moellmann <gerd@gnu.org>
12492
12493 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12494 that XTread_socket does not crash by trying to call XNoOp on a
12495 closed display.
427ec082 12496
f00276e3
JR
124972000-01-30 Jason Rumney <jasonr@gnu.org>
12498
12499 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12500 Change selected_frame to SELECTED_FRAME ().
12501 (w32_console_mouse_position): Remove #ifndef MULE from around
12502 `insist' parameter.
12503
12504 * makefile.nt: Remove dosfns.obj.
12505
12506 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12507
12508 * w32fns.c (w32_defined_color): Check for valid frame before
12509 applying gamma correction. Eliminate dependency on frame elsewhere.
12510 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12511 (w32_to_x_font): Use resx and resy not height_in and width_in.
12512 (x_to_w32_font): Doc fix.
12513 (xlfd_strip_height): New function to strip and return font height.
12514 (w32_font_match): Compare height separately from rest of xlfd
12515 spec, using xlfd_strip_height.
12516
12517 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12518 width_in. Use w32_defined_color in place of defined_color.
12519
12520 * w32faces.c: Merge more of DOS and X specifics in preparation for
12521 merge with xfaces.c.
12522 (defined_color): Remove FIXME comment.
12523 (tty_color_name): Provide w32-specific function.
12524 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12525
12526 * w32console.c (turn_on_face, turn_off_face): Removed.
12527 (w32_face_attributes): New function.
12528 (Global_variables): Reduce scope where possible.
12529 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12530 fill attribute.
12531 (hl_mode): Don't modify text attributes.
12532 (write_glyphs): Don't do anything if len <= 0. Use
12533 w32_face_attributes to get attributes for drawing. Write
12534 terminating codes using char_attr_normal.
12535 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12536 (update_begin, update_end): Likewise.
12537 (vga_stdcolor_name): New function.
12538 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12539 (Fset_screen_color): Remove char_attr_reverse.
12540
b08e8bb2
GM
125412000-01-29 Gerd Moellmann <gerd@gnu.org>
12542
12543 * xfns.c (xic_set_preeditarea): Take window parameter and
12544 window-relative pixel-positions.
12545
12546 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12547 is its frame's selected window.
12548 (xim_instantiate_callback): Likewise.
12549
12550 * xfns.c (x_create_im): Removed.
12551 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12552 (supported_xim_styles): Renamed from supported_styles.
12553 (best_xim_style): Renamed from best_style.
12554 (create_frame_xic): Renamed from xic_create_frame.
12555 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12556
b08e8bb2
GM
125572000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12558
12559 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12560 our frames, call XFilterEvent with 2nd parameter `None'.
12561 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12562 returning XBufferOverflow.
52283633 12563 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12564 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12565 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12566 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12567 (xim_initialize, xim_close)
12568 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12569 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12570 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12571 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12572
12573 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12574 and `xim_styles'.
12575 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12576 `xic_style' and `xic_xfs'.
12577 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12578 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12579 (FRAME_XIM): Removed.
12580
12581 * xfns.c (supported_styles): New variable.
12582 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12583 (xic_create_xfontset, best_style, xic_create_frame)
12584 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12585 (xic_set_xfontset): New functions.
12586
142e109c
DL
125872000-01-28 Dave Love <fx@gnu.org>
12588
12589 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12590
12591 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12592
b02786f9
GM
125932000-01-28 Gerd Moellmann <gerd@gnu.org>
12594
d060bc9f
GM
12595 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12596 for *scratch* if it already existed.
12597
b02786f9
GM
12598 * emacs.c (USAGE): New macro.
12599 (main): Use it to display usage information.
12600
2c52d7e4
EZ
126012000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12602
12603 Support for the menu-help feature:
12604
52283633 12605 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12606
12607 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12608 part of the line to the termscript file.
12609 (IT_clear_to_end): Clear the entire line, not just its beginning.
12610 (menu_help_message, prev_menu_help_message): New variables.
12611 (IT_menu_make_room): Make room for the help_text member.
12612 (IT_menu_display): New argument disp_help; all callers changed.
12613 If disp_help is non-zero, store the help text of the active menu
12614 item in menu_help_message.
12615 (XMenuAddPane): Initialize the help_text member to NULL.
12616 (XMenuAddSelection): New argument help_text. Store it in the
12617 XMenu structure.
12618 (XMenuActivate): New argument help_callback. If the value of
12619 menu_help_message has changed since the last time, display the
12620 menu help message text while waiting for the mouse to move. Clear
12621 the echo area before exiting.
12622 (XMenuDestroy): Free the help_text member.
12623
ffe0bcd1
GM
126242000-01-27 Gerd Moellmann <gerd@gnu.org>
12625
12626 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12627 XMenuAddSelection. Pass help callback to XMenuActivate.
12628 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12629
50dbd23f
EZ
126302000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12631
12632 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12633 and EMACS_SET_USECS.
12634
f5941bf8
GM
126352000-01-26 Dave Love <fx@gnu.org>
12636
6c67ddee
DL
12637 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12638
f5941bf8
GM
12639 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12640 an error may be signalled.
12641
9e49c990
GM
126422000-01-26 Gerd Moellmann <gerd@gnu.org>
12643
fc3cb460
GM
12644 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12645 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12646
9e49c990
GM
12647 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12648
d0c037d8
GM
126492000-01-25 Gerd Moellmann <gerd@gnu.org>
12650
12651 * charset.c (Fstring): If there is a multibyte char among
12652 the args, always return a multibyte string.
12653
e12489f9
GM
126542000-01-25 Gerd Moellmann <gerd@gnu.org>
12655
12656 * sysdep.c (sys_select): Turn atimers off and on instead of
12657 recording and restoring old alarm handler
12658
12659 * process.c (toplevel): Include atimer.h.
12660 (create_process_1): Rewritten.
12661 (create_process): Use atimers instead of alarm.
12662 (wait_reading_process_input) [hpux]: Turn atimers off instead
12663 of turning off SIGALRM.
12664 (wait_reading_process_input): Turn off atimers instead off
12665 calling stop_polling.
12666
12667 * emacs.c (main): Call init_atimer.
12668
12669 * keyboard.c (toplevel): Include systime.h and atimer.h.
12670 (polling_for_input): Removed because unused.
12671 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12672 (poll_timer): New variable.
12673 (poll_for_input, poll_for_input_1): New functions.
12674 (start_polling, stop_polling): Rewritten.
12675
12676 * keyboard.h (polling_for_input): Removed.
427ec082 12677
e12489f9
GM
12678 * atimer.h, atimer.c: New files.
12679
12680 * Makefile.in (obj): Add atimer.o.
12681 (atimer.o): New target.
12682
12683 * blockinput.h (pending_atimers): Add extern declaration.
12684 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12685
12686 * lisp.h (popup_activated_flag): Add extern declaration.
12687
12688 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12689 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12690 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12691
12692 * xterm.c (toplevel): Include atimer.h.
12693 (toolkit_scroll_bar_interaction): New variable.
12694 (Fxt_process_timeouts): Removed.
12695 (x_process_timeouts): New function.
12696 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12697 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12698 (x_make_frame_visible): Call poll_for_input_1 instead of
12699 input_poll_signal. Don't call alarm.
12700 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12701
1e5279b9
DL
127022000-01-24 Dave Love <fx@gnu.org>
12703
6c67ddee 12704 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12705 Don't use -cckr -- apparently not now necessary.
12706
edf6aeb8
EZ
127072000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12708
12709 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12710 screen boundary.
12711
9badad41
JR
127122000-01-23 Jason Rumney <jasonr@gnu.org>
12713
12714 * w32fns.c (w32_defined_color): Apply gamma correction before
12715 trying to map to the palette.
12716 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12717 to w32_clear_rect.
12718
12719 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12720 here. Callers changed to always pass real device context.
12721 (w32_draw_bitmap): Likewise.
12722 (w32_get_glyph_overhangs): Likewise.
52283633 12723 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12724 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12725 pfnSetScrollInfo and SetScrollRange.
12726 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12727 back into MULE characters after decoding them.
12728 (x_get_glyph_face_and_encoding): Likewise.
12729 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12730 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12731 (x_produce_glyphs): Calculate per char metrics for a character
12732 that we know exists in default font when font_not_found_p is true.
12733
63bd786b
JR
127342000-01-22 Jason Rumney <jasonr@gnu.org>
12735
12736 * makefile.nt (intervals.obj, composite.obj): New modules.
12737 (composite.h): Added as dependency where appropriate.
12738
12739 * w32gui.h (XGCValue): New struct for emulating X GCs.
12740
12741 * w32term.h (XCharStruct): New struct for emulating X.
12742
12743 * w32console.c (turn_on_face, turn_off_face): New functions.
12744 (change_line_highlight): New prototype for new redisplay.
12745 (write_glyphs): Support multibyte text. Support faces.
12746
52283633 12747 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12748
12749 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12750 throughout. struct frame * in place of FRAME_PTR.
12751 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12752 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12753 (w32_get_arg): Renamed from x_get_arg.
12754 (Fx_file_dialog): New function.
12755 (w32_list_fonts): Check cache before asking system.
12756 (Vw32_enable_synthesized_fonts): New variable.
12757 (Vw32_enable_italics): Obsolete, removed.
12758
12759 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12760 Use SELECTED_FRAME macro.
12761
12762 * w32menu.c: Add skeleton support for help strings on menus.
12763 (add_menu_item): Native checkbox and radio support added, but not
12764 yet enabled due to bugs.
12765 (push_menu_item): Add parameters type, selection and help.
12766 Callers updated.
12767 Formatting changes to reduce unnecessary diffs with xmenu.c.
12768
12769 * w32select.c (Fw32_set_clipboard_data): Update call to
12770 find_charset_in_str.
12771
12772 * w32term.c: Complete rewrite for new redisplay based on new
12773 xterm.c with necessary sections merged back in from old w32term.c.
12774
6ffd3cf7 127752000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12776
12777 * data.c (set_internal): Further fix in same criterion.
12778
6ffd3cf7 127792000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12780
12781 * data.c (set_internal): Fix the criteria for whether
12782 to swap out the old cached binding.
12783
60af03f1
DL
127842000-01-19 Dave Love <fx@gnu.org>
12785
12786 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12787
f9be074f
KH
127882000-01-18 Kenichi Handa <handa@etl.go.jp>
12789
12790 * regex.c (re_compile_fastmap): While checking a range table for
12791 `charset', skip flag bits for a character class correctly.
12792
52b8dbf9
GM
127932000-01-17 Gerd Moellmann <gerd@gnu.org>
12794
d36100c9
GM
12795 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12796
52283633 12797 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12798
12799 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12800 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12801
12802 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12803 MENU_ITEMS_ITEM_.*.
12804 (MENU_ITEMS_ITEM_HELP): New enumerator.
12805 (push_menu_item): Add parameter HELP. Record help in menu_items.
12806 (single_menu_item, single_submenu, list_of_items): Call
12807 push_menu_item with new parameter.
12808 (single_submenu): Set help string in widget value.
12809 (menu_highlight_callback): New function.
12810 (set_frame_menubar): Call lw_create_widget with new
12811 parameter list.
12812 (xmenu_show, xdialog_show): Ditto.
12813
3139018f
GM
128142000-01-13 Gerd Moellmann <gerd@gnu.org>
12815
12816 * sound.c (Fplay_sound): Improve doc string.
12817
83c8f461
RS
128182000-01-11 Richard M. Stallman <rms@gnu.org>
12819
12820 * lisp.h (set_internal): Enter the new arg.
12821
12822 * eval.c (specbind): Record buffer-local variables specially,
12823 indicating which buffer's binding was saved.
12824 (unbind_to): Restore buffer-local variables specially
12825 in the proper buffer.
12826
12827 * data.c (set_internal): New arg BUF.
427ec082 12828
83c8f461
RS
12829 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12830 * data.c (Fset): Pass new arg to set_internal.
12831 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12832
1fab1775
GM
128332000-01-11 Gerd Moellmann <gerd@gnu.org>
12834
52283633 12835 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12836
83c8f461 128372000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12838
12839 * minibuf.c (Ftry_completion): Doc fix.
12840
7a85e4df
GM
128412000-01-11 Gerd Moellmann <gerd@gnu.org>
12842
12843 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12844 vector, too.
12845
a970dae4
AS
128462000-01-11 Andreas Schwab <schwab@suse.de>
12847
12848 * coding.c (code_convert_region): Initialize total_skip.
12849
c65d14ee
DL
128502000-01-08 Dave Love <fx@gnu.org>
12851
12852 * eval.c (Fuser_variable_p): Check customizability too.
12853
834938d2
GM
128542000-01-07 Gerd Moellmann <gerd@gnu.org>
12855
12856 * minibuf.c (Fcompleting_read): Doc fix.
12857
e0303cd6
GM
128582000-01-05 Gerd Moellmann <gerd@gnu.org>
12859
8a26744b
GM
12860 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12861 -L /usr/local/lib.
12862
e0303cd6
GM
12863 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12864 Check that input style is supported before trying to create an
12865 IC for it.
12866 (x_window): Call x_create_im.
427ec082 12867
2e471eb5
GM
128682000-01-04 Gerd Moellmann <gerd@gnu.org>
12869
560a7bd2
GM
12870 * xfns.c (current_gif_memory_src): New variable.
12871 (gif_load): Record the address of the current memory source
12872 in current_gif_memory_src.
12873 (gif_read_from_memory): Use current_gif_memory_src.
12874
f9ee84a3
GM
12875 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12876 macros statement form.
12877
d1299cde
GM
12878 * sound.c (struct sound): Renamed from struct sound_file.
12879 (struct sound): Add members `data' and `header_size'.
12880 (enum sound_attr): Add SOUND_DATA.
12881 (current_sound, current_sound_device): Variables renamed from
12882 sound_file and sound_device.
12883 (parse_sound): Parse :data.
12884 (parse_sound): Handle sound data in strings.
12885 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12886 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12887 needed header size.
12888 (wav_play, au_play): Play sounds from string data.
12889
2e471eb5
GM
12890 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12891
12892 * lisp.h: Add prototype for allocate_string_data.
12893
52283633 12894 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12895
12896 * alloc.c (mark_buffer): Remove code in #if 0.
12897 (gc_sweep): Ditto.
12898 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12899 (strings_consed): New variable.
12900 (allocate_string): Set it.
12901 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12902 (Fmemory_use_counts): Return strings_consed. Use Flist.
12903
12904 * alloc.c: General cleanup in comments etc. Remove conditional
12905 compilation for `standalone'.
12906
12907 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12908
12909 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12910 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12911 (DONT_COPY_FLAG): Removed.
12912 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12913 (struct sdata, struct sblock): New
12914 (struct string_block): Rewritten.
12915 (STRINGS_IN_STRING_BLOCK): New macro.
12916 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12917 (large_sblocks, string_blocks, string_free_list): New variables.
12918 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12919 (init_strings): Rewritten.
12920 (allocate_string, allocate_string_data, compact_small_strings)
12921 (free_large_strings, sweep_strings): New functions.
12922 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12923 (struct string_block_head, current_string_block)
12924 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12925 (STRING_PAD): Removed.
12926 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12927 (Fgarbage_collect): Don't set mark bit in large strings.
12928 (mark_object): Mark strings differently. Mark symbol names
12929 differently.
12930 (survives_gc_p): Test marked strings differently.
427ec082 12931 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12932 symbol names.
12933 (compact_strings): Removed.
12934
42608ba8
EZ
129352000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12936
12937 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12938 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12939
e0a09e1a
KH
129402000-01-04 Kenichi Handa <handa@etl.go.jp>
12941
dd9f0750 12942 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12943 in a non-empty buffer.
dd9f0750 12944
3c0f3b15 12945 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12946
44cd3ae5
GM
129472000-01-03 Gerd Moellmann <gerd@gnu.org>
12948
12949 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12950 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12951
12952 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12953
c182a70f
EZ
129542000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12955
12956 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12957 need to test for MSDOS frames.
12958
24480d5b
EZ
129592000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12960
12961 * dosfns.c (unspecified_colors): Remove.
12962 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12963 unspecified_bg.
12964 (msdos_stdcolor_name): Return strings for unspecified fore- and
12965 back-ground colors.
12966
12967 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12968 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12969 (tty_color_name): Return Lisp strings for unspecified fore- and
12970 back-ground colors.
12971 (Finternal_set_lisp_face_attribute): Remove the special treatment
12972 for Qunspecified_{f,b}g.
52283633 12973 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12974
047f434a
GM
129752000-01-03 Gerd Moellmann <gerd@gnu.org>
12976
12977 * xdisp.c (reseat_at_next_visible_line_start): Position before
12978 newline only if ending up on a newline.
12979 (next_element_from_ellipsis): Return success. Handle case of
52283633 12980 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12981 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12982 returns 0.
12983
d684c676
EZ
129842000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12985
12986 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12987 (Fcolor_supported_p): Renamed from face-color-supported-p.
12988
5fe1d139
EZ
129892000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12990
12991 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12992 list of colors renamed to tty-defined-color-alist.
12993 (tty_color_name): Pass the frame to tty-color-by-index.
12994 (realize_tty_face): tty-color-alist is now a function which
12995 accepts the frame as argument.
12996
52283633 12997 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12998
816be8b8
EZ
129992000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13000
13001 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13002 encode_terminal_code.
13003
b635321e
EZ
130042000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13005
13006 * dispnew.c (mode_line_string): Support termcap frames as well.
13007
9b784e96
GM
130082000-01-01 Gerd Moellmann <gerd@gnu.org>
13009
27189709
GM
13010 * syntax.c (Fforward_word): Undo previous change.
13011
13012 * editfns.c (Fconstrain_to_field): Don't constrain if
13013 inhibit-field-text-motion is non-nil.
13014 (Fline_beginning_position): Undo previous change.
13015 (Fline_end_position): Ditto.
13016
13017 * syntax.c (Fforward_word): Notice field boundaries only if
13018 inhibit-field-text-motion is nil.
13019
13020 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13021
13022 * editfns.c (Vinhibit_field_text_motion): New variable.
13023 (inhibit-field-text-motion): New DEFVAR_LISP.
13024 (Fline_beginning_position, Fline_end_position): Notice field
13025 boundaries only if inhibit-field-text-motion is nil.
13026
45158a91
GM
13027 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13028 All calls adjusted.
13029 (x_build_heuristic_mask): Likewise.
13030 (xbm_load_image_from_file): Change error output.
13031 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13032 (gif_load, gs_load, x_kill_gs_process): Ditto.
13033
9b784e96
GM
13034 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13035 color indices when accessing raster pixels.
63cec32f
GM
13036 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13037 one of :file or :data.
13038 (enum pbm_keyword_index): Add PBM_DATA.
13039 (pbm_format): Add :data.
13040 (pbm_image_p): Allow either :file or :data.
13041 (pbm_read_file): New function.
13042 (pbm_scan_number): Rewritten to read from string.
13043 (pbm_load): Support :data.
9b784e96 13044
2cb085db 13045See ChangeLog.8 for earlier changes.
6922b018
KH
13046
13047;; Local Variables:
49b3bd82 13048;; coding: iso-2022-7bit
6922b018 13049;; End:
2a34a036
GM
13050
13051 Copyright (C) 2001 Free Software Foundation, Inc.
13052 Copying and distribution of this file, with or without modification,
13053 are permitted provided the copyright notice and this notice are preserved.