(Fmapconcat): Fix typo in a doc string.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
288148a1
PJ
12001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
dd8d1e71
PJ
3 * fns.c (Fmapconcat): Fix typo in a doc string.
4
288148a1
PJ
5 * dispnew.c (Fsleep_for): Fix typo in a doc string.
6
9f5eb4a3
GM
72001-10-15 Gerd Moellmann <gerd@gnu.org>
8
9 * xterm.c (x_draw_glyph_string): Restore clipping after
10 drawing box.
11
dbae44c8
PJ
122001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
13
14 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc
15 string.
16
0c88c937
SM
172001-10-14 Stefan Monnier <monnier@cs.yale.edu>
18
56378db4
GM
19 * indent.c (skip_invisible): Use new retval of
20 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 21
845e4cf4
SM
22 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
23 If a parent is reached and noinherit is set, exit immediately.
24 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
25
0c88c937
SM
26 * s/ms-w32.h (EXEC_SUFFIXES):
27 * s/msdos.h (EXEC_SUFFIXES):
28 * process.h (EXEC_SUFFIXES): Remove.
29
30 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
31 (decode_suffixes): Remove.
32
33 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
34 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
35 (invisible_ellipsis_p): Remove.
0c88c937
SM
36
37 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
38 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
39 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
40 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
41 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 42
d19be8a9
PJ
432001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
44
04d7d066
PJ
45 * lisp.h (Ftop_level): Add prototype.
46
d624284c
PJ
47 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
48 (XTread_socket): Improve style of comments to follow other
49 comments.
50
a87414f9
PJ
51 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
52 is already prototyped in included lisp.h).
53
d19be8a9
PJ
54 * frame.c (Fset_mouse_position): Improve style of comment to
55 follow other comments.
56 (Fset_mouse_pixel_position): Improve style of comment to follow
57 other comments.
58 (Fmake_frame_visible): Doc fix and typo in comment.
59 (Fmake_frame_invisible): Doc fix and typo in comment.
60 (Ficonify_frame): Fix typo in comment.
61
c061c855
GM
622001-10-14 Gerd Moellmann <gerd@gnu.org>
63
37f6b5b6 64 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 65 * term.c, alloc.c: Put doc strings in comments.
c061c855 66
e641b454
GM
672001-10-13 Gerd Moellmann <gerd@gnu.org>
68
69 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
70 Provide definitions for doc strings in comments.
71
72 * fns.c: Put doc strings in comments.
73
51724e26
EZ
742001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
75
76 * dired.c (file_name_completion): Ignore a candidate directory if
77 it matches an element in completion-ignored-extensions that ends
78 in a slash.
79 (syms_of_dired) <completion-ignored-extensions>: Mention the above
80 feature in the doc string.
81 (Ffile_name_completion): Ditto.
82
be5fc59b
SM
832001-10-12 Stefan Monnier <monnier@cs.yale.edu>
84
5a1373f3
SM
85 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
86
87 * xfns.c (syms_of_xfns): Update calls to Fprovide.
88
89 * lisp.h (Fprovide): Update prototype.
90 (Ffeaturep, invisible_p): Remove.
91
bbc4a3d3 92 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
93 (DOLIST, LOOP_PROPVAL): New macros.
94 (invisible_p, invisible_ellipsis_p): Use them.
95 (invisible_noellipsis_p): New function.
96 (syms_of_xdisp): Use empty_string.
97
98 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
99
100 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
101 (syms_of_lread) <Vafter_load_alist>: Update docstring.
102
103 * print.c (Fwith_output_to_temp_buffer): Align with
104 internal_with_output_to_temp_buffer.
105 (print_preprocess): Use traverse_intervals_noorder.
106 (print_object): Update call to traverse_intervals.
107
108 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
109 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
110
111 * intervals.c (traverse_intervals_noorder): New function.
112 (search_for_interval, count_intervals): Use it.
113 (traverse_intervals): Use less stack space and drop `depth' arg.
114
115 * fns.c (Ffeaturep): Add new `subfeature' arg.
116 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
117 (Qsubfeatures): New var.
118 (syms_of_fns): Initialize it.
119
026f408d
SM
120 * keymap.c (Fkey_description): Use empty_string.
121 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
122 (syms_of_keymap): Setup inheritance between maps.
123 Don't export Sdescribe_bindings_internal any more.
124
be5fc59b
SM
125 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
126
3365175e
GM
1272001-10-12 Gerd Moellmann <gerd@gnu.org>
128
129 * xterm.c (notice_overwritten_cursor): Renamed from
130 note_overwritten_text_cursor. Rewritten to take glyph widths into
131 account.
132
2ab7765c
EZ
1332001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
134
135 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
136 multi-line strings without a trailing "\n\".
137
311346bb
PJ
1382001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
139
140 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
141 defined.
142
2168e04d
SM
1432001-10-11 Stefan Monnier <monnier@cs.yale.edu>
144
026f408d
SM
145 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
146
c0ec53ad
SM
147 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
148 * w32proc.c (sys_spawnve):
149 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
150 * w32.c (check_windows_init_file):
151 * sound.c (Fplay_sound):
026f408d 152 * emacs.c (init_cmdargs):
c0ec53ad
SM
153 * process.c (Fstart_process): Update calls to openp.
154
155 * callproc.c (Vexec_suffixes): New var.
156 (Fcall_process): Update call to openp.
157 (decode_suffixes): New function.
158 (syms_of_callproc): Init exec-suffixes.
159
160 * lread.c (Vload_suffixes, default_suffixes): New vars.
161 (openp): Take a lisp list of suffixes.
162 Check for file-name-handlers even if the file was absolute already.
163 (syms_of_lread): Declare load-suffixes.
164 (Fload): Fix up call to openp.
165 Don't bother checking for file-name-handler at the very beginning.
166
f6333468
SM
167 * keymap.h (Fcopy_keymap): Don't export.
168
169 * lisp.h (empty_string): Declare.
c0ec53ad
SM
170 (Vload_suffixes, Vexec_suffixes): Declare.
171 (openp): Update prototype.
f6333468
SM
172
173 * emacs.c (empty_string): New var.
174 (syms_of_emacs): Initialize it.
175
176 * search.c (wordify): Use it.
177
178 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
179 selected window if it's not displayed there. Handle the case
180 when the window is dedicated.
181 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
182
183 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
184
2168e04d
SM
185 * syntax.h (struct gl_state_s): Change the meaning of b_property.
186 Remove left_ok and right_ok.
187 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
188 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
189 new meaning of b_property.
190
191 * syntax.c (update_syntax_table): Simplify.
192 (Fforward_comment): Don't skip quoted chars when going backward.
193
13d95cc0
GM
1942001-10-11 Gerd Moellmann <gerd@gnu.org>
195
beb0990f
GM
196 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
197 in case I is of some unsigned type, in which case
198 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
199 comparison becomes bogus.
200
cb938d46
GM
201 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
202 (Fuser_full_name): Fix bug treating a float as a fixnum.
203
204 * data.c (Fstring_to_number): Use make_fixnum_or_float.
205
206 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 207
13d95cc0
GM
208 * lisp.h (circular_list_error): Add prototype.
209
210 * data.c (Qcircular_list): New variable.
211 (circular_list_error): New function.
212 (syms_of_data): Initialize it Qcircular_list.
213
e35f6ff7
SM
2142001-10-10 Stefan Monnier <monnier@cs.yale.edu>
215
216 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
217 casefiddle.c, buffer.c: Include keymap.h.
218
619632ac
GM
2192001-10-10 Gerd Moellmann <gerd@gnu.org>
220
221 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
222 options. From Dave Love <d.love@dl.ac.uk>.
223
5e5388f6
GM
2242001-10-09 Gerd Moellmann <gerd@gnu.org>
225
226 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
227 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
228
14a3dff7
GM
229 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
230 unsigned char.
231 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 232
76ba8daf
AI
2332001-10-08 Andrew Innes <andrewi@gnu.org>
234
235 * lisp.h [max]: Undef min and max before redefining them.
236
237 * w32gui.h: Do not undef min and max.
238
239 * w32heap.h: Do not undef min and max.
240
241 * s/ms-w32.h: Do not undef min and max.
242
166253cb
SM
2432001-10-08 Stefan Monnier <monnier@cs.yale.edu>
244
245 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
246
0c4d9527
SS
2472001-10-08 Sam Steingold <sds@gnu.org>
248
249 * keymap.c (current-active-maps): Quote newlines (compilation error).
250
14bfa771
EZ
2512001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
252
253 * Makefile.in (lisp, shortlisp): Replace bindings.el with
254 bindings.elc, since otherwise doc strings in bindings.el get wrong
255 offsets in etc/DOC.
256
bdb7aa47
SM
2572001-10-08 Stefan Monnier <monnier@cs.yale.edu>
258
9985827f
SM
259 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
260
261 * keyboard.h (map_prompt): Remove.
262
263 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 264 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 265
bdb7aa47
SM
266 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
267
268 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
269
270 * keyboard.c (map_prompt): Remove.
271 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
272 Use Fkeymap_prompt.
273
274 * keymap.h: New file. Extracted from lisp.h.
275
9985827f
SM
276 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
277 (accessible_keymaps_1): New function.
278 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
279 (Fwhere_is_internal): Use Fcurrent_active_maps.
280 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
281 Insert in current buffer rather than standard-output.
282 Don't call `help-mode'. Export to elisp.
283 (describe_buffer_bindings): New wrapper.
284 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
285 and Sdescribe_buffer_bindings.
286
402c9a51
GM
2872001-10-08 Gerd Moellmann <gerd@gnu.org>
288
9985827f 289 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
290 Remove code setting signal handler.
291
9985827f 292 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
293 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
294
3fe81fdf
PJ
2952001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
296
297 * keyboard.c: Don't define min/max.
298
55fa7820
GM
2992001-10-08 Gerd Moellmann <gerd@gnu.org>
300
9985827f 301 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 302 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 303 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 304 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 305 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
306 Don't define min/max.
307
308 * lisp.h (min, max): New macros.
309
55fa7820
GM
310 * puresize.h (BASE_PURESIZE): Increase to 725000.
311
1aad31e4
PJ
3122001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
313
9180dc8c
PJ
314 * xfaces.c (free_frame_menubar): Add prototype.
315
01f67d2c
PJ
316 * lisp.h (init_window): Add prototype.
317
318 * editfns.c: Include ctype.h.
319
320 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 321 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
322 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
323 variable `sb'.
324
5f351ff1
PJ
325 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
326 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
327 `popup_activated_flag' and `title'.
328
479dfe87
PJ
329 * doc.c (Fdocumentation_property): Fix typo in a doc string.
330
dff49fc8
PJ
331 * emacs.c (main): Remove extra `;'.
332
248ac615
PJ
333 * atimer.h (struct atimer): Fix typos in a comment.
334
335 * atimer.c: Fix typo.
336
af232c7d
PJ
337 * Makefile.in: Fix typo.
338
339 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 340
d876f455
MB
3412001-10-07 Miles Bader <miles@gnu.org>
342
343 * Makefile.in (lisp, shortlisp): Add `button.elc'.
344
0037e2f2
KR
3452001-10-07 Ken Raeburn <raeburn@gnu.org>
346
b056f36d
KR
347 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
348 Lisp_Object.
349
0037e2f2
KR
350 * lisp.h (Ffield_end): Declare.
351
1a4372ef
GM
3522001-10-07 Gerd Moellmann <gerd@gnu.org>
353
a4a74e8c
GM
354 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
355
356 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
357
358 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
359
360 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
361
1a4372ef
GM
362 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
363 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
364
365 * alloc.c (inhibit_garbage_collection): Simplify.
366 (Fmemory_use_counts): Ditto.
367
9985827f 368 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
369 (syms_of_data): DEFVAR_INT most-positive-fixnum and
370 most-negative-fixnum.
371
9985827f 372 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
373 (FIXNUM_OVERFLOW_P): New macros.
374
4650e362
MB
3752001-10-06 Miles Bader <miles@gnu.org>
376
377 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
378 scroll_bar_bottom_shadow_pixel fields.
379 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
380 for the shadows, and tell the toolkit about them if we succeed.
381 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
382 Free scroll-bar shadow colors.
383 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
384 Free scroll-bar shadow colors when the background color changes.
385 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
386 Initialize scroll-bar shadow-color fields.
387
ace64e0a
GM
3882001-10-05 Gerd Moellmann <gerd@gnu.org>
389
390 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
391
ec66bdc7
MB
3922001-10-05 Miles Bader <miles@gnu.org>
393
9985827f
SM
394 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
395 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 396 New functions (were in simple.el).
9985827f 397 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
398 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
399 (syms_of_minibuf): Initialize them.
400
a0fb4492
GM
4012001-10-05 Gerd Moellmann <gerd@gnu.org>
402
403 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
404 (tiff_load): Install them as error and warning handler.
405
0bcf87c1
AI
4062001-10-04 Andrew Innes <andrewi@gnu.org>
407
408 * w32fns.c (x_to_w32_color): Fix argument to alloca.
409 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 410 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
411 (x_to_w32_charset): Handle private format for unknown charsets.
412 Handle wildcards in charset spec, by ignoring them.
413 (w32_codepage_for_font): Fix argument to alloca. Don't remove
414 "*-" prefix from charset.
415 (x_to_w32_font): Enlarge remainder array for safety. Specifically
416 handle the truncated font spec form constructed by font_list_1, so
417 that we correctly identify the charset fields. Don't remove "*-"
418 prefix from charset.
419 (w32_list_synthesized_fonts): Fix argument to alloca.
420
c89e4bc5
GM
4212001-10-04 Stefan Monnier <monnier@cs.yale.edu>
422
423 * window.h (MINI_WINDOW_P): Use NILP.
424
425 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
426
427 * termhooks.h (struct input_event): Use proper type for `kind'.
428
4292001-10-04 Gerd Moellmann <gerd@gnu.org>
430
431 This handles unknown keysyms better than before. For example,
432 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
433 Emacs formerly completely ignored F5. With the change, it derives
434 a key symbol from the name of the X keysym, `ccaron' in this case.
435 Reported by Martin Buchholz.
436
437 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
438 unknown keysyms.
439
440 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
441 that EVENT->code isn't a function key, use the keysym's name.
442
4432001-10-04 Gerd Moellmann <gerd@gnu.org>
444
445 FOREACH is a macro that should make it easier to loop over Lisp
446 lists with checks for cycles and proper lists.
447
448 * lisp.h (LIST_END_P, FOREACH): New macros.
449
4502001-10-04 Gerd Moellmann <gerd@gnu.org>
451
452 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
453 called for a lost connection. Prevent dumping core in this case.
454 Instead print the X error, and exit. On user request.
455
456 * xterm.c (error_msg): New variable.
457 (x_fatal_error_signal): New function.
458 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
459 as fatal_error_signal_hook around the call to XtCloseDisplay.
460
461 * emacs.c (fatal_error_signal_hook): New variable.
462 (fatal_error_signal): Call that function.
463
4642001-10-04 Gerd Moellmann <gerd@gnu.org>
465
466 With this, Emacs prints how much pure storage it will
467 approximately need in case pure storage overflows while dumping.
468
469 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
470 New variables.
471 (init_alloc_once): Initialize new variables.
472 (PURE_POINTER_P): Use new variables.
473 (pure_alloc): If pure storage overflows, allocate from the heap.
474 (check_pure_size): New function.
475 (Fgarbage_collect): Don't GC if pure storage has overflowed.
476
477 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
478 (check_pure_size): Add prototype.
479
480 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
481
4822001-10-04 Gerd Moellmann <gerd@gnu.org>
483
484 This adds a post-gc-hook that's run with GC inhibited.
485 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
486
487 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
488 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
489 (Fgarbage_collect): Run post-gc-hook.
490
4912001-10-04 Gerd Moellmann <gerd@gnu.org>
492
493 This adds `defvaralias' and `indirect-variable'. Changes not
494 directly related to this feature are there to gain the same
495 performance again as before variable aliases.
496
497 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
498 code to get and set symbol values, to take defvaralias into account.
499
500 (Note: the new `constant' bit-flag in symbols would make it
501 possible to define arbitrary read-only variables, e.g. with
502 `defconst'.)
503
504 Documentation is in lispref/variables.texi. Added to NEWS.
505
506 * lisp.h (enum symbol_interned): New enumeration.
507 (struct Lisp_Symbol): Remove member `obarray', add
508 `indirect_variable', `constant', and `interned'.
509 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
510 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
511 (indirect_variable): Add prototype.
512
513 * print.c (print_preprocess, print_object): Test internedness of
514 symbols differently.
515
516 * lread.c (Fintern, Funintern): Set symbol's interned and constant
517 bit-fields.
518 (init_obarray): Likewise for t and nil.
519
520 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
521 (Fdefvaralias): New function.
522 (specbind): Simplify the test if symbol is a constant.
523 (syms_of_eval): Defsubr Fdefvaralias.
524
525 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
526 (Qcyclic_variable_indirection): New variable.
527 (Fkeywordp): Check for internedness differently.
528 (Fmakunbound): Simplify the test if symbol is a constant.
529 (indirect_variable, Findirect_variable): New functions.
530 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
531 aliased symbol.
532 (let_shadows_buffer_binding_p): Check for variable aliases.
533 (set_internal): Simplify the test if SYMBOL is a constant.
534 If SYMBOL has a buffer-local value and is an alias, use the aliased
535 symbol instead.
536 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
537 Sindirect_variable.
538
539 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
540 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
541 set directly.
542
543 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
544
545 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
546 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
547 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
548
ab952a4f
GM
5492001-10-04 Gerd Moellmann <gerd@gnu.org>
550
551 * Branch for 21.1.
552
ba88ff28
MB
5532001-10-03 Miles Bader <miles@gnu.org>
554
555 * callproc.c (syms_of_callproc): Explicitly state in the
556 documentation for `process-environment' that earlier entries take
557 precedence over later ones.
558
ae1a9581
MB
5592001-10-02 Miles Bader <miles@gnu.org>
560
561 * textprop.c (Fnext_char_property_change)
562 (Fprevious_char_property_change): Remove reference to non-existant
563 argument OBJECT from doc-string.
564
257e3f57
GM
5652001-10-01 Gerd Moellmann <gerd@gnu.org>
566
567 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
568 (try_window_id): Skip back over lines ending in a newline from a
569 string.
570
571 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
572 New bit flag
573
c1f29759
RS
5742001-10-01 Richard M. Stallman <rms@gnu.org>
575
576 * search.c (Freplace_match): Doc fix.
577
c30dce3d
AI
5782001-09-28 Andrew Innes <andrewi@gnu.org>
579
580 * w32menu.c (set_frame_menubar): Take into account that
581 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
582 <raeburn@gnu.org>.
583
03be5931
EZ
5842001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
585
586 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
587
75bec752
PJ
5882001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
589
590 * s/gnu-linux.h: Fix a typo in comment.
591
83100e0a
AS
5922001-09-28 Andreas Schwab <schwab@suse.de>
593
594 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
595 nocombreloc, in case -z combreloc is the default.
596
a74b48cf
GM
5972001-09-28 Gerd Moellmann <gerd@gnu.org>
598
599 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
600 really going on here.
601
09c4719e
SM
6022001-09-27 Stefan Monnier <monnier@cs.yale.edu>
603
604 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
605
f7d5d963
EZ
6062001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
607
608 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
609 utf-8, menu-bar, and latin-N.
610 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
611 unconditionally now.
612 (lisp): Add latin-N, since they are preloaded.
613
9240e746
GM
6142001-09-27 Gerd Moellmann <gerd@gnu.org>
615
14531065
GM
616 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
617 to the left. Some cleanup.
618
9240e746
GM
619 * xdisp.c (display_mode_element): One more case where a string's
620 multibyteness should be used for display.
621
edd1e654
GM
6222001-09-26 Gerd Moellmann <gerd@gnu.org>
623
b02439c8
GM
624 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
625 reading at EOF.
626
032906b1 627 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 628 of the only temporarily set echoing flag for deciding when
032906b1
GM
629 the cancel echoing.
630
631 * keyboard.c (echo_kboard): Make externally visible.
632
633 * lisp.h (echo_kboard): Declare extern.
634
cb617e7c 635 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 636 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
637 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
638 this round of redisplay if make_cursor_line_fully_visible fails.
639 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 640 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
641
642 * dispextern.h (required_matrix_width, required_matrix_height):
643 Add prototypes.
644
09c4719e
SM
645 * dispnew.c (required_matrix_width, required_matrix_height):
646 New functions.
cb617e7c 647 (allocate_matrices_for_window_redisplay)
09c4719e
SM
648 (allocate_matrices_for_frame_redisplay: Use them.
649 Remove parameters CH_DIM.
cb617e7c 650
edd1e654
GM
651 * xdisp.c (display_mode_lines): Temporarily set selected_frame
652 and selected_window to the frame of the window whose mode-lines
653 are displayed, and to the window itself.
654 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 655 here.
edd1e654 656
924b604c
GM
6572001-09-25 Gerd Moellmann <gerd@gnu.org>
658
daba7643
GM
659 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
660 the image cache under us.
661
b7a22712 662 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 663 with a string value, use that string's multibyteness for displaying.
b7a22712 664
ad648212
GM
665 * keyboard.c (read_char): Don't clear a message for a switch-frame
666 event. From Stefan Monnier <monnier@cs.yale.edu>.
667
9f8531e5
GM
668 * xterm.c (fast_find_position) [0]: Add a presumably more correct
669 version for after 21.1.
670
671 * xdisp.c (row_containing_pos): Make externally visible.
672
673 * dispextern.h (row_containing_pos): Add prototype.
674
924b604c
GM
675 * process.c (send_process): Disable composition if from_byte < 0.
676 From Kenichi Handa <handa@etl.go.jp>.
677
6f3f0db4
GM
6782001-09-24 Gerd Moellmann <gerd@gnu.org>
679
c69c0ebc
GM
680 * xterm.c (refreshicon): Function removed.
681
d1182bc4
GM
682 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
683
684 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
685
686 * xterm.c (toplevel): Remove includes in #if 0.
687
6f3f0db4
GM
688 * process.c (sigchld_handler) [LINUX]: Don't return from
689 the signal handler at the end of the loop.
690
59957f85
GM
6912001-09-21 Gerd Moellmann <gerd@gnu.org>
692
09c4719e
SM
693 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
694 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 695
a0528984
EZ
6962001-09-21 Markus Rost <rost@math.ohio-state.edu>
697
698 * Makefile.in (shortlisp): Add ../lisp/env.elc.
699
db92b288
GM
7002001-09-20 Gerd Moellmann <gerd@gnu.org>
701
3fed8ad5
GM
702 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
703 since this function can be called during GC.
704
db92b288
GM
705 * callproc.c (Fcall_process): Handle errors from pipe(2).
706 (child_setup): Delete code in #ifdef vipc.
707
7121b85a
GM
7082001-09-19 Gerd Moellmann <gerd@gnu.org>
709
72f62cb5
GM
710 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
711 (display_mode_element): Display the string from decode_mode_spec
712 depending on its multibyteness.
713
a2697022
GM
714 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
715
7121b85a
GM
716 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
717
bfc97351
GM
7182001-09-18 Gerd Moellmann <gerd@gnu.org>
719
c9063433
GM
720 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
721 recursive_edit_unwind.
722 (recursive_edit_unwind): Set kboard state according to
723 SINGLE-KBOARD.
724
3fbdba3e
GM
725 * buffer.c (modify_overlay): Don't do nothing if START == END;
726 This can still be a modification, for example when an overlay has
727 a before-string or after-string.
728 (Fdelete_overlay): Prevent redisplay optimizations when deleting
729 an overlay with before-string or after-string.
730
1270031d
GM
731 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
732 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
733
bfc97351
GM
734 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
735 first_unchanged_at_end_row is in front of
736 last_unchanged_at_beg_row. This code should be removed after the
737 release of 21.1.
738
d8a973aa
GM
7392001-09-17 Gerd Moellmann <gerd@gnu.org>
740
e18c8b8d
GM
741 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
742 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
743
d8a973aa
GM
744 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
745 versions >= 2.95.
746
ed7d6ba4
EZ
7472001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
748
749 * dired.c (Ffile_attributes): Doc fix.
750
551629f9
GM
7512001-09-14 Gerd Moellmann <gerd@gnu.org>
752
753 * fileio.c (Ffile_symlink_p): Fix last change.
754
755 * filelock.c (current_lock_owner): Fix last change.
756
4c8c7926
GM
7572001-09-13 Gerd Moellmann <gerd@gnu.org>
758
620c4704
GM
759 * filelock.c (current_lock_owner): If readlink returns ERANGE,
760 take that to mean that the buffer is too small.
761
81c3310d
GM
762 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
763 that to mean that the buffer is too small.
764
06fd3792
GM
765 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
766 current buffer's multibyteness when discarding the iterator's
767 stack.
768
4c8c7926
GM
769 * xfns.c (Fx_window_property): Handle case that property gets
770 deleted between the two calls to XGetWindowProperty.
771
9a72e4c1
GM
7722001-09-11 Gerd Moellmann <gerd@gnu.org>
773
bd819d14
GM
774 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
775
a41edd99
GM
776 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
777 in addition to read-only.
778
779 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
780 to t in addition to read-only.
781
782 * lisp.h (Qinhibit_modification_hooks): Declare.
783
784 * insdel.c (Qinhibit_modification_hooks): New variable.
785 (syms_of_insdel): Initialize and staticpro it.
786
d4881c6a
GM
787 * textprop.c (verify_interval_modification): Don't run
788 modification-hooks if inhibit_modification_hooks.
789
790 * dispnew.c (set_window_cursor_after_update): Fix code
791 finding glyph row containing cursor when cursor_in_echo_area
792 is >= 0.
793
9a72e4c1
GM
794 * xdisp.c (init_from_display_pos): Put some code in #if 0.
795 (add_to_log): Use bcopy instead of strcpy.
796 (init_from_display_pos): Use an explicit loop over bytes in
797 overlay strings instead of calling index.
798
f4a374a1
GM
7992001-09-10 Gerd Moellmann <gerd@gnu.org>
800
300e57bd
GM
801 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
802
803 * dispnew.c (direct_output_for_insert): Don't change IT's
804 stop_charpos to something in front of its current position.
805
f4a374a1
GM
806 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
807 `format'.
808
7e4cbc91
RS
8092001-09-10 Richard M. Stallman <rms@gnu.org>
810
811 * frame.c (Fmouse_position): Doc fix.
812
6afad91e
GM
8132001-09-07 Gerd Moellmann <gerd@gnu.org>
814
815 * xdisp.c (init_from_display_pos): Don't compare the result
816 of calling index with NULL.
817
f76e0368
GM
8182001-09-06 Gerd Moellmann <gerd@gnu.org>
819
820 * xfns.c (x_set_background_color): Don't change the colors
821 of the X window of scroll bar widgets.
822
9ead1b60
AI
8232001-09-05 Andrew Innes <andrewi@gnu.org>
824
825 * w32fns.c (w32_createwindow): Undo last change.
826
c3b497b3
GM
8272001-09-05 Gerd Moellmann <gerd@gnu.org>
828
08e1d6df
GM
829 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
830
c3b497b3
GM
831 * xdisp.c (string_buffer_position): Use *single_char_property*
832 functions instead of the *single_property* functions.
833
8f860180
AI
8342001-09-04 Andrew Innes <andrewi@gnu.org>
835
9a72e4c1
GM
836 * w32term.c (w32_read_socket): Add more information to debugging
837 output.
8f860180
AI
838
839 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
840 from Emacs frames, so that calls to GetClipBox in w32term.c
841 correctly report when part of a frame is visible (including
842 scrollbars, etc). This prevents repeated redrawing of frames when
843 only a scrollbar is visible.
844 (w32_wnd_proc): Add more frame information to debugging output.
845
2ee1aa00
SM
8462001-09-03 Stefan Monnier <monnier@cs.yale.edu>
847
848 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
849
e3b22517
GM
8502001-09-03 Gerd Moellmann <gerd@gnu.org>
851
7e376260
GM
852 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
853 help-echo for a string which doesn't have help-echo itself, use
854 get-char-property to obtain the help-echo from the string's buffer
855 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
856 have mouse-face, look ``under'' the string for mouse-face from an
857 overlay.
858 (fast_find_position): Add parameter STOP. In the final row, stop
859 before glyphs having STOP as object. Don't consider glyphs that
860 are not from a buffer.
861
e3b22517
GM
862 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
863
9a249bba
EZ
8642001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
865
866 * fns.c (Fmd5): Doc fix.
867
c9979669
GM
8682001-08-31 Gerd Moellmann <gerd@gnu.org>
869
870 * composite.c (update_compositions): Do nothing if
871 inhibit-modification-hooks is set.
872
9584e63a
GM
8732001-08-30 Gerd Moellmann <gerd@gnu.org>
874
986ec8f2 875 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 876 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
877 glyph matrices etc. in a core dump.
878
92a25631
GM
879 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
880 (syms_of_xdisp): Initialize them.
881 (handle_single_display_prop): Don't change point, bind `object',
882 `position', and `buffer-position' instead to the object having the
2ee1aa00 883 `display' property, position in the object and position in the buffer.
92a25631 884
9584e63a
GM
885 * fileio.c (Finsert_file_contents): Don't change the multibyteness
886 of the buffer if REPLACE is non-nil.
887
d38633a3
GM
8882001-08-29 Gerd Moellmann <gerd@gnu.org>
889
890 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
891
f4fccc1e
EZ
8922001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
893
894 * w32term.c (x_set_glyph_string_background_width)
895 (show_mouse_face): Track the last changes in xterm.c.
896
eaaa65b0
GM
8972001-08-28 Gerd Moellmann <gerd@gnu.org>
898
7b0870b2
GM
899 * xterm.c (x_set_glyph_string_background_width): Set the glyph
900 string's background width so that multi-line mouse-face is drawn
901 to the right edge of the window.
902 (show_mouse_face): Set the row's mouse_face_p flag after drawing
903 glyphs.
904
6b6e2422 905 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 906 before inserting/writing glyphs.
6b6e2422 907
eaaa65b0
GM
908 * xdisp.c (display_mode_element): Use string_byte_to_char to
909 determine character positions in strings, use chars_in_text
910 instead of strwidth.
911 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
912 a matrix as parameter; this is easier to use from GDB.
913
9ad62cf8
MB
9142001-08-28 Miles Bader <miles@gnu.org>
915
2ee1aa00
SM
916 * textprop.c (Fprevious_single_char_property_change)
917 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 918
32171635
GM
9192001-08-27 Gerd Moellmann <gerd@gnu.org>
920
47d57b22
GM
921 * fileio.c (Finsert_file_contents): Allocate, restore, and
922 free composition data in the case of REPLACE not being nil.
923
924 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
925 there exist overlay strings with newlines at POS.
926 (text_outside_line_unchanged_p): Return 0 if changes start at
927 START and overlays exist at START. Likewise for END.
928 (try_window_id): Give up if init_to_row_end returns 0.
929
32171635
GM
930 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
931 unconditionally.
932
e1249666
GM
9332001-08-24 Gerd Moellmann <gerd@gnu.org>
934
33954c45
GM
935 * keymap.c (access_keymap): Return the cdr of the binding of
936 a generic character instead of its definition (KEY . BINDING).
937
e1249666
GM
938 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
939 to 0 also in the REPLACE case.
940
fb4c6c96
AC
9412001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
942
943 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
944 open to determine whether file is readable (as for DOS_NT).
945
59ecf80b
GM
9462001-08-23 Gerd Moellmann <gerd@gnu.org>
947
948 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
949 coding.type is coding_type_no_conversion or coding_type_raw_text,
950 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
951 non-nil instead of just setting enable_multibyte_characters in the
952 buffer to nil.
953
40e33037
GM
9542001-08-22 Gerd Moellmann <gerd@gnu.org>
955
374388c3
GM
956 * dispextern.h (struct face_cache): Add member
957 menu_face_changed_p.
958
959 * xfaces.c (menu_face_changed_default): New variable.
960 (menu_face_changed_count): Variable removed.
961 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
962 the menu_face_changed_default flag, otherwise set the FRAME's
963 menu_face_changed_p flag if the `menu' face has been changed.
964 Prevent calling set_font_frame_param if FRAME is t.
965 (make_face_cache): Initialize cache's menu_face_changed_p
966 from menu_face_changed_default.
967 (realize_basic_faces): Look into the frame's face cache to
968 determine if the menu appearance needs updating.
969
40e33037
GM
970 * keymap.c (access_keymap): Fix last change to not consider
971 IDX when it has modifiers.
972
859ea4b8
GM
9732001-08-21 Gerd Moellmann <gerd@gnu.org>
974
975 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
976 . BINDING) exists, where GENERIC-CHAR is the generic character of
977 the charset of IDX, return BINDING unless there exists a binding
978 for IDX itself.
979
e8660d73
GM
9802001-08-16 Gerd Moellmann <gerd@gnu.org>
981
cca1b1d7
GM
982 * xrdb.c (SYSV): Don't define on Solaris 2.
983 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
984
e8660d73 985 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 986 of the screen line, not text line, containing IT's current position.
e8660d73 987
93aba6fc
GM
9882001-08-15 Gerd Moellmann <gerd@gnu.org>
989
288d4e06
GM
990 * window.c (window_scroll_pixel_based): Don't recenter if
991 PT is partially visible in the window.
992
3452efc2
SM
993 * xterm.c (expose_window_tree, expose_window, expose_line):
994 Return 1 when overwriting mouse-face.
82f053ab
GM
995 (expose_frame): If mouse-face was overwritten, redo it.
996
93aba6fc
GM
997 * xfaces.c (x_update_menu_appearance): Don't call
998 set_frame_menubar, let the next redisplay do it.
999
858a55c1
AI
10002001-08-14 Andrew Innes <andrewi@gnu.org>
1001
1002 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1003 drawing glyph string.
1004
3a990b67
EZ
10052001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1006
1007 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1008 running HI-UX/MPP.
1009
04386463
GM
10102001-08-14 Gerd Moellmann <gerd@gnu.org>
1011
1012 * xfaces.c (x_update_menu_appearance): Save and restore value of
1013 interrupt_input_blocked.
1014
3e6385a4
GM
10152001-08-13 Gerd Moellmann <gerd@gnu.org>
1016
b0e619b4
GM
1017 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1018 a line start, move back to the line start.
3452efc2 1019
0de73d5a
GM
1020 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1021 exactly when a mini-buffer is active.
1022
3e6385a4
GM
1023 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1024 in units of 1/8 character on non window-system frames.
1025 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1026
d1b5f629
EZ
10272001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1028
1029 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1030 a doc string.
1031
eaa2319f
GM
10322001-08-09 Gerd Moellmann <gerd@gnu.org>
1033
8e3189f0
GM
1034 * keyboard.c (Vpre_help_message): New variable.
1035 (syms_of_keyboard): Initialize and staticpro it.
1036 (show_help_echo): Record current message before displaying a
1037 help-echo, and restore that message when clearing the help.
1038
eaa2319f
GM
1039 * xfns.c (x_create_im): Remove prototype.
1040
1041 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1042
1043 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1044
eaa2319f
GM
10452001-08-08 Gerd Moellmann <gerd@gnu.org>
1046
1047 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1048 windows whose height has changed, disable partially visible lines.
eaa2319f 1049
17fdcfc8
GM
10502001-08-07 Gerd Moellmann <gerd@gnu.org>
1051
22d01aed 1052 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1053 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1054
17fdcfc8
GM
1055 * xdisp.c (start_display): Don't try to determine the continuation
1056 lines width if lines are truncated. It's superfluous and leads to
1057 incorrect results if POS is not visible in the window after
1058 reseating the iterator at the previous line start.
1059
8e3fe78e
GM
10602001-08-06 Gerd Moellmann <gerd@gnu.org>
1061
1062 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1063
98a8938c
GM
10642001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1065
1066 * alloc.c (init_stack): Remove declaration.
1067
18f9986a
GM
10682001-08-03 Gerd Moellmann <gerd@gnu.org>
1069
5e1f85e0
GM
1070 * keyboard.c (read_key_sequence): Check that key is an integer
1071 before comparing it with quit_char.
1072 (add_command_key): Use larger_vector.
1073 (read_char_x_menu_prompt): Instead of converting symbol and
1074 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1075 which cannot be confused with valid events.
5e1f85e0
GM
1076 (read_char): When reading from Vunread_command_events, check for
1077 events of the form (EVENT . disabled) instead of
1078 (EVENT . nil).
1079
18f9986a
GM
1080 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1081 a float, determine the max height from the frame's height.
1082
fbc7f2a6
GM
10832001-08-02 Gerd Moellmann <gerd@gnu.org>
1084
1085 * xdisp.c (redisplay_internal): Take message_cleared_p into
1086 account only if minibuf_level == 0.
1087
81b1a79d
GM
10882001-08-01 Gerd Moellmann <gerd@gnu.org>
1089
e5c60873
GM
1090 * xdisp.c (redisplay_internal): Add a check for the last
1091 displayed message.
3452efc2 1092
6e019995
GM
1093 * xdisp.c (message_cleared_p): New variable.
1094 (clear_message): Set message_cleared_p when clearing the current
1095 message.
1096 (redisplay_internal): Look at message_cleared_p to capture
1097 the case that the echo area should be cleared.
1098
308a74d8
GM
1099 * keyboard.c (command_loop_1): Fix spelling of
1100 resize_echo_area_exactly.
1101
3452efc2 1102 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1103
1104 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1105
81b1a79d
GM
1106 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1107 current matrix when the window gets smaller.
1108
ada329e6
EZ
11092001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1110
1111 * print.c (strout): Cast the character passed to insert_char to
1112 unsigned char, to avoid sign extension when it is promoted to int.
1113
ed86208c
GM
11142001-07-31 Gerd Moellmann <gerd@gnu.org>
1115
1116 * fileio.c (Finsert_file_contents): Don't treat a return value
1117 of 0 from emacs_read as an IO error.
1118
6594ac22
GM
11192001-07-30 Gerd Moellmann <gerd@gnu.org>
1120
cef68af5
GM
1121 * keyboard.c (abs): New macro.
1122 (double_click_fuzz): New variable.
1123 (make_lispy_event): Use it to determine what makes a double-click.
1124 (syms_of_keyboard): DEFVAR_INT it.
1125
6594ac22
GM
1126 * xmenu.c (set_frame_menubar): Take into account that
1127 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1128 <raeburn@gnu.org>.
1129
75c5350a
GM
11302001-07-27 Gerd Moellmann <gerd@gnu.org>
1131
1132 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1133
1134 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1135 of row's visible height.
1136
1137 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1138 deal with the first overlay string having an image `display' property.
1139 (try_window_reusing_current_matrix, compute_line_metrics):
1140 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1141 row is invisible above and part of the row is at the same time
1142 invisible below the window.
1143
ac49effe
GM
11442001-07-26 Gerd Moellmann <gerd@gnu.org>
1145
1146 * xfns.c (x-show-tip): Doc fix.
3452efc2 1147
ac49effe
GM
1148 * xfns.c (Vx_max_tooltip_size): New variable.
1149 (syms_of_xfns): DEFVAR_LISP it.
1150 (Fx_show_tip): Set frame's window_width to the width of the
1151 window. Use a maximum tooltip size specified by
1152 Vx_max_tooltip_size, if that has valid contents.
1153 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1154
8c3b00cb
AI
11552001-07-26 Andrew Innes <andrewi@gnu.org>
1156
1157 * w32term.c (x_display_list): New variable.
1158 (w32_term_init): Set it.
1159
1160 * w32term.h (x_display_list): New extern.
1161
16098288
GM
11622001-07-26 Gerd Moellmann <gerd@gnu.org>
1163
1164 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1165 is non-nil, instead of when redisplaying_p is non-zero.
1166 See comment there.
16098288
GM
1167 (mark_window_display_accurate_1): Add an assertion.
1168
64c5be50
GM
11692001-07-25 Gerd Moellmann <gerd@gnu.org>
1170
e743f599
GM
1171 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1172
563b384d
GM
1173 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1174 events so that we get a chance of processing expose events.
1175
64c5be50
GM
1176 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1177
296808a5
GM
11782001-07-24 Gerd Moellmann <gerd@gnu.org>
1179
1180 * xfns.c (valid_image_p): Protect better against invalid image
1181 specifications. Previous code could signal an error.
1182
5247262a
GM
11832001-07-23 Gerd Moellmann <gerd@gnu.org>
1184
3452efc2 1185 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1186 presence of display table entries.
1187 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1188
dd42b31a
GM
1189 * dispnew.c (adjust_glyph_matrix): In the optimization for
1190 windows whose height has changed, use the new window height
1191 to compute which rows to invalidate.
1192
9e5a7f2a
GM
1193 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1194 (MAX_10_EXP): New macro.
1195 (Fformat): Use it.
1196
5247262a
GM
1197 * coding.c (code_convert_region): Handle the multibyte case if
1198 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1199
177ab8ce
GM
12002001-07-20 Gerd Moellmann <gerd@gnu.org>
1201
6e07c0a5
GM
1202 * dispextern.h (struct face): Change type of `stipple' to
1203 int; it's an ID.
1204
177ab8ce
GM
1205 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1206
b5b80599
GM
12072001-07-19 Gerd Moellmann <gerd@gnu.org>
1208
4e2a256b
GM
1209 * dispnew.c (update_window): Don't set the cursor at the end
1210 of the update if display update has been paused.
1211
3452efc2 1212 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1213
c1fd9232
KR
12142001-07-18 Ken Raeburn <raeburn@gnu.org>
1215
1216 * fns.c (Fset_char_table_default): Check that a charset is defined
1217 before checking its dimension.
1218
928a85c1
KR
12192001-07-17 Ken Raeburn <raeburn@gnu.org>
1220
1221 * coding.c (setup_coding_system): Don't do any designation based
1222 on reg_bits if charset is not yet defined.
1223
fb4c6c96 1224 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1225 pointer, using eassert.
1226
de11c1ea
GM
12272001-07-17 Gerd Moellmann <gerd@gnu.org>
1228
3452efc2
SM
1229 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1230 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1231
467f1209
GM
12322001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1233
1234 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1235
c3d6be34
GM
12362001-07-16 Gerd Moellmann <gerd@gnu.org>
1237
c1d61a7d
GM
1238 * fileio.c (unwind_read): Function removed.
1239 (read_non_regular, read_non_regular_quit): New functions.
1240 (Finsert_file_contents): When reading from non-regular files,
1241 arrange to catch a `quit' and terminate the loop. Rearrange
1242 code so that a `quit' when reading from a regular file doesn't
1243 insert text in the buffer.
1244
c3d6be34
GM
1245 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1246 Clear faces afterwards.
1247 (clear_font_table): Take a x_display_info parameter. Don't free
1248 fonts being the default font of any frame on the given display.
1249
e06aa1f9
GM
12502001-07-13 Gerd Moellmann <gerd@gnu.org>
1251
1252 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1253 instead of CHAR_STRING which can signal an error.
1254
1255 * charset.c (char_to_string_1): Extracted from char_to_string.
1256 Return -1 instead of signaling an error.
1257 (char_to_string): Use it.
1258
1259 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1260
176c92e6
SM
12612001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1262
1263 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1264 is t, don't try to append anything to it.
1265
1c56232f
EZ
12662001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1267
1268 * dired.c (file_name_completion): Pass dp->d_name to
1269 Fstring_match, not elt, which is always nil here.
1270
1d2b2268
GM
12712001-07-12 Gerd Moellmann <gerd@gnu.org>
1272
1273 * xselect.c (x_decline_selection_request): Handle errors
1274 caused by receivers that have vanished.
1275
1276 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1277 ignoring events on foreign windows in #if 0. Always dispatch
1278 the event after checking it with x_handle_property_notify.
1279
1280 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1281 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1282 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1283 (toplevel): Add prototypes for file-local functions.
1284 (x_atom_to_symbol): Remove DPYINFO parameter.
1285
fe5a0162
SM
12862001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1287
1288 * w32menu.c (menubar_selection_callback, w32_menu_show):
1289 Initialize `entry' to nil.
1290 (w32_dialog_show): Remove unused `save_wv' variable.
1291 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1292
a777242c
GM
12932001-07-11 Gerd Moellmann <gerd@gnu.org>
1294
8ee5b6a3
GM
1295 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1296
d0e2444e
GM
1297 * fileio.c (unwind_read): Print a message when discarding inserted
1298 text or switching the buffer to unibyte. Change parameter.
1299 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1300
a777242c
GM
1301 * fileio.c (unwind_read): New function.
1302 (Finsert_file_contents): Record it as unwind-function for
1303 the case that reading is interrupted by C-g.
1304
ae794295
GM
13052001-07-10 Gerd Moellmann <gerd@gnu.org>
1306
fe5a0162 1307 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1308 update when scrolling_window returns 0.
1309
6b05fae3
GM
1310 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1311
1312 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1313 for the case that x_decode_color signals an error.
6b05fae3 1314
ae794295
GM
1315 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1316
bb6e8cee
GM
13172001-07-09 Gerd Moellmann <gerd@gnu.org>
1318
1319 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1320 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1321 around ioctls.
1322
36b40a8a
EZ
13232001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1324
24b97d4b
EZ
1325 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1326 doc string line for dos-timezone-offset.
1327
36b40a8a
EZ
1328 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1329 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1330 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1331 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1332
1333 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1334
0967b4b0
GM
13352001-07-05 Gerd Moellmann <gerd@gnu.org>
1336
f25cfe53
GM
1337 * sound.c: Include Emacs' header files with #include "...".
1338
0967b4b0
GM
1339 * eval.c (specbind): Additionally record the buffer that was
1340 current when a buffer-local or frame-local variable was bound.
1341
c347a1c3
GM
13422001-07-04 Gerd Moellmann <gerd@gnu.org>
1343
1344 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1345 to unibyte characters in unibyte buffers.
1346
6332ca8a
GM
13472001-07-03 Gerd Moellmann <gerd@gnu.org>
1348
38472d44
GM
1349 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1350 the frame on the binding stack. Change format of entries for
1351 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1352 (unbind_to): Handle unbinding a frame-local variable.
1353
6332ca8a 1354 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1355 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1356 (dump_glyph_row): Print row's continuation_lines_width.
1357 (try_window_id): Take the shortcut if ZV is visible in the
1358 window, but there are actually no changes at ZV.
1359
63d1b174
GM
13602001-07-02 Gerd Moellmann <gerd@gnu.org>
1361
4c175203
GM
1362 * xterm.h (x_free_dpy_colors): Add prototype.
1363
1364 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1365 right number of arguments.
1366
0b54ce28
GM
1367 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1368 ($(lwlibdir)TAGS): New target.
4c175203 1369 (TAGS): Fix dependency list.
0b54ce28 1370
63d1b174
GM
1371 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1372 with input blocked.
1373
d827466c
GM
13742001-06-30 Gerd Moellmann <gerd@gnu.org>
1375
1376 * emacs.c (main): Remove extern declaration for sys_nerr, which
1377 isn't used and causes a compilation error with GCC 3.0 on
1378 FreeBSD 4.3.
1379
b5cb1ada
GM
13802001-06-27 Gerd Moellmann <gerd@gnu.org>
1381
a5d3ec3f 1382 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1383 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1384 (toplevel): Include <signal.h> and syssignal.h.
1385
b5cb1ada
GM
1386 * sound.c (vox_configure, vox_close): Turn off atimers
1387 around ioctls.
1388
d9bad487
GM
13892001-06-26 Gerd Moellmann <gerd@gnu.org>
1390
fdbb67fe
GM
1391 * keyboard.c (read_char) <non_reread>: Record the previous idle
1392 start time before calling timer_stop_idle.
1393 (read_char) <reread_first>: After processing a help-echo event,
1394 restore the previous idle start time.
1395
d9bad487
GM
1396 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1397 the start of invisible text.
1398 (setup_for_ellipsis): New function.
1399 (next_overlay_string): After all overlay strings have been
1400 processed, display an ellipsis if necessary.
1401 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1402 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1403
1404 * dispextern.h (struct iterator_stack_entry): Add member
1405 display_ellipsis_p.
1406
2b9c25e0
GM
14072001-06-25 Gerd Moellmann <gerd@gnu.org>
1408
80de57df
GM
1409 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1410 on the value of the wait-for-wm frame parameter.
1411
1412 * xterm.h (struct x_output): Add member wait_for_wm.
1413
1414 * xfns.c (Qwait_for_wm): New variable.
1415 (x_frame_parms): Add entry for `wait-for-wm".
1416 (x_set_wait_for_wm): New function.
1417 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1418 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1419
2b9c25e0
GM
1420 * xdisp.c (try_window_id) <all changes below window end>: Don't
1421 take this shortcut if ZV is visible in the window.
1422 (try_window_id): When checking for window start being in changed
1423 text, don't check that the buffer's size has changed.
1424
f772775c
RS
14252001-06-23 Richard M. Stallman <rms@gnu.org>
1426
1427 * minibuf.c (Fcompleting_read): Doc fix.
1428
fa9090b8
GM
14292001-06-19 Gerd Moellmann <gerd@gnu.org>
1430
1431 * composite.c (Ffind_composition_internal): Accept ZV
1432 and a string's end position as POS.
1433
f6f1beba
GM
14342001-06-18 Gerd Moellmann <gerd@gnu.org>
1435
1436 * composite.c (Ffind_composition_internal): Check POS
1437 for validity.
1438
0ae83348
EZ
14392001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1440
1441 * editfns.c (Fmessage_box): If the frame is not under a window
1442 system, output the message in the echo area.
1443
e4cdc335
RS
14442001-06-14 Richard M. Stallman <rms@gnu.org>
1445
1446 * xdisp.c (try_window_id): When EOB is visible, don't treat
1447 insertion at EOB as if it were "off the bottom of the screen."
1448
a55a5f3c
AI
14492001-06-11 Andrew Innes <andrewi@gnu.org>
1450
1451 * w32proc.c (create_child): Add new parameter is_gui_app.
1452 (w32_executable_type): Add new parameter is_gui_app.
1453 (sys_spawnve): Use it.
1454 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1455 SIGQUIT. This matches better how the signals are interpreted by
1456 MSVC compiled programs.
1457 (syms_of_ntproc): Update docstring.
1458
1b85dc1c
SM
14592001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1460
1461 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1462 well otherwise note_mouse_highlight might optimize away highlighting
1463 if we pass over that same overlay again.
1464
b75f8eab
EZ
14652001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1466
1467 * lread.c (Fload): Document that the argument is run via
1468 substitute-in-file-name.
1469
94843cc1
GM
14702001-05-31 Gerd Moellmann <gerd@gnu.org>
1471
b14659e6
GM
1472 * Makefile.in (bootstrap-doc): New target.
1473 (bootstrap-emacs): Depend on it.
1474
0894672f
GM
1475 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1476 auto-save-list-file-name when shutting down Emacs, because
1477 creating the directory might signal an error, and leaves
1478 Emacs in a strange state.
1479
94843cc1
GM
1480 * term.c: (tty_cursor_hidden): New variable.
1481 (update_begin): Don't call tty_hide_cursor. Clean up.
1482 (update_end, set_terminal_window, set_scroll_region): Clean up.
1483 (ring_bell, reset_terminal_modes): Clean up.
1484 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1485 on tty_cursor_hidden.
1486 (write_glyphs): Call tty_hide_cursor.
1487
db3a49a6
SM
14882001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1489
1490 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1491
8bd189fb
GM
14922001-05-30 Gerd Moellmann <gerd@gnu.org>
1493
6f1be3b9
GM
1494 * xfns.c (enum image_value_type): New enumerator
1495 IMAGE_STRING_OR_NIL_VALUE.
1496 (parse_image_spec): Handle it.
1497 (xbm_format, pbm_format): Use it for :foreground and :background.
1498 (xbm_load, pbm_load): Check for nil color names.
1499
8bd189fb
GM
1500 * xterm.c (note_mouse_highlight): If an overlapping overlay
1501 exists, but we find that we highlight the same overlay as before,
1502 don't do the highlighting again.
1503
7bdba03c
GM
15042001-05-29 Gerd Moellmann <gerd@gnu.org>
1505
4c329aa8
GM
1506 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1507 Protect unibyte strings created by replacing their multibyte
1508 equivalents in menu_items.
1509
e15e2828
GM
1510 * keymap.c (Fsingle_key_description): NUL-terminate the string
1511 buffer before calling build_string.
1512
7bdba03c
GM
1513 * callproc.c (Fcall_process): Deal with decode_coding returning
1514 CODING_FINISH_INCONSISTENT_EOL.
1515
89c8dc6c
GM
15162001-05-28 Gerd Moellmann <gerd@gnu.org>
1517
db3a49a6 1518 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1519 an item's name with its key description in case the description
1520 is a multibyte string.
1521
1522 * keymap.c (Fsingle_key_description): Create a multibyte string
1523 only if necessary.
1524
eb04d6cd
GM
1525 * macros.c (Fstart_kbd_macro): Doc fix.
1526
8bd6307f
GM
1527 * xterm.c (cursor_in_mouse_face_p): New function.
1528 (x_draw_stretch_glyph_string): Use it to choose a different GC
1529 when drawing a cursor within highlighted text.
1530
e26c4089
GM
1531 * editfns.c (char_property_eq): Put in #if 0.
1532
1533 * indent.c (string_display_width): Put in #if 0.
1534
1535 * lread.c (Fload): Remove unused label.
1536
89c8dc6c
GM
1537 * termcap.c (speeds): Put in #if 0.
1538
9a1211f2
GM
15392001-05-18 Gerd Moellmann <gerd@gnu.org>
1540
29148a3f
GM
1541 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1542
9a1211f2
GM
1543 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1544 transformation matrix by 10.
1545
09393d07
GM
15462001-05-16 Gerd Moellmann <gerd@gnu.org>
1547
1548 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1549 only if it's equal to the former foreground pixel color.
db3a49a6 1550 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1551 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1552
460e6bae
GM
15532001-05-16 Dave Love <fx@gnu.org>
1554
1555 * insdel.c (signal_before_change, signal_after_change): Consider a
1556 local change hook which changes the buffer.
99c78ce8
GM
1557
1558 * process.c (read_process_output): Don't call signal_after_change
1559 and update_compositions after insert_from_string_before_markers.
1560
dbcf3c03
GM
15612001-05-16 Gerd Moellmann <gerd@gnu.org>
1562
a90b3d3c
GM
1563 * xfaces.c (split_font_name): Use the right field when
1564 checking for `[...]' syntax.
1565
1b7818b4
GM
1566 * buffer.c (copy_overlays): New function.
1567 (clone_per_buffer_values): Use it.
1568
1569 * buffer.h (OVERLAY_PLIST): New macro.
1570
9bae8781
GM
1571 * keymap.c (Fsingle_key_description): Replace a build_string with
1572 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1573
dbcf3c03
GM
1574 * fontset.c (Ffontset_info): Check that face is non-null
1575 before accessing its fields.
1576
8a1ae4dd
GM
15772001-05-15 Gerd Moellmann <gerd@gnu.org>
1578
18a0a39e
GM
1579 * keyboard.c (read_key_sequence): Prevent generating a fake
1580 prefix key twice.
1581
e335b66a
GM
1582 * xfaces.c (split_font_name): Handle `[...]' for the right
1583 font name fields.
1584
8a1ae4dd
GM
1585 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1586 of CCL_STAT_INVALID_CMD.
1587
3cf80731
SM
15882001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1589
33568849
SM
1590 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1591 in <var> has no default value yet.
1592
3cf80731
SM
1593 * xfaces.c (try_alternative_families): First try the FAMILY.
1594 And if nothing is found in the end, try again with scalable fonts.
1595 (try_font_list): Let try_alternative_families do a bit more of
1596 the work. Only use FAMILY if it is not nil.
1597 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1598
933b0249
GM
15992001-05-14 Gerd Moellmann <gerd@gnu.org>
1600
58e5af83
GM
1601 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1602 pointer shape when show_mouse_face has already done it.
33568849 1603
58e5af83 1604 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1605 full-width rows.
1606
7b16a6bf
GM
1607 * xfaces.c (split_font_name): Make sure to leave the loop
1608 with the right value of `i'.
3cf80731 1609
933b0249
GM
1610 * xfaces.c (split_font_name): Handle matrix transformations
1611 in the pixel and point size fields of XLFD font names.
1612 (xlfd_point_size): Likewise.
1613
dddcbf00
EZ
16142001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1615
3cf80731 1616 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1617 (x_to_w32_font): Add prototype.
1618
7689ef0b
EZ
1619 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1620 redefining, to avoid compiler warnings.
1621
e7c15bba
EZ
1622 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1623
dddcbf00
EZ
1624 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1625 (w32_get_bdf_glyph): Cast between unsigned char and char when
1626 passing arguments to subroutines, to shut up compiler warnings.
1627 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1628 GET_HEX_VAL.
1629
1630 * xfaces.c: Include keyboard.h before frame.h, not after it.
1631
1632 * widget.c: Include keyboard.h before frame.h.
1633
1634 * w32term.h (struct image, struct face): Forward declaration, to
1635 avoid compiler warnings.
1636
7bd2d083
GM
16372001-05-11 Gerd Moellmann <gerd@gnu.org>
1638
47e72862
GM
1639 * keyboard.c (read_key_sequence): Don't modify events when
1640 generating fake prefix keys (mode-line, scroll-bar, ...) since
1641 this prevents proper processing of such events when pushed back
1642 into unread-command-events.
1643
dd5f324b
GM
1644 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1645 actually redrawn. Make the function static.
1646 (note_mouse_highlight): Fix a case where the mouse cursor
1647 was changed back to the text cursor.
1648
1649 * xterm.h (clear_mouse_face): Remove prototype.
1650
d88a79d4
GM
1651 * xdisp.c (try_window_id): Fix the fix and set the right
1652 window_end_vpos.
1653
1654 * xdisp.c (try_window_id): Fix computation of window end in the
1655 case that lines were deleted at the end of the window. Add some
1656 more debug_method_adds.
0416532f 1657
7bd2d083
GM
1658 * xfaces.c (try_alternative_families): New function.
1659 (try_font_list): Use it. If ATTRS specifies a family, check
1660 fonts from that family first.
1661 (choose_face_font): Remove code setting the family part of
1662 the pattern to nil.
1663
23fca891
GM
16642001-05-10 Gerd Moellmann <gerd@gnu.org>
1665
ff9aa2ca
GM
1666 * xdisp.c (try_window_id): Fix case of all changes before
1667 the window start.
7b2654b5 1668
23fca891
GM
1669 * xdisp.c (try_window_id): Add some xasserts.
1670
e9726794
GM
16712001-05-09 Gerd Moellmann <gerd@gnu.org>
1672
1673 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1674
9e53a675
GM
16752001-05-09 Dave Love <fx@gnu.org>
1676
1677 * xdisp.c (GIVE_UP): Fix for K&R C.
1678
0d487c52
GM
16792001-05-09 Gerd Moellmann <gerd@gnu.org>
1680
fe88d421
GM
1681 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1682
0d487c52
GM
1683 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1684 back to the text cursor shape without need.
1685
1e9fc92e
GM
16862001-05-07 Gerd Moellmann <gerd@gnu.org>
1687
a2a6232e
GM
1688 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1689
1690 * dispextern.h (inverse_video): Declare extern.
1691
1e9fc92e
GM
1692 * keyboard.c (delete_kboard): Handle the case that selected_frame
1693 has been deleted in the course of x_connection_closed.
1694
12949a7f
EZ
16952001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1696
7b2654b5
SM
1697 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1698 Fix the change from 2001-04-30.
12949a7f 1699
2fa2f461
GM
17002001-05-03 Gerd Moellmann <gerd@gnu.org>
1701
a779d213
GM
1702 * xfns.c (file_dialog_unmap_cb): New function.
1703 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1704 where a dialog is closed via the window manager.
1705
7b2654b5 1706 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1707 the window start or all below the window end mostly rewritten.
1708 (redisplay_window): Move the tests if try_window_id is
1709 applicable to try_window_id.
1710 (GIVE_UP): New macro.
1711
3356df63
GM
17122001-05-02 Gerd Moellmann <gerd@gnu.org>
1713
a39202f6 1714 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1715 currently being updated, mark the frame garbaged.
1716 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1717 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1718
3356df63
GM
1719 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1720 again if it has already been drawn.
1721
a9d2fd1d
SM
17222001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1723
1724 * syntax.c (update_syntax_table): Check that oldi has the same
1725 properties as old_prop before deciding not to invalidate.
1726
c95fc5f1
GM
17272001-04-30 Gerd Moellmann <gerd@gnu.org>
1728
a9793e45
GM
1729 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1730 read-only text that is so because of text properties.
1731
c95fc5f1 1732 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1733 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1734 windows that are components of a Lucid menu bar.
1735
5a5d9185
GM
17362001-04-27 Gerd Moellmann <gerd@gnu.org>
1737
1738 * term.c (turn_on_face): Fix reverse video handling on terminals
1739 that don't support colors.
1740
ba973f7a
GM
17412001-04-26 Gerd Moellmann <gerd@gnu.org>
1742
1743 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1744 a non-buffer.
1745
8c56a983
GM
17462001-04-25 Gerd Moellmann <gerd@gnu.org>
1747
a728644c
GM
1748 * term.c (toggle_highlight): New function.
1749 (turn_on_face): Change handling of reverse video.
1750
7b2654b5
SM
1751 * process.c (wait_reading_process_input):
1752 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1753
bfd8410f
GM
1754 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1755 of the number of overlays to check.
1756
be2488ca
GM
1757 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1758
8c56a983
GM
1759 * xdisp.c (try_window_id): Fix a case where window_end_pos
1760 and window_end_bytepos were not adjusted.
1761
522d42f7
GM
17622001-04-23 Gerd Moellmann <gerd@gnu.org>
1763
1764 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1765 zero instead of -1.
1766
78c1afb6
EZ
17672001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1768
a9d2fd1d
SM
1769 * process.c (wait_reading_process_input) [!subprocesses]:
1770 Don't reference waiting_for_user_input_p, it's not defined in the
1771 branch without async subprocesses support.
78c1afb6 1772
a2fab450
GM
17732001-04-19 Gerd Moellmann <gerd@gnu.org>
1774
a122a38e
GM
1775 * keyboard.c (delete_kboard): Prevent a dangling reference
1776 from current_kboard to KB, which is freed.
1777
a9d2fd1d
SM
1778 * process.c (wait_reading_process_input):
1779 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1780 read_key_sequence aware of buffer changes from under it.
1781
0f8d6dc7
GM
17822001-04-18 Gerd Moellmann <gerd@gnu.org>
1783
eeffb293
GM
1784 * xfaces.c (Qscalable_fonts_allowed): New variable.
1785 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1786 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1787 removed.
eeffb293 1788 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1789 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1790 for scalable-fonts-allowed to t.
eeffb293 1791
0f8d6dc7
GM
1792 * fileio.c (Finsert_file_contents): If the file size returned from
1793 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1794 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1795
eec2d1de
EZ
17962001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1797
1798 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1799 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1800 (__memalign_hook): Make the two prototypes consistent.
1801
f4f480bd
GM
18022001-04-17 Gerd Moellmann <gerd@gnu.org>
1803
1804 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1805 matrix of mini-windows.
1806
52283633
SM
18072001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1808
1809 * intervals.c (find_interval): Don't rebalance during signal handling.
1810
ec2423c9
GM
18112001-04-11 Gerd Moellmann <gerd@gnu.org>
1812
30cb0001 1813 * fns.c: Include blockinput.h.
52283633 1814
ec2423c9
GM
1815 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1816
719d83ad
GM
18172001-04-10 Gerd Moellmann <gerd@gnu.org>
1818
60f8d735
GM
1819 * fns.c (Fcompare_strings): Fix return values.
1820
afffeb57
GM
1821 * window.c (window_scroll): Change the meaning of N to mean
1822 N screen-fulls or N lines.
1823 (window_scroll_pixel_based, window_scroll_line_based)
1824 (scroll_command, Fscroll_other_window): Change accordingly.
1825
52283633
SM
1826 * window.c (window_scroll_pixel_based, Frecenter):
1827 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1828 height of the window.
1829
1830 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1831 instead of using it.last_visible_y for the height of the window.
52283633 1832
719d83ad 1833 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1834 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1835
1836 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1837 able to write to hidden and system files. From Dan Holmsand
1838 <dan@eyebee.com>.
719d83ad 1839
8ddf3ee1
GM
1840 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1841 Holmsand <dan@eyebee.com>.
719d83ad 1842
522ed7fb
GM
18432001-04-09 Gerd Moellmann <gerd@gnu.org>
1844
9170e5d4
GM
1845 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1846
522ed7fb
GM
1847 * window.c (window_internal_height): Return 1 less if the
1848 window has a header line.
1849
1850 * xdisp.c (try_window_id): When scrolling on a terminal, take
1851 the change of window_internal_height into account.
1852
ceeb3d7d
EZ
18532001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1854
1855 * gmalloc.c (align): If the argument SIZE would overflow
1856 __malloc_ptrdiff_t, fail right away.
1857
63685b9d
GM
18582001-04-06 Gerd Moellmann <gerd@gnu.org>
1859
1860 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1861 Make sure the tooltip is completely visible.
1862 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1863
1864 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1865
1866 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1867
3ffb33bb
DL
18682001-04-06 Dave Love <fx@gnu.org>
1869
52283633
SM
1870 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1871 Fix test of `from'.
3ffb33bb 1872
869fb12c
GM
18732001-04-06 Gerd Moellmann <gerd@gnu.org>
1874
52283633 1875 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1876
869fb12c
GM
1877 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1878
441bf856
GM
18792001-04-05 Gerd Moellmann <gerd@gnu.org>
1880
4d664b04
GM
1881 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1882
52283633 1883 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1884
30ca89f5
GM
1885 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1886 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1887
1888 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1889 shell widget's position only if it is non-null.
1890
52283633
SM
1891 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1892 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1893
81a81c0f
GM
1894 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1895 FILENAME to bring it in synch with the documentation.
1896
441bf856
GM
1897 * xfaces.c (realizing_basic_faces_p): Renamed from
1898 realize_default_face_p.
1899 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1900 (realize_default_face): Don't set the flag.
1901
702a1e8e
GM
19022001-04-04 Gerd Moellmann <gerd@gnu.org>
1903
1013f4e3
GM
1904 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1905
52283633
SM
1906 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1907
1013f4e3
GM
1908 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1909 the buffer that was used for echoing.
1910
702a1e8e
GM
1911 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1912 (first_font_matching): Removed unused function.
1913 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1914 (may_use_scalable_font_p): Remove parameter FONT; rename
1915 parameter NAME to FONT.
1916 (x_face_list_fonts): Fix missing bounds check.
1917 (realizing_default_face_p): New variable.
1918 (realize_default_face): Set and clear that flag.
1919 (x_face_list_fonts): When called during the realization of the
1920 default face, and no matching fonts are found when ignoring
1921 scalable fonts and fonts matching a regexp from
1922 face-ignored-fonts, try without ignoring fonts.
1923
f9dbcda4
GM
19242001-04-03 Gerd Moellmann <gerd@gnu.org>
1925
ad18ffb1
GM
1926 * xfns.c (postprocess_image): New function.
1927 (lookup_image): Call it for all image types except PostScript.
1928 (x_kill_gs_process): Call postprocess_image.
1929
f9dbcda4
GM
1930 * xterm.c (x_use_underline_position_properties): New variable.
1931 (x_draw_glyph_string): Use it.
1932 (syms_of_xterm): DEFVAR_BOOL it.
1933
651f03b6
GM
19342001-04-02 Gerd Moellmann <gerd@gnu.org>
1935
1936 * xterm.c (x_alloc_nearest_color_1): New function.
1937 (x_alloc_nearest_color): Use it.
1938 (x_color_cells): Take a Display as argument, instead of a frame.
1939 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1940 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1941 (x_initialize): Register cvt_string_to_pixel as resource converter
1942 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1943
73d75a62
GM
19442001-03-30 Gerd Moellmann <gerd@gnu.org>
1945
b2046df8
GM
1946 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1947 (set_iterator_to_next): If a string from a display property ends,
1948 consider the case that this might also be the end of an
1949 overlay string having the display property.
1950
52283633 1951 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1952
87d8eba4
GM
1953 * xdisp.c (reseat_to_string): Undo last change.
1954
73d75a62
GM
1955 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1956 matrix of a window when the header line changes, when
1957 new rows are allocated, or when the width changes.
1958
911a2406
EZ
19592001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1960
52283633 1961 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1962
aea51abe
EZ
19632001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1964
1965 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1966 deprecated.
1967
176bc847
GM
19682001-03-29 Gerd Moellmann <gerd@gnu.org>
1969
ed31fabf
GM
1970 * data.c (Fsubr_interactive_form): New function.
1971 (syms_of_data): Defsubr it.
1972
176bc847
GM
1973 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1974 (live_float_p, live_misc_p): Return 1 only if the offset of the
1975 pointer in its block is >= 0.
1976
e59d0e9d
GM
19772001-03-28 Paul Eggert <eggert@twinsun.com>
1978
1979 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1980 microseconds calcuation. Avoid double-rounding problem.
1981 In doc string, warn that the result is approximate.
1982
f827b862
GM
19832001-03-28 Gerd Moellmann <gerd@gnu.org>
1984
30a3f61c
GM
1985 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1986 bind `inhibit-eval-during-redisplay' to t.
1987
1988 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1989
1990 * xdisp.c (inhibit_eval_during_redisplay)
1991 (Qinhibit_eval_during_redisplay): New variables.
1992 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1993 don't eval, return nil instead.
1994 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1995 Initialize Qinhibit_eval_during_redisplay.
1996
e719f5ae
GM
1997 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1998 the iterator's multibyte_p flag.
1999
deb2613a
GM
2000 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2001 instead of setting it to zero; it's incremented for each frame
2002 where the menu face is changed.
2003
52283633
SM
2004 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2005 change bottom shadow accordingly.
2006
2007 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2008 intersections here.
2009 (expose_window): Do it here instead.
52283633 2010 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2011
f827b862
GM
2012 * bytecode.c (BYTE_CODE_QUIT): New macro.
2013 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2014
4bde0ebb
GM
20152001-03-27 Gerd Moellmann <gerd@gnu.org>
2016
607ec83c
GM
2017 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2018 Give up if matrix starts in an ellipsis.
2019 (init_from_display_pos): Do nothing if POS doesn't specify
2020 a dpvec_index but the iterator has such a position.
2021
0245398f
GM
2022 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2023
aba25348
GM
2024 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2025 x/y position is (0, 0) after destroying the menu bar, restore
2026 its original position.
2027
4bde0ebb
GM
2028 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2029 (init_from_display_pos): Use it.
2030 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2031
8cdb267e
GM
20322001-03-26 Gerd Moellmann <gerd@gnu.org>
2033
2034 * xdisp.c (try_window_id): Undo last change.
2035
9948db79
EZ
20362001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2037
2038 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2039
2040 * buffer.c (syms_of_buffer): Doc fix.
2041
2eddf899
GM
20422001-03-26 Gerd Moellmann <gerd@gnu.org>
2043
2044 * xfaces.c (x_update_menu_appearance): Use local variable
2045 popup_path for setting font resources.
2046
6c145d35
EZ
20472001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2048
6a65b1b5
EZ
2049 * frame.c (Fframe_list): Don't reference tip_frame if
2050 HAVE_WINDOW_SYSTEM is not defined.
2051
6c145d35
EZ
2052 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2053 <wl@gnu.org>.
2054
d74c1900
GM
20552001-03-25 Gerd Moellmann <gerd@gnu.org>
2056
20fbd925
GM
2057 * xdisp.c (init_from_display_pos): Test invisible property
2058 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2059
927c5b3b
GM
2060 * xdisp.c (redisplay_internal) <update one window>: Make sure
2061 last_arrow_position and last_arrow_string are set.
2062
d74c1900
GM
2063 * frame.c (Fframe_list): Don't return a tooltip frame.
2064
091f8878
GM
20652001-03-23 Gerd Moellmann <gerd@gnu.org>
2066
52283633
SM
2067 * xdisp.c (mark_window_display_accurate_1): New function,
2068 extracted from mark_window_display_accurate.
2069 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2070 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2071 (mark_window_display_accurate): Use it.
2072 (redisplay_internal): Use it for the selected window.
2073 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2074 for the selected frame.
2075
ac90c44f
GM
2076 * xdisp.c Use make_number, for readability.
2077 (try_window_id): Disable rows below the window end.
2078 (try_window_reusing_current_matrix): Use cursor_row_p.
2079 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2080 of rows.
2081 (init_from_display_pos): If POS specifies a position in a display
2082 vector, maybe get the iterator set up for that ellipsis.
43c09969 2083
091f8878
GM
2084 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2085
991786dd
EZ
20862001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2087
2088 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2089
6c29b43c
GM
20902001-03-23 Gerd Moellmann <gerd@gnu.org>
2091
2092 * xfaces.c (x_update_menu_appearance): Use a different path
2093 for Lucid popup menus.
2094
d8731202
SM
20952001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2096
2097 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2098
2099 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2100 (string_buffer_position): Use `make_number'.
2101
f61a541b
GM
21022001-03-22 Gerd Moellmann <gerd@gnu.org>
2103
3c9e997b
GM
2104 * xfaces.c (x_update_menu_appearance): Renamed from
2105 x_set_menu_face_resources. Use different resources for popups.
2106
2107 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2108 (GC_CHECK_STRING_BYTES): Don't define.
2109
364cd450
GM
2110 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2111 Removed, together with subroutines.
2112 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2113 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2114
d8731202
SM
2115 * dispextern.h (x_set_menu_resources_from_menu_face):
2116 Remove prototype.
364cd450 2117
d8731202 2118 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2119 Remove calls to x_set_menu_resources_from_menu_face.
2120
d8731202
SM
2121 * xfaces.c (xm_set_menu_resources_from_menu_face):
2122 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2123
2124 * xmenu.c: Include widget.h.
2125 (single_submenu): Return int. Some cleanup.
2126 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2127
140330de
GM
21282001-03-21 Gerd Moellmann <gerd@gnu.org>
2129
2130 * xterm.c (x_update_window_end): Handle overwritten mouse face
2131 also for tool bar windows.
2132 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2133 DRAW is DRAW_IMAGE_RAISED.
2134
1741905c
GM
21352001-03-20 Gerd Moellmann <gerd@gnu.org>
2136
fa88947e
GM
2137 * print.c (syms_of_print): Doc fixes.
2138
1741905c
GM
2139 * fns.c (Fmd5): Doc fix.
2140
ade0bee1
GM
21412001-03-19 Gerd Moellmann <gerd@gnu.org>
2142
357e7376
GM
2143 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2144 Clear area of the frame not occupied by the scroll bar.
2145
c2c097cc
GM
2146 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2147 tip frame's root window buffer to *tip* right after creating
2148 the frame.
2149
ade0bee1
GM
2150 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2151 is an integer don't have to be for space characters.
2152
88c6e37e
GM
21532001-03-16 Gerd Moellmann <gerd@gnu.org>
2154
52283633
SM
2155 * indent.c (current_column, current_column_1, Fmove_to_column)
2156 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2157
c62eed76
KH
21582001-03-15 Kenichi Handa <handa@etl.go.jp>
2159
2160 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2161 drawing glyph string.
2162
c899e7e6
GM
21632001-03-15 Gerd Moellmann <gerd@gnu.org>
2164
d0bbfc99
GM
2165 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2166 (command_loop_1): Undo last change.
2167
03d1a189
GM
2168 * xterm.c (fast_find_position): Return the correct vpos.
2169
c899e7e6 2170 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2171 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2172 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2173 Call store_symval_forwarding with BUF null.
2174 (set_internal): Call store_symval_forwarding with the BUF
2175 parameter passed to set_internal. Formerly, the value was always
2176 set in the current buffer; the buffer recorded in specbind for
2177 this case wasn't used.
2178 (arith_driver): Reindent.
2179
52283633
SM
2180 * buffer.c (swap_out_buffer_local_variables):
2181 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2182
2183 * lisp.h (store_symval_forwarding): Change prototype.
2184
2185 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2186
57ac7c81
GM
21872001-03-14 Gerd Moellmann <gerd@gnu.org>
2188
697617d9
GM
2189 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2190 FOR_DELETION. Avoid resizing the mini-window of the selected
2191 frame if FOR_DELETION is set.
2192 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2193 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2194 signature.
2195
2196 * window.c (Fset_window_configuration): Change call to
2197 do_switch_frame to new format.
2198
2199 * keyboard.c (quit_throw_to_read_char): Change call to
2200 do_switch_frame to new format.
2201
2202 * lisp.h (do_switch_frame): Change prototype.
2203
819dce0f
GM
2204 * frame.c (Fframe_parameters): In the `buffer-list' frame
2205 parameter, store the buffer list of FRAME, not the list of the
2206 selected frame.
2207
57ac7c81
GM
2208 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2209 box just because the glyph row's full_width_p flag is set.
2210
65008712
GM
22112001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2212
2213 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2214 skip the padding blanks inserted in extend_face_to_end_of_line,
2215 before checking for trailing whitespace.
2216
159cf431
GM
22172001-03-13 Gerd Moellmann <gerd@gnu.org>
2218
52283633 2219 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2220 Remove special handling for LessTif/Motif.
2221 (toplevel): Don't include Xm/Xm.h.
2222
52283633
SM
2223 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2224 Remove workaround code for LessTif; it doesn't work anymore.
2225
2564ea1b 2226 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2227 Xm/ScrollBarP.h.
afcdc0a1 2228
52283633
SM
2229 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2230 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2231 contemporary LessTif.
2232
52283633
SM
2233 * xfaces.c (xm_set_menu_resources_from_menu_face):
2234 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2235
159cf431
GM
2236 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2237 removing button grabs.
2238
c6f7429a
KH
22392001-03-13 Kenichi Handa <handa@etl.go.jp>
2240
cb82d767
KH
2241 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2242 and clip-large-size-font as obsolete.
2243
c6f7429a
KH
2244 * lread.c (read_multibyte): Check the validity of multibyte
2245 sequence. If invalid, return the first byte.
2246
760cefb5
GM
22472001-03-12 Gerd Moellmann <gerd@gnu.org>
2248
2249 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2250 before running the command; timer functions or process
2251 filters may have set it.
2252
5141f9d0
EZ
22532001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2254
2255 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2256 Doc fix.
2257
b6a15240
GM
22582001-03-12 Gerd Moellmann <gerd@gnu.org>
2259
2260 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2261 to sprintf.
2262
95522746
GM
22632001-03-09 Gerd Moellmann <gerd@gnu.org>
2264
db14cfc5
GM
2265 * dispextern.h (string_buffer_position): Add prototype.
2266
52283633 2267 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2268 (single_display_prop_string_p): New functions.
2269
2270 * xterm.c (note_mouse_highlight): If there's no help-echo on
2271 a string, look at the buffer text ``under'' it.
2272
2273 * keyboard.c (make_lispy_event): Add string info to the event,
2274 analogous to what's done on mode lines.
2275 (read_key_sequence): For a click on a string, consider `local-map'
2276 and `keymap' of that string.
2277
52283633
SM
2278 * keyboard.c (make_lispy_event, make_lispy_movement):
2279 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2280
2281 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2282
2283 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2284 POS; return void.
2285
95522746
GM
2286 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2287 flags argument to emacs_open; it seems to conflict with O_EXCL.
2288
898a399d
KH
22892001-03-09 Kenichi Handa <handa@etl.go.jp>
2290
28cd4910
KH
2291 * composite.h (struct composition): Change types of members;
2292 glyph_len to unsigned, width to unsigned short.
898a399d 2293
4cdf6a6c
AI
22942001-03-08 Andrew Innes <andrewi@gnu.org>
2295
2296 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2297 menu titles.
2298
129004d3
GM
22992001-03-08 Gerd Moellmann <gerd@gnu.org>
2300
221dd3e7
GM
2301 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2302 instead of nil.
2303
52283633 2304 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2305 help-echo in strings.
2306 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2307 (fast_find_string_pos): New function.
2308
52283633
SM
2309 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2310 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2311
2312 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2313 Handle `mouse-face'.
2314
2315 * dispextern.h (face_at_string_position): Change prototype.
2316
52283633 2317 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2318
129004d3
GM
2319 * keyboard.c (make_lispy_event): Avoid generating drag events
2320 if the mouse hasn't actually moved to another buffer position.
52283633 2321
80c8ab8c
DL
23222001-03-08 Dave Love <fx@gnu.org>
2323
129004d3 2324 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2325
989521fd
GM
23262001-03-08 Gerd Moellmann <gerd@gnu.org>
2327
2328 * process.c (Fset_process_window_size): Fix a typo.
2329
bb5c338d
KH
23302001-03-08 Kenichi Handa <handa@etl.go.jp>
2331
2332 * coding.c (detect_coding_sjis): Do more rigid check.
2333 (detect_coding_big5): Likewise.
2334 (decode_coding_sjis_big5): Likewise.
2335 (Fdetect_coding_region): Call detect_coding_system with tailing
2336 anchor byte `\0' for more rigid detection.
52283633 2337 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2338 (Fdetect_coding_string): Likewise.
2339
8b8f9197
SM
23402001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2341
2342 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2343 a string before extracting its data.
2344
3bdf2660
GM
23452001-03-07 Gerd Moellmann <gerd@gnu.org>
2346
2347 * window.c (Frecenter): Rewrite code handling negative values
2348 of ARG on graphical frames.
2349
23502001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2351
2352 * window.c (displayed_window_lines): If W->start is outside the
2353 accessible portion of the buffer, call start_display with BEGV or
2354 ZV instead of W->start.
2355
471f86b9
GM
23562001-03-07 Gerd Moellmann <gerd@gnu.org>
2357
2ab62c6c
GM
2358 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2359
471f86b9
GM
2360 * process.c (Fset_process_filter): Don't crash if the input
2361 file descriptor of PROCESS is closed.
2362 (Fset_process_window_size): Likewise.
2363
101922c3
GM
23642001-03-06 Kenichi Handa <handa@etl.go.jp>
2365
2366 * xterm.c (XTflash): Make the timeout of select shorter, and call
2367 select repeatedly until the desired time expires.
2368
45d051a7
GM
23692001-03-06 Gerd Moellmann <gerd@gnu.org>
2370
2371 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2372
2373 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2374
2375 * lisp.h (Vwindow_list): Declare extern.
2376
8f372c46
EZ
23772001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2378
2379 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2380
f16a7aa5
GM
23812001-03-06 Gerd Moellmann <gerd@gnu.org>
2382
157ae273
GM
2383 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2384 to detect a case where we have to highlight a different region
2385 despite not having left the currently highlighted region.
2386 Set mouse_face_overlay in the x_display_info.
45d051a7 2387 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2388
2389 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2390
2391 * buffer.c (mouse_face_overlay_overlaps): New function.
2392
2393 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2394 (Qmouse_face): Declare extern.
2395
f16a7aa5
GM
2396 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2397 if face_change_count is non-zero.
2398
827afcac
KH
23992001-03-06 Kenichi Handa <handa@etl.go.jp>
2400
2401 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2402 that the source is unibyte.
2403
14c7242e
DL
24042001-03-05 Dave Love <fx@gnu.org>
2405
827afcac 2406 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2407
c28b847b
GM
24082001-03-05 Gerd Moellmann <gerd@gnu.org>
2409
2410 * minibuf.c (read_minibuf): Clean up the binding stack if
2411 called noninteractively.
2412
b86644f2
KH
24132001-03-05 Kenichi Handa <handa@etl.go.jp>
2414
2415 * coding.c (syms_of_coding): Docstring modified.
2416
203682cc 24172001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2418
2419 * charset.c (char_to_string): If a single byte char has modifier
2420 bits that can't be reflected to the character code, ignore them
45d051a7 2421 instead of signaling an error.
b86644f2 2422
e30bd7b7
EZ
24232001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2424
2425 * s/msdos.h: Update copyright notice.
2426
2427 * dosfns.h: Update copyright notice.
2428
2429 * dosfns.c: Update copyright notice.
2430
2431 * msdos.c: Update copyright notice.
2432
b52b65bd
GM
24332001-03-02 Gerd Moellmann <gerd@gnu.org>
2434
2435 * xterm.c (glyph_rect): New function.
2436 (XTmouse_position): Use it to raise the threshold for mouse
2437 movement event generation.
2438
53c4b1e6
EZ
24392001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2440
2441 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2442 specifies (reverse . t), reverse the initial screen colors.
2443 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2444 but we are reversing the colors, set bg_set, not fg_set.
2445 Likewise for setting background-color and reversing: set fg_set.
2446 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2447 in effect.
2448
2449 * xfaces.c (Finternal_set_lisp_face_attribute)
2450 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2451 parameters alist.
2452
f964b4d7
GM
24532001-03-02 Gerd Moellmann <gerd@gnu.org>
2454
ef53d75e
GM
2455 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2456 to a single slash in the middle of file names.
2457
52283633 2458 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2459 Accept only alphanumeric time zone names.
2460
f964b4d7
GM
2461 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2462 or width area.
2463 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2464 a widget to zero height.
52283633 2465
c3c45f65
GM
24662001-03-01 Gerd Moellmann <gerd@gnu.org>
2467
2468 * window.c (Fwindow_end): Call move_it_past_eol only if
2469 ending up on a partially visible line.
2470
028d739a
DL
24712001-03-01 Dave Love <fx@gnu.org>
2472
2473 * ccl.c (Fccl_execute): Doc fix.
2474
57c5889c
GM
24752001-03-01 Gerd Moellmann <gerd@gnu.org>
2476
35f59f6b
GM
2477 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2478 of the tool bar before calling x_figure_window_size.
2479
f84ff02c
GM
2480 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2481 NULL after destroying it, otherwise XTread_socket can access a
2482 destroyed widget when input is unblocked.
2483
8b8f9197 2484 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2485
57c5889c
GM
2486 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2487 same name as before, although there was a change in fontsets.
2488
224227d1
KR
24892001-02-28 Ken Raeburn <raeburn@gnu.org>
2490
4560730a
KR
2491 * lisp.h (Fframe_parameter): Declare.
2492
224227d1 2493 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2494 Lisp_Object.
224227d1 2495
ece93c02
GM
24962001-02-28 Gerd Moellmann <gerd@gnu.org>
2497
11ef99b9
GM
2498 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2499 NULL instead.
2500
2501 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2502 NULL instead.
2503
ece93c02
GM
2504 * alloc.c (toplevel): Include process.h.
2505 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2506 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2507 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2508 (allocate_vector, allocate_hash_table, allocate_window)
2509 (allocate_frame, allocate_process, allocate_other_vector):
2510 New functions.
ece93c02
GM
2511 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2512 (mark_maybe_pointer): New function.
52283633 2513 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2514 remain and not Lisp_Objects.
2515 (min_heap_address, max_heap_address): New variables.
2516 (mem_find): Return MEM_NIL if START is below min_heap_address or
2517 above max_heap_address.
2518 (mem_insert): Compute min_heap_address and max_heap_address.
2519
2520 * process.c (make_process): Use allocate_process.
2521
2522 * frame.c (make_frame): Use allocate_frame.
2523
2524 * window.c (make_window, make_dummy_parent): Use allocate_window.
2525 (Fcurrent_window_configuration): Use allocate_other_vector.
2526
2527 * lisp.h (allocate_vectorlike): Remove prototype.
2528 (allocate_vector, allocate_other_vector, allocate_frame)
2529 (allocate_window, allocate_process, allocate_hash_table):
2530 Add prototypes.
2531
2532 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2533 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2534
063af457
KH
25352001-02-27 Kenichi Handa <handa@etl.go.jp>
2536
2537 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2538 treat the produced bytes as a valid multibyte sequence.
2539
2540 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2541 (ccl_driver) <CCL_WriteMultibyteChar2>:
2542 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2543 <ccl_finish>: Set ccl->eight_bit_control properly.
2544
2545 * ccl.h (struct ccl_program): New member eight_bit_control.
2546
f58c6494
SM
25472001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2548
2549 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2550 accessible_keymaps_char_table.
2551 (accessible_keymaps_char_table): Obey `is_metized'.
2552 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2553 Lisp_Object.
2554
c596c392
GM
25552001-02-26 Gerd Moellmann <gerd@gnu.org>
2556
2557 * dispnew.c: Check HAVE_TERM_H before including term.h.
2558
425de386
AI
25592001-02-24 Andrew Innes <andrewi@gnu.org>
2560
2561 * makefile.w32-in: Update copyright notice.
2562
2ba11bbd
SM
25632001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2564
2565 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2566
66c56ed1
KH
25672001-02-24 Kenichi Handa <handa@etl.go.jp>
2568
4c1593ce
KH
2569 * Makefile.in (lisp): Add international/utf-8.elc.
2570
66c56ed1
KH
2571 * fontset.c (Fnew_fontset): Fix handling of the case that an
2572 element of FONTLIST is a cons of family and registry.
2573
796ead7e
JR
25742001-02-23 Jason Rumney <jasonr@gnu.org>
2575
2576 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2577 to height unconditionally.
2578
2579 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2580 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2581 (x_insert_glyphs): Call window_box_left to obtain the left
2582 x-coordinate of the area to shift.
2583
2584 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2585 safe_run_hooks.
2586
f6839838
AI
25872001-02-22 Andrew Innes <andrewi@gnu.org>
2588
52283633 2589 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2590 ($(BLD)\dispnew.obj):
2591 ($(BLD)\editfns.obj):
2592 ($(BLD)\fileio.obj):
2593 ($(BLD)\filelock.obj):
2594 ($(BLD)\keyboard.obj):
2595 ($(BLD)\w32proc.obj):
2596 ($(BLD)\process.obj):
2597 ($(BLD)\sysdep.obj): Ditto.
2598
2599 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2600 header files.
52283633
SM
2601 ($(BLD)/dispnew.$(O)):
2602 ($(BLD)/editfns.$(O)):
2603 ($(BLD)/fileio.$(O)):
2604 ($(BLD)/filelock.$(O)):
2605 ($(BLD)/keyboard.$(O)):
2606 ($(BLD)/w32proc.$(O)):
2607 ($(BLD)/process.$(O)):
f6839838
AI
2608 ($(BLD)/sysdep.$(O)): Ditto.
2609
c224f70b
GM
26102001-02-22 Gerd Moellmann <gerd@gnu.org>
2611
51695746
GM
2612 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2613 at the start of the function, check that the \n in it->c is
2614 from the iterator's current position.
52283633 2615
a61b7058
GM
2616 * xdisp.c (handle_single_display_prop): Add parameter
2617 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2618 properties which replace the display of text with something else.
2619 (handle_display_prop): Call handle_single_display_prop with
2620 additional argument saying if we already replaced text display
2621 with something else. Use AREF.
52283633 2622 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2623 (decode_mode_spec_coding): Use AREF and ASIZE.
2624
3473f362
GM
2625 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2626 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2627 * vmstime.h: Files removed.
52283633 2628
2bb58df3
GM
2629 * unexencap.c, unexfx2800.c: Files removed.
2630
c224f70b
GM
2631 * dispnew.c (direct_output_for_insert): Give up if we are showing
2632 a message or just cleared the message because we might need to
2633 resize the echo area window or display an empty echo area.
2634
ffc9ff0c
GM
26352001-02-21 Gerd Moellmann <gerd@gnu.org>
2636
0528abe1
GM
2637 * xdisp.c (redisplay_internal): Do the
2638 mark_window_display_accurate after all windows have been
2639 redisplayed because this call resets flags in buffers which are
2640 needed for proper redisplay.
2641
52283633
SM
2642 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2643 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2644 the old names.
2645
52283633
SM
2646 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2647 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2648
2649 * msdos.h (struct x_output): Rename busy_window to
2650 hourglass_window, busy_p to hourglass_p.
2651
52283633
SM
2652 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2653 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2654
2655 * xfns.c: Rename everything containing *busy_cursor* and similar
2656 to *hourglass*.
2657 (syms_of_w32fns): Rename x-busy-pointer-shape to
2658 x-hourglass-pointer-shape, display-busy-cursor to
2659 display-hourglass, busy-cursor-delay to hourglass-delay.
2660
2661 * w32fns.c: Rename everything containing *busy_cursor* and similar
2662 to *hourglass*.
2663 (syms_of_w32fns): Rename x-busy-pointer-shape to
2664 x-hourglass-pointer-shape, display-busy-cursor to
2665 display-hourglass, busy-cursor-delay to hourglass-delay.
2666
2667 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2668 of its busy_p flag.
2669
2670 * dispextern.h (start_hourglass, cancel_hourglass)
2671 (display_hourglass_p): Renamed from *busy_cursor*.
2672
ab2c5f0a
GM
26732001-02-20 Gerd Moellmann <gerd@gnu.org>
2674
d17e49a8
GM
2675 * keyboard.c (read_char): When an event from unread-command-events
2676 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2677
fa97adf6
GM
2678 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2679 equal to the current buffer.
2680
ab2c5f0a
GM
2681 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2682 nil, otherwise we're left with truncate_lines t when a message
2683 is printed with message-truncate-lines bound to t.
2684
aeac019e
GM
26852001-02-19 Gerd Moellmann <gerd@gnu.org>
2686
c8bc6f65
GM
2687 * window.c (Fmove_to_window_line): Undo last change.
2688 (displayed_window_lines): Call line_bottom_y to determine
2689 the line's bottom position.
2690
2691 * dispextern.h (line_bottom_y): Add prototype.
2692
52283633 2693 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2694 (pos_visible_p): Use it.
2695
980a2d69
GM
2696 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2697 set redisplaying_p to 0 here instead of in Frecursive_edit.
2698 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2699 set redisplaying_p.
2700
52283633 2701 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2702 New variables.
2703 (syms_of_xdisp): Initialize new variables.
2704 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2705 Specbind `inhibit-menubar-update' when updating the menu bar.
2706
65048e97
GM
2707 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2708 safe_run_hooks.
2709
2710 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2711 safe_run_hooks.
2712
a57c4026
GM
2713 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2714 is null.
2715
aeac019e
GM
2716 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2717 to the start of the file.
2718
76846b31
GM
27192001-02-16 Gerd Moellmann <gerd@gnu.org>
2720
f3f053f3 2721 * window.c (set_window_buffer): Fix last change.
52283633 2722
f3f053f3
GM
2723 * window.c (set_window_buffer): Set window's vscroll to 0.
2724
dad75588
GM
2725 * window.c (coordinates_in_window): Increase width of area
2726 where the vertical line can be dragged.
2727
c220b753
GM
2728 * xterm.c (x_set_glyph_string_background_width): Extend the
2729 background face to the end of the drawing area in the text
2730 area, only.
2731
c56b1c1b
GM
2732 * xdisp.c (handle_single_display_prop): Set iterator's position
2733 to where the `display' property starts, like for images.
2734 (dump_glyph): New function.
2735 (dump_glyph_row): Use it. Dump info about marginal areas.
2736
2737 * dispnew.c (direct_output_for_insert): Recognize more cases where
2738 glyphs can be written instead of being inserted.
2739
2740 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2741 the left x-coordinate of the area to shift.
2742
76846b31
GM
2743 * dired.c (directory_files_internal): Set result list to nil
2744 before retrying.
2745
0fc71a77
KH
27462001-02-15 Kenichi Handa <handa@etl.go.jp>
2747
2748 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2749 invalid multibyte sequence, treat *SRC as a character of
2750 eight-bit-graphic.
2751
25078b54
EZ
27522001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2753
2754 * textprop.c (Fset_text_properties): Doc fix.
2755
8399f8a0
GM
27562001-02-15 Gerd Moellmann <gerd@gnu.org>
2757
2758 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2759
9a2a6f73
DL
27602001-02-14 Dave Love <fx@gnu.org>
2761
2762 * coding.c: Doc and message fixes.
2763
bf853fee
AI
27642001-02-14 Andrew Innes <andrewi@gnu.org>
2765
2766 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2767 Emacs frame above the screen size.
2768
78c663d8
GM
27692001-02-14 Gerd Moellmann <gerd@gnu.org>
2770
2771 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2772
7cc9f69f
GM
27732001-02-13 Gerd Moellmann <gerd@gnu.org>
2774
0a411995
GM
2775 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2776 case that TO ends up beyond ZV after running before-change-functions.
2777
5ddc1b75
GM
2778 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2779 the selected window if it is showing the buffer in question.
2780
7cc9f69f
GM
2781 * dired.c (directory_files_internal): Initialize errno.
2782 (toplevel): Include errno.h.
2783
2e6621ca
GM
27842001-02-13 Kenichi Handa <handa@etl.go.jp>
2785
2786 * xfaces.c (best_matching_font): New parameter width_ratio.
2787 Multiply avgwidth by width_ratio.
2788 (choose_face_font): Call best_matching_font with width_ratio
2789 calculated from the column width of C.
2790
60222d69
AI
27912001-02-12 Andrew Innes <andrewi@gnu.org>
2792
2793 The following changes are to draw box lines inside characters area
2794 if line-width is negative.
52283633 2795
60222d69
AI
2796 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2797 face->box_line_width is negative.
2798 (x_produce_stretch_glyph): Likewise.
2799 (x_produce_glyphs): Likewise.
2800 (x_estimate_mode_line_height): Likewise.
2801 (x_draw_glyph_string_background): Likewise.
2802 (x_draw_glyph_string_foreground): Likewise.
2803 (x_draw_composite_glyph_string_foreground): Likewise.
2804 (x_draw_glyph_string_box): Likewise.
2805 (x_draw_image_foreground): Likewise.
2806 (x_draw_image_relief): Likewise.
2807 (x_draw_image_foreground_1): Likewise.
2808 (x_draw_image_glyph_string): Likewise.
2809
9804b846
KH
28102001-02-09 Kenichi Handa <handa@etl.go.jp>
2811
2812 The following changes are to draw box lines inside characters area
2813 if line-width is negative.
52283633 2814
9804b846
KH
2815 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2816 face->box_line_width is negative.
2817 (x_produce_stretch_glyph): Likewise.
2818 (x_produce_glyphs): Likewise.
2819 (x_estimate_mode_line_height): Likewise.
2820 (x_draw_glyph_string_background): Likewise.
2821 (x_draw_glyph_string_foreground): Likewise.
2822 (x_draw_composite_glyph_string_foreground): Likewise.
2823 (x_draw_glyph_string_box): Likewise.
2824 (x_draw_image_foreground): Likewise.
2825 (x_draw_image_relief): Likewise.
2826 (x_draw_image_foreground_1): Likewise.
2827 (x_draw_image_glyph_string): Likewise.
2828
2829 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2830 and :line-width can be negative.
52283633 2831 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2832
49be9f70
JR
28332001-02-09 Jason Rumney <jasonr@gnu.org>
2834
2835 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2836 characters the same as ASCII and latin-1.
2837 (x_display_and_set_cursor): Check for the focus frame's selected
2838 window instead of selected_window.
2839 (x_after_update_window_line): Don't clear if frame's internal
2840 border width is zero.
2841 (x_new_font): Don't change a tooltip's size.
2842 (w32_initialize): Set char_ins_del_ok to 1.
2843
2844 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2845 (x_set_font): If font hasn't changed, avoid recomputing
2846 faces and other things.
52283633
SM
2847 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2848 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2849 (x_create_tip_frame): Prevent changing the tooltip's
2850 background color by specifying a color for the default font
2851 in .Xdefaults.
2852 (Qcancel_timer): New variable.
2853 (syms_of_w32fns): Initialize and staticpro it.
2854 (Fx_hide_tip, Fx_show_tip): Use it.
2855 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2856 the timer.
2857 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2858
2859 * w32.c (init_environment): Duplicate local string before putenv.
2860
555e35d2
SZ
28612001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2862
2863 * charset.c (Fstring): A typo.
2864
19c92c94
KH
28652001-02-09 Kenichi Handa <handa@etl.go.jp>
2866
e47a1c33
KH
2867 * charset.c (Fstring): If all arguments are less than 256, return
2868 a unibyte string.
2869
2870 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2871 return a unibyte string.
2872
19c92c94
KH
2873 * coding.c (code_convert_region): After detecting a coding, if
2874 nothing found, set coding->composing to COMPOSITION_NO.
2875 (decode_coding_string): Likewise.
2876
d8e675f5
SM
28772001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2878
2879 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2880 to avoid overflow.
2881
bd503487
KH
28822001-02-07 Kenichi Handa <handa@etl.go.jp>
2883
2884 * charset.c (parse_str_to_multibyte): New function.
2885
2886 * charset.h (parse_str_to_multibyte): Extern it.
2887
2888 * print.c (print_string): If we are going to print a unibyte
2889 string into a multibyte buffer, convert the string to multibyte by
2890 str_to_multibyte.
2891
a8370d72
AI
28922001-02-06 Andrew Innes <andrewi@gnu.org>
2893
2894 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2895 been created. It seems we can get sent window messages such as
2896 WM_ERASEBKGND before we properly update a frame.
2897
c363a1d6
GM
28982001-02-06 Gerd Moellmann <gerd@gnu.org>
2899
2900 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2901 Avoid some unnecessary cursor positioning.
2902
a08332c0
GM
29032001-02-05 Gerd Moellmann <gerd@gnu.org>
2904
52283633 2905 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2906 (LFACE_AVGWIDTH): New macro.
2907 (LFACEP): Use AREF.
2908 (check_lface_attrs): Check LFACE_AVGWIDTH.
2909 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2910 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2911 (merge_face_vectors): Check LFACE_AVGWIDTH.
2912 (Finternal_make_lisp_face): Use AREF.
2913 (xm_set_menu_resources_from_menu_face)
2914 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2915 (Finternal_lisp_face_empty_p): Use AREF.
2916 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2917 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2918 Compare average widths..
2919 (best_matching_font): Arrange for comparing average widths.
2920
52283633
SM
2921 * dispextern.h (enum lface_attribute_index):
2922 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2923
5cb3c8d4
DL
29242001-02-05 Dave Love <fx@gnu.org>
2925
2926 * puresize.h: Revert last change following loadup.el change.
2927
193fba87
AI
29282001-02-05 Andrew Innes <andrewi@gnu.org>
2929
2930 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2931 invocation of temacs, to work with Windows 2000.
2932 (bootstrap-emacs): Ditto.
2933
e16f52ce
GM
29342001-02-05 Gerd Moellmann <gerd@gnu.org>
2935
7a58ab59
GM
2936 * xterm.c (x_display_and_set_cursor): Check for the focus
2937 frame's selected window instead of selected_window.
2938
e89aaabd
GM
2939 * xdisp.c (try_scrolling): If point is in the line below the
2940 window, make sure to move the iterator at least a canonical
2941 char height down.
2942
52283633 2943 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2944
789ce875
KH
29452001-02-05 Kenichi Handa <handa@etl.go.jp>
2946
52283633
SM
2947 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2948 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2949 (ccl_driver): If the CCL program is terminated because of
2950 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2951 destination instead of throwing them away.
2952
20b28f82
GM
29532001-02-02 Gerd Moellmann <gerd@gnu.org>
2954
79fb38c0
GM
2955 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2956 faces and other things.
2957
20b28f82
GM
2958 * xdisp.c (get_next_display_element): Fix case of empty
2959 display table entry.
2960
5a72551e
EZ
29612001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2962
eb24d0bf
EZ
2963 * editfns.c (Fconstrain_to_field): Doc fix.
2964
6a3f48c7
EZ
2965 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2966 into `thoroughly', to make it consistent with the doc string.
2967
5a72551e
EZ
2968 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2969
01acdb05
GM
29702001-02-01 Gerd Moellmann <gerd@gnu.org>
2971
0353b28f
GM
2972 * search.c (search_buffer): Call set_search_regs with a byte
2973 position, not a character position.
2974
01acdb05
GM
2975 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2976 minibuffer-only,
2977
e86b5133
EZ
29782001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2979
2980 * frame.c (Fmodify_frame_parameters): Doc fix.
2981
7442878f
GM
29822001-01-31 Gerd Moellmann <gerd@gnu.org>
2983
01acdb05
GM
2984 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2985 identifier which is not reserved by Standard C.
52283633 2986
7442878f
GM
2987 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2988
2989 * window.c (enum window_part): New enumeration.
2990 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2991 Qright_bitmap_area.
2992 (coordinates_in_window): Return an enumerator from enum
2993 window_part. Fix handling of right scroll bar.
2994 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2995 `right-fringe' instead of `left-bitmap-area' and
2996 `right-bitmap-area'. Use enumerators from enum window_part
2997 instead of hard-coded integers.
52283633
SM
2998 (check_window_containing, window_from_coordinates):
2999 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3000 (syms_of_window): Replace Qleft_bitmap_area and
3001 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3002
7c132cba
EZ
30032001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3004
3005 * editfns.c (Fformat_time_string): Doc fix.
3006
c359dd9e
SM
30072001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3008
3009 * keymap.c (Fwhere_is_internal): Use the first valid binding
3010 if no ascii binding is found (when firstonly is t).
3011
ce070307
GM
30122001-01-31 Gerd Moellmann <gerd@gnu.org>
3013
b4f30ec5
GM
3014 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3015 instead of Finteractive_p.
3016
3017 * lisp.h (interactive_p): Add prototype.
3018
3019 * eval.c (interactive_p): New function.
3020 (Finteractive_p): Use it.
3021
ce070307
GM
3022 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3023
f57b6e64
DL
30242001-01-31 Dave Love <fx@gnu.org>
3025
d61c7afe
DL
3026 * .gdbinit (hook-run): Define to run xreload.
3027
f57b6e64
DL
3028 * textprop.c (Fset_text_properties): Fix newline in doc string.
3029
eef93f99
GM
30302001-01-30 Gerd Moellmann <gerd@gnu.org>
3031
52283633
SM
3032 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3033 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3034
3035 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3036 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3037 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3038
3039 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3040 height.
3041
d9c1f6f9
DL
30422001-01-30 Dave Love <fx@gnu.org>
3043
3044 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3045 AFTER_POTENTIAL_GC.
3046
e8f044a0
GM
30472001-01-29 Gerd Moellmann <gerd@gnu.org>
3048
52283633
SM
3049 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3050 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3051
8e1db7b3
EZ
30522001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3053
3054 * textprop.c (Fset_text_properties): Doc fix.
3055
4eefd9d2
GM
30562001-01-29 Gerd Moellmann <gerd@gnu.org>
3057
3058 * xdisp.c (forward_to_next_line_start): Remove xassert.
3059
fccb8288
EZ
30602001-01-29 Jason Rumney <jasonr@gnu.org>
3061
4eefd9d2 3062 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3063 returning without releasing it.
3064
76581eab
KH
30652001-01-29 Kenichi Handa <handa@etl.go.jp>
3066
3067 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3068 for '^', '$', and '\0'.
3069
83a96b4d
AC
30702001-01-28 Andrew Choi <akochoi@i-cable.com>
3071
5604ec34
AC
3072 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3073 regex for '^', '$', and '\0'.
3074
83a96b4d
AC
3075 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3076 only if current_sblock has been initialized.
3077
3078 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3079 terminal frame even if it is the only visible frame.
3080
c09a6440
KH
30812001-01-28 Kenichi Handa <handa@etl.go.jp>
3082
3083 * fontset.c (font_family_registry): Even if FONTNAME conform to
3084 XLFD, if it specifies other fields than family and registry,
52283633 3085 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3086 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3087 a signle byte character. Don't set FAMILY part to nil here.
3088 It is handled by the caller choose_face_font.
c09a6440
KH
3089 (Fnew_fontset): Call font_family_registry with FORCE 0.
3090 (Fset_fontset_font): Likewise.
3091
4dcd74e6
GM
30922001-01-27 Gerd Moellmann <gerd@gnu.org>
3093
3094 * xdisp.c (display_line): Don't treat a newline as fitting
3095 on the line.
3096
d2906bf8
GM
30972001-01-26 Gerd Moellmann <gerd@gnu.org>
3098
0130fe1a
GM
3099 * window.c (size_window): Set the window's orig_top to nil when
3100 changing heights, so that a future shrink_mini_window won't
3101 restore a bogus height.
3102
550f0e6a
GM
3103 * frame.c (do_switch_frame): If selected frame has a mini-window,
3104 resize that to exact size.
3105
b7b20fbd
GM
3106 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3107
a47b7816
GM
3108 * xdisp.c (display_line): Simplify check for glyphs fitting
3109 entirely in the line.
3110
d2906bf8
GM
3111 * xfns.c (xic_style): New variable.
3112 (create_frame_xic): Move static variable to global scope for
550f0e6a 3113 the case that `static' gets defined away.
d2906bf8 3114
73df2b1e
KH
31152001-01-26 Kenichi Handa <handa@etl.go.jp>
3116
3117 * coding.c (decode_coding): Set a flag for inhibiting
3118 inconsistent eol.
3119 (code_convert_region): Always set saved_coding_symbol.
3120 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3121 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3122
6613cfc4
GM
31232001-01-25 Gerd Moellmann <gerd@gnu.org>
3124
c5e6e06b
GM
3125 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3126 XClearArea.
3127
3128 * xterm.c (x_after_update_window_line): Don't clear if frame's
3129 internal border width is zero.
3130 (x_clear_area): New function.
3131 (x_after_update_window_line, x_clear_end_of_line)
3132 (x_scroll_bar_create, x_scroll_bar_set_handle)
3133 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3134 instead of XClearArea.
3135
3136 * xterm.h (x_clear_area): Add prototype.
3137
6613cfc4
GM
3138 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3139 which doesn't seem necessary anymore with Lesstif 0.92.
3140
650cc6cc
DL
31412001-01-25 Dave Love <fx@gnu.org>
3142
34ac3367
DL
3143 * puresize.h (BASE_PURESIZE): Up to 720000.
3144
650cc6cc
DL
3145 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3146
5e37dc22
GM
31472001-01-25 Gerd Moellmann <gerd@gnu.org>
3148
e1e441f9
GM
3149 * xdisp.c (echo_area_display): Don't call redisplay_internal
3150 when Emacs is shutting down. We can't run hooks etc. that
3151 would be necessary to do a redisplay.
3152
5e37dc22
GM
3153 * lread.c (read_integer): Use type EMACS_INT instead of int.
3154
0fb94c7f
EZ
31552001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3156
3157 * ccl.c (ccl_driver): Fix last change.
3158
e3778624
KH
31592001-01-25 Kenichi Handa <handa@etl.go.jp>
3160
3161 * ccl.h (sturct ccl_program): New member suppress_error.
3162
bb264518 3163 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3164 insert error message to the output.
3165 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3166
3167 * coding.h (struct coding_system): New member suppress_error.
3168
3169 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3170 (Fset_terminal_coding_system_internal): Set the member
3171 suppress_error to 1.
3172 (Fset_safe_terminal_coding_system_internal): Likewise.
3173
245ed2b1
SM
31742001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3175
3176 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3177 as if it was a `charset'.
3178
f9aaedb6
GM
31792001-01-24 Gerd Moellmann <gerd@gnu.org>
3180
3181 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3182 value in where_is_cache; the next lookup in the cache returns
3183 something bogus if we do.
3184
c3902c3e
EZ
31852001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3186
3187 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3188 if HAVE_WINDOW_SYSTEM isn't defined.
3189
3497f73e
GM
31902001-01-24 Gerd Moellmann <gerd@gnu.org>
3191
e7e41584
GM
3192 * fns.c (sweep_weak_table): Fix code taking items out of
3193 the hash collision chain. Some cleanup.
3194
3497f73e
GM
3195 * xterm.c (x_new_font): Don't change a tooltip's size.
3196
3197 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3198 background color by specifying a color for the default font
3199 in .Xdefaults.
3200
3d48e687
KH
32012001-01-24 Kenichi Handa <handa@etl.go.jp>
3202
96531b20
KH
3203 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3204 a workaround for SunOS 4's cc.
3205 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3206 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3207 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3208 statement.
3d48e687 3209
a30629d2
GM
32102001-01-23 Gerd Moellmann <gerd@gnu.org>
3211
3212 * xterm.c (x_set_window_size_1): New function extracted from
3213 x_set_window_size.
3214 (x_set_window_size): Use it.
3215 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3216 doesn't have a widget, like tooltips.
3217
5a43decf
EZ
32182001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3219
52283633 3220 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3221
b0e98867
KH
32222001-01-23 Kenichi Handa <handa@etl.go.jp>
3223
3224 * fns.c (Fset_char_table_default): Fix to make sub char-table
3225 correctly.
3226
50606b4c
GM
32272001-01-22 Gerd Moellmann <gerd@gnu.org>
3228
cb2ddc53 3229 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3230 a desired tool bar string, even if there are no tool bar items.
3231
57c28064
GM
3232 * xdisp.c (Ftool_bar_lines_needed): New function.
3233 (syms_of_xdisp): Defsubr it.
3234
50606b4c
GM
3235 * editfns.c (Fformat): Don't extend text properties from arguments
3236 to padding chars in the result.
3237
2f169c38
EZ
32382001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3239
3240 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3241
0f32f023
AI
32422001-01-20 Andrew Innes <andrewi@gnu.org>
3243
52283633 3244 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3245 (w32_initialize): Don't set term hooks that aren't actually needed
3246 in windowed mode.
3247
3248 * xfaces.c (realize_default_face):
3249 (realize_face):
3250 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3251
3252 * xdisp.c (handle_single_display_prop): Remove references to
3253 FRAME_W32_CONSOLE_P.
3254
52283633 3255 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3256
3257 * frame.h (output_method): Remove output_w32_console method.
3258 (FRAME_W32_CONSOLE_P): Remove macro.
3259
3260 * frame.c (Qw32_console): Remove variable.
3261 (Fframep): Remove references to it.
3262 (syms_of_frame): Ditto.
3263 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3264
3265 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3266 redefinition.
3267
7173eada
KH
32682001-01-20 Kenichi Handa <handa@etl.go.jp>
3269
3270 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3271
755b45ce
AI
32722001-01-19 Andrew Innes <andrewi@gnu.org>
3273
3274 * w32.c (init_environment): Add a version-independent site-lisp
3275 directory to EMACSLOADPATH, after the version dependent one.
3276
0a949811
GM
32772001-01-19 Gerd Moellmann <gerd@gnu.org>
3278
8501998a
GM
3279 * editfns.c (Fbuffer_substring): Doc fix.
3280
52283633
SM
3281 * xdisp.c (message_dolog, message2, message2_nolog):
3282 Rename parameter LEN to NBYTES.
0a949811 3283
e6ebcbbe
KH
32842001-01-19 Kenichi Handa <handa@etl.go.jp>
3285
200ecca2
KH
3286 * charset.c (strwidth): Use c_string_width.
3287 (c_string_width): New function.
3288 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3289 Caller changed.
3290
3291 * charset.h (c_string_width, lisp_string_width): Extern them.
3292
52283633 3293 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3294
e6ebcbbe
KH
3295 * indent.c (check_composition): Check validity of composition.
3296
200ecca2
KH
3297 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3298 characters by calling c_string_width.
3299 (x_consider_frame_title): Get byte length of frame tile string
3300 correctly.
3301 (display_mode_element): Pay attention to width of non-ASCII
3302 characters by calling strwidth.
3303
8692ca92
GM
33042001-01-18 Gerd Moellmann <gerd@gnu.org>
3305
8962e303
GM
3306 * xfns.c (Qcancel_timer): New variable.
3307 (syms_of_xfns): Initialize and staticpro it.
3308 (Fx_hide_tip, Fx_show_tip): Use it.
3309 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3310 the timer.
3311 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3312
91523be9
GM
3313 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3314
3315 * window.h (WINDOW_LIVE_P): New macro.
3316
b0b7ed0e
GM
3317 * window.c (window_size_fixed): New variable.
3318 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3319 the doc string.
3320
06bccf8e
GM
3321 * eval.c (specbind): If binding a per-buffer variable which
3322 doesn't have a buffer-local value in the current buffer, change
3323 the global value by changing the value of the symbol bound in all
3324 buffers not having their own value, to make it consistent with
3325 what happens with other buffer-local variables.
3326
8692ca92
GM
3327 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3328
3329 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3330 when searching for a newline.
3331
bb3a3b50
KH
33322001-01-18 Kenichi Handa <handa@etl.go.jp>
3333
3334 * xdisp.c (display_string): Fix previous change.
3335
c2cc16fa
JR
33362001-01-18 Jason Rumney <jasonr@gnu.org>
3337
3338 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3339 GLYPH_DEBUG is defined.
3340 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3341 true for images with `:ascent 100'.
3342 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3343 meantime, use face MOUSE_FACE_ID.
3344 If first glyph isn't a character glyph, use the ASCII NUL
3345 character to determine the face.
3346 (expose_area): Do not treat left margin specially.
3347 (note_mode_line_highlight): If no local_map, check global keymap.
3348 (note_mouse_highlight): Initialize overlay.
52283633 3349 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3350 (show_scroll_bars): Remove unused function.
3351 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3352 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3353 Clip to row.
52283633 3354 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3355 (x_free_frame_resources): Unload relief colors.
3356
9c11f79e
GM
33572001-01-17 Gerd Moellmann <gerd@gnu.org>
3358
3aec8722 3359 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3360 get_next_display_element when the newline is already found.
3361 This may change the iterator's position, when its current position is
3aec8722
GM
3362 equal to the iterator's stop_charpos.
3363
f3ffc2c3
GM
3364 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3365 zero, use this method only at the end of a line.
3366
52283633 3367 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3368 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3369 if SCALABLE_FONTS_P is set.
52283633 3370
d26d6fd9
GM
3371 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3372 so that scalable fonts are included.
3373
9c11f79e
GM
3374 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3375 In the cache, use a key containing the information if scalable
3376 fonts are included.
3377 (x_load_font): Adapt to change of keys in the font cache.
3378
33792001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3380
d26d6fd9
GM
3381 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3382 XListFonts to take advantage of font caching.
3383
9c11f79e
GM
3384 * xterm.c (x_list_fonts): Ensure caching font information when
3385 called for a null frame, which is the case frequently when Emacs
3386 starts.
3387
51446987
GM
33882001-01-17 Gerd Moellmann <gerd@gnu.org>
3389
f864120f
GM
3390 * xfns.c (QCconversion): Replaces QCalgorithm.
3391
3392 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3393
3394 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3395 of :algorithm.
52283633 3396
e37d1417
GM
3397 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3398 not everything could be displayed.
3399
51446987
GM
3400 * line.h, x-list-font.c: Files removed because unused.
3401
9ad4f3e5
AI
34022001-01-17 Andrew Innes <andrewi@gnu.org>
3403
3404 * dired.c (directory_files_internal): Convert result from readdir
3405 to a unibyte string initially, to avoid possible misinterpretation
3406 of some bytes as the internal form of Emacs characters.
3407
2eda09b5
KH
34082001-01-17 Kenichi Handa <handa@etl.go.jp>
3409
3410 * fns.c (concat): Be sure to avoid putting the same `composition'
3411 property on the adjacent regions.
3412
826f3788
GM
34132001-01-16 Gerd Moellmann <gerd@gnu.org>
3414
52283633 3415 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3416 (Fscroll_right, Fscroll_left): Set it here instead, if called
3417 interactively.
3418
d57b83b3
GM
3419 * buffer.c (Fset_buffer_modified_p): Set buffer's
3420 prevent_redisplay_optimizations_p flag.
3421
826f3788 3422 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3423 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3424 with additional arg.
3425
3426 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3427 Change prototype.
826f3788 3428
826f3788
GM
3429 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3430 FROM_WHERE, for debugging.
3431
261d788b
KH
34322001-01-16 Kenichi Handa <handa@etl.go.jp>
3433
3434 * ccl.c (Fregister_ccl_program): Handle the return value of
3435 resolve_symbol_ccl_program correctly.
52283633 3436 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3437
bccee4f2
GM
34382001-01-15 Gerd Moellmann <gerd@gnu.org>
3439
e4ded23c
GM
3440 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3441 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3442
3443 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3444 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3445 the display; we didn't open it.
3446
bccee4f2
GM
3447 * dispnew.c (save_or_restore_current_matrices): Function removed.
3448 (save_current_matrix, restore_current_matrix): New functions.
3449 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3450 restore the frame's current matrix. Due to the glyph pointer
3451 setup done in adjust_glyph_matrix, there is no easy way to make
3452 saving the current matrix in the desired matrix generally correct,
3453 so don't try it.
3454
ebeccffa
KH
34552001-01-15 Kenichi Handa <handa@etl.go.jp>
3456
3457 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3458 truncation glyphs.
3459 (display_line): Optimize for wide characters.
e4ded23c 3460 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3461 partially. On ttys, produce more than one truncation glyph for
3462 multi-column characters that don't fit on the line.
3463
64388126
KH
34642001-01-13 Kenichi Handa <handa@etl.go.jp>
3465
52283633
SM
3466 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3467 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3468
8edb0a6f
JR
34692001-01-13 Jason Rumney <jasonr@gnu.org>
3470
3471 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3472 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3473 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3474 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3475
52283633
SM
3476 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3477 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3478 (x_draw_image_glyph_string): Adapt to change of image margins.
3479
3480 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3481 variables.
3482
3483 * w32bdf.c (search_file_line, get_cached_font_char)
3484 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3485
3486 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3487
3488 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3489 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3490 (Fw32_send_sys_command): Remove unused variables.
3491 (w32_msg_pump): Add parentheses.
3492
3493 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3494 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3495 Add parentheses.
3496
4956d1ef
GM
34972001-01-12 Gerd Moellmann <gerd@gnu.org>
3498
b30623be
GM
3499 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3500 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3501 being a pair of margins.
3502 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3503 to DEFVAR_LISP. Extend doc.
3504
3505 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3506 margins.
3507 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3508 pair of integers `(X . Y)', use X for the horizontal and Y for the
3509 vertical margin.
3510 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3511 (parse_image_spec): Check it.
52283633
SM
3512 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3513 (tiff_format, gif_format, gs_format):
3514 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3515
52283633
SM
3516 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3517 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3518 (x_draw_image_glyph_string): Adapt to the change of image margins.
3519
3520 * dispextern.h (struct image): Replace member `margin' with
3521 `hmargin' and `vmargin'.
3522
4554cc79
GM
3523 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3524 and GLYPHS.
3525
3526 * dispnew.c (update_text_area): Put code which decrements the
3527 stop position when the row's face extends to the end of the
3bffc665 3528 line in #if 0.
4554cc79 3529
3cccce8d
GM
3530 * xfns.c (x_set_mouse_color): Fix color allocation.
3531
4956d1ef
GM
3532 * keyboard.c: Call get_local_map with new argument list.
3533
3534 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3535
3536 * intervals.h (enum map_property): Removed.
3537 (get_local_map): Change prototype.
3538
3539 * keymap.c: Call get_local_map with new argument list.
3540 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3541
2c2ff7f2
GM
35422001-01-11 Gerd Moellmann <gerd@gnu.org>
3543
a23887b9
GM
3544 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3545 of the size needed for the tool bar string. For the last image,
3546 use a `display' property that reaches to the end of the string.
3547
a7ee2d2e
GM
3548 * xselect.c (selection_request_dpyinfo): New variable.
3549 (x_handle_selection_request): Set it.
3550 (x_selection_request_lisp_error): Don't call
3551 x_decline_selection_request if selection request's display has
3552 been closed.
3553
52283633
SM
3554 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3555 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3556
457b792c
GM
35572001-01-10 Dave Love <fx@gnu.org>
3558
3559 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3560 ${SOME_MACHINE_LISP}, not ${lisp}.
3561
c1efd260
GM
35622001-01-10 Gerd Moellmann <gerd@gnu.org>
3563
52283633
SM
3564 * xdisp.c (display_line): On ttys, produce more than one truncation
3565 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3566
ac95a621
GM
3567 * xselect.c (x_reply_selection_request): Add a comment.
3568
c1efd260
GM
3569 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3570 XkbGetNames instead of XkbGetKeyboard.
3571
1bfb1345
DL
35722001-01-10 Dave Love <fx@gnu.org>
3573
3574 * sysdep.c (random): Revert the declaration.
3575
38119822
GM
35762001-01-09 Gerd Moellmann <gerd@gnu.org>
3577
52283633
SM
3578 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3579 Call function string_bytes.
35f464a7
GM
3580 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3581
3582 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3583 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3584 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3585 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3586 the current sblock.
3587 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3588 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3589 after sweeping strings, and at the end.
3590 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3591
38119822
GM
3592 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3593 ensure that pop_message is called.
3594
3595 * keyboard.c (Fexecute_extended_command): Use a
3596 record_unwind_protect to ensure that pop_message is called.
3597
3598 * lisp.h (push_message_unwind): Add prototype.
3599
3600 * xdisp.c (push_message_unwind): New function.
3601
3602 * fileio.c (do_auto_save_unwind): Do the pop_message here
3603 instead of in Fdo_auto_save.
3604 (Fdo_auto_save): Don't call pop_message.
3605
f47a9ec4
KR
36062001-01-08 Ken Raeburn <raeburn@gnu.org>
3607
3608 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3609 in inner block.
3610
a758f97d
GM
36112001-01-08 Gerd Moellmann <gerd@gnu.org>
3612
6d0afc03
GM
3613 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3614 when increasing window's vscroll.
3615
a758f97d
GM
3616 * macros.c (Qkbd_macro_termination_hook): New variable.
3617 (syms_of_macros): Initialize and staticpro it.
3618 (pop_kbd_macro): Run kbd-macro-termination-hook.
3619
3620 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3621
1bfb1345 36222001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3623
3624 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3625 arglist, for documentation's sake.
3626
0dac6924
AI
36272001-01-06 Andrew Innes <andrewi@gnu.org>
3628
3629 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3630 of *.pdb.
3631
8182406a
AI
36322001-01-05 Andrew Innes <andrewi@gnu.org>
3633
3634 * term.c (update_end): Don't check updating_frame; for some reason
3635 this can be 0 sometimes, such as after dismissing a popup menu,
3636 and isn't necessary given the explicit frame argument.
3637
3828218c
GM
36382001-01-05 Gerd Moellmann <gerd@gnu.org>
3639
3640 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3641 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3642
2f5ded21
GM
36432001-01-04 Gerd Moellmann <gerd@gnu.org>
3644
52283633 3645 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3646
3647 * xfns.c (x_create_tip_frame): Preserve the value of
3648 face_change_count around the creation of the tip frame.
52283633 3649
2f5ded21
GM
3650 * xfns.c (last_show_tip_args): New variable.
3651 (compute_tip_xy): New function.
3652 (Fx_show_tip): Reuse an existing tip frame, if possible.
3653 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3654
dfad65fa
DL
36552001-01-04 Dave Love <fx@gnu.org>
3656
64d4ec0f
DL
3657 * editfns.c (Fformat): Doc fix.
3658
dfad65fa
DL
3659 * systime.h (set_file_times): Prototype.
3660
3661 * widget.h (EmacsFrameSetCharSize_): Prototype.
3662
3663 * sysdep.c (random, srandom): Declare explicitly.
3664
3665 * dispextern.h (move_it_vertically_backward): Declare.
3666
85fe3b5e
GM
36672001-01-04 Gerd Moellmann <gerd@gnu.org>
3668
0f2ac578
GM
3669 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3670 like in Fx_create_frame.
3671
482cca61
GM
3672 * xfaces.c (set_font_frame_param): Don't do anything for
3673 non-graphical frames.
3674
85fe3b5e
GM
3675 * window.c (Fdelete_other_windows): Set window's window_end_valid
3676 to nil when changing the window's start. Don't change the
3677 window's start when its top position hasn't changed. If we do,
3678 this will set the window's optional_new_start, which act's like a
3679 force_start during redisplay with C-x 1 M-> under particular
3680 circumstances (see report from Per Starback to emacs-pretest-bug
3681 from 2000-12-13.).
3682
3e99d3b4
GM
36832001-01-03 Gerd Moellmann <gerd@gnu.org>
3684
a77dc1ec
GM
3685 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3686 short cut at the start of the function. Add an assertion.
3687 (reseat_at_next_visible_line_start): Add an assertion.
3688
2f3cad6c
GM
3689 * window.c (Frecenter): When changing the window start, set the
3690 window's window_end_valid to nil.
3691 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3692
3693 * dispextern.h (move_it_past_eol): Add prototype.
3694
3695 * xdisp.c (move_it_past_eol): New function.
3696
3e99d3b4
GM
3697 * window.c (Fwindow_end): Doc fix.
3698
36992001-01-03 Dave Love <fx@gnu.org>
3700
52283633 3701 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3702
bafb434c
GM
37032001-01-03 Gerd Moellmann <gerd@gnu.org>
3704
3705 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3706 the enabled_p flag of the glyph row at window_end_vpos to 0.
3707 (handle_single_display_prop): Fix last change.
3708
5297fb00
RS
37092001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3710
3711 * window.c (Frecenter): Doc fix.
3712
13d6a61c
AI
37132001-01-02 Andrew Innes <andrewi@gnu.org>
3714
3715 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3716
3717 * frame.h (output_method): Add output_w32_console method.
3718 (FRAME_W32_CONSOLE_P): New macro.
3719
3720 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3721 use output_w32_console method.
3722 (Qw32_console): New Lisp_Object.
3723 (Fframep): Return it.
3724 (syms_of_frame): Init it.
52283633 3725 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3726
3727 * xfaces.c (realize_default_face): Set face foreground and
3728 background to unspecified for w32_console frames.
3729 (realize_face): Realize face cache for w32_console frames.
3730 (realize_tty_face): Accept w32_console frames.
3731
52283633 3732 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3733 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3734 necessary, even if running interactively.
3735
3736 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3737 w32_console frames.
3738
52283633
SM
3739 * w32term.c (x_update_begin):
3740 (x_update_end):
3741 (x_clear_frame):
3742 (x_ins_del_lines):
3743 (x_change_line_highlight):
3744 (x_delete_glyphs):
3745 (w32_ring_bell):
3746 (x_update_begin):
3747 (x_update_end):
3748 (w32_reassert_line_highlight):
3749 (w32_frame_rehighlight):
13d6a61c
AI
3750 (w32_frame_raise_lower): Do nothing if not w32 frame.
3751
3752 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3753
3754 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3755 system doesn't tell us directly.
3756 (Fx_display_visual_class): Implement properly.
3757
d6bb0c0d
GM
37582001-01-02 Gerd Moellmann <gerd@gnu.org>
3759
3760 * window.c (Frecenter): Handle centering in graphical frames
3761 specially. Centering on the basis of line counts doesn't work
3762 reliably with variable-height lines.
52283633 3763
315f5865
EZ
37642001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3765
3766 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3767 and al[].
3768
52283633 3769 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3770 (update_compositions): Remove unused variable `hook'.
3771
3772 * intervals.c (get_local_map): Remove unused variable `tem'.
3773
3774 * doprnt.c (doprnt1): Remove unused variable `size'.
3775
3776 * fns.c (Flength): Remove unused variable `tail'.
3777 (Fdelete): Remove unused variable `size'.
3778
3779 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3780 and `gcpro2'.
3781
52283633 3782 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3783
3784 * data.c (find_symbol_value): Remove extra 3rd argument in the
3785 call to swap_in_symval_forwarding.
3786
52283633 3787 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3788
3789 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3790 (trivial_regexp_p): Remove unused variable `c'.
3791 (boyer_moore): Remove unused variable `k'.
3792
3793 * indent.c (current_column): Remove unused variable `stopchar'.
3794 (Fcompute_motion): Remove unused variable `contin'.
3795
3796 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3797
3798 * dired.c (directory_files_internal): Fix a typo in a comment.
3799 Remove an unused variable `handler'.
52283633 3800 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3801 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3802 on BSD4_2.
3803
52283633 3804 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3805
3806 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3807 and `buf'.
3808 (Fmarker_insertion_type): Remove unused variable `buf'.
3809
3810 * insdel.c (make_gap): Remove unused variable `result'.
3811
52283633 3812 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3813 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3814 (menu_bar_items): Remove unused function-scope variable `tem'.
3815
3816 * fontset.c (fontset_ref): Remove unused variable `i'.
3817 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3818 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3819 (make_fontset_for_ascii_face): Remove unused variable `name'.
3820 (fs_load_font): Remove unused variable `font_idx'.
52283633 3821 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3822 (list_fontsets): Remove unused variable `tail'.
3823 (Fnew_fontset): Remove unused variables `family' and `registry'.
3824 (accumulate_font_info): Remove unused variable `tmp'.
3825 (Ffontset_font): Remove unused variable `id'.
3826 (syms_of_fontset): Remove unused variable `i'.
3827
3828 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3829 to x_term_init.
3830 (lookup_image): Remove unused variable `file'.
3831 (xbm_load): Remove unused variables `bitmap_data', `height', and
3832 `width'. Remove function-local variable `i', leave the
3833 block-local one.
3834 (gif_load): Remove unused variable `inc'.
3835
52283633 3836 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3837 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3838 leave only the one in the inner block.
3839
3840 * xfaces.c (face_fontset, realize_default_face): Remove unused
3841 variable `fontset'.
3842 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3843
3844 * term.c (encode_terminal_code): Remove unused variable `c'.
3845
3846 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3847 char *' instead of `char *'.
3848
3849 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3850 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3851 (Fchar_category_set): Remove unused variables `val', `charset',
3852 `c1' and `c2'.
3853
52283633
SM
3854 * coding.c (detect_coding_iso2022, setup_coding_system):
3855 Remove unused variable `i'.
315f5865
EZ
3856 (detect_coding_mask): Remove unused variable `idx'.
3857 (detect_coding): Remove unused variable `i'.
3858 (ccl_coding_driver): Remove unused variable `result'.
3859 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3860 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3861 (encode_coding_string): Remove unused variables `gcpro1' and
3862 `saved_coding_symbol'.
3863 (Ffind_coding_systems_region_internal): Remove function-local
3864 variable args[], leave only the block-local one.
3865 (code_convert_region1): Remove unused variable `len'.
3866
3867 * charset.c (char_printable_p): Remove unused variable `chars'.
3868 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3869 (str_to_multibyte): Remove unused variable `c'.
3870
3871 * window.c (size_window): Remove block-local variable `min_size'.
3872
3873 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3874 `header_line_height'.
3875 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3876 enum display_element_type.
3877
1a8a9daf
GM
38782001-01-02 Gerd Moellmann <gerd@gnu.org>
3879
6dde6abc 3880 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3881 statements that call X. Save away the error message in a local copy.
3882
1883b2c6
GM
3883 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3884 the start.
3885
a13be207
GM
3886 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3887 in or at the start of invisible text.
3888
1a8a9daf
GM
3889 * dispnew.c (update_window): Don't check_current_matrix_flags.
3890
3608c0f9
JR
38912001-01-01 Jason Rumney <jasonr@gnu.org>
3892
3893 * w32fns.c (x_figure_window_size): Do not allow new_height and
3894 new_width of frame to override specified values.
3895
abb1acc4
KH
38962000-12-30 Kenichi Handa <handa@etl.go.jp>
3897
52283633 3898 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3899
762a68ec
GM
39002000-12-29 Gerd Moellmann <gerd@gnu.org>
3901
52283633 3902 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3903 (update_window) [GLYPH_DEBUG]: Call it.
3904 (scrolling_window): Prevent including current rows which are below
3905 what's displayed in the window.
3906
3907 * xdisp.c (try_window_reusing_current_matrix)
3908 <new start <= old start>: Disable rows in the current matrix
3909 which are below the window after scrolling.
52283633 3910
762a68ec
GM
3911 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3912 is zero. It's not worth the complexity.
3913 (invisible_text_between_p): Put in #if 0 because unused.
3914
2d5912c1
GM
39152000-12-28 Gerd Moellmann <gerd@gnu.org>
3916
46f6a258
GM
3917 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3918 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3919
89f93679
GM
3920 * keyboard.c (echo_char): If C is an integer, always call
3921 push_key_description. Former code could signal an invalid
3922 character error.
3923
3924 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3925 If set, print multibyte text.
3926 (Fsingle_key_description): Call push_key_description with
3927 FORCE_MULTIBYTE set.
3928 (describe_buffer_bindings): Likewise.
3929
3930 * lisp.h (push_key_description): Add prototype.
3931
c06017fb
GM
3932 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3933 around the call to redisplay_internal.
3934
f1d2ce7f
GM
3935 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3936
2d5912c1
GM
3937 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3938
9371f831
KH
39392000-12-28 Kenichi Handa <handa@etl.go.jp>
3940
3941 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3942 (ccl_driver): New local variable `extra_bytes'.
3943
3944 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3945
52283633
SM
3946 * coding.c (setup_coding_system):
3947 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3948 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3949
0c80628a
KH
39502000-12-28 Kenichi Handa <handa@etl.go.jp>
3951
3952 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3953 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3954 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3955 (decode_composition_emacs_mule): New function.
3956 (decode_coding_emacs_mule): Decode composition sequence by calling
3957 decode_composition_emacs_mule.
3958 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3959 (encode_coding_emacs_mule): Changed from macro to function.
3960 If a text contains compositions, encode them correctly.
0c80628a
KH
3961 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3962 that decoding and encoding are required.
3963
3e32cc27
GM
39642000-12-27 Gerd Moellmann <gerd@gnu.org>
3965
5e25feee
GM
3966 * xfaces.c (PT_PER_INCH): New macro.
3967 (xlfd_point_size): Compute real point size from font's pixel size.
3968 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3969 instead of 72.
3970
892d8fcd
GM
3971 * .gdbinit: Comment out the line pointing to the Lesstif source
3972 directory.
3973
12c8b416
GM
3974 * window.c (Frecenter): Use displayed_window_lines instead
3975 of window_internal_height.
3976
6061fbf0
GM
3977 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3978 instead of x-toolkit-scroll-bars-p.
3979 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3980
3981 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3982 instead of x-toolkit-scroll-bars-p.
3983 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3984
3e32cc27
GM
3985 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3986 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3987 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3988 New variables.
3989 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3990 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3991 (build_frame_matrix_from_leaf_window): Remove unused code.
3992 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3993 redisplay history.
3994 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3995 (update_window) [GLYPH_DEBUG]: Likewise.
3996 (syms_of_display): Defsubr dump-redisplay-history.
3997
31798cfe
GM
39982000-12-23 Gerd Moellmann <gerd@gnu.org>
3999
f717c2ba
GM
4000 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4001 the end of the prompt. Set echo_after_prompt to the offset
4002 of echoptr in echobuf.
4003
aeb2b8fc
GM
4004 * xdisp.c (init_from_display_pos): Pop until the iterator's
4005 stack is empty; there may be frames for stretch or images
4006 on the stack.
4007
31798cfe
GM
4008 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4009 (save_or_restore_current_matrix): New function for the same
4010 purpose, but more efficient.
4011 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4012
f8156156
EZ
40132000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4014
4015 * xdisp.c (syms_of_xdisp): Fix last change.
4016
bdd6d4e8
GM
40172000-12-23 Gerd Moellmann <gerd@gnu.org>
4018
4019 * xdisp.c (syms_of_xdisp): Doc fix.
4020
4021 * xdisp.c (redisplay_window): Remove label restore_buffers;
4022 use finish_scroll_bars instead to make sure that scroll bars
4023 are redeemed. If we don't do this, flickering can result from
4024 scroll bars being destroyed and recreated.
4025
9436cdf9
JR
40262000-12-22 Jason Rumney <jasonr@gnu.org>
4027
4028 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4029 in the wrong colors when the foreground is not black.
4030 (expose_window): Don't redraw the window that's currently being
4031 updated.
4032
951f9df5
GM
40332000-12-22 Gerd Moellmann <gerd@gnu.org>
4034
856ff7a7
GM
4035 * window.c (size_window): When setting the window's too_small_ok
4036 flag, compare old size with minimum size depending on WIDTH_P,
4037 don't compare with window_min_width.
52283633 4038
951f9df5
GM
4039 * window.c (delete_window): Simplify somewhat.
4040 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4041 freeing window matrices. The flag windows_or_buffers_changed is
4042 set, so the next redisplay will consider all windows; this should
4043 suffice.
4044
886bc933
KH
40452000-12-22 Kenichi Handa <handa@etl.go.jp>
4046
4047 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4048
4049 * ccl.h (struct ccl_program): New member cr_consumed.
4050
4051 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4052 (CCL_READ_CHAR): Handle EOL conversion here.
4053 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4054
177f4e88
GM
40552000-12-21 Gerd Moellmann <gerd@gnu.org>
4056
52283633 4057 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4058
4059 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4060 otherwise tabs of different size compare equal.
4061
4062 * callint.c (Fcall_interactively): Prevent a compiler warning.
4063
4064 * print.c (print_unwind): Return nil.
4065 (PRINTDECLARE): Initialize all local variables.
4066 (print_preprocess): Add a default case.
4067
8e15274f
GM
4068 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4069
4070 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4071
52283633 4072 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4073 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4074
4075 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4076
4077 * dispnew.c (ensure_frame_matrix): Removed.
4078 (save_frame_matrix, restore_frame_matrix): New functions.
4079 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4080
4081 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4082 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4083
99012074
AI
40842000-12-21 Andrew Innes <andrewi@gnu.org>
4085
4086 * w32term.c (x_update_begin): Regenerate the palette here, rather
4087 than for each window.
4088
4089 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4090 palette is NULL, since this corrupts memory! Also get
4091 display_info reference from frame.
4092
29ef7d2d
JR
40932000-12-21 Jason Rumney <jasonr@gnu.org>
4094
4095 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4096
4097 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4098 to avoid returning without releasing it.
3e27fa1f 4099
3f9d67a6
KH
41002000-12-21 Kenichi Handa <handa@etl.go.jp>
4101
587fc3f9
KH
4102 * keymap.c (push_key_description): Don't convert eight-bit-control
4103 and eight-bit-graphic to multibyte character.
4104
3f9d67a6
KH
4105 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4106 generic character and CODE1 is nil, return the smallest character
4107 in CHARSET.
4108
774ba8c9
DL
41092000-12-20 Dave Love <fx@gnu.org>
4110
4111 * s/osf5-0.h (NSIG): Don't redefine.
4112
88416888
SM
41132000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4114
4115 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4116 excluding menu-bar and tool-bar.
4117 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4118 (menu_item_p): Remove.
4119 (where_is_internal_1): Don't ignore menu-items.
4120
a6426c6f
GM
41212000-12-20 Gerd Moellmann <gerd@gnu.org>
4122
03ff8aab
GM
4123 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4124 into account.
4125
4126 * window.c (make_window): Initialize window's min_hscroll.
4127 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4128 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4129 to zero.
4130 (struct saved_window): New member min_hscroll.
4131 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4132 (Fset_window_configuration): Set window's min_hscroll.
4133 (save_window_save): Save window's min_hscroll.
4134 (compare_window_configurations): Compare min_hscroll values.
4135
4136 * window.h (struct window): New member min_hscroll.
4137
4138 * keyboard.c (echo_prompt): Prevent a compiler warning.
4139
8de4aaf8
GM
4140 * xdisp.c (try_cursor_movement): Fix last change. The real
4141 condition is that PT is at the end of the row, and should
4142 be displayed at the start of the next row.
52283633 4143
3f7e3031
GM
4144 * xdisp.c (try_cursor_movement): If we end on a partially
4145 visible line, end we already decided to scroll, return -1.
4146
a6426c6f
GM
4147 * dispextern.h (ensure_frame_matrix): Add prototype.
4148
4149 * window.c (delete_window, Fsplit_window)
4150 (Fset_window_configuration): Call ensure_frame_matrix.
4151
52283633
SM
4152 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4153 New functions.
a6426c6f
GM
4154 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4155 completed, call fake_current_matrices instead of marking frame
4156 garbaged.
4157
57fa2774
JR
41582000-12-20 Jason Rumney <jasonr@gnu.org>
4159
4160 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4161
d925df90
EZ
41622000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4163
4164 * fns.c (Frequire): Doc fix.
4165
7b93a85b
GM
41662000-12-19 Gerd Moellmann <gerd@gnu.org>
4167
52283633 4168 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4169
c74e645b
GM
4170 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4171 currently displaying a message.
4172
7b93a85b
GM
4173 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4174 xterm.h.
4175 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4176
90d97e64
AI
41772000-12-18 Andrew Innes <andrewi@gnu.org>
4178
4179 * w32.c (w32_strerror): New function.
4180
4181 * w32.h (w32_strerror): New extern.
4182
4183 * w32fns.c (Fw32_shell_execute): Use it.
4184
91c9e6ce
GM
41852000-12-18 Gerd Moellmann <gerd@gnu.org>
4186
4187 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4188
6f4745e2
EZ
41892000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4190
4191 * msdos.c (IT_set_face): Obey inverse_video.
4192
c9e088ce
KH
41932000-12-18 Kenichi Handa <handa@etl.go.jp>
4194
4195 * dired.c (directory_files_internal): Always return decoded filenames.
4196
c3695f5f
GM
41972000-12-18 Gerd Moellmann <gerd@gnu.org>
4198
52d8e4ff
GM
4199 * xterm.c (x_connection_closed): Prevent being called recursively
4200 because of an error condition in XtCloseDisplay.
52283633 4201
62be9979
GM
4202 * xdisp.c (init_iterator): If noninteractive, and the frame's
4203 face cache is null, make one.
4204
52283633 4205 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4206
c3695f5f
GM
4207 * process.c (wait_reading_process_input): Check for pending
4208 input when running timers.
4209
78555fbe
EZ
42102000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4211
52283633 4212 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4213
b2b36264
KH
42142000-12-18 Kenichi Handa <handa@etl.go.jp>
4215
4216 * process.c (read_process_output): Don't run a filter if the code
4217 decoder produces nothing but carryover.
4218
9c543fbf
AI
42192000-12-17 Andrew Innes <andrewi@gnu.org>
4220
4221 * w32.c (sys_rename): Only check errno against EEXIST, and not
4222 EACCES, when determining whether rename failed because the target
4223 exists. This was resulting in indefinite looping on Windows 9x if
4224 the source file was locked by another process.
4225
4226 * w32fns.c (Ffile_system_info): New function.
4227 (syms_of_w32fns): Defsubr it.
4228
10c2b5a8
GM
42292000-12-17 Gerd Moellmann <gerd@gnu.org>
4230
b0228ace
GM
4231 * window.c (coordinates_in_window): Fix computation for
4232 position on vertical line between mode lines.
4233
10c2b5a8
GM
4234 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4235 Don't alter tip_frame or tip_window.
4236 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4237 was deleted.
4238
c844a81a
GM
4239 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4240 Don't alter tip_frame or tip_window.
4241 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4242 was deleted.
4243
6c825f8e
EZ
42442000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4245
4246 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4247 be consistent with the doc string. Reported by NAKAJIMA Mikio
4248 <minakaji@osaka.email.ne.jp>.
4249
af4bb4c8
KH
42502000-12-16 Kenichi Handa <handa@etl.go.jp>
4251
4252 * xfaces.c (Vface_ignored_fonts): New variable.
4253 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4254 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4255
8062e53a
GM
42562000-12-15 Gerd Moellmann <gerd@gnu.org>
4257
e87b8809
GM
4258 * dispnew.c (update_window): Detect pending input every nth line
4259 updated, i.e. do it depending on real work done, and not on the
4260 vpos of the line.
4261
4262 * xterm.c (expose_window): Don't redraw the window that's
4263 currently being updated.
4264
a6768cc5
GM
4265 * window.c (Fset_window_point): Remove test for
4266 cursor_in_non_selected_windows.
4267
4ea7fdca
GM
4268 * lread.c (read1): Recognize end of file after `\\'.
4269
8062e53a
GM
4270 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4271 not unwind_create_frame.
4272
bb7959c1
GM
42732000-12-15 Dave Love <fx@gnu.org>
4274
4275 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4276 bcopy & al.
4277
4278 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4279
ced04c42
KH
42802000-12-15 Kenichi Handa <handa@etl.go.jp>
4281
c5443913
KH
4282 * coding.c (setup_coding_system): Clear all members of the struct
4283 coding_system at first.
bc137305
KH
4284 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4285 argument.
4286 (code_convert_region): Don't override coding->src_multibyte and
4287 coding->dst_multibyte.
c5443913 4288
ced04c42
KH
4289 * fns.c (Fmd5): Docstring improved.
4290
c2d7f289
MB
42912000-12-15 Miles Bader <miles@gnu.org>
4292
4293 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4294 are actually marked as mode-lines; otherwise use
4295 estimate_mode_line_height.
4296
9d7d9263
GM
42972000-12-14 Gerd Moellmann <gerd@gnu.org>
4298
4299 * editfns.c (Fformat): Prevent a buffer overrun when the format
4300 specifies a precision.
4301
7cf0153a
EZ
43022000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4303
4304 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4305 argument is outside the range [2..3].
4306
1de0f662
AI
43072000-12-14 Andrew Innes <andrewi@gnu.org>
4308
4309 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4310 nothing to do. Bind inhibit-quit.
4311 (tip_frame): Make it a Lisp_Object.
4312 (x_create_tip_frame): Set tip_frame after it has been added to
4313 Vframe_list.
4314 (Fx_show_tip): Don't set tip_frame here.
52283633 4315 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4316 (unwind_create_frame, unwind_create_tip_frame): New functions.
4317 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4318 while a frame is only partially constructed.
4319
4320 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4321 (x_free_frame_resources): New function.
4322 (x_destroy_window): Use it.
4323
02387dcc
GM
43242000-12-14 Gerd Moellmann <gerd@gnu.org>
4325
4326 * xfns.c (Fx_backspace_delete_keys_p): New function.
4327 (syms_of_xfns): Defsubr it.
4328
4329 * config.in (HAVE_XKBGETKEYBOARD): Add.
4330
0544ef49
KH
43312000-12-14 Kenichi Handa <handa@etl.go.jp>
4332
98d62747
KH
4333 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4334 Always store string in multibyte representation in echobuf.
4335 (echo_char): Always store string in multibyte representation in
4336 echobuf.
4337 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4338 (read_key_sequence): Adjusted for the change of echo_prompt.
4339
a20193cd
KH
4340 * fns.c (Fmd5): Docstring improved.
4341
191b83b6
KH
4342 * lisp.h (detect_coding_system): Prototype adjusted.
4343
0544ef49
KH
4344 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4345 (detect_coding_emacs_mule, detect_coding_iso2022,)
4346 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4347 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4348 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4349 (detect_coding_mask, detect_coding_system): New argument
4350 MULTIBYTEP. Callers changed.
1da1bb05
KH
4351 (decode_coding_string): Set coding->src_multibyte and
4352 coding->dst_multibyte before calling detect_coding and detect_eol.
4353 Update them after some coding system is detected.
52283633 4354
d5b3eb1b
SM
43552000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4356
4357 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4358
4359 * keyboard.c (menu_bar_items, tool_bar_items):
4360 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4361
f7f8bb69
GM
43622000-12-13 Gerd Moellmann <gerd@gnu.org>
4363
52283633 4364 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4365 New variables.
4366 (unwind_create_frame, unwind_create_tip_frame): New functions.
4367 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4368 while a frame is only partially constructed.
4369
4370 * xterm.h (x_free_frame_resources): Declare.
4371
4372 * xterm.c (x_free_frame_resources): New function.
4373 (x_destroy_window): Use it.
4374
e10da507
GM
4375 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4376 don't interrupt the update for pending input initially, i.e.
4377 update at least some lines.
4378
4379 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4380
d5b3eb1b 4381 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4382
4383 * xfns.c (gray_bitmap_bits): Declare `char *'.
4384
90aa2856
GM
43852000-12-12 Gerd Moellmann <gerd@gnu.org>
4386
4387 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4388 lines start with a relief line.
4389
a308c9cd
DL
43902000-12-12 Dave Love <fx@gnu.org>
4391
4392 * window.c (Fdisplay_buffer): Doc fix.
4393 (Fwindow_list): Remove unused var.
4394
4395 * buffer.h (mmap_set_vars): Declare.
4396
4397 * window.h (Fset_window_point): Declare.
4398
d575011f
EZ
43992000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4400
bf6282d2 4401 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4402 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4403 variable `area'. When looking for a row under (X,Y), give up if some
4404 of the previous rows is not enabled.
d575011f 4405
ecf4d726
GM
44062000-12-12 Gerd Moellmann <gerd@gnu.org>
4407
2ebf6139
GM
4408 * window.c (Fset_window_point): If displaying cursors in windows
4409 other than the selected window, make sure redisplay updates
4410 other windows to show the new value of point in the window.
4411
4412 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4413
bfdb75ee
GM
4414 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4415 the buffer is the sole visible buffer when in the mini-buffer.
4416
52283633 4417 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4418 Bind `inhibit-read-only' to t.
4419 (unwind_with_echo_area_buffer): Use AREF.
4420
c0006262
GM
4421 * xfns.c (Fx_hide_tip): Simplified.
4422
52283633
SM
4423 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4424 instead of `1'.
e9a59cad 4425
ecf4d726
GM
4426 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4427
e5959a9a
GM
44282000-12-11 Gerd Moellmann <gerd@gnu.org>
4429
a3642e49 4430 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4431
44b5a125
GM
4432 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4433 nothing to do. Bind inhibit-quit.
4434 (tip_frame): Make it a Lisp_Object.
4435 (x_create_tip_frame): Set tip_frame after it has been added to
4436 Vframe_list.
4437 (Fx_show_tip): Don't set tip_frame here.
4438
4439 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4440
4441 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4442 Lisp_Object.
4443
4444 * dispextern.h: Change external declaration of tip_frame.
4445
d990421f
GM
4446 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4447 return an empty string.
4448
4db87380
GM
4449 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4450 of the window's update_mode_line flag, since the former is set by
4451 force-mode-line-update, not the latter. This makes
4452 column-number-mode slightly faster.
52283633 4453
e5959a9a
GM
4454 * xdisp.c (try_window_id) <all changes above window start>:
4455 Set the cursor.
4456
169fe44e
GM
44572000-12-11 Paul Eggert <eggert@twinsun.com>
4458
4459 * config.in (HAVE_FTELLO): Remove.
4460 (HAVE_FSEEKO): Add.
4461 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4462 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4463 HAVE_FTELLO.
4464 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4465 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4466
59ec59ae
MB
44672000-12-11 Miles Bader <miles@gnu.org>
4468
4469 * window.c (displayed_window_lines): Don't round up when
4470 converting empty space at bottom to lines.
ff904dd6
MB
4471 Handle non-newline-terminated final lines properly.
4472 (Fwindow_text_height): New function (used to be in lisp).
4473 (syms_of_window): Initialize it.
59ec59ae 4474
42ebfa31
SM
44752000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4476
4477 * syntax.c (scan_lists): Check that the right quote char has the
4478 right Sstring syntax when jumping over strings.
4479 (init_syntax_once): Use Smax rather than 13.
4480
5cdb3cf3
MB
44812000-12-09 Miles Bader <miles@gnu.org>
4482
4483 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4484 with PARTIALLY, inverting the sense.
4485 (window_scroll_pixel_based): Scroll partially visible lines into
4486 place if we hit the beginning or end of the buffer.
a12167c5
MB
4487 (displayed_window_lines): Don't include partially visible lines.
4488 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4489
842b2a94
GM
44902000-12-08 Gerd Moellmann <gerd@gnu.org>
4491
4492 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4493
4494 * tparam.c (tparam1): Change the way buffers are reallocated to be
4495 portable and less obfuscated.
4496
4497 * termcap.c (tgetent): Change the way buffers are reallocated to
4498 be portable and less obfuscated.
4499
4500 * macros.c (store_kbd_macro_char): Change the way buffers are
4501 reallocated to be portable and less obfuscated.
4502
4503 * lread.c (read1): Change the way buffers are reallocated to be
4504 portable and less obfuscated.
4505
4506 * doc.c (Fsubstitute_command_keys): Change the way buffers
4507 are reallocated so that it is portable.
4508
137cad7c
EZ
45092000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4510
4511 * dosfns.c (Ffile_system_info): New function.
4512 (syms_of_dosfns): Defsubr it.
4513
5c7f629c
SM
45142000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4515
4516 * alloc.c (gc_sweep): Add comment.
4517
959e647d
GM
45182000-12-07 Gerd Moellmann <gerd@gnu.org>
4519
52283633
SM
4520 * sound.c (vox_configure): Change order of ioctls.
4521 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4522 Ignore errors when changing volume.
4523 (vox_close): Don't reset the device.
4524
926b7e5e
GM
4525 * process.c (read_process_output): Make sure the process marker's
4526 position is valid when the process buffer is changed in
4527 after-change functions. W3 does that.
52283633 4528
959e647d
GM
4529 * xfns.c (x_free_gcs): New function.
4530
4531 * xterm.h (x_free_gcs): Add prototype.
4532
4533 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4534 freeing GCs here.
4535
4536 * xterm.c (x_destroy_window): Call x_free_gcs so that
4537 resources of non-toolkit X windows will be freed.
4538
478ea067
AI
45392000-12-07 Andrew Innes <andrewi@gnu.org>
4540
4541 * w32fns.c (xlfd_charset_of_font): Fix last change.
4542
fbee3231
DL
45432000-12-06 Dave Love <fx@gnu.org>
4544
67292061
DL
4545 * md5.h (__P): Don't define -- it comes from config.h.
4546
fbee3231
DL
4547 * strftime.c: Change some #if foo to #ifdef foo.
4548
4ee87dbb
AI
45492000-12-06 Andrew Innes <andrewi@gnu.org>
4550
4551 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4552
52283633 4553 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4554 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4555 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4556
9765b4a4
GM
45572000-12-06 Gerd Moellmann <gerd@gnu.org>
4558
d285b373
GM
4559 * alloc.c (gc_sweep): Prevent symbols read during loadup
4560 from being freed.
4561
384333ee
GM
4562 * xdisp.c (underlying_face_id): New function.
4563 (handle_face_prop, face_before_or_after_it_pos): Use it
4564 to determine the face ``under'' a string. Let strings inherit
4565 the face of the buffer under them.
4566
4567 * xfaces.c (face_at_string_position): Update function comment.
52283633 4568
d4b72d58
GM
4569 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4570 matrix if the window's left position has changed; we need to
4571 redraw it in this case.
4572
4573 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4574
e1d05387
GM
4575 * window.c (coordinates_in_window): Check mouse on mode-line or
4576 header-line first.
4577
eb1b0c74
GM
4578 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4579 advertized by the function documentation.
4580
d94d636f
GM
4581 * window.c (syms_of_window): Doc fix.
4582
3887b449
GM
4583 * sound.c (vox_configure): Set volume for left and right channel.
4584 (sound_cleanup): Return nil.
4585
efc8f57a
GM
4586 * xdisp.c (move_it_by_lines): Fix paren typo.
4587
9765b4a4
GM
4588 * xterm.c (x_load_font): Don't use the font's max_bounds for
4589 computing the height of the font. If max_bounds' ascent or
4590 descent are greater than the font's ascent or descent, this means
4591 glyphs overlap, which should be handled now by redisplay.
4592
6529ed87
GM
4593 * window.c (Veven_window_heights): New variable.
4594 (syms_of_window): DEFVAR_LISP it.
4595 (Fdisplay_buffer): Check Veven_window_heights before evening the
4596 window heights.
52283633 4597
0eb2ecde
MB
45982000-12-06 Miles Bader <miles@gnu.org>
4599
4600 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4601 update `default-frame-alist' instead of setting no frame parameters.
4602
03d7a167
KH
46032000-12-06 Kenichi Handa <handa@etl.go.jp>
4604
4605 * composite.c (update_compositions): Fix typo (use the correct
4606 variable).
4607
5f8803c2
JR
46082000-12-05 Jason Rumney <jasonr@gnu.org>
4609
4610 * md5.h: Remove underscores from function declarations.
4611 (__attribute__, __alignof__) [!__GNUC__]: Define.
4612
4613 * md5.c: Delay include of md5.h until after namespace cleaning.
4614
c28a075b
JR
4615 * makefile.w32-in (fns.o): Depend on md5.h
4616 (md5.o): New target.
4617 (sunfns.o): Remove.
4618
4619 * makefile.nt: Likewise.
4620
ff3c7056
JR
46212000-12-05 Jason Rumney <jasonr@altavista.net>
4622
4623 * w32term.c (expose_area): Complete last change.
4624
0c21eeeb
KR
46252000-12-05 Ken Raeburn <raeburn@gnu.org>
4626
4627 * minibuf.c: Include intervals.h.
4628
f201d732
JR
46292000-12-05 Jason Rumney <jasonr@gnu.org>
4630
4631 * w32term.c (x_produce_glyphs): If a font for a component of
4632 a composition is not found, use 1 pixel dot ascent and 0 dot
4633 descent value to avoid displaying terribly tall empty boxes.
4634 (expose_area): Pass x-coordinate relative to the exposed
4635 area to x_draw_glyphs instead of a window-relative coordinate.
4636
21999ab9
GM
46372000-12-05 Gerd Moellmann <gerd@gnu.org>
4638
4d2036e4
GM
4639 * xdisp.c (next_element_from_ellipsis): Save face before selective
4640 display in saved_face_id, and set face_before_selective_p.
4641 (reseat_1): Reset face_before_selective_p.
4642 (append_space, extend_face_to_end_of_line): If iterator's
4643 face_before_selective_p is set, use the face from saved_face_id.
4644 (extend_face_to_end_of_line): For tty frames, make sure to
4645 use the right face id when producing spaces at the end of
4646 the line.
4647
4648 * dispextern.h (struct it): Add face_before_selective_p.
4649
52be17cc
GM
4650 * keyboard.c (record_char): Don't record identical help-echo
4651 events in recent_keys.
4652
8a4f36cc
GM
4653 * xterm.c [USE_X_TOOLKIT]: Close the display.
4654 (xim_close_dpy): Handle case that the display has been closed.
4655
57d6e381
GM
4656 * xterm.c (x_destroy_window): Reset the frame's X window after
4657 destroying it.
4658
21999ab9
GM
4659 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4660 variable window_width.
4661 (line_draw_cost): Fix code skipping over spaces at the end of the
4662 line when must_write_spaces is not set.
4663 (scrolling_window): Fix code inserting runs in list of all runs.
4664
91372bb7
KH
46652000-12-05 Kenichi Handa <handa@etl.go.jp>
4666
4667 * coding.c (setup_coding_system): Be sure to initialize
4668 coding->category_idx.
4669
6c083b4c
GM
46702000-12-04 Gerd Moellmann <gerd@gnu.org>
4671
0c68ce6f 4672 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4673
6452929e
GM
4674 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4675 area to x_draw_glyphs instead of a window-relative coordinate.
4676
d7f31e22
GM
4677 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4678 error in the message.
4679
ae18aa3b
GM
4680 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4681 timer after having read a key. It's not good for code reading
4682 several keys in a loop, like an input method.
4683
caa15ef7
GM
4684 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4685 record undo information for format-decode.
4686
4687 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4688 current buffer is read-only, not if it isn't.
4689
6c083b4c
GM
4690 * keyboard.c (record_char): Record `help-echo' input events
4691 in recent_keys only if they display some help. Don't record
4692 `help-echo' events as macro char.
4693
caa15ef7
GM
46942000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4695
4696 * editfns.c (save_excursion_restore): Don't move point
4697 in another window if it is showing the wrong buffer.
4698 Avoid the call to Fwindow_live_p, for speed.
4699
5a13529b
KH
47002000-12-04 Kenichi Handa <handa@etl.go.jp>
4701
e225faa7
KH
4702 * xfaces.c (struct font_name): New member registry_priority.
4703 (split_font_name): Initialize the above member to zero.
4704 (concat_font_list): New function.
4705 (font_list): Include fonts of all alternative registries.
4706 (FONT_POINT_SIZE_QUANTUM): New macro.
4707 (better_font_p): Ignore point size difference less than
4708 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4709
e89648b4
KH
4710 * xterm.c (x_produce_glyphs): If a font for a component of
4711 a composition is not found, use 1 pixel dot ascent and 0 dot
4712 descent value to avoid displaying terribly tall empty boxes.
4713
5a13529b
KH
4714 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4715
d7935eb6
KR
47162000-12-03 Ken Raeburn <raeburn@gnu.org>
4717
4718 * coding.h (code_convert_string1): Declare.
4719
4720 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4721
52283633 4722 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4723
0dd5e255
JR
47242000-12-02 Jason Rumney <jasonr@gnu.org>
4725
4726 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4727 correctly for single byte character case.
4728 (w32_per_char_metric): Do not try to make any assumptions about
4729 the metrics of BDF fonts.
250cfece 4730 (x_estimate_mode_line_height): If `mode-line' face
52283633 4731 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4732 (note_mouse_highlight): Change the cursor shape on the vertical
4733 border between windows [not enabled].
4734
4735 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4736
4737 * w32fns.c (Fx_create_frame): Reintroduce the call to
4738 face-set-after-frame-defaults.
4739 (Vx_window_horizontal_drag_shape): New variable.
4740 (syms_of_xfns): DEFVAR_LISP it.
4741 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4742 enabled].
0dd5e255 4743
b5d8d2ca
GM
47442000-12-02 Simon Josefsson <simon@josefsson.org>
4745
4746 * fns.c (Fmd5): Use a different logic to decide the coding system
4747 to use.
4748
4749 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4750
fbb87147
EZ
47512000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4752
52283633 4753 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4754
447e9da0
GM
47552000-12-01 Gerd Moellmann <gerd@gnu.org>
4756
7708ced0
GM
4757 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4758 height for YNegative.
4759 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4760 height; also see comment there.
4761
447e9da0
GM
4762 * window.c (coordinates_in_window): Handle computations for
4763 positions on the vertical bar and fringes differently for
4764 window-system frames. Consider some pixels near the vertical bar
4765 as on the bar if the frame doesn't have vertical scroll bars.
4766 Associate positions between mode or header lines with the
4767 right window, the left one.
4768
86d1db20
JR
47692000-12-01 Jason Rumney <jasonr@gnu.org>
4770
4771 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4772
4773 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4774 invalid frame.
4775
a1d58e5b
GM
47762000-12-01 Gerd Moellmann <gerd@gnu.org>
4777
52283633 4778 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4779 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4780 (save_window_save, Fset_window_configuration): Save/restore
4781 window's orig_top and orig_height.
4782
89c609af
JR
47832000-12-01 Jason Rumney <jasonr@gnu.org>
4784
4d177746 4785 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4786
89c609af
JR
4787 * w32fns.c (x_set_cursor_color): Fix last change.
4788
eccc05db
GM
47892000-11-30 Gerd Moellmann <gerd@gnu.org>
4790
31b6671b
GM
4791 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4792 sure that the next redisplay displays the minibuffer, so that
4793 the cursor will be replaced with what the minibuffer wants.
4794
eccc05db
GM
4795 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4796 #ifndef instead of using #if.
4797 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4798 USE_TOOLKIT_SCROLL_BARS is defined.
4799
162de750
JR
48002000-11-30 Jason Rumney <jasonr@gnu.org>
4801
4802 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4803 x_display_cursor.
4804
693c4692
GM
48052000-11-30 Gerd Moellmann <gerd@gnu.org>
4806
4807 * fns.c (Fmd5): Doc fix.
4808
b5d8d2ca 48092000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4810
4811 * fns.c (Fmd5): New function.
4812 (syms_of_fns): Defsubr md5.
4813
4814 * Makefile.in (obj): Add md5.o
4815
b02cd40b
GM
48162000-11-30 Gerd Moellmann <gerd@gnu.org>
4817
edfb795e
GM
4818 * md5.h, md5.c: New files, taken from glibc.
4819
df3aedcf
GM
4820 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4821
b02cd40b 4822 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4823 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4824
8b5176cd
SM
48252000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4826
4827 * eval.c (Frun_hooks): Allow 0 arguments.
4828
346598f1
GM
48292000-11-29 Gerd Moellmann <gerd@gnu.org>
4830
f9396e03
GM
4831 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4832 is over the menu bar widget, say it's not on the frame.
4833
4a967a9b
GM
4834 * xfns.c (Fx_create_frame): Reintroduce the call to
4835 face-set-after-frame-defaults.
4836
346598f1
GM
4837 * eval.c (Fsignal): Reset handling_signal.
4838
222456a1
JR
48392000-11-28 Jason Rumney <jasonr@gnu.org>
4840
4841 * w32menu.c (add_menu_item): Reset menu item text when changing
4842 type to radio button.
4843
8049ddc0
GM
48442000-11-28 Gerd Moellmann <gerd@gnu.org>
4845
346598f1 4846 * xselect.c: Update copyright.
f4f4ee4d 4847
bebe4a2c
GM
4848 * window.c (coordinates_in_window): If on a mode or header line,
4849 but sufficiently close to its start, return ``on vertical
4850 border''. This gives us a way to drag windows horizontally when
4851 using toolkit scroll bars.
4852
4853 * xterm.c (note_mouse_highlight): Change the cursor shape
4854 on the vertical border between windows.
4855
4856 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4857
4858 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4859 (syms_of_xfns): DEFVAR_LISP it.
4860 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4861
8d2c2642
GM
4862 * textprop.c (text_read_only): New function.
4863 (verify_interval_modification): Use it instead of signaling
4864 `text-read-only'. This makes it easier to catch this error
52283633 4865 with a breakpoint.:
8d2c2642 4866
52283633 4867 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4868 not end of line, which includes CR.
4869
5a2bae6c
KH
48702000-11-28 Kenichi Handa <handa@etl.go.jp>
4871
4872 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4873 include no-conversion.
4874
ae31f84d
JR
48752000-11-27 Jason Rumney <jasonr@gnu.org>
4876
4877 * w32fns.c (w32_load_system_font): Always mark font as double byte
4878 if codepage is unicode.
4879
67f1cf4c
GM
48802000-11-27 Gerd Moellmann <gerd@gnu.org>
4881
4a74d071 4882 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4883 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4884
902ae620
GM
4885 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4886 `vertical-line', `mode-line' and `header-line' events.
4887
4888 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4889 of a character, a TAB for instance. This is easier than to set
4890 up the iterator exactly, and it's not a frequent case, so the
4891 additional effort wouldn't really pay off.
4892
c1e279c2
AC
48932000-11-26 Andrew Choi <akochoi@i-cable.com>
4894
67f1cf4c 4895 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4896 init_window_once.
4897
a609568a
JR
48982000-11-25 Jason Rumney <jasonr@gnu.org>
4899
52283633
SM
4900 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4901 Args to window_from_coordinates should be pixel coordinates.
48b21762 4902
a609568a
JR
4903 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4904 redisplay handles them properly.
4905
a658d039
MB
49062000-11-25 Miles Bader <miles@gnu.org>
4907
4908 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4909
d3416cca
JR
49102000-11-24 Jason Rumney <jasonr@gnu.org>
4911
4912 * w32.c (init_environment): Set LANG environment variable based on
4913 locale settings, if not set.
4914
4915 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4916 making tool bar smaller. When clearing the frame, also
4917 clear current matrices. Clear frame when tool bar disappears.
4918 Don't use more lines for the tool-bar than is available.
4919 (x_change_window_heights): New function.
4920
ba193890
GM
49212000-11-24 Gerd Moellmann <gerd@gnu.org>
4922
2be8f184
GM
4923 * xdisp.c (init_from_display_pos): If POS says we're already after
4924 an overlay string ending at POS, make sure to pop the iterator
4925 because it will be in front of that overlay string. When POS is
4926 ZV, we've thereby also ``processed'' overlay strings at ZV.
4927
ba193890
GM
4928 * xfaces.c (lface_from_face_name): Function comment fix.
4929
1862a24e
MB
49302000-11-24 Miles Bader <miles@gnu.org>
4931
4932 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4933 apply `mode-line-inverse-video' -- zero means force display using
4934 the default face, non-zero means display using the specialized face.
4935 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4936
f07fa1b8
KH
49372000-11-23 Kenichi Handa <handa@etl.go.jp>
4938
4939 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4940 hard coded `4'.
4941
2bcdf662
EZ
49422000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4943
4944 * coding.c (decode_coding_emacs_mule): Fix the case of
4945 CODING_EOL_LF, which used uninitialized value of c.
4946
ba8299ff
SM
49472000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4948
4949 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4950
f4117c4d
GM
49512000-11-22 Gerd Moellmann <gerd@gnu.org>
4952
03e757c1
GM
4953 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4954 buffer object.
4955
f4117c4d
GM
4956 * frame.h (struct frame): Replace desired_tool_bar_items,
4957 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4958 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4959
4960 * frame.c (make_frame): Change initialization of tool bar
4961 items accordingly.
4962
4963 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4964 Change references to members deleted from struct frame to use the
f4117c4d
GM
4965 new ones.
4966
4967 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4968 references to members deleted from struct frame to use the new ones.
f4117c4d 4969
52283633 4970 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4971
4972 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4973
4974 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4975 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4976 from struct frame to use the new ones.
4977
f8e2f3f2
MB
49782000-11-23 Miles Bader <miles@gnu.org>
4979
4980 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4981 the face's inverse-video attribute, rather than overriding it.
4982
60e8e0a5
GM
49832000-11-22 Gerd Moellmann <gerd@gnu.org>
4984
4985 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4986 making tool bar smaller.
4987
92dd1b29
DL
49882000-11-22 Dave Love <fx@gnu.org>
4989
4990 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4991
e672fdce
MB
49922000-11-22 Miles Bader <miles@gnu.org>
4993
3a17d6cc
MB
4994 * keyboard.c (Vminibuffer_message_timeout): New variable.
4995 (command_loop_1): Use it to determine message timeout.
4996 (syms_of_keyboard): Initialize it.
4997
60e8e0a5 4998 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4999
e9655d81
KH
50002000-11-22 Kenichi Handa <handa@etl.go.jp>
5001
5002 * sysdep.c: Move the code for declaring h_errno after #include
5003 <netdb.h>.
5004
77270fac
GM
50052000-11-21 Gerd Moellmann <gerd@gnu.org>
5006
cd913aae
GM
5007 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5008 the menu bar when the tooltip is unmapped.
5009
77270fac
GM
5010 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5011 sole visible buffer when we're currently in the mini-buffer, and
5012 give up if so.
52283633 5013
556635d6
JR
50142000-11-21 Jason Rumney <jasonr@gnu.org>
5015
5016 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5017 put on the clipboard.
5018 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5019 copy of what Emacs last put there. If they are the same, do not
52283633 5020 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5021
5b7bde64
MB
50222000-11-22 Miles Bader <miles@gnu.org>
5023
5024 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5025 (syms_of_minibuf): Initialize it.
5026 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5027 to prompt, don't make read-only.
5028
ff23e1dd
GM
50292000-11-21 Gerd Moellmann <gerd@gnu.org>
5030
52283633
SM
5031 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5032 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5033
7aaf4388
GM
5034 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5035
f5f47add 5036 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5037
ff23e1dd
GM
5038 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5039
37c35586
KH
50402000-11-21 Kenichi Handa <handa@etl.go.jp>
5041
5042 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5043 ... #endif scope.
5044
ff9ab414
GM
50452000-11-20 Gerd Moellmann <gerd@gnu.org>
5046
52283633 5047 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5048 screen supports it.
5049
29a01b72
GM
5050 * s/gnu-linux.h: Don't use `#cpu'.
5051
09dfdf85
GM
5052 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5053 not defined in mman.h.
5054
52283633 5055 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5056 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5057 and store an index in the XClientMessageEvent. Storing a
5058 Lisp_Object or pointer can fail on a 64 bit system, since X only
5059 transfers 32 bits.
52283633
SM
5060 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5061
81459ac9
DL
50622000-11-20 Dave Love <fx@gnu.org>
5063
5064 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5065
56c13ae6
GM
50662000-11-20 Gerd Moellmann <gerd@gnu.org>
5067
5068 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5069
495a6df3
KH
50702000-11-20 Kenichi Handa <handa@etl.go.jp>
5071
2bcf3714
KH
5072 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5073 by WIDTH.
5074
495a6df3
KH
5075 * alloc.c (make_string): Fix previous change. Be sure to make
5076 unibyte string correctly.
5077
6d950f4c
GM
50782000-11-19 Gerd Moellmann <gerd@gnu.org>
5079
39b39373
GM
5080 * window.c (Fwindow_list): Change parameter list to be XEmacs
5081 compatible.
5082 (window_list_1): New function.
5083 (window_loop): Use it instead of Fwindow_list.
5084
b95b34e5
GM
5085 * sysdep.c (emacs_ospeed): New variable.
5086 (toplevel): Don't declare ospeed extern.
5087 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5088
5089 * termcap.c (ospeed): Remove.
5090 (tputs) [!emacs]: Remove unused code.
5091 (tgetent): Avoid a compiler warning.
5092
e83dc917
GM
5093 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5094 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5095 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5096
5097 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5098 removed.
5099 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5100 Take the X display as additional argument.
5101 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5102 `Widget' is a pointer type that's not easily stored in Lisp_Object
5103 form in a portable way.
52283633 5104
6d950f4c
GM
5105 * dispnew.c (update_text_area): Fix last change.
5106
e47306e6
GM
51072000-11-18 Gerd Moellmann <gerd@gnu.org>
5108
fb3cd89b
GM
5109 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5110
5111 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5112 clear current matrices.
5113
edaa9aed
GM
5114 * buffer.c (mmap_enlarge): Don't print a message on stderr
5115 if mapping new memory at the end of the existing region fails.
5116
e47306e6
GM
5117 * dispnew.c (update_text_area): Don't skip over equal glyphs
5118 when the last current glyph overlaps the glyph to its right.
5119
509633e3
MB
51202000-11-18 Miles Bader <miles@gnu.org>
5121
5122 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5123 lines that *end* with "..." too (that's the most common case!).
5124
d392e9c5
GM
51252000-11-18 Gerd Moellmann <gerd@gnu.org>
5126
67988445
GM
5127 * xdisp.c (resize_mini_window): Temporarily change to the
5128 mini-window's buffer if necessary.
1bfdbe43 5129
d392e9c5
GM
5130 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5131 the tooltip obscures less text under it.
5132
51332000-11-17 Gerd Moellmann <gerd@gnu.org>
5134
5135 * puresize.h (BASE_PURESIZE): Increase to 700000.
5136
92bb977f
JR
51372000-11-18 Jason Rumney <jasonr@gnu.org>
5138
5139 * w32term.c (w32_draw_bitmap): Use face to set colors.
5140
26fbf20b
DL
51412000-11-17 Dave Love <fx@gnu.org>
5142
5143 * lread.c (Fload): Fix #ifdef for pcc.
5144
100b593b
GM
51452000-11-17 Gerd Moellmann <gerd@gnu.org>
5146
5147 * xdisp.c (pos_visible_p): Compute the default character height
5148 differently.
5149
a288d0d1
GM
51502000-11-16 Gerd Moellmann <gerd@gnu.org>
5151
cac94de6 5152 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5153 knowing the line's height; use the default font's height in that case.
cac94de6 5154
a288d0d1
GM
5155 * xfaces.c (weight_table): Add `demi' with the same meaning as
5156 `demibold'.
5157
981fb6f6
KH
51582000-11-16 Kenichi Handa <handa@etl.go.jp>
5159
2cca872d 5160 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5161 (clear_glyph_row): Delete local static variable null_row.
5162
e5fa381b
JR
51632000-11-15 Jason Rumney <jasonr@gnu.org>
5164
5165 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5166 (w32_alloc_lighter_color): Use new brightness calculations from
5167 xterm.c. Scale delta to be in the range expected by W32.
5168 (w32_draw_relief_rect): Use frame relief colors.
5169
8e42f043
GM
51702000-11-15 Gerd Moellmann <gerd@gnu.org>
5171
6d133d1f
GM
5172 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5173 (Qinhibit_default_face_x_resources): New variable.
5174 (syms_of_frame): Initialize it.
5175 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5176
5177 * xdisp.c (pos_visible_p): Improve function comment.
5178
5179 * lisp.h (BINDING_STACK_SIZE): New macro.
5180
8e42f043
GM
5181 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5182 reading the directory if readdir returns null and errno is EAGAIN
5183 or EINTR.
5184
e8c87124
SM
51852000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5186
5187 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5188 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5189 Set amount_to_scroll to max of dx and scroll_step so that
5190 scroll-conservatively doesn't defeat scroll-step>1.
5191 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5192 scroll-conservatively for line-at-a-time scrolling.
5193
5f0c971d
GM
51942000-11-14 Gerd Moellmann <gerd@gnu.org>
5195
5196 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5197 extra argument.
5198
5199 * xdisp.c (current_mode_line_height, current_header_line_height):
5200 New variables.
5201 (init_xdisp): Initialize them.
5202 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5203 and use exact mode line heights if it is set.
5204
5205 * lisp.h (pos_visible_p): Change prototype.
5206
5207 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5208 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5209 and current_header_line_height first.
52283633
SM
5210 (current_mode_line_height, current_header_line_height):
5211 Declare extern.
5f0c971d 5212
d7361edf
MB
52132000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5214
5215 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5216 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5217 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5218
ee5e440a
MB
52192000-11-14 Miles Bader <miles@gnu.org>
5220
5221 * xterm.c (x_alloc_lighter_color): Include an additive component
5222 too for dark colors, because FACTOR isn't enough.
5223 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5224 New macros.
5225
5ca020fc
GM
52262000-11-13 Gerd Moellmann <gerd@gnu.org>
5227
5228 * keyboard.c (show_help_echo): Call message3_nolog with number of
5229 bytes in the help string as 2nd parameter, instead of the number
5230 of characters.
5231
9d348294
MB
52322000-11-13 Miles Bader <miles@gnu.org>
5233
5234 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5235 (Fload): Use new openp return protocol.
5236 Don't try to use Vload_source_file_function to load .elc files.
5237 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5238 openp return protocol.
5239 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5240
1729bb9a
KH
52412000-11-11 Kenichi Handa <handa@etl.go.jp>
5242
4e677396
KH
5243 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5244
5245 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5246 Defined these macros.
5247 (NLIST_STRUCT): Avoid re-defining it.
5248
1729bb9a
KH
5249 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5250 -I/usr/contrib/X11R6/include.
5251 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5252
a82fe213
JR
52532000-11-10 Jason Rumney <jasonr@gnu.org>
5254
5255 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5256
5257 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5258 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5259
5260 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5261 (Qw32_charset_vietnamese): New symbol.
5262 (xlfd_charset_of_font): New function.
5263 (w32_load_system_font): Use it.
5264 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5265 when Vw32_charset_info_alist is nil to ensure default face always
5266 has font. Use Fcar and Fcdr for safety.
5267 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5268 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5269 pseudo-codepages for special cases.
5270 (w32_to_x_font): New parameter to allow charset portion to be
5271 specified where there is many to one mapping. Callers changed.
5272 (w32_list_fonts): Avoid listing fonts that won't display.
5273
52d89894
GM
52742000-11-10 Gerd Moellmann <gerd@gnu.org>
5275
5276 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5277 (font_list_1): Renamed from font_list.
5278 (font_list): New function, trying alternative registries from
5279 Vface_alternative_font_registry_alist.
5280 (Finternal_set_alternative_font_registry_alist): New function.
5281 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5282 Vface_alternative_font_registry_alist.
5283 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5284
651cd3da
KR
52852000-11-09 Ken Raeburn <raeburn@gnu.org>
5286
5287 * lisp.h (Flooking_at): Declare.
5288
388ac098
GM
52892000-11-09 Gerd Moellmann <gerd@gnu.org>
5290
778fbc46 5291 * dired.c (directory_files_internal): Fix a braino.
52283633 5292
388ac098
GM
5293 * dired.c (directory_files_internal): Add missing GCPRO's.
5294 Some cleanup.
5295
ecaedde1
GM
52962000-11-08 Gerd Moellmann <gerd@gnu.org>
5297
f7eb32aa
GM
5298 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5299 (resize_mini_window): Return quickly if Vresize_mini_window is
5300 nil. Don't return if Vmax_mini_window_height is nil.
5301
5302 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5303 (syms_of_xdisp): Initialize them.
5304 (resize_mini_window): Act according to the setting of
5305 Vresize_mini_window.
5306 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5307
ecaedde1
GM
5308 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5309 scroll bar widget after configuring it, so that it will appear at
5310 the right position from the start.
5311 (XTredeem_scroll_bar): Cleaned up.
5312
3747ef2c
KH
53132000-11-08 Kenichi Handa <handa@etl.go.jp>
5314
5315 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5316 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5317 division by two.
5318
5319 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5320
03391420
DL
53212000-11-07 Dave Love <fx@gnu.org>
5322
7758f1c1 5323 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5324
5325 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5326
b5de343d
GM
53272000-11-07 Gerd Moellmann <gerd@gnu.org>
5328
acad3c0b
GM
5329 * window.c (Fset_window_configuration): Don't try to preserve
5330 point in the current buffer, if that buffer is displayed in more
5331 than one window.
5332
b5de343d
GM
5333 * xfaces.c (lookup_named_face): If default face isn't realized,
5334 try to realize it. Return -1 if not successful.
5335 (Fx_list_fonts): Handle case that face cannot be determined.
5336 (Fface_font): Likewise.
5337
cdb1fe49
GM
53382000-11-06 Gerd Moellmann <gerd@gnu.org>
5339
5340 * window.c (displayed_window_lines): Detect partially
5341 visible lines at the bottom correctly.
5342
d3a67486
SM
53432000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5344
5345 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5346 when ensuring we don't do visit in indirect buffer.
5347
ff8dd5d5
KH
53482000-11-06 Kenichi Handa <handa@etl.go.jp>
5349
5350 * composite.h (compose_chars_in_text): Add prototype.
5351
5352 * composite.c (Vcomposition_function_table): New variable.
5353 (Qcomposition_function_table): New variable.
5354 (run_composition_function): Call
5355 Vcompose_chars_after_function with three arguments.
5356 (compose_chars_in_text): New function.
5357 (syms_of_composite): Modified the doc-string of
5358 Vcompose_chars_after_function. Declare composition-function-table
5359 as a lisp variable, and initialize it.
5360
5361 * xfns.c (x_encode_text): Suppress producing escape sequences for
5362 composition.
5363
5364 * xselect.c: Include composite.h.
5365 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5366
d1145f85
AI
53672000-11-05 Andrew Innes <andrewi@gnu.org>
5368
5369 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5370
5371 * sysdep.c (read_input_waiting): Remove extraneous argument to
5372 read_socket_hook.
5373
5374 * w32fns.c (Fx_server_version): Include w32_build_number in the
5375 return list.
5376
5377 * w32heap.c (w32_build_number): New variable.
5378 (cache_system_info): Set it.
5379
5380 * w32heap.h (w32_build_number): Add extern.
5381
5382 * emacs.c (syms_of_emacs): Update docstring for
5383 system-configuration, to reflect the actual usage on MS-Windows.
5384
e85ee976
GM
53852000-10-31 Gerd Moellmann <gerd@gnu.org>
5386
26dcb81b
GM
5387 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5388 process idle timers while waiting for another event.
5389
52283633 5390 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5391 the default face are colored.
5392
e85ee976
GM
5393 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5394 window height hasn't changed.
5395
01b220b6
JR
53962000-10-31 Jason Rumney <jasonr@gnu.org>
5397
5398 * w32term.c (x_produce_glyphs): Handle composite characters.
5399 (x_draw_glyph_string_foreground)
5400 (x_draw_composite_glyph_string_foreground): Restore old font.
5401
4e6b7204
MB
54022000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5403
5404 * minibuf.c (read_minibuf): Reset the undo history just before
5405 starting the recursive-edit.
5406
d4358b37
GM
54072000-10-30 Gerd Moellmann <gerd@gnu.org>
5408
563f68f1
GM
5409 * xfaces.c (menu_face_change_count): New variable.
5410 (Finternal_set_lisp_face_attribute): Increment it for changes
5411 of the `menu' face.
5412 (realize_basic_faces): Reflect changes in the `menu' faces
5413 in menu bars.
5414
82e274d1
GM
5415 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5416 dy obtained from the iterator's y-position after moving from
5417 scroll_margin_pos to PT; see comment there.
52283633 5418
0dbf9fd2
GM
5419 * xdisp.c (safe_eval_handler): Call add_to_log.
5420
906b3b14
GM
5421 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5422 is not a symbol or string.
5423
d4358b37
GM
5424 * xdisp.c (echo_area_display): Don't perform a display update from
5425 inside redisplay. The update will happen anyway at the end of
5426 redisplay, and it can confuse redisplay (GC messages while
5427 redisplaying, for instance.)
5428
70c825df
SM
54292000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5430
cf9b4b0b
SM
5431 * xrdb.c (x_load_resources): Use the class name in the defaults.
5432
70c825df
SM
5433 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5434 (regex_compile): Catch bogus \(\1\).
5435
a1d34b1e
GM
54362000-10-30 Gerd Moellmann <gerd@gnu.org>
5437
cae71efe
GM
5438 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5439 RGB values.
52283633 5440
35efe0a1
GM
5441 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5442 we have a color cache, check that the cached color equals the
5443 allocated color. If not, clear the color cache.
5444
1d3baf74
GM
5445 * window.c (displayed_window_lines): Change buffers if necessary.
5446 Fix computation of displayed lines.
5447
a1d34b1e
GM
5448 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5449 update_menu_bindings to DEFVAR_BOOL.
5450
70737ea9
KH
54512000-10-30 Kenichi Handa <handa@etl.go.jp>
5452
70c825df 5453 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5454
fa0cb51d
KH
5455 * puresize.h (BASE_PURESIZE): Increase to 680000.
5456
70737ea9
KH
5457 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5458
0e4c08e8
JR
54592000-10-29 Jason Rumney <jasonr@gnu.org>
5460
5461 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5462
5463 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5464 (w32_cache_char_metrics): Handle possibility that 'x' does not
5465 exist in a BDF font.
5466 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5467
5468 * w32bdf.h (bdffont): Add nchars.
5469
5470 * w32bdf.c (set_bdf_font_info): Set it.
5471 (w32_BDF_TextOut): Swap byte order of double byte characters.
5472 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5473
45b84006
EZ
54742000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5475
5476 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5477 don't override the colors in frame's param_alist, unless they are
5478 unspecified.
5479
5480 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5481 reverse the effect of the highlight flag.
5482
caf9deee
KR
54832000-10-27 Ken Raeburn <raeburn@gnu.org>
5484
5485 * window.h (Fwindow_live_p): Declare.
5486
ae0b9b46
KR
5487 * undo.c (record_delete): Check that last_undo_buffer is really a
5488 buffer before applying XBUFFER to it.
5489
5490 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5491 Faref.
5492
02067692
SM
54932000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5494
5495 * lisp.h (KEYMAPP): New macro.
5496 (get_keymap): Remove.
5497 (get_keymap_1): Rename get_keymap.
5498
5499 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5500
5501 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5502
5503 * xmenu.c (single_submenu): Use KEYMAPP.
5504 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5505 Use KEYMAPP rather than Fkeymapp.
5506
5507 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5508
5509 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5510 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5511 Use KEYMAPP rather than Fkeymapp.
5512 (single_submenu): Use KEYMAPP.
5513 (w32_menu_show, w32_dialog_show): Use TRUE.
5514
5515 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5516
5517 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5518 (Fkeymapp): Use KEYMAPP.
5519 (get_keymap): Rename from get_keymap_1. Remove old def.
5520 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5521 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5522 (Fminor_mode_key_binding): Don't raise an error if the binding
5523 is not a keymap.
5524 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5525 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5526
5527 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5528 Allow Vspecial_event_map to be autoloaded.
5529 (menu_bar_items): Fetch the keymap rather than using keymapp.
5530 (menu_bar_one_keymap): No need to follow func-indirect any more.
5531 (parse_menu_item): get_keymap_1 -> get_keymap.
5532 (tool_bar_items): Fetch the keymap rather than using keymapp.
5533 (read_key_sequence): Use KEYMAPP.
5534
5535 * intervals.c (get_local_map): Use get_keymap rather than following
5536 function-indirections explicitly.
5537
5538 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5539
f9d80af3
JR
55402000-10-27 Jason Rumney <jasonr@gnu.org>
5541
5542 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5543 point, as Windows has oversized fonts.
5544
5545 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5546
a3ba27da
GM
55472000-10-27 Gerd Moellmann <gerd@gnu.org>
5548
5549 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5550 (freehook, reallochook): Handle null pointer arguments.
5551 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5552
aa3b80cc
SM
55532000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5554
5555 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5556 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5557 Giving in to popular pressure to shut up the compiler with casts.
5558
e24e84cc
GM
55592000-10-27 Gerd Moellmann <gerd@gnu.org>
5560
5561 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5562 signed value, and use a default value computed from the font's
5563 maximum descent.
5564
05ea7ef2
MB
55652000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5566
5567 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5568 that specify a negative underline position can still use underlines.
5569
5570 * window.c (Fpos_visible_in_window_p): Make POS default to
5571 WINDOW's point, not the current buffer's point.
5572
0b95284b
DL
55732000-10-26 Dave Love <fx@gnu.org>
5574
5575 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5576 when it's necessary.
5577
6c5b90af
GM
55782000-10-26 Gerd Moellmann <gerd@gnu.org>
5579
8b6d9dc9
GM
5580 * window.c (size_window): Compute size difference from sum of old
5581 child window sizes instead of from parent's size.
5582
6bc92b2e
GM
5583 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5584 Handle obscured lines at the top of the window.
5585
5586 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5587 down after the last error condition check.
5588
6c5b90af
GM
5589 * frame.c (Fdelete_frame): Run delete-frame-hook.
5590
42f92d4d
KH
55912000-10-26 Kenichi Handa <handa@etl.go.jp>
5592
5593 * coding.c (decode_coding): Fix previous change (check also
5594 CODING_MODE_LAST_BLOCK).
5595
d97151cb
SM
55962000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5597
e7efc503
SM
5598 * regex.c: More `unsigned char' -> `re_char' changes.
5599 Also change several `int' into `re_wchar_t'.
5600 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5601 (PUSH_FAILURE_POINTER): Don't cast any more.
5602 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5603 We want GCC to complain, since this piece of code makes
5604 re_match non-reentrant, which *should* be fixed.
5605 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5606 (EXTEND_BUFFER): Use RETALLOC.
5607 (SET_LIST_BIT): Don't cast.
5608 (re_wchar_t): New type.
5609 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5610 that those two functions will always properly return.
5611 (IMMEDIATE_QUIT_CHECK): Cast to void.
5612 (analyse_first): Use recursion rather than an explicit stack.
5613 (re_compile_fastmap): Can't fail anymore.
5614 (re_search_2): Don't check re_compile_fastmap for failure.
5615 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5616 Now also sets the new value (passed in a new argument).
5617 (re_match_2_internal): Use it.
5618 Also, use a new var `reg' of type size_t when looping through regs
5619 rather than reuse the inappropriate `mcnt'.
5620
d97151cb
SM
5621 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5622 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5623 (where_is_internal): Renamed from Fwhere_is_internal.
5624 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5625 (Fwhere_is_internal): New function wrapping where_is_internal.
5626 (where_is_internal_1): Handle the case where we're filling the cache.
5627 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5628
d5789b65
MB
56292000-10-25 Miles Bader <miles@gnu.org>
5630
5631 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5632
4ecda532
GM
56332000-10-25 Gerd Moellmann <gerd@gnu.org>
5634
5635 * window.c (pos_fully_visible_p): Removed.
5636 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5637 if position is visible and/or fully visible.
5638
5639 * lisp.h (pos_visible_p): Add prototype.
5640
5641 * xdisp.c (pos_visible_p): New function.
5642
68c3a137
KH
56432000-10-25 Kenichi Handa <handa@etl.go.jp>
5644
5645 * process.c (send_process): If OBJECT is t, it means that the data
5646 is from C string, but we should encode it. Before calling
5647 setup_raw_text_coding_system, be sure to flush out data by the
5648 previous coding system.
5649
7ae1c032
MB
56502000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5651
ff4dcd4b
MB
5652 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5653 assignment of startpos to prev when startpos == pos.
5654
7ae1c032
MB
5655 * editfns.c (find_field): Set the field stickiness correctly from
5656 overlay fields. Use renamed `text_property_stickiness'.
5657 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5658 Only check text properties, not overlays.
7ae1c032
MB
5659 * textprop.c (get_char_property_and_overlay): New function.
5660 (Fget_char_property): Use it.
5661 * intervals.h (get_char_property_and_overlay): Add declaration.
5662
49801145
SM
56632000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5664
5665 * keymap.c: Use AREF, ASET and ASIZE macros.
5666 (Fmake_sparse_keymap): Docstring fix.
5667 (synkey): Remove.
5668 (shadow_lookup): Move up.
5669 Handle the case where lookup-key returns an integer.
5670 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5671 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5672 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5673 Simplify/rewrite the keymap-finding code.
5674 Add check for command shadowing, using shadow_lookup.
5675
39e776cd
SM
56762000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5677
5678 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5679 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5680 a symbol.
5681
2488aba5
AI
56822000-10-24 Andrew Innes <andrewi@gnu.org>
5683
5684 * dired.c (directory_files_internal_unwind): New function.
5685 (directory_files_internal): Use it to ensure closedir is called
5686 even if expand-file-name or file-attributes throw, eg. because of
5687 a user interrupt. Also enable immediate_quit while calling
5688 re_search, so that matching can be interrupted as well.
5689
b94fdf61
AI
56902000-10-24 Andrew Innes <andrewi@gnu.org>
5691
5692 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5693 NT-Emacs only.
5694 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5695 so that re_search functions only quit when callers expect them to.
5696
56972000-10-24 Kenichi Handa <handa@etl.go.jp>
5698
5699 * regex.c (regex_compile): Change the way of handling a range from
5700 a char less than 256 to a char not less than 256.
5701
1946f901
GM
57022000-10-24 Gerd Moellmann <gerd@gnu.org>
5703
7ae2f10f
GM
5704 * window.c (size_window): Prevent setting window's width or
5705 height to a negative value (esp. with XSETFASTINT).
5706
5dcab13e
GM
5707 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5708 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5709 (protect_malloc_state) [GC_MALLOC_CHECK &&
5710 GC_PROTECT_MALLOC_STATE]: New function.
5711 (PROTECT_MALLOC_STATE): New macro.
5712 (__malloc_initialize, morecore, _malloc_internal)
5713 (_free_internal) _realloc_internal): Use it to make _heapinfo
5714 read-only outside of gmalloc.
5715
63e1b552
GM
5716 * keymap.c: Update copyright.
5717
1946f901
GM
5718 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5719 a symbol.
5720
4fa09beb
GM
57212000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5722
5723 * filelock.c (unlock_all_files): Use unlock_file to expand each
5724 buffer's file_truename before trying remove its lock file.
5725
23afac01
EZ
57262000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5727
5728 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5729 or CRLF, decode EOLs.
5730
04448b95
KH
57312000-10-24 Kenichi Handa <handa@etl.go.jp>
5732
5733 * window.c (Fdisplay_buffer): Fix doc.
5734
3090a5a5
JR
57352000-10-23 Jason Rumney <jasonr@gnu.org>
5736
5737 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5738 ASCII font of default fontset on Windows.
5739
5740 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5741 xterm.c comment below).
5742
5743 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5744
a83fee2c
GM
57452000-10-23 Gerd Moellmann <gerd@gnu.org>
5746
5747 * xterm.c (x_connection_closed): Reset handling_signal.
5748
52283633 5749 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5750
6ffdb539
MB
57512000-10-23 Miles Bader <miles@gnu.org>
5752
5753 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5754 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5755 maintain old behavior.
5756 * minibuf.c (Fminibuffer_complete): Likewise.
5757
7f1c969b
MB
57582000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5759
5760 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5761 that when a font can't be exactly centered, it errs up rather than
5762 down.
5763
23afac01 57642000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5765
52283633 5766 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5767
1a578e9b
AC
57682000-10-23 Andrew Choi <akochoi@i-cable.com>
5769
5770 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5771
5772 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5773 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5774
5775 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5776 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5777 syms_of_search, x_term_init, and init_keyboard before calling
5778 init_window_once. Also, call syms_of_xmenu.
5779
5780 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5781 default fontset to Monaco.
5782
5783 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5784 NewMacWindow and DisposeMacWindow.
5785 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5786 instead of calling NewMacWindow and setting fields of
5787 f->output_data.mac directly. Call init_frame_faces.
5788 (Fdelete_frame) [macintosh]: Remove unused code.
5789 (Fmodify_frame_parameters) [macintosh]: Call
5790 x_set_frame_parameters instead of mac_set_frame_parameters.
5791
5792 * frame.h [macintosh]: Define menu_bar_lines field in struct
5793 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5794
5795 * keyboard.c [macintosh]: Include macterm.h.
5796 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5797 and menu_bar_activate_event type events as for X and NT.
5798 (make_lispy_event) [macintosh]: Construct lisp events of type
5799 MENU_BAR_EVENT as for X and NT.
5800
5801 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5802 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5803 (sys_subshell) [macintosh]: Remove definition entirely.
5804 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5805 Vwindow_system_version here. Remove initialization of
5806 Vx_bitmap_file_path.
5807 (read_input_waiting): Correct the number of parameters passed to
5808 read_socket_hook.
5809 Move all Macintosh functions to mac/mac.c.
5810
5811 * term.c [macintosh]: Include macterm.h.
5812
5813 * window.c [macintosh]: Include macterm.h.
5814
5815 * xdisp.c [macintosh]: Include macterm.h. Declare
5816 set_frame_menubar and pending_menu_activation.
5817 (echo_area_display) [macintosh]: Do not return if terminal frame
5818 is the selected frame.
5819 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5820 Allow only the selected frame to set menu bar.
5821 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5822 calling FRAME_EXTERNAL_MENU_BAR (f).
5823 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5824
5825 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5826 and check_x. Declare XCreateGC. Define x_create_gc and
5827 x_free_gc. Initialize font_sort_order.
5828 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5829 but call x_list_fonts instead of w32_list_fonts.
5830 (Finternal_face_x_get_resource) [macintosh]: Do not call
5831 display_x_get_resource.
5832 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5833 (realize_x_face) [macintosh]: Load the font if it is specified in
5834 ATTRS.
52283633 5835 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5836
1ffbabe3
SM
58372000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5838
5839 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5840 is nil: since we go to the end of submap anyway, we'd end up
5841 setting nil to nil.
5842 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5843 doesn't obey autoload.
5844
bed43f1d
EZ
58452000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5846
1ffbabe3 5847 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5848
ea4233a7
JR
58492000-10-21 Jason Rumney <jasonr@gnu.org>
5850
5851 * w32term.c (w32_cache_char_metrics): Double check that font is
5852 really fixed pitch before trusting tmPitchAndFamily.
5853
f3d3c491
AI
58542000-10-21 Andrew Innes <andrewi@gnu.org>
5855
5856 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5857
5858 * w32term.h: Extern decl for w32_cache_char_metrics.
5859
5860 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5861
5862 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5863 (w32_unload_font): Free per_char array if present.
5864
5865 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5866 cached information in emulated XFontStruct to handle common cases
5867 quickly. Do not allocate XCharStruct for return.
5868 (w32_native_per_char_metric): New function.
5869 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5870 allocating one.
5871 (x_produce_glyphs): Don't get an HDC. Change calls to
5872 w32_per_char_metric to match arg change above. Remove calls to
5873 free results.
5874 (w32_get_glyph_overhangs): Ditto.
5875 (w32_cache_char_metrics): New function.
5876
5877 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5878 ($(BLD)/casefiddle.$(O)): Remove compile command.
5879 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5880 ($(BLD)/dispnew.obj):
5881 ($(BLD)/keyboard.obj):
5882 ($(BLD)/w32inevt.obj):
5883 ($(BLD)/w32bdf.obj):
5884 ($(BLD)/alloc.obj):
5885 ($(BLD)/buffer.obj):
5886 ($(BLD)/editfns.obj):
5887 ($(BLD)/emacs.obj):
5888 ($(BLD)/fileio.obj):
5889 ($(BLD)/fns.obj):
5890 ($(BLD)/indent.obj):
5891 ($(BLD)/insdel.obj):
5892 ($(BLD)/intervals.obj):
5893 ($(BLD)/minibuf.obj):
5894 ($(BLD)/print.obj):
5895 ($(BLD)/scroll.obj):
5896 ($(BLD)/sysdep.obj):
5897 ($(BLD)/textprop.obj):
5898 ($(BLD)/widget.obj):
f3d3c491
AI
5899 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5900 ($(BLD)/term.obj): Add dependency on dispextern.h.
5901
52283633
SM
5902 * makefile.nt ($(BLD)\dispnew.obj):
5903 ($(BLD)\keyboard.obj):
5904 ($(BLD)\w32inevt.obj):
5905 ($(BLD)\w32bdf.obj):
5906 ($(BLD)\alloc.obj):
5907 ($(BLD)\buffer.obj):
5908 ($(BLD)\editfns.obj):
5909 ($(BLD)\emacs.obj):
5910 ($(BLD)\fileio.obj):
5911 ($(BLD)\fns.obj):
5912 ($(BLD)\indent.obj):
5913 ($(BLD)\insdel.obj):
5914 ($(BLD)\intervals.obj):
5915 ($(BLD)\minibuf.obj):
5916 ($(BLD)\print.obj):
5917 ($(BLD)\scroll.obj):
5918 ($(BLD)\sysdep.obj):
5919 ($(BLD)\textprop.obj):
5920 ($(BLD)\widget.obj):
f3d3c491
AI
5921 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5922 ($(BLD)\term.obj): Add dependency on dispextern.h
5923
18ad4821
EZ
59242000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5925
5926 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5927 with an additional argument of Qt.
5928
de54681a
MB
59292000-10-21 Miles Bader <miles@gnu.org>
5930
5931 * window.c (pos_fully_visible_in_window_p): New function.
5932 (Fpos_visible_in_window_p): Add FULLY argument.
5933 Use pos_fully_visible_in_window_p.
5934 (window_scroll_pixel_based, window_scroll_line_based): Update
5935 calls to Fpos_visible_in_window_p.
5936 * lisp.h (Fpos_visible_in_window_p): Update prototype
5937
13c844fb
GM
59382000-10-20 Gerd Moellmann <gerd@gnu.org>
5939
5940 * alloc.c (toplevel): Conditionalize compilation of mem_*
5941 functions differently.
52283633 5942
d9506268
JR
59432000-10-20 Jason Rumney <jasonr@gnu.org>
5944
5945 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5946 mem_init where it used to be. mem_z etc not defined otherwise.
5947
8094989b
GM
59482000-10-20 Gerd Moellmann <gerd@gnu.org>
5949
5950 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5951 GC_MALLOC_CHECK.
5952 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5953 structure definition and related variabled to the top of the file.
5954 Include this code when GC_MALLOC_CHECK is defined.
5955 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5956 register/unregister allocated region.
5957 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5958 which isn't allocated.
5959 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5960 something which is already in use.
5961 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5962 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5963 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5964 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5965
5966 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5967 _malloc_internal instead of malloc.
5968 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5969 of free.
5970
ea456eb4
AI
59712000-10-20 Andrew Innes <andrewi@gnu.org>
5972
5973 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5974 Windows.
5975 (my_strftime) <macro>: Don't use macro arg list when redefining as
5976 _strftime_copytm.
5977 (my_strftime) <function>: Supply 0 as ut argument.
5978
e64c3a75
JR
59792000-10-19 Jason Rumney <jasonr@altavista.net>
5980
5981 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5982 including dispextern.h, as it stops faces from working.
5983
5984 * w32fns.c (Fx_create_frame): Don't bother calling
5985 face-set-after-frame-default since the caller does it for us
5986 anyway. Clean up calls to x_get_arg to be consistent with X.
5987
5988 * w32term.c (x_produce_glyphs): Handle
5989 unibyte_display_via_language_environment correctly.
5990 (w32_draw_box_rect): Fix the calculation of width and height.
5991
5992 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5993 as it has stopped working.
5994 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5995 menu-bar.
5996
17401c97
GM
59972000-10-19 Gerd Moellmann <gerd@gnu.org>
5998
5999 * eval.c (skip_debugger): Prevent a compiler warning.
6000 (Fcondition_case): Likewise.
6001 (Fbacktrace_frame): Use a null interactive spec.
6002
773272d8
KH
60032000-10-19 Kenichi Handa <handa@etl.go.jp>
6004
6005 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6006
a42943e9
GM
60072000-10-18 Gerd Moellmann <gerd@gnu.org>
6008
e50517d9
GM
6009 * strftime.c: Sync with glibc, file version 1.78.
6010 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6011 should no longer be used according to ISO 8601.
6012
9035a35a
GM
6013 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6014 no map for meta_prefix_char, don't try to use it as a keymap.
6015 Instead, if T_OK is non-zero, look up a default binding, if any,
6016 otherwise, if T_OK is zero, return nil.
6017
a42943e9
GM
6018 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6019 (x_to_xcolors, png_load): Use x_query_color.
6020
52283633
SM
6021 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6022 New functions.
a42943e9
GM
6023 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6024 which can be slow.
6025 (x_copy_color, x_alloc_lighter_color): Likewise.
6026
6027 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6028 (x_query_color, x_query_colors): Add prototype.
6029
6030 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6031 check_string_bytes only if not noninteractive, increase count to 50.
6032
00de2987
MB
60332000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6034
6035 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6036 markers correctly.
6037
54918e2b
GM
60382000-10-17 Gerd Moellmann <gerd@gnu.org>
6039
1f0b3fd2
GM
6040 * alloc.c (pure_bytes_used): Renamed from pureptr.
6041 (ALIGN): New macro.
6042 (pure_alloc): New function.
6043 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6044 Use it.
6045 (Fpurecopy): Use PURE_POINTER_P.
6046
68c5d1db
GM
6047 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6048 PT has moved backward.
52283633 6049
9a038881
GM
6050 * xdisp.c (cursor_row_p): Take continued lines into account.
6051
361b097f
GM
6052 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6053 string's size_byte.
6054 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6055 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6056 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6057 string allocated.
6058
54918e2b
GM
6059 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6060 of selective display off while searching for the next line start.
6061
03ed0806
KH
60622000-10-17 Kenichi Handa <handa@etl.go.jp>
6063
6064 * Makefile.in (term.o): Depend on dispextern.h.
6065
7e05cdaf
SM
60662000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6067
6068 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6069
a6801fd1
GM
60702000-10-16 Gerd Moellmann <gerd@gnu.org>
6071
483de32b
GM
6072 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6073 the iterator at the beginning, so that they can be set later on,
6074 for instance in reseat_at_next_visible_line_start, without being
6075 overwritten.
6076
a6801fd1
GM
6077 * xfns.c (pbm_format): Add :foreground and :background keywords.
6078 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6079 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6080
dbf1fcc1
EZ
60812000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6082
6083 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6084
52283633 6085 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6086
6087 * msdos.c (IT_set_face): Compare highlighted face with the default
6088 face, and invert colors if these faces' colors are identical.
6089 (Fmsdos_remember_default_colors): Don't swap foreground and
6090 background colors in initial_colors[].
6091 (IT_set_frame_parameters): Don't swap frame's foreground and
6092 background pixels. If ALIST includes "(reverse . t)", swap
6093 foreground-color and background-color properties in frame's
6094 param_alist. If the original frame's param_alist doesn't specify
6095 the colors, store unspecified-fg and unspecified-bg, reversed if
6096 required.
6097
6098 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6099 the colors are unspecified and reversed, reverse fore- and back-
6100 ground in the returned value.
6101 (Fframe_parameter): Ditto.
6102
b41fe2c3 61032000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6104
3a6b59d9
GM
6105 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6106 get_last_unchanged_at_beg_row.
6107 (find_first_unchanged_at_end_row): Renamed from
6108 get_first_unchanged_at_end_row.
6109 (find_first_unchanged_at_end_row): Convert assertions to
6110 unconditional tests which abort. When looking for a row in
6111 unchanged text, don't go further back than first_text_row.
6112
b41fe2c3
GM
6113 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6114 Don't add in the last line's height when deciding if the new
6115 position is below the scroll margin.
9d1af64f 6116
b41fe2c3 61172000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6118
6119 * editfns.c (Fconstrain_to_field): Check carefully for field
6120 boundaries if either OLD_POS or NEW_POS has a non-nil field
6121 property, even if they're the same.
6122
c412cb7b
KH
61232000-10-16 Kenichi Handa <handa@etl.go.jp>
6124
6125 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6126 height for XFillRectangle.
6127
5586f3eb
SM
61282000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6129
6130 * syntax.c (Fstring_to_syntax): New function extracted from
6131 Fmodify_syntax_entry.
6132 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6133 (skip_chars, Fforward_comment): Remove unused variables.
6134 (syms_of_syntax): Add defsubr for string-to-syntax.
6135 (describe_syntax): Add code for comment and string fences.
6136
db785038
SM
61372000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6138
6139 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6140 Do the meta->esc mapping. Call get_keyelt before returning.
6141 Start scanning from the second element (the first is always `keymap')
6142 to make it easier to detect when we reach a parent map.
6143 Handle the case of inheriting from a symbol whose function is a map.
6144 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6145 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6146 (get_keyelt, Flookup_key): Update call to access_keymap.
6147 Remove the meta->esc mappings.
6148 (define_as_prefix): Delete old disabled code.
6149 (menu_item_p): New function.
6150 (where_is_internal_1): Skip over the few remaining menu items.
6151 * lisp.h (access_keymap): Update prototype.
6152 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6153 Update call to access_keymap.
6154 (follow_key, read_key_sequence): Update calls to access_keymap.
6155 Remove the meta->esc mappings.
6156
cafafe0b
GM
61572000-10-13 Gerd Moellmann <gerd@gnu.org>
6158
a2e2a7f6
GM
6159 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6160 with additional argument.
6161
cafafe0b
GM
6162 * xdisp.c (cursor_row_p): New function.
6163 (try_cursor_movement, display_line): Use it.
52283633 6164
cafafe0b
GM
6165 * xdisp.c (append_space): Also save/restore iterator's current
6166 character and its length.
6167
6168 * xdisp.c (init_from_display_pos): Add an assertion.
6169 (handle_stop): Don't set iterator's add_overlay_start.
6170 (handle_invisible_prop): Likewise.
6171 (load_overlay_strings): If text under an overlay is invisible,
6172 take both before- and after-strings into account when the iterator
6173 is positioned either at the start or at the end of the overlay.
6174 (forward_to_next_line_start): Rewritten.
6175 (reseat_at_next_visible_line_start): Rewritten.
6176 (set_iterator_to_next): Add parameter RESEAT_P.
6177
6178 * dispextern.h (struct it): Remove member add_overlay_start.
6179 (set_iterator_to_next): Change prototype.
6180
c744452b
KH
61812000-10-13 Kenichi Handa <handa@etl.go.jp>
6182
6183 * coding.c (code_convert_region): Be sure to initialize
6184 coding->category_idx.
e4a3f4e1
KH
6185 (decode_coding_string): Set coding->src_multibyte and
6186 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6187 (encode_coding_string): Set coding->src_multibyte and
6188 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6189
321fd26f
SM
61902000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6191
6192 * xfns.c (Fx_create_frame): Don't bother calling
6193 face-set-after-frame-default since the caller does it for us anyway.
6194
76832439
EZ
61952000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6196
6197 * window.c (coordinates_in_window): Fix detection of vertical line
6198 on character terminals.
6199
2483cf58
GM
62002000-10-12 Gerd Moellmann <gerd@gnu.org>
6201
6202 * editfns.c (save_excursion_save): Additionally record the
6203 selected window.
6204 (save_excursion_restore): If buffer was visible in a window, and a
6205 different window was selected, and the old selected window is
6206 still live, restore point in that window.
6207
eb991b25
KH
62082000-10-12 Kenichi Handa <handa@etl.go.jp>
6209
8a0eba09
KH
6210 * xterm.c (x_produce_glyphs): Handle
6211 unibyte_display_via_language_environment correctly.
6212
20401fcc
KH
6213 * regex.c (regex_compile): Change the way of handling a range from
6214 unibyte char to multibyte char.
6215
6216 * syntax.c (skip_chars): Change the way of handling a range from
6217 unibyte char to multibyte char.
6218
eb991b25
KH
6219 * process.c (read_process_output): Cancel previous change.
6220
365dd325
EZ
62212000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6222
c1b096cb
EZ
6223 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6224
365dd325
EZ
6225 * charset.c (Ffind_charset_string): Doc fix.
6226 (Ffind_charset_region): Doc fix.
6227
eb483c2b
KH
62282000-10-11 Kenichi Handa <handa@mule.m17n.org>
6229
6230 * process.c (read_process_output): Fix previous change. Adjust
6231 multibyteness of text to insert in a buffer by
52283633 6232 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6233
b40bfb99
AS
62342000-10-10 Andreas Schwab <schwab@suse.de>
6235
6236 * alloc.c (mark_object): Remove all workarounds installed on
6237 1993-08-08.
6238
caff31d4
KH
62392000-10-10 Kenichi Handa <handa@etl.go.jp>
6240
52283633 6241 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6242 (base64_encode_1): Make it work for a text of multibyte form.
6243 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6244 case. Don't call str_to_multibyte because base64_decode_1
6245 produces correct multibyte form for eight-bit codes.
52283633 6246 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6247 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6248 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6249 codes.
6250
6251 * charset.h (CHAR_STRING): Optimized for single byte characters.
6252
cba026ef
AS
62532000-10-09 Andreas Schwab <schwab@suse.de>
6254
6255 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6256 -1 after socket is closed, to fall through to error processing.
6257
1e21fe48
EZ
62582000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6259
6260 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6261 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6262 background-color, change also the colors of the default face for
6263 this frame.
6264
a640322e
EZ
62652000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6266
6267 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6268 them extern (they are defined on xfaces.c).
6269 (syms_of_msdos): Don't intern and don't staticpro
6270 Qbackground_color and Qforeground_color.
6271
a115794c
EZ
62722000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6273
6274 * frame.c (Fframe_parameter): For non-windowed frames, if
6275 f->param_alist says foreground or background color is unspecified,
6276 call tty_color_name to return the color name computed from the
6277 frame's current colors.
6278
f5533b63
DL
62792000-10-06 Dave Love <fx@gnu.org>
6280
6281 * terminfo.c (ospeed): Don't declare.
6282
6283 * sysdep.c: Don't include string.h.
6284 (h_errno): Declare conditional also on TRY_AGAIN.
6285
6286 * charset.c (Ffind_charset_string): Doc fix.
6287
52283633 6288 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6289 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6290 error messages.
6291
2b06561a
DL
62922000-10-05 Dave Love <fx@gnu.org>
6293
6294 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6295 position like menu-bar.
6296
ca839c85
GM
62972000-10-05 Gerd Moellmann <gerd@gnu.org>
6298
6299 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6300
6301 * xdisp.c (handle_single_display_prop): Use safe_call1.
6302 (safe_call): Renamed from call_function.
6303 (safe_call1): New function.
6304 (handle_fontified_prop): Use safe_call1 instead of call1.
6305 (safe_eval): Renamed from eval_form.
6306 (safe_eval_handler): Renamed from eval_handler.
6307 (handle_single_display_prop, display_mode_element): Use safe_eval
6308 instead of eval_form.
6309
6310 * xfaces.c (merge_face_heights): Use safe_call instead of
6311 call_function.
6312
6313 * keyboard.c (show_help_echo): Use safe_call instead of
6314 call_function; use safe_eval instead of eval_form.
6315
6316 * lisp.h (safe_call): Renamed from call_function.
6317 (safe_eval): Renamed from eval_form.
6318 (safe_call1): Add prototype.
6319
a3489ece
MB
63202000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6321
6322 * xfns.c (image_ascent): Rearrange ascent calculation for the
6323 has-a-font case.
6324
35810b6f
SM
63252000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6326
6327 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6328 (where_is_internal_1): Don't bother ignoring menu-items any more.
6329
3dc78168
GM
63302000-10-04 Gerd Moellmann <gerd@gnu.org>
6331
6332 * keyboard.c (update_menu_bindings): New variable.
6333 (parse_menu_item): Use AREF. If update_menu_bindings
6334 is 0, don't update menu bindings.
6335 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6336
1efc2bb9
EZ
63372000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6338
6339 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6340 to `mark_object'.
6341
3f679f55
SM
63422000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6343
6344 * syntax.c (forw_comment): Match nestedness of ender/starter.
6345 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6346 (prev_char_comstart_first): Remove.
6347 (back_comment): Check two-char comment markers more carefully
6348 to better handle overlapping cases like *//* or /* */* */ ...
6349 Match nestedness of ender/starter.
6350
2021ab61
DL
63512000-10-02 Dave Love <fx@gnu.org>
6352
6353 * config.in (HAVE_GAI_STRERROR): Add undef.
6354
6355 * process.c (Fopen_network_stream): Use it.
6356
6357 * m/alpha.h (NO_REMAP): Don't define.
6358
64e6cc18
GM
63592000-10-02 Gerd Moellmann <gerd@gnu.org>
6360
6361 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6362 return with a string converted to an integer or vice versa when
6363 Vmocklisp_arguments is t.
6364 (Fsignal): Likewise. The function can return for `quit'.
6365 (struct gcpro): Declare member `var' to point to a volatile
6366 Lisp_Object.
6367
6368 * eval.c (error): Prevent compiler warning.
6369
b1904cd9
SM
63702000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6371
6372 * keymap.c (keymap_memberp): New function.
6373 (Fset_keymap_parent): Use it.
6374 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6375 Use keymap_memberp to avoid creating cycles.
6376 (access_keymap): Use KEYMAPP.
6377
71c9ec51
GM
63782000-09-30 Gerd Moellmann <gerd@gnu.org>
6379
6380 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6381 gai_strerror. Make sure xerrno is set if connect fails. Improve
6382 error recovery.
71c9ec51 6383
c70c6b58
JR
63842000-09-29 Jason Rumney <jasonr@gnu.org>
6385
6386 * w32term.c (w32_char_font_type, w32_encode_char)
6387 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6388 (w32_bdf_per_char_metric): New function.
6389 (w32_per_char_metric): Use it.
6390 (x_draw_glyph_string_background): Always draw background for BDF
6391 glyphs.
6392
6393 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6394 GDI object which is a scarce resource.
6395
6396 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6397 (get_quoted_string): Fix limit on memchr search.
6398 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6399 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6400 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6401 (get_cached_font_char, cache_char_offset): Use macro
6402 BDF_CODEPOINT_RANGE_COVER_P.
6403 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6404 (clear_cached_bitmap_slots): New function.
6405 (GET_HEX_VALUE): G-Z, g-z are not hex.
6406 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6407 (get_bitmap_with_cache): Use new cache implementation.
6408 (create_offscreen_bitmap): New function.
6409 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6410
6411 * w32term.c (x_produce_glyphs): If the distance from the current
6412 position to the next tab stop is less than a canonical character
6413 width, use the tab stop after that.
6414 (x_draw_glyphs): Handle case START and END are out of bounds more
6415 carefully.
6416 (x_clear_mouse_face): Block/unblock input.
6417 (x_display_and_set_cursor): Don't show a hollow box cursor for
6418 buffers whose cursor_type is nil.
6419
fe01239f
GM
64202000-09-29 Gerd Moellmann <gerd@gnu.org>
6421
52283633 6422 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6423
6424 * dispextern.h (updating_frame): Declare extern.
6425
e7c52f1f
AS
64262000-09-29 Andreas Schwab <schwab@suse.de>
6427
6428 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6429
de6e1f7c
GM
64302000-09-29 Gerd Moellmann <gerd@gnu.org>
6431
25126faa
GM
6432 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6433 use its function definition.
6434 (tool_bar_items): Likewise.
6435
de6e1f7c 6436 * lisp.h (fatal): Declare NO_RETURN.
52283633 6437
454ee39b
KH
64382000-09-29 Kenichi Handa <handa@etl.go.jp>
6439
6440 * keymap.c: Remove the line "#undef NULL".
6441
96301c5f
GM
64422000-09-28 Gerd Moellmann <gerd@gnu.org>
6443
52283633 6444 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6445
efffeeb4
DL
64462000-09-28 Dave Love <fx@gnu.org>
6447
ecb8b666
DL
6448 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6449
dc3cd20f
DL
6450 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6451
6452 * .gdbinit (xreload): Note its need on GNU/Linux.
6453
efffeeb4
DL
6454 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6455 r_alloc, r_alloc_free.
6456
8610d903
KH
64572000-09-28 Kenichi Handa <handa@etl.go.jp>
6458
6459 * syntax.c (skip_chars): Handle negation correctly.
6460
8901d1ac
GM
64612000-09-27 Gerd Moellmann <gerd@gnu.org>
6462
6f22f1ad
GM
6463 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6464 with non-zero FORCE_P argument.
6465
52283633 6466 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6467 Add assertions.
6468
6469 * xdisp.c (window_box_height): Add an assertion.
6470
6471 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6472 tool-bar than is available.
6473 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6474
36f1966f
DL
64752000-09-27 Dave Love <fx@gnu.org>
6476
efffeeb4 6477 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6478
31d929e5
GM
64792000-09-26 Gerd Moellmann <gerd@gnu.org>
6480
c98863bf
GM
6481 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6482 instead of BITS_PER_INT.
6483 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6484 EMACS_UINT, respectively.
6485 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6486
6487 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6488
6489 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6490
77072ab1
GM
6491 * window.c (freeze_window_starts): Construct last argument for
6492 foreach_window differently.
6493
6494 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6495
6496 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6497 EMACS_UINT instead of `int' and `unsigned int'.
6498 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6499
6500 * frame.h (struct frame): Make the `nothing' member of union
6501 output_data an EMACS_INT.
6502
52283633 6503 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6504 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6505 size in the sdata structure.
6506 (SDATA_NBYTES, SDATA_DATA): New macros.
6507 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6508 differently for the different layout of the sdata structure.
6509 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6510 in sdata.
6511 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6512 Check that size recorded in the string size and size recorded in
6513 the sdata structure agree.
6514
3e60b029
DL
65152000-09-25 Dave Love <fx@gnu.org>
6516
6517 * buffer.c: Include stdio.h.
6518
6519 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6520
3e60b029
DL
6521 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6522
6523 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6524 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6525 (__malloc_extra_blocks): Declare as __malloc_size_t.
6526
8ff16b4e
GM
65272000-09-25 Gerd Moellmann <gerd@gnu.org>
6528
755a2ccd
GM
6529 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6530
d8b4516f
GM
6531 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6532 (read_char): If help-echo is showing, preserve the echo area
6533 when redisplaying.
6534
6535 * xdisp.c (help_echo_showing_p): New variable.
6536 (set_message): Reset it to 0.
6537 (init_xdisp): Initialize help_echo_showing_p.
6538
6539 * dispextern.h (help_echo_showing_p): Declare extern.
6540
6541 * config.in: Fix typo in __GNUC_MINOR__.
6542
6543 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6544
b11af2dd
GM
6545 * s/freebsd.h (POSIX_SIGNALS): Define.
6546
8ff16b4e
GM
6547 * xterm.c (x_clear_mouse_face): Block/unblock input.
6548
844eb643
DL
65492000-09-24 Dave Love <fx@gnu.org>
6550
6551 * fns.c (base64_encode_1): Fix last change.
6552
b30ab1b3
GM
65532000-09-22 Gerd Moellmann <gerd@gnu.org>
6554
6555 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6556
6557 * xdisp.c (try_window_reusing_current_matrix): More fixes
6558 for the case window has a header-line.
6559
c6cbe5f0
DL
65602000-09-22 Dave Love <fx@gnu.org>
6561
4c7c1f3f
DL
6562 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6563 a doc string.
6564
6565 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6566
c6cbe5f0
DL
6567 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6568
550a625e
GM
65692000-09-21 Gerd Moellmann <gerd@gnu.org>
6570
4c7c1f3f 6571 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6572 for GCC >= 2.5.
6573
52283633
SM
6574 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6575 Declare NO_RETURN.
fca99116 6576
80d26f99
GM
6577 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6578 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6579 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6580 warnings.
52283633 6581
80d26f99
GM
6582 * marker.c (byte_char_debug_check): Return void.
6583
623a0aae
GM
6584 * xfns.c (Fx_create_frame): Set default frame parameter value
6585 for tool-bar-lines to 1.
6586
6587 * dispnew.c (scrolling_window): Compare y-positions of rows
6588 equal at the start. Some simplification.
6589
6590 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6591 reused rows' y-position in the case window has a header-line, and
6592 new window start is greater than old window start.
6593
42ac0ae5
GM
6594 * process.c (process_sent_to): New variable.
6595 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6596 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6597 Declare more parameters volatile.
6598
550a625e
GM
6599 * lread.c (Vrecursive_load_depth_limit): New variable.
6600 (Fload): Check recursive loads whose recursion depth exceeds
6601 Vrecursive_load_depth_limit.
6602 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6603
8320414c
GM
66042000-09-20 Gerd Moellmann <gerd@gnu.org>
6605
f46c275e
GM
6606 * fileio.c (Fread_file_name): Doc fix.
6607
6608 * editfns.c (Fmessage_or_box): Doc fix.
6609
6610 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6611
b7e11c5b 6612 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6613
8320414c
GM
6614 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6615 symbols are specified, add color translations to the cache.
52283633 6616 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6617 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6618 xpm_cache_color.
6619 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6620 structures to xpm_init_color_cache.
6621
da1608d9
GM
66222000-09-19 Gerd Moellmann <gerd@gnu.org>
6623
52283633 6624 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6625
6badfa25
AI
66262000-09-19 Andrew Innes <andrewi@gnu.org>
6627
6628 * makefile.nt (bootstrap-emacs): Don't change directory.
6629
3a5f42bb
KH
66302000-09-19 Kenichi Handa <handa@etl.go.jp>
6631
1b7649bd
KH
6632 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6633
3a5f42bb
KH
6634 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6635 If output buffer is too small, signal an appropriated error.
6636
9f83cf0b
DL
66372000-09-18 Dave Love <fx@gnu.org>
6638
52283633 6639 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6640 (current_active_maps): Remove redundant get_local_map call.
6641
28c7826c
GM
66422000-09-18 Gerd Moellmann <gerd@gnu.org>
6643
5cefa566
GM
6644 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6645 cursor for buffers whose cursor_type is nil.
52283633 6646
6fed3546
GM
6647 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6648 a feature to implement that is already implemented.
6649 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6650 warnings.
6651
6652 * xfns.c (x_clear_image_1): New function.
6653 (x_clear_image): Use it.
52283633 6654 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6655
05b1f851
GM
6656 * dispnew.c (update_window): Move test for invisible lines
6657 at the top to update_window_line.
6658 (update_window_line): Handle invisible lines here.
6659
f4779de9
GM
6660 * xfns.c (clear_image_cache): Clear current matrices of all
6661 frames sharing an image cache. Block input while freeing
6662 images. Fix timestamp comparison.
6663 (x_clear_image): Also free the mask.
6664
28c7826c
GM
6665 * xfns.c (lookup_image): Block input while loading the image so
6666 that we won't get interrupted in a state where the image isn't yet
6667 set up completely.
6668 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6669 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6670 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6671 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6672
b7412313
GM
66732000-09-16 Gerd Moellmann <gerd@gnu.org>
6674
6675 * dispnew.c (update_window): Make sure to make desired rows
6676 current even if they are completely invisible at the top
6677 of a window.
6678
47e351a3
GM
66792000-09-15 Gerd Moellmann <gerd@gnu.org>
6680
7f8f1edc
GM
6681 * xfns.c (lookup_image): Build mask before applying an algorithm.
6682 Recognize algorithm `disabled'.
6683 (cross_disabled_images): New variable.
6684 (COLOR_INTENSITY): New macro.
6685 (x_detect_edges): Use COLOR_INTENSITY.
6686 (x_disable_image): New function.
6687 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6688
6689 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6690 disabled state, don't apply an image transformation algorithm if
6691 the user specified an image for the disabled state. Use
28c7826c 6692 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6693 user hasn't specified an image.
6694
ebb8f116
GM
6695 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6696 allocation functions with the XPM lib.
6697 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6698 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6699 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6700 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6701 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6702 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6703 functions, if possible, because these handle color allocation
6704 failure more gracefully.
6705 (Fimage_mask_p): New function.
6706
47e351a3
GM
6707 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6708 (Qedge_detection, Qheuristic): New symbols.
6709 (syms_of_xfns): Initialize new symbols.
6710 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6711 `algorithm (edge-detection ...)'.
6712 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6713 (tiff_format, gif_format, gs_format): Add `:mask'.
6714 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6715 (GIF_MASK, GS_MASK): New enumerators.
6716 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6717 (emboss_matrix, laplace_matrix): New variables.
6718 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6719 (x_edge_detection): New functions.
6720 (x_laplace): Rewritten in terms of x_detect_edges.
6721 (x_build_heuristic_mask): If image has a mask, free it.
6722
fe83b953
AI
67232000-09-14 Andrew Innes <andrewi@gnu.org>
6724
6725 * makefile.w32-in: Revert to Unix line endings.
6726
3021e816
AI
67272000-09-14 Andrew Innes <andrewi@gnu.org>
6728
6729 * makefile.w32-in: Standardize indentation somewhat.
6730 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6731 cater for differences between shells.
6732
6733 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6734
2a32b5ea
GM
67352000-09-14 Gerd Moellmann <gerd@gnu.org>
6736
6737 * xterm.c (x_produce_glyphs): If the distance from the current
6738 position to the next tab stop is less than a canonical character
6739 width, use the tab stop after that.
6740
b4331e96
DL
67412000-09-14 Dave Love <fx@gnu.org>
6742
6743 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6744
ef9e4345
GM
67452000-09-14 Gerd Moellmann <gerd@gnu.org>
6746
085536c2
GM
6747 * xdisp.c (handle_fontified_prop): While running fontification
6748 functions, bind `fontification-functions' and
6749 `after-change-functions' to nil.
6750
ef9e4345
GM
6751 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6752 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6753
6754 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6755
6756 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6757 USE_MMAP_FOR_BUFFERS.
6758
6759 * insdel.c (make_gap): Use enlarge_buffer_text.
6760
6761 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6762 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6763 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6764 from former r_alloc_* functions in ralloc.c.
52283633 6765 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6766 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6767 (mmap_init) [REL_ALLOC_MMAP]: New function.
6768 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6769 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6770 BUFFER_FREE.
6771
6772 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6773 (enlarge_buffer_text): Add prototype.
6774
6775 * ralloc.c: Remove everything having to do with the use of mmap.
6776
f8608968
GM
67772000-09-13 Gerd Moellmann <gerd@gnu.org>
6778
2a494b2d
GM
6779 * sound.c (Fplay_sound): Doc fix.
6780
8c907a56
GM
6781 * keyboard.c: Avoid some more compiler warnings.
6782 (parse_tool_bar_item): Ignore cached key bindings.
6783
f8608968
GM
6784 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6785 and allocation of Lisp data.
6786
6ab70e9a
GM
67872000-09-12 Gerd Moellmann <gerd@gnu.org>
6788
d12d0a9b
GM
6789 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6790 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6791 defaults first.
6792
6ab70e9a
GM
6793 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6794
63c36c3c
KH
67952000-09-12 Miyashita Hisashi <himi@meadowy.org>
6796
6797 * ccl.c: Comment fixed.
6798 (MAX_MAP_SET_LEVEL): Increased to 30.
6799 (PUSH_MAPPING_STACK): Enclose with do-while block.
6800 (POP_MAPPING_STACK): Likewise.
6801 (stack_idx_of_map_multiple): New variable.
6802 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6803 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6804 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6805 (ccl_driver) <CCL_MapSingle>: Likewise.
6806 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6807 with the case where looking up process reaches to the end of
6808 map-set, and call CCL programs as the above change.
6809
7ee3bd7b
GM
68102000-09-11 Gerd Moellmann <gerd@gnu.org>
6811
8ec8a5ec
GM
6812 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6813 that might be clobbered by longjmp.
6814 (check_x_display_info, x_decode_color, create_frame_xic)
6815 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6816 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6817
f74b0705
GM
6818 * lread.c (init_lread): Set Vloads_in_progress to nil.
6819 (Fload): Show list of recursively loaded files, when signaling an
6820 error.
6821
7ee3bd7b
GM
6822 * lread.c (Vloads_in_progress): New variable.
6823 (record_load_unwind): New function.
6824 (Fload): Check for recursive loads.
6825 (syms_of_lread): Initialize Vloads_in_progress.
6826 (read_integer, read1): Avoid some compiler warnings.
6827
6828 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6829 compiler warnings.
6830
974e1e5b
MB
68312000-09-11 Miles Bader <miles@gnu.org>
6832
6833 * editfns.c (Fbuffer_string): Doc fix.
6834
9824c4e3
GM
68352000-09-10 Gerd Moellmann <gerd@gnu.org>
6836
6837 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6838
6a72fdd1
KR
68392000-09-09 Ken Raeburn <raeburn@gnu.org>
6840
6841 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6842 whether to include other header files.
6843
28e6fb66
GM
68442000-09-09 Gerd Moellmann <gerd@gnu.org>
6845
52283633 6846 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6847 by Fmemq as a boolean.
28e6fb66 6848
7f8b6551
SM
68492000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6850
6851 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6852
a8710abf
GM
68532000-09-08 Gerd Moellmann <gerd@gnu.org>
6854
d1a02881
GM
6855 * ralloc.c (mmap_fd): Remove initializer which can make it
6856 read-only in a dumped Emacs.
6857 (mmap_fd_1): New variable.
6858 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6859 restore it from there.
6860 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6861 unconditionally so that mmap_fd can be initialized there.
6862 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6863 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6864 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6865
c454aac1
GM
6866 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6867
6868 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6869 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6870
fc653ef2
GM
6871 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6872
3015eec0
GM
6873 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6874 inheritance.
6875
bfe0ee88
GM
6876 * xdisp.c (try_window_id): When trying to locate cursor in
6877 unchanged rows at the top, handle the case that we can't find it.
6878
a8710abf
GM
6879 * xterm.c (x_draw_glyphs): Handle case START and END are out
6880 of bounds more carefully.
6881
6b7d4ae4
DL
68822000-09-08 Dave Love <fx@gnu.org>
6883
423193c5
DL
6884 * s/sol2.h (REL_ALLOC_MMAP): Define.
6885 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6886
6887 * ralloc.c: Don't include string.h (redundant).
6888 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6889 [!MAP_ANON]: Include fcntl.h.
6890 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6891 (r_alloc, r_re_alloc, r_alloc_free)
6892 (mmap_enlarge, mmap_set_vars): Use it.
6893 (r_alloc_init_fd): New function.
6894 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6895 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6896 malloc type.
6897
6898 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6899 Remove vm-limit.o.
6900
6b7d4ae4
DL
6901 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6902 change to __NetBSD__.
6903
44d31981
KH
69042000-09-08 Kenichi Handa <handa@etl.go.jp>
6905
6906 * search.c (compile_pattern): Check the multibyteness of cached
6907 string and PATTERN.
6908
aad40737
MB
69092000-09-08 Miles Bader <miles@gnu.org>
6910
6911 * xfaces.c (default_face_vector): Function removed.
6912 (Finternal_merge_in_global_face): Restore old global/local
6913 attribute override order. Use inline loop instead of calling
6914 default_face_vector.
6915
91a211b5
GM
69162000-09-07 Gerd Moellmann <gerd@gnu.org>
6917
6918 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6919 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6920 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6921 where necessary, in case POINTER_TYPE is `void'.
6922
03419440
EZ
69232000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6924
6925 * frame.c (make_terminal_frame): Initialize frame foreground and
6926 background colors to unspecified, for the initial instance of an
6927 MSDOS frame.
6928
f46f845b
GM
69292000-09-07 Gerd Moellmann <gerd@gnu.org>
6930
24f76fbf
GM
6931 * ralloc.c (mmap_find): Fix overlap computation.
6932 (mmap_enlarge): Compute nbytes before trying to find an
6933 overlapping region.
6934
f46f845b
GM
6935 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6936 instead of `!='.
6937
6938 * lread.c (syms_of_lread): Change value of regexp
6939 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6940
6941 * xmenu.c (xdialog_show): When looking up the selection in
6942 menu_items, take `quote' boundaries into account; this corresponds
6943 to a nil ITEM in x-popup-dialog.
6944
3c014385
KH
69452000-09-07 Kenichi Handa <handa@etl.go.jp>
6946
fd6f711b
KH
6947 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6948 not 0x81.
6949 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6950
3c014385 6951 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6952 encoding, not decoding. Fix the handling of latin-jisx0201.
6953 Check for the charset katakana-jisx0201 too.
3c014385 6954 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6955 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6956
0da3ecef
GM
69572000-09-07 Gerd Moellmann <gerd@gnu.org>
6958
ab0ee409
GM
6959 * xfaces.c (Vparam_value_alist): New variable.
6960 (syms_of_xfaces): Initialize it.
6961 (Finternal_set_lisp_face_attribute): Avoid more consing.
6962
6963 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6964 specially.
6965 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6966 (Qbackground_mode): New variable.
6967 (syms_of_frame_1): Initialize Qbackground_mode.
6968
6969 * lisp.h (Qdisplay): Declare extern.
1091dd67 6970
0da3ecef
GM
6971 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6972 change face on all frames, and change the default for new frames.
6973
b14654b9
DL
69742000-09-07 Dave Love <fx@gnu.org>
6975
6976 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6977
d24fd56f
KH
69782000-09-07 Kenichi Handa <handa@etl.go.jp>
6979
794f3670
KH
6980 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6981
0fddd0dc
KH
6982 * charset.c: Include composite.h
6983 (lisp_string_width): New function.
6984 (Fstring_width): Call lisp_string_width instead of strwidth.
6985
6986 * Makefile.in (charset.o): Depends on composite.h.
6987
d24fd56f
KH
6988 * process.c (read_process_output): Before inserting the decoded
6989 text in the buffer, adjust the multibyteness.
6990
fa0b693c
GM
69912000-09-06 Gerd Moellmann <gerd@gnu.org>
6992
52283633 6993 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6994 buffer's text buffer is null, map new memory.
6995
0a58f946
GM
6996 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6997 POINTER_TYPE and size_t.
6998 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6999 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7000 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7001 [REL_ALLOC_MMAP]: New macros.
7002 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7003 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7004 [REL_ALLOC_MMAP]: New functions.
7005
7006 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7007 before and after unexec.
7008
7009 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7010 text buffers if necessary.
7011
7012 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7013 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7014 in prototypes.
7015
fa0b693c
GM
7016 * config.in (HAVE_MMAP): Add #undef.
7017
877055f6
GM
70182000-09-05 Gerd Moellmann <gerd@gnu.org>
7019
08ba3862
GM
7020 * frame.c (Qdisplay_type): New variable.
7021 (syms_of_frame_1): Initialize it.
7022 (Fframe_parameter): New function that avoids consing.
7023 (syms_of_frame): Defsubr it.
7024
66ffe51c
GM
7025 * buffer.c (Fother_buffer): Consider buffers as invisible when
7026 they are displayed in a window on an invisible frame.
7027
877055f6
GM
7028 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7029 get-largest-window always return nil.
7030
bb970e67
GM
70312000-09-04 Gerd Moellmann <gerd@gnu.org>
7032
7033 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7034 variable; recognize Emacs 19 elc files.
7035
7a3d0e0e
MB
70362000-09-04 Miles Bader <miles@gnu.org>
7037
7038 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7039 before initially popping up the menu, so the menu doesn't flash
52283633 7040 when the face settings are significantly different from the defaults.
7a3d0e0e 7041
14473664
SM
70422000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7043
7044 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7045 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7046 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7047 (BIT_UNIBYTE): Remove.
7048 (re_match_2_internal): Delete corresponding code and streamline the
7049 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7050 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7051 (re_wctype_t): New type.
7052 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7053 (regex_compile): Use them and fix handling of overly long char classes.
7054
c1174479
AI
70552000-09-03 Andrew Innes <andrewi@gnu.org>
7056
f8803e97
AI
7057 * makefile.w32-in: Change to DOS line endings.
7058
c1174479
AI
7059 * s/ms-w32.h (ORDINARY_LINK): New define.
7060
7061 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7062 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7063
7064 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7065 (distclean): Delete them here instead.
7066
44ef7cf6
AI
7067 * w32proc.c (compare_env): Convert to uppercase for comparison,
7068 not lowercase, to match how the native Windows shell works.
7069
49b3bd82
JR
70702000-09-03 Jason Rumney <jasonr@gnu.org>
7071
7072 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7073 CVS changes the line-ends when checking in/out on DOS/Windows.
7074
7075 * makefile.nt (emacs): Do not change directory to run temacs, as
7076 the load-path is set relative to current directory.
7077
a3d35a39
MB
70782000-09-03 Miles Bader <miles@gnu.org>
7079
7080 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7081
d276b0cf
GM
70822000-09-02 Gerd Moellmann <gerd@gnu.org>
7083
715e84c9
GM
7084 * xdisp.c (redisplay_mode_lines): New function.
7085 (display_mode_lines): Return number of mode lines displayed.
7086 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7087 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7088
8892f40b
GM
7089 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7090 string.h and strings.h.
7091 (index) [HAVE_INDEX]: Add prototype.
7092
d276b0cf
GM
7093 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7094 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7095
7096 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7097 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7098
38404229
GM
70992000-09-01 Gerd Moellmann <gerd@gnu.org>
7100
7101 * lread.c (read1): Accept `?' as symbol constituent, for
7102 compatiblity with XEmacs.
7103
c0f9ea08
SM
71042000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7105
7106 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7107 (struct re_pattern_buffer): Remove newline_anchor.
7108 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7109 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7110 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7111 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7112 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7113 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7114 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7115 Get rid of references to newline_anchor.
7116 (regcomp): Allocate and precompute a fastmap.
7117
8c0f83fe
GM
71182000-08-31 Gerd Moellmann <gerd@gnu.org>
7119
7120 * lread.c (openp): GCPRO local variable `filename'.
7121
4bb91c68
SM
71222000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7123
7124 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7125
7126 * regex.c: Merge some changes from GNU libc. Add prototypes.
7127 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7128 Use memcmp and memcpy instead of bcopy and bcmp.
7129 (init_syntax_once): Use ISALNUM.
7130 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7131 (REG_UNSET_VALUE): Remove. Use NULL instead.
7132 (REG_UNSET, re_match_2_internal): Use NULL.
7133 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7134 New macros.
7135 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7136 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7137 (regex_compile): In handle_interval, return an error rather than try to
7138 unfetch the interval if we can't find the closing brace.
7139 Obey the RE_NO_GNU_OPS syntax bit.
7140 (TOLOWER): New macro.
7141 (regcomp): Use it.
7142 (regexec): Allocate regs.start and regs.end as one block.
7143
5226a931
GM
71442000-08-30 Gerd Moellmann <gerd@gnu.org>
7145
868dd24b
GM
7146 * xdisp.c (echo_area_display): Check display_completed instead
7147 of calling detect_input_pending.
7148
7149 * dispnew.c (update_frame): Only set display_completed here; move
7150 the update_begin and update_end calls here from update_frame_1.
7151 (update_frame_1): Don't set display_completed here, don't call
7152 update_begin/update_end.
7153
5226a931
GM
7154 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7155 instead of store_frame_param.
7156
2a8bd25f
GM
71572000-08-29 Gerd Moellmann <gerd@gnu.org>
7158
7159 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7160 desired window matrix hasn't been displayed, use the current row
7161 instead. Make sure that only those frame rows are updated for
7162 which there exists a corresponding enabled desired row.
52283633 7163
ba3478d9
MB
71642000-08-29 Miles Bader <miles@gnu.org>
7165
7166 * xfaces.c (default_face_vector): New function.
7167 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7168
87d0f685
GM
71692000-08-29 Gerd Moellmann <gerd@gnu.org>
7170
7171 * lread.c (openp): Prevent temporary string passed to
7172 Ffile_readable_p from being garbage collected.
7173
6fa86045
DL
71742000-08-28 Dave Love <fx@gnu.org>
7175
7176 * keymap.c (store_in_keymap): Add `static' to declaration.
7177
bb17930d
GM
71782000-08-28 Gerd Moellmann <gerd@gnu.org>
7179
7180 * emacs.c, callint.c, doc.c, editfns.c
7181 (toplevel) [HAVE_STRING_H]: Include string.h.
7182 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7183 (index): Remove prototypes which might conflict with non-standard
7184 definitions of index/strchr.
7185
7186 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7187 (rindex): Define only if !HAVE_RINDEX.
7188
7189 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7190
7191 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7192
87188200
MB
71932000-08-28 Miles Bader <miles@gnu.org>
7194
7195 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7196 made inconsistent by a font-related attribute in FROM.
7197 (merge_face_inheritance): Add function comment.
7198
41a68aef
KH
71992000-08-28 Kenichi Handa <handa@etl.go.jp>
7200
7201 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7202 the 4th arg (PREV_EVENT) Qt to suppress input method.
7203
f7c436c1
SM
72042000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7205
0b32bf0e
SM
7206 * regex.c: Indent cpp directives and remove parens after `defined'.
7207 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7208 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7209 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7210 (re_compile_pattern): Use size_t for length.
7211 (init_syntax_once): Move to a better place.
7212 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7213 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7214
f7c436c1
SM
7215 * syntax.c (back_comment): Detect cases where a comment-starter is
7216 actually inside another comment as in: /* a // b */ c // d \n.
7217 Make it clear that `comstart_pos' is unused for nested comments.
7218
7219 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7220 (KEYMAPP): New macro.
7221 (Fkeymap_parent, Fset_keymap_parent): Use it.
7222 (fix_submap_inheritance): Mark it static.
7223 (define_as_prefix, describe_buffer_bindings, describe_command)
7224 (describe_translation, describe_map): Complete prototypes.
7225
7226 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7227
7228 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7229 to better match the key-lookup behavior.
7230
6288c62f
GM
72312000-08-27 Gerd Moellmann <gerd@gnu.org>
7232
7233 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7234 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7235
e931344e
EZ
72362000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7237
7238 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7239 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7240 (xterm.o): Depend on coding.h
7241
d10dfeef
KH
72422000-08-26 Kenichi Handa <handa@etl.go.jp>
7243
7244 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7245 the corresponding '#endif'.
7246
2d73e8d3
MB
72472000-08-26 Miles Bader <miles@gnu.org>
7248
7249 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7250 * xfaces.c (QCinherit): New variable.
7251 (syms_of_xfaces): Initialize it.
7252 (LFACE_INHERIT): New macro.
7253 (Finternal_get_lisp_face_attribute)
52283633 7254 (merge_face_vector_with_property)
2d73e8d3
MB
7255 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7256 (check_lface_attrs): Allow new types of face height. Check
7257 inherit attribute.
7258 (CYCLE_CHECK): New macro.
7259 (merge_face_inheritance): New function.
7260 (merge_face_vectors): Merge inherited faces too. Add F and
7261 CYCLE_CHECK arguments.
7262 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7263 (lookup_named_face, lookup_derived_face, realize_named_face)
7264 (face_at_string_position, face_at_buffer_position): Supply
7265 new F and CYCLE_CHECK arguments to merge_face_vectors.
7266 (merge_face_heights): New function.
52283633 7267 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7268 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7269 handle relative face heights.
7270 (lface_same_font_attributes_p): Compare heights using EQ.
7271
6ce974d4
KH
72722000-08-26 Kenichi Handa <handa@etl.go.jp>
7273
7274 * charset.c (char_to_string): Check the character validity.
52283633 7275 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7276
dc1e502d
SM
72772000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7278
7279 * regex.c (PUSH_FAILURE_COUNT): New macro.
7280 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7281 Handle popping of a register's or a counter's data.
7282 (POP_FAILURE_POINT): Use the new name.
7283 (re_match_2_internal): Push counter data on the stack for succeed_n,
7284 jump_n and set_number_at and remove misleading dead code in succeed_n.
7285
bd9d0f3f
GM
72862000-08-25 Gerd Moellmann <gerd@gnu.org>
7287
7288 * xdisp.c (redisplay_internal): If considering all windows on all
7289 frames, update the display for each frame as soon as possible,
7290 instead of first building all desired matrices for all frames, and
7291 then updating them all.
7292 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7293
aa5b8e15
GM
72942000-08-24 Gerd Moellmann <gerd@gnu.org>
7295
17494071
GM
7296 * bytecode.c (mark_byte_stack): Add a comment.
7297
52283633
SM
7298 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7299 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7300 a graphical frame.
7301
c543db81
KH
73022000-08-24 Kenichi Handa <handa@etl.go.jp>
7303
d246d5f5
KH
7304 * minibuf.c (do_completion): Always use compare-string, not
7305 string-equal because the latter doesn't pay attention to
7306 multibyteness of strings.
7307
c543db81
KH
7308 * process.c (create_process): Don't setup raw-text coding here.
7309 (Fopen_network_stream): Don't set coding->src_multibyte and
7310 coding->dst_multibyte here.
7311 (read_process_output): For process filter, return unibyte string
7312 if default-enable-multibyte-characters is nil.
7313 (send_process): If OBJECT is multibyte text, be sure to encoded it
7314 by the specified coding system for the process. Otherwise, setup
7315 raw-text coding.
52283633 7316 (init_process): Don't initialize default-process-coding-system here.
c543db81 7317
9b47cfe0
EZ
73182000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7319
7320 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7321 <scroll-down-aggressively>: Likewise.
7322
f5a36960
KH
73232000-08-23 Kenichi Handa <handa@etl.go.jp>
7324
7325 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7326 zero. Set coding->produced_char correctly.
7327
69a7ffa7
AI
73282000-08-22 Andrew Innes <andrewi@gnu.org>
7329
7330 * makefile.w32-in: New file.
7331
7332 * unexw32.c (unexec): Ignore old_name, and use the actual location
7333 of the current executable instead. Base new_name on this.
7334
7335 * w32proc.c (create_child): Remove reference to security
7336 descriptor, which isn't needed and doesn't compile with mingw32.
7337
7338 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7339 up dllimport attributes.
7340 (x_update_window_end): Update prototype.
7341
7342 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7343 extern, which screws up dllimport attributes.
7344
7345 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7346 up dllimport attributes.
7347
7348 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7349 screws up dllimport attributes.
7350
7351 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7352 up dllimport attributes.
7353 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7354 screws up dllimport attributes.
7355
7356 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7357 up dllimport attributes.
7358
7359 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7360 screws up dllimport attributes.
7361
7362 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7363 screws up dllimport attributes.
7364
7365 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7366 up dllimport attributes.
7367
7368 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7369 unnecessary extern, which screws up dllimport attributes.
7370 (main): Ditto.
7371
7372 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7373 up dllimport attributes.
7374
7375 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7376 unnecessary extern, which screws up dllimport attributes.
7377
7378 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7379 screws up dllimport attributes.
7380
7381 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7382 up dllimport attributes.
7383
7384 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7385
52283633
SM
7386 * w32bdf.c (search_file_line):
7387 (set_bdf_font_info):
7388 (seek_char):
7389 (w32_get_bdf_glyph):
69a7ffa7
AI
7390 (w32_BDF_to_x_font): Fix compile warnings.
7391
52283633 7392 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7393
7394 * w32select.c: Include keyboard.h before frame.h.
7395
7396 * w32fns.c (max): Define macro.
7397 (JOHAB_CHARSET): Define if not known.
7398 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7399 (Fx_show_tip): Synch with X version.
7400
7401 * w32xfns.c: Include keyboard.h before frame.h.
7402
7403 * w32fns.c: Include keyboard.h before frame.h.
7404
7405 * w32term.c: Include keyboard.h before frame.h.
7406
7407 * fontset.c: Include keyboard.h before frame.h.
7408
7409 * w32inevt.c: Include keyboard.h before frame.h.
7410 (MOUSE_MOVED): Define if not known.
7411
7412 * minibuf.c: Include keyboard.h before frame.h.
7413
7414 * keyboard.c: Include keyboard.h before frame.h.
7415
7416 * indent.c: Include keyboard.h before frame.h.
7417
7418 * dispnew.c: Include keyboard.h before frame.h.
7419
7420 * buffer.c: Include keyboard.h before frame.h.
7421
7422 * alloc.c: Include keyboard.h before frame.h.
7423
7424 * print.c: Include keyboard.h before frame.h.
7425
7426 * process.c: Include keyboard.h before frame.h.
7427
7428 * scroll.c: Include keyboard.h before frame.h.
7429
7430 * sysdep.c: Include keyboard.h before frame.h.
7431
7432 * term.c: Include keyboard.h before frame.h.
7433
7434 * window.c: Include keyboard.h before frame.h.
7435
7436 * xdisp.c: Include keyboard.h before frame.h.
7437 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7438
7439 * frame.c: Include keyboard.h before frame.h.
7440
7441 * w32heap.h: Undefine min, max.
7442
7443 * w32gui.h: Undefine min, max.
7444
7445 * unexw32.c: Change PUCHAR to PCHAR.
7446 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7447 (relocate_offset):
7448 (get_section_info):
69a7ffa7
AI
7449 (copy_executable_and_dump_data): Remove unnecessary static defs.
7450 (copy_executable_and_dump_data): Fix compile warnings.
7451
7452 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7453
7454 * w32console.c (min): Define macro.
7455 (clear_frame, write_glyphs): Fix compile warning.
7456
52283633 7457 * w32proc.c (compare_env):
69a7ffa7
AI
7458 (find_child_console): Fix compile warning.
7459
7460 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7461 sys_errlist instead of _sys_errlist.
7462 (get_emacs_configuration_options): New function.
7463
7464 * s/ms-w32.h (sys_nerr): Provide default definition.
7465 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7466 name with _ prepended.
7467 (NSIG): Define if not known.
7468 (get_emacs_configuration): Provide extern declaration.
7469 (get_emacs_configuration_options): Provide extern declaration.
7470 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7471
7472 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7473 (map_w32_filename):
69a7ffa7
AI
7474 (read_unc_volume): Fix compile warning.
7475
7476 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7477 definitions from being used.
7478
7479 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7480
52283633 7481 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7482 (open_unc_volume): Make arg const.
7483
7484 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7485 (read_input_waiting): Remove excess parameter.
7486
7487 * w32.c (init_environment): Call _access.
7488 (check_windows_init_file): Call _close.
7489 (init_user_info): Call _putenv.
7490 (init_environment): Call _putenv and _strdup.
7491 (init_ntproc): Reset volume info cache on startup.
7492
7493 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7494 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7495 cannot override the CRT malloc.
7496
7497 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7498 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7499
7500 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7501 unless we are linking with a static CRT.
7502 (RVA_TO_PTR): Cast result to unsigned char*.
7503
7504 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7505 (add_volume_info): Use xstrdup.
7506
25060080
SM
75072000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7508
7509 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7510 (do_completion, Fminibuffer_complete_word): Use it.
7511 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7512 var so it can take non-boolean values.
7513
6917e6bb
GM
75142000-08-21 Gerd Moellmann <gerd@gnu.org>
7515
acb7cc89 7516 * editfns.c (find_field): Formatting changes.
52283633 7517 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7518 changed to prototypes, some new protypes added, some functions
7519 made static.
7520
7521 * lisp.h (set_time_zone_rule): Add prototype.
7522 (use_dialog_box): External declaration.
7523
0bbfdc25
GM
7524 * keyboard.c (gen_help_event): Add parameter SIZE.
7525 (kbd_buffer_events_waiting): Slightly rewritten.
7526 (clear_event): New function.
7527 (kbd_buffer_get_event): Use it, and clear the input_events of
7528 HELP_EVENTs.
7529 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7530 don't fill the newly created array with nils.
7531 (toplevel): Convert some old-style function forward declarations
7532 to prototypes.
7533
7534 * keyboard.h (gen_help_event): Change prototype.
7535
7536 * xterm.c (XTread_socket): Change calls to gen_help_event.
7537
7538 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7539
6917e6bb
GM
7540 * eval.c (Fmacroexpand): Doc fix.
7541
e5cd3d11
JR
75422000-08-20 Jason Rumney <jasonr@gnu.org>
7543
7544 * w32term.h (x_display_info_for_display): Remove as this function
7545 does not exist on W32.
7546
7547 * w32term.c (help_echo_window): New variable.
7548 (syms_of_w32term): staticpro it.
7549 (note_mode_line_highlight): Set it.
7550 (XTextExtents16): Removed as there is no equivalent on W32.
7551 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7552 the X way of doing this will not work for W32.
7553 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7554 (x_draw_image_foreground): Avoid drawing outside of the clip area
7555 when image doesn't have a mask.
7556 (note_mouse_highlight): Process overlays in the right order of
7557 priority. Set help_echo_window.
7558 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7559 because that's more visible for large images.
7560
7561 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7562 name to single_keymap_panes.
7563 (w32_menu_show): Set wv->title when dealing with titles.
7564 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7565
6e69ab8c
MB
75662000-08-21 Miles Bader <miles@gnu.org>
7567
7568 * minibuf.c (do_completion): Try again if we rewrite the input
7569 string, but no completion was done, so that any completion message
7570 will be correct.
7571
511bd4eb
GM
75722000-08-20 Gerd Moellmann <gerd@gnu.org>
7573
7574 * xfaces.c (lface_equal_p): Compare strings differently.
7575 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7576 (realize_tty_face): Use them.
7577 (syms_of_xfaces): Initialize new variables.
7578 (map_tty_color): New function, extracted from realize_tty_face.
7579 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7580 foreground or background color, store the new color name in the
7581 realized face; previous code trying to do this had no effect.
7582 (realize_tty_face): Use map_tty_color.
7583 (Fclear_face_cache): Set face_change_count and ensure thorough
7584 redisplay.
7585
1433385f
GM
75862000-08-19 Gerd Moellmann <gerd@gnu.org>
7587
511bd4eb
GM
7588 * undo.c (record_first_change, record_marker_adjustment): Don't
7589 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7590
419ac0a2
KH
75912000-08-18 Kenichi Handa <handa@etl.go.jp>
7592
7593 * coding.c (decode_coding_string): Set members consumed,
7594 consumed_char, produced, produced_char of *coding correctly. If
7595 decode_coding doesn't consume any byte, don't try anymore.
7596 (encode_coding_string): Likewise.
7597
7eb9e30d
GM
75982000-08-18 Gerd Moellmann <gerd@gnu.org>
7599
511bd4eb
GM
7600 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7601 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7602
7603 * xdisp.c (redisplay_internal): Compare windows for equality with
7604 EQ, instead of applying XWINDOW to something that might not
7605 be a window.
52283633 7606
dd34a735
KH
76072000-08-18 Kenichi Handa <handa@etl.go.jp>
7608
7609 * fontset.c (Finternal_char_font): Search only the selected frame
7610 for a window of the current buffer.
7611
385ff9e3
GM
76122000-08-18 Gerd Moellmann <gerd@gnu.org>
7613
511bd4eb 7614 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7615 Lisp_Objects.
7616
385ff9e3
GM
7617 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7618 second half of a HELP_EVENT is found at the start of kbd_buffer.
7619
d6abb4c7
MB
76202000-08-18 Miles Bader <miles@gnu.org>
7621
4618074a
MB
7622 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7623
d6abb4c7
MB
7624 * editfns.c (save_restriction_save): Rewrite to use markers.
7625 (save_restriction_restore): Rewrite to understand new form of data
7626 saved by save_restriction_save.
7627 (Fsave_restriction): Remove cautionary note in doc-string.
7628
a7b28523
GM
76292000-08-17 Gerd Moellmann <gerd@gnu.org>
7630
7631 * fileio.c (build_annotations): Add a comment explaining the
7632 return value of format-annotate-function. Replace a spurious call
7633 to Flength with a CONSP test. Call format-annotate-function with
7634 a fifth arg specifying how many times the function is been called
7635 in a row, to let it choose temporary buffers appropriately.
7636
03c9ed77
DL
76372000-08-17 Dave Love <fx@gnu.org>
7638
7639 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7640 declare make_temp_name twice.
7641
52283633 7642 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7643 (unreadpure): Give it an arg.
7644
7645 * unexalpha.c: Prototype fatal_unexec, mark_x,
7646 update_dynamic_symbols. Declare unexec as void.
7647
7648 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7649 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7650
7651 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7652 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7653
7654 * alloca.c: Use #error.
7655 [POINTER_TYPE]: Use it.
7656
7657 * eval.c (Fdefvar): Doc fix.
7658
7659 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7660 INITIALIZE_INTERVAL.
7661
7662 * buffer.h: Avoid DECLARE_INTERVALS.
7663
7664 * config.in: Add size_t.
7665
aae41d97
EZ
76662000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7667
7668 * w16select.c (set_clipboard_data): If there's not enough memory
7669 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7670 expects. In case of other failures, return 3.
7671 (system_error_msg): New error message.
7672 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7673 system_error_msg.
7674
65aa5e85
GM
76752000-08-16 Gerd Moellmann <gerd@gnu.org>
7676
7677 * term.c (write_glyphs): Also turn off inverse video after turning
7678 off other appearances in case TS_exit_attribute_mode is not equal
7679 to TS_end_standout_mode.
7680 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7681 with the same face.
7682 (turn_off_face): Reset standout_mode only if
7683 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7684 is equal to TS_end_standout_mode.
7685
ece23901
KH
76862000-08-16 Kenichi Handa <handa@etl.go.jp>
7687
9d7bcb2e
KH
7688 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7689 sequence at the end of the source block.
7690
ece23901
KH
7691 * ccl.c (Fccl_program_p): Docstring modified.
7692 (Fccl_execute): Likewise.
7693 (Fccl_execute_on_string): Likewise.
7694
5e30eaa2
EZ
76952000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7696
7697 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7698
290602fd
KH
76992000-08-16 Kenichi Handa <handa@etl.go.jp>
7700
7701 The following changes are mainly to fix bugs of
7702 encode/decode-coding-string failing if encoding/decoding return
7703 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7704 variable conversion_buffer.
7705
7706 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7707 decrement dst_end to avoid buffer overflow in the later call of
7708 string_as_multibyte
7709
7710 * coding.h (conversion_buffer_size, conversion_buffer)
7711 (get_conversion_buffer): Extern deleted.
7712
7713 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7714 (conversion_buffer, conversion_buffer_size): Variables deleted.
7715 (get_conversion_buffer): Function deleted.
7716 (struct conversion_buffer): New structure.
7717 (MAX_ALLOCA): New macro.
7718 (allocate_conversion_buffer): New macro.
7719 (extend_conversion_buffer, free_conversion_buffer): New functions.
7720 (ccl_coding_driver): Set coding->result.
7721 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7722 this is the last block of source.
7723 (encode_coding): Likewise. Handle the source block as the last
7724 one only when the whole source text is consumed.
7725 (decode_coding_string): Handle the case that the output buffer is
7726 too small to decode the whole source text. Use
7727 allocate_conversion_buffer, extend_conversion_buffer and
7728 free_conversion_buffer, not get_conversion_buffer.
7729 (encode_coding_string): Likewise.
7730 (init_coding): Function deleted.
52283633 7731 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7732
7733 * emacs.c (main): Don't call init_coding.
7734
52283633 7735 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7736
7737 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7738 (insert_glyphs): Likewise.
7739
7740 * w32console.c (write_glyphs): Use a locally declared
7741 conversion_buffer.
7742
b9f80d41
EZ
77432000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7744
7745 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7746 member of display_info is NULL.
7747
32dc52f7
GM
77482000-08-15 Gerd Moellmann <gerd@gnu.org>
7749
52283633 7750 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7751
32dc52f7 7752 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7753 appearances with capability `me'.
32dc52f7
GM
7754 (write_glyphs): Switch on inverse video before each face change.
7755
4eb22d33
DL
77562000-08-14 Dave Love <fx@gnu.org>
7757
7758 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7759 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7760 (lisp_free): Declare and make static.
7761
7762 * window.c: Fix embedded comment.
7763 (syms_of_window): Fix doc string.
7764
90cbf47e
GM
77652000-08-14 Gerd Moellmann <gerd@gnu.org>
7766
52283633 7767 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7768 make sure to print `C-' before `M-', like in the manual.
7769
440fc135
GM
77702000-08-11 Gerd Moellmann <gerd@gnu.org>
7771
7772 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7773 since they aren't relocated anymore.
52283633 7774 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7775
7776 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7777 partially visible line which is smaller than the window's height.
440fc135 7778
6e264fad
KH
77792000-08-11 Kenichi Handa <handa@etl.go.jp>
7780
7781 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7782 the multibyte form of eight-bit-control characters.
6e264fad
KH
7783 (Fccl_execute_on_string): Initialize ccl->multibyte.
7784
7785 * ccl.h (struct ccl_program): New member multibyte.
7786
7787 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7788
c371f69a
KH
77892000-08-11 Kenichi Handa <handa@etl.go.jp>
7790
7791 * regex.c (regex_compile) <normal_char>: Pay attention to
7792 multibyteness.
7793 (analyse_first) <exactn>: Setup fastmap correctly for
7794 eight-bit-control characters.
7795
77962000-08-11 Kenichi Handa <handa@etl.go.jp>
7797
52283633 7798 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7799
7800 * keyboard.c (make_lispy_event): Handle the new event type
7801 multibyte_char_keystroke.
7802
7803 * xterm.c: Include coding.h.
7804 (XTread_socket): Work around a bug of XmbLookupString. If the
7805 input is from XIM, decode it according to the current locale. In
7806 that case, generate multibyte_char_keystroke events.
7807
b8ddbe71
KH
78082000-08-11 Kenichi Handa <handa@etl.go.jp>
7809
7810 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7811 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7812
47589c8c
GM
78132000-08-10 Gerd Moellmann <gerd@gnu.org>
7814
7815 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7816 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7817 (move_it_in_display_line_to): Record iterator's ascent and descent
7818 before producing glyphs, and restore them when we know the glyph
7819 doesn't fit on the line.
7820 (move_it_to): Restructured so that it's easier to debug. If
7821 moving to a vpos, and not moving to an x or character position,
7822 stop as soon as the specified vpos is reached; don't move further
7823 into that line because that might change the computed line height.
7824 (try_cursor_movement): New function, extracted from the cursor
7825 movement branch of redisplay_window. If ending on a partially
7826 visible line, don't try to scroll if the cursor line is taller
7827 than the window.
7828 (redisplay_window): Use try_cursor_movement.
7829
7830 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7831 because that function doesn't cope with variable-height lines.
7832
7833 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7834 box cursor because that's better visible for large images.
52283633 7835
c51bacd6
MB
78362000-08-10 Miles Bader <miles@gnu.org>
7837
7838 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7839
bea56df7
GM
78402000-08-10 Gerd Moellmann <gerd@gnu.org>
7841
7842 * xdisp.c (Vmessages_buffer_name): New variable.
7843 (message_dolog): Use it.
7844 (syms_of_xdisp): Initialize it.
7845
99cd7364
EZ
78462000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7847
52283633 7848 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7849 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7850 redundant now that keyboard.h is included.
7851
7d093d56
EZ
78522000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7853
7854 * keyboard.c (kbd_buffer_events_waiting): New function.
7855
7856 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7857
7858 * msdos.c: Include keyboard.h.
7859 (XMenuActivate): Empty no_event events from the event buffer. If
7860 no events are left after that, call clear_input_pending.
7861 (mouse_clear_clicks): New function, code moved from mouse_init.
7862 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7863 mouse driver to ``forget'' any past clicks.
7864
7865 * Makefile.in (msdos.o): Depend on keyboard.h.
7866
41e757a6
GM
78672000-08-09 Gerd Moellmann <gerd@gnu.org>
7868
8e7bd231
GM
7869 * lisp.h (input_pending): External declaration.
7870
7871 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7872
8e7bd231
GM
7873 * xdisp.c (echo_area_display): Display thoroughly if input is
7874 pending. Bind redisplay-dont-pause to t during the redisplay.
7875 in case input is pending.
7876
7877 * dispnew.c (Qredisplay_dont_pause): New variable.
7878 (syms_of_display): Initialize and staticpro it.
7879 (update_frame_1): Don't interrupt the display for pending input if
7880 redisplay_dont_pause is set.
52283633 7881
43028b7e
GM
7882 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7883
41e757a6
GM
7884 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7885
2f2174fa
KH
78862000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7887
7888 * callproc.c (Fcall_process): Terminate the unwind-protect around
7889 the post-read-conversion of coding system.
7890
0a6fd67e
MB
7891 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7892 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7893 * buffer.h (overlays_at): Update prototype.
7894 * xdisp.c (next_overlay_change): Update call to overlays_at.
7895 * xfaces.c (face_at_buffer_position): Likewise.
7896 * textprop.c (Fget_char_property): Likewise.
7897 * xterm.c (note_mouse_highlight): Likewise.
7898
0c80756e
MB
7899 * minibuf.c (do_completion): Don't consider a simple change of
7900 case as `completion'.
7901
975f250a
KR
79022000-08-08 Ken Raeburn <raeburn@gnu.org>
7903
52283633 7904 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7905 * undo.c (record_delete): Make sure last_point_position_buffer is
7906 a buffer before comparing pointers.
7907
7908 * coding.h (decode_coding_string): Declare.
7909
7910 * intervals.h (Fprevious_single_char_property_change): Declare.
7911
7912 * textprop.c (Fprevious_single_char_property_change): Don't do
7913 arithmetic directly on lisp objects.
7914
52283633 7915 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7916
7917 * keyboard.h (menu_item_eval_property): Declare.
7918
7919 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7920 reuse as buffer name, instead of recreating (and discarding) every
7921 time a message is logged.
7922 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7923 (current_message_1, truncate_message_1, set_message_1)
7924 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7925 (current_message, truncate_echo_area, display_echo_area)
7926 (resize_echo_area_axactly): Changed calls.
b347b3fd 7927
975f250a 7928 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7929 Lisp object.
975f250a 7930 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7931 must be an integer, not a Lisp object.
975f250a 7932
46dc9912
KH
79332000-08-08 Kenichi Handa <handa@etl.go.jp>
7934
7935 * charset.c (Fchar_width): Doc fix.
7936
9f6d1a6c
GM
79372000-08-08 Gerd Moellmann <gerd@gnu.org>
7938
7939 * charset.c (Fstring_width): Doc fix.
7940
ff3d9573
GM
79412000-08-07 Gerd Moellmann <gerd@gnu.org>
7942
41e757a6 7943 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7944 line, clear ascent and descent members of the iterator structure;
7945 the height of the continued line does not affect the height of the
7946 continuation line.
7947 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7948 line taller than the window.
7949 (redisplay_window) <forced window start>: Handle case that the
7950 middle of the window is not found in any row.
7951 (dump_glyph_row): Show more information.
7952 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7953 first text line in a glyph matrix.
7954
7955 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7956 of the clip area when image doesn't have a mask.
7957
70fc58b3
GM
7958 * fns.c (sweep_weak_table): Fix survival conditions for
7959 key-or-value and key-and-value weakness.
7960
7961 * .gdbinit (xhashtable): New command.
7962
ac0e96ee
GM
7963 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7964 tables out of the list of all weak hash tables.
7965
ff3d9573
GM
7966 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7967 a new buffer is created, make sure echo_area_buffer[] references
7968 the new buffer.
7969
e0d8827b
EZ
79702000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7971
7972 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7973 the doc string.
7974
c6f35378
KH
79752000-08-07 Kenichi Handa <handa@etl.go.jp>
7976
7977 * syntax.c (skip_chars): Fix previous change. Make the handling
7978 of unibyte string consistent with that of regex search.
7979
1fd4c450
GM
79802000-08-05 Gerd Moellmann <gerd@gnu.org>
7981
e49aa397
GM
7982 * xmenu.c (popup_get_selection): Use xfree instead of free.
7983
7984 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7985
7986 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7987
7988 * callproc.c (child_setup): Use xfree instead of free.
7989
7990 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7991 instead of malloc.
7992 (run_mac_command, closedir): Use `xfree' instead of `free'.
7993
7994 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7995
7996 * eval.c (error): Use xfree instead of free.
7997
1fd4c450
GM
7998 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7999
8000 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8001 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8002
82d497fc
KH
80032000-08-05 Kenichi Handa <handa@etl.go.jp>
8004
8005 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8006 conversion.
8007
59f953a2
NF
80082000-08-04 Noah Friedman <friedman@splode.com>
8009
8010 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8011 docstring.
8012
688351f2
GM
80132000-08-04 Gerd Moellmann <gerd@gnu.org>
8014
8015 * syntax.c (skip_chars): Fix typo in error message.
8016
2dad51cc
AS
80172000-08-04 Andreas Schwab <schwab@suse.de>
8018
8019 * m/ia64.h: Moved from s/ia64.h.
8020
99bb2c60
KH
80212000-08-04 Kenichi Handa <handa@etl.go.jp>
8022
082a1df2
KH
8023 * process.c (read_process_output): Big simplification. Handle
8024 composition and post-read-conversion of coding system correctly.
8025 (send_process): Handle composition correctly.
8026
8027 * callproc.c (Fcall_process): Handle post-read-conversion of
8028 coding system if any.
8029
99bb2c60
KH
8030 * coding.c (decode_coding_iso2022): More strict check for handling
8031 single shifting.
082a1df2
KH
8032 (coding_restore_composition): Pay attention to the case that
8033 cmp_data is not set properly (because of invalid code in the
8034 source text).
8035 (run_pre_post_conversion_on_str): Include text properties in the
8036 resulting string.
8037 (decode_coding_string): Set members of coding correctly.
99bb2c60 8038
f4988be7
GM
80392000-08-03 Gerd Moellmann <gerd@gnu.org>
8040
8041 * s/ia64.h: New file.
8042
8043 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8044 Use NULL instead of 0 at the end of variable argument list of
8045 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8046 sizeof (int) < sizeof (void *).
8047
8048 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8049 of variable argument lists of XtVaGetValues and XtVaSetValues.
8050
8051 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8052 variable argument lists of XtVaGetValues and XtVaSetValues.
8053
ead53494
GM
80542000-08-02 Gerd Moellmann <gerd@gnu.org>
8055
8056 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8057 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8058
8059 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8060 prototype.
8061
8062 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8063 in call to Fsingle_key_description.
8064
8065 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8066 Callers changed.
8067
80682000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8069
8070 * window.c (display_buffer_reuse_frames): New variable.
8071 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8072 frames displaying BUFFER.
52283633 8073 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8074
10b0f752
MB
80752000-08-01 Miles Bader <miles@gnu.org>
8076
8077 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8078 when to constrain NEW_POS (they were pretty screwed up before).
8079
16425c4a
EZ
80802000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8081
8082 * msdos.c (run_msdos_command): Save and restore the master
8083 environment, for the case that child_setup signals an error.
8084 When mirroring slashes in DOS shell commands, don't fail when
8085 argv[2] has embedded blanks.
da288c14
EZ
8086 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8087 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8088 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8089
8090 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8091 using alloca; free it after run_msdos_command returns.
8092
27f73852
DL
80932000-07-27 Dave Love <fx@gnu.org>
8094
52283633
SM
8095 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8096 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8097
8098 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8099
c0261b5e
EZ
81002000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8101
8102 * editfns.c (lisp_time_argument): Fix last change.
8103
b548072f
GM
81042000-07-27 Gerd Moellmann <gerd@gnu.org>
8105
3ab82477
GM
8106 * fns.c (Fdelete): Make it work on vectors and strings in addition
8107 to lists.
8108
b548072f
GM
8109 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8110 (syms_of_fns): Initialize new variables.
52283633 8111 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8112 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8113 weakness, with t meaning the same as `key-and-value'.
8114
91ae8751
KH
81152000-07-27 Kenichi Handa <handa@etl.go.jp>
8116
8117 * coding.h (struct coding_system): Member safe_charset deleted.
8118
8119 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8120 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8121 New variables.
91ae8751
KH
8122 (coding_safe_chars): New function.
8123 (CODING_SAFE_CHAR_P): New macro.
8124 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8125 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8126 (detect_coding_iso2022): New local variable safe_chars.
8127 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8128 safe_charsets member of the coding system.
8129 (decode_coding_iso2022): New local variable safe_chars.
8130 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8131 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8132 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8133 (ENCODE_UNSAFE_CHARACTER): New macro.
8134 (encode_coding_iso2022): New local variable safe_chars. Check
8135 unsafe chars.
8136 (setup_coding_system): Delete the code to initialize
8137 coding->safe_charses
8138 (intersection, find_safe_codings): New functions.
8139 (Ffind_coding_systems_region_internal): New function.
8140 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8141 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8142 variable and initialize it.
8143
8144 * fns.c (char_table_ref_and_index): New function.
8145
8146 * lisp.h (char_table_ref_and_index): Add prototype.
8147
34a7a267
SS
81482000-07-26 Sam Steingold <sds@gnu.org>
8149
8150 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8151 (Ffloat_time): New built-in Lisp function.
34a7a267 8152
a95cb10a
GM
81532000-07-26 Gerd Moellmann <gerd@gnu.org>
8154
3353ef5a
GM
8155 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8156 for the character code.
8157
8158 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8159 GNU/Linux.
8160
a95cb10a
GM
8161 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8162 if called for a popup menu.
8163 (xmenu_show): Store help string in widget values.
8164
b4a12321
DL
81652000-07-26 Dave Love <fx@gnu.org>
8166
8167 * syswait.h: Move some definitions.
8168 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8169 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8170 perspicuous definitions.
8171 (WTERMSIG): Fix bit pattern used.
8172
13f5ad37
KH
81732000-07-26 Kenichi Handa <handa@etl.go.jp>
8174
8175 * print.c (print_object): If vector printing is truncated, print
8176 "..." to indicate it as well as the case of list printing.
8177
070fe99c
GM
81782000-07-25 Gerd Moellmann <gerd@gnu.org>
8179
969065c3
GM
8180 * xdisp.c (next_element_from_display_vector): Improve comments.
8181
8182 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8183 for the character code, and the rest for the face id as in 20.x.
8184 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8185
8186 * window.c (window_display_table): Cleaned up.
8187
070fe99c
GM
8188 * syntax.c (Fforward_word): Add last arg nil in call of
8189 Fconstrain_to_field.
8190
bad77ef7
EZ
81912000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8192
969065c3 8193 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8194 identical but for the letter-case, don't call
8195 barf_or_query_if_file_exists.
bad77ef7 8196
c28da489
MB
81972000-07-25 Miles Bader <miles@gnu.org>
8198
8199 * editfns.c (find_field): Honor special `boundary' fields.
8200 (Qboundary): New variables.
8201 (syms_of_editfns): Initialize Qboundary.
8202 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8203 Use scan_buffer instead of find_before_next_newline, because it
8204 allows us to detect the boundary case where there's a newline at
8205 the search limit.
8206 * lisp.h (Fconstrain_to_field): Update external declaration.
8207
e3c31fd5
GM
82082000-07-24 Gerd Moellmann <gerd@gnu.org>
8209
8210 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8211 if that is nil.
c28da489 8212
c66c29a2
DL
82132000-07-24 Dave Love <fx@gnu.org>
8214
8215 * s/sunos4-0.h, s/sol2.h:
8216 (LIBS_TERMCAP): Move from m/sparc.h.
8217
8218 * m/sparc.h (TERMINFO): Moved to system files (probably only
8219 relevant for sunos4 judging by its vintage).
8220 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8221 __arch64__.
8222
fbe0a958
EZ
82232000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8224
8225 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8226 name to single_keymap_panes.
8227
7d88e5c9
AS
82282000-07-24 Andreas Schwab <schwab@suse.de>
8229
8230 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8231
e024b101
GM
82322000-07-24 Gerd Moellmann <gerd@gnu.org>
8233
8234 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8235 parameters instead of using int parameters. Expect FN to accept
8236 EMACS_INT parameters.
8237 (display_echo_area, resize_echo_area_axactly, current_message)
8238 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8239 with new argument list.
8240 (resize_mini_window_1): New callback function.
8241 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8242 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8243
25c1a9ce
KH
82442000-07-24 Kenichi Handa <handa@etl.go.jp>
8245
8246 * fontset.c (fontset_ref): Remove INLINE declaration.
8247 (fontset_ref_via_base): Likewise.
8248 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8249 to downcase.
8250
7f987ac0
EZ
82512000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8252
8253 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8254 correct order of priority. If help echo was found in an overlay,
8255 use that overlay as the object in which the help echo was found.
8256
e2db3069
MB
82572000-07-22 Miles Bader <miles@gnu.org>
8258
8259 * textprop.c (Fprevious_single_char_property_change): The initial
8260 property value should be from the position preceding POSITION, not
8261 following it.
8262
5e3203e4
EZ
82632000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8264
8265 * coding.c (syms_of_coding): Doc fix for
8266 inhibit-iso-escape-detection.
8267
62145073
GM
82682000-07-21 Gerd Moellmann <gerd@gnu.org>
8269
c20aeb83
GM
8270 * xterm.c (note_mouse_highlight): Process overlays in the right
8271 order of priority.
34a7a267 8272
743934db
GM
8273 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8274
8275 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8276 overlay, use that overlay as the object in which the help was found.
743934db 8277
d1dc7e43 8278 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8279
62145073
GM
8280 * window.c (foreach_window): Instead of a fake variable argument
8281 list, take one USER_DATA argument.
8282 (foreach_window_1): Likewise, and call callback functions with two
8283 args, the window and USER_DATA.
8284 (struct check_window_data): New struct.
8285 (check_window_containing): Use it.
8286 (window_from_coordinates): Set up a struct check_window_data for
8287 foreach_window.
8288 (add_window_to_list, freeze_window_start): Change parameters
8289 according to new calling convention.
8290
8291 * window.h (foreach_window): Change prototype.
8292
8293 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8294
82952000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8296
8297 * xmenu.c (menu_help_callback): Call show_help_echo with
8298 additional arguments OBJECT and POS.
8299
11270583
KH
83002000-07-21 Kenichi Handa <handa@etl.go.jp>
8301
07b14857
KH
8302 * data.c (Faset): Allow storing any multibyte character in a
8303 string. Convert unibyte string to multibyte if necessary.
8304
11270583
KH
8305 * xfns.c (x_encode_text): New function.
8306 (x_set_name): Use x_encode_text.
8307 (x_set_title): Likewise.
8308
8309 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8310
8311 * xterm.h (x_encode_text): Add prototype.
8312
bc75b4fd
DL
83132000-07-20 Dave Love <fx@gnu.org>
8314
8315 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8316 xfree, not free.
8317
48c14970
EZ
83182000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8319
8320 * msdos.c (help_echo_window): New variable.
8321 (syms_of_msdos): Initialize and staticpro it.
8322 (IT_note_mode_line_highlight): Set help_echo_window.
8323 (IT_note_mouse_highlight): Ditto.
8324 (dos_rawgetc): Store help_echo_window in the second event produced
8325 for HELP_EVENTs.
8326
8327 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8328 Record the object that generated the help echo and the position of
8329 that object in help_echo_object and help_echo_pos. Record that
8330 some glyphs in a row are displayed in mouse-face.
8331 (IT_update_begin): Don't clear mouse highlight unless one of the
8332 enabled glyph rows is marked as being displayed in mouse-face.
8333 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8334 and position recorded in help_echo_object and help_echo_pos to the
8335 event queue.
8336 (IT_menu_display): Accept a new argument PN: the pane number of
8337 the current menu pane. Record the pane number and the item
8338 number of the item which has associated help string.
8339 (XMenuActivate): Update the prototype for help_callback in
8340 function declaration. Call IT_menu_display with the current menu
8341 pane number as an additional argument. Call help_callback with
8342 two additional arguments: the pane number and the item number of
8343 the menu item associated with the help text.
8344 (help_echo_object, help_echo_pos): New variables.
8345 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8346
8347 * msdos.h (XMenuActivate): Update prototype.
8348
4279296d
GM
83492000-07-19 Gerd Moellmann <gerd@gnu.org>
8350
47db06aa
GM
8351 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8352 Add some more prototypes.
8353
8354 * xterm.c, xterm.h: Add some more prototypes.
8355
8356 * lisp.h (Fnext_single_char_property_change): Add prototype.
8357
8358 * dispnew.c (direct_output_for_insert): Remove confusing
8359 outer local variable mouse_face_overwritten_p.
8360 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8361
4279296d
GM
8362 * alloc.c (allocate_string_data): Don't copy old string contents.
8363
670acd62
KH
83642000-07-19 Kenichi Handa <handa@etl.go.jp>
8365
8366 * coding.c (code_convert_region): Delete text properties before
8367 shrinking the conversion region.
8368
7cea38bc
GM
83692000-07-18 Gerd Moellmann <gerd@gnu.org>
8370
dc1cac59
GM
8371 * dispnew.c (update_text_area): Write the whole row if it
8372 has mouse-face in it.
8373
85a8aca9
GM
8374 * xfaces.c (face-alternative-font-family-alist): Remove
8375 DEFVAR_LISP; staticpro instead.
8376
34a7a267 8377 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8378 new arguments.
8379
8380 * keyboard.c (show_help_echo): Add parameter WINDOW.
8381 (read_char): Call show_help_echo with window extracted from Lisp
8382 help event.
8383 (gen_help_event): Add parameter WINDOW.
8384
8385 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8386
8387 * xterm.c (help_echo_window): New variable.
52283633 8388 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8389 (XTread_socket): Pass help_echo_window to gen_help_event.
8390 (syms_of_xterm): Initialize and staticpro help_echo_window.
8391
f8276b77
DL
83922000-07-18 Dave Love <fx@gnu.org>
8393
52283633 8394 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8395
088831a6
GM
83962000-07-18 Gerd Moellmann <gerd@gnu.org>
8397
3d6cd763
GM
8398 * alloc.c (allocate_string_data): If string had already data
8399 assigned, copy old contents to new string data.
8400
8401 * coding.c (syms_of_coding): Fix typo in spelling of variable
8402 `inhibit-iso-escape-detection'.
8403
088831a6
GM
8404 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8405
8406 * Makefile.in: Add dependencies on dispextern.h.
8407 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8408 `free'; both can conflict with system header files.
8409
bc8a8d55
KH
84102000-07-18 Kenichi Handa <handa@etl.go.jp>
8411
8412 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8413 undefined.
8414
069f5950
DL
84152000-07-18 Dave Love <fx@gnu.org>
8416
8417 * window.c (Fwindow_list): Declare arg `window'.
8418
aa96c820
KH
84192000-07-18 Kenichi Handa <handa@etl.go.jp>
8420
8421 * coding.c (setup_coding_system): Don't override the explicitly
8422 specified designations.
8423
06be8d32
MB
84242000-07-15 Miles Bader <miles@gnu.org>
8425
8426 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8427 from `text_property_eq' and `text_property_stickiness', respectively.
8428 (find_field, Fconstrain_to_field, char_property_eq)
8429 (char_property_stickiness): Changed to call char-property functions
8430 instead of text-property-only ones.
8431
8432 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8433 `next_single_char_property_change'). Do more error checking, and
8434 cleanup limit behavior.
8435 (Fprevious_single_char_property_change): New function.
8436 (syms_of_textprop): Initialize new subrs.
8437
8438 * xdisp.c (display_prop_end, invisible_text_between_p):
8439 Call Fnext_single_char_property_change instead of
8440 next_single_char_property_change.
8441
3fddcdc3
JR
84422000-07-15 Jason Rumney <jasonr@gnu.org>
8443
8444 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8445 after menu is finished with.
8446 (add_menu_item): Only consider wv->title as a menu title.
8447 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8448
8449 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8450 null title.
8451 (FONT_REGEXP): Remove unused macro, and its sub-components.
8452 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8453
8454 * w32term.c (help_echo_object, help_echo_pos): New variables.
8455 (note_mode_line_highlight): Store additional information about the
8456 help-echo in help_echo_object and help_echo_pos. Check both
8457 `local-map' and `keymap' properties for changing the cursor
8458 (note_mouse_highlight): Store additional information about the
8459 help-echo in help_echo_object and help_echo_pos.
8460 (note_tool_bar_highlight): Set help_echo_object to nil and
8461 help_echo_pos to -1.
8462 (w32_read_socket): Use gen_help_event instead of filling
8463 input_events manually.
8464 (syms_of_w32term): Staticpro help_echo_object.
8465 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8466 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8467 (x_clear_mouse_face): New function.
8468 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8469 (x_update_window_begin): No need to turn off the mouse
8470 highlight here.
8471 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8472 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8473 (x_fill_stretch_glyph_string): Consume runs of stretch
8474 glyphs instead of a single one.
8475 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8476 with new argument list.
8477 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8478 (x_append_glyph, x_append_composite_glyph)
8479 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8480 changes in struct glyph starting 1999-12-27. See comments for
8481 xterm.c on 2000-07-05.
8482
178c5d9c
SS
84832000-07-14 Sam Steingold <sds@gnu.org>
8484
8485 * xfaces.c (realize_x_face): Fix the last patch:
8486 check `default_face' before dereferencing.
8487
6fe533f6
DL
84882000-07-14 Dave Love <fx@gnu.org>
8489
069f5950 8490 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8491
dd7b81cf
KH
84922000-07-14 Kenichi Handa <handa@etl.go.jp>
8493
0693904a 8494 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8495 default_face's fontset, not using the default fontset.
0693904a 8496
dd7b81cf
KH
8497 * coding.c (inhibit_iso_escape_detection): New variable.
8498 (syms_of_coding): Make it a Lisp variable.
8499 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8500 nonzero, ignore ISO2022's escape sequence.
8501
d5aa31d8
GM
85022000-07-14 Gerd Moellmann <gerd@gnu.org>
8503
e5acf0ca
GM
8504 * alloca.c (malloc) [emacs]: Define as xmalloc.
8505
bd23a692
GM
8506 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8507 use that instead of the mouse position. Add parameters DX and DY.
8508
8509 * dispextern.h (Fx_show_tip): Adjust number of parameters
8510 in prototype.
8511
9662da0b
GM
8512 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8513 if HELP is a function, call it with OBJECT and POS as parameters
8514 to get the help to display.
8515 (gen_help_event, kbd_buffer_store_help_event): New functions.
8516 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8517 (read_char): Call show_help_echo with new parameters.
8518
178c5d9c 8519 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8520 Add prototypes.
8521
8522 * xterm.c (help_echo_object, help_echo_pos): New variables.
8523 (note_mode_line_highlight): Store additional information about the
8524 help-echo in help_echo_object and help_echo_pos. Check both
8525 `local-map' and `keymap' properties for changing the cursor
8526 (note_mouse_highlight): Store additional information about the
8527 help-echo in help_echo_object and help_echo_pos.
8528 (note_tool_bar_highlight): Set help_echo_object to nil and
8529 help_echo_pos to -1.
8530 (XTread_socket): Use gen_help_event instead of filling
8531 input_events manually.
8532 (syms_of_xterm): Staticpro help_echo_object.
8533
8534 * xmenu.c (menu_highlight_callback): Use
8535 kbd_buffer_store_help_event instead of setting up and input_event
8536 structure manually.
8537
8538 * xdisp.c (eval_form): GCPRO argument sexpr.
8539 (call_function): New function.
8540 (handle_single_display_prop): Use call_function and FUNCTIONP
8541 instead of checking whether if font_height is a symbol and
8542 using eval_form.
8543
8544 * eval.c (internal_condition_case_2): New function.
8545
8546 * lisp.h (FUNCTIONP): New macro.
8547 (internal_condition_case_2, call_function): Add prototypes.
8548
d5aa31d8
GM
8549 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8550 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8551 Always set `arg' member of input_events.
8552 (construct_menu_click): Unused function removed.
8553
8554 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8555
8556 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8557 (construct_drag_n_drop, x_scroll_bar_handle_click)
8558 (w32_read_socket): Always set `arg' member of input_events.
8559
8560 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8561
8562 * lisp.h (eval_form): Add prototype.
8563
8564 * xdisp.c (eval_form): Make it externally visible.
8565
0f1a9b23
GM
85662000-07-13 Gerd Moellmann <gerd@gnu.org>
8567
8568 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8569 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8570 consing. For prefix events, store the frame in the `arg' slot of
8571 the event, otherwise store the key there.
8572 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8573 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8574
8575 * xmenu.c (menu_highlight_callback): Store help string in the
8576 `arg' member of the input event; don't cons.
8577 (menubar_selection_callback): Use the `arg' slot of input events
8578 to queue additional information, instead of consing.
8579
8580 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8581
8582 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8583 TOOL_BAR_EVENTs.
8584 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8585
8586 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8587 input events to queue additional information, instead of consing.
8588
8589 * keyboard.c (kbd_buffer_gcpro): Renamed from
8590 kbd_buffer_frame_or_window. Now used for all Lisp objects
8591 referenced from the input queue.
8592 (kbd_buffer_store_event): Always use structure assignment for
8593 copying input events. Record all Lisp objects referenced from
8594 events in kbd_buffer_gcpro.
8595 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8596 differently from input events. Test for prefix menu_bar_events
8597 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8598 event in kbd_buffer_gcpro to nil.
8599 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8600 frame_or_window is equal to its arg member as prefix events.
8601 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8602 used by an input event to nil.
8603 (init_keyboard): Use two times the size of the input queue
8604 for kbd_buffer_gcpro.
8605 (syms_of_keyboard): Likewise.
8606
52283633
SM
8607 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8608 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8609
8610 * termhooks.h (struct input_event): Add member `arg'.
8611 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8612 (USER_SIGNAL_EVENT): Renamed from user_signal.
8613
8614 * xfaces.c (ASET): Remove definition.
8615
8616 * lisp.h (AREF, ASET, ASIZE): New macros.
8617
8618 * fontset.c (AREF, ASIZE): Remove definitions.
8619
8620 * fns.c (AREF): Remove definition.
178c5d9c 8621
0f1a9b23
GM
8622 * composite.c (AREF): Remove definition.
8623
712eaef2
GM
86242000-07-12 Gerd Moellmann <gerd@gnu.org>
8625
d8ee7803
GM
8626 * dispnew.c (redraw_overlapped_rows): Add missing local.
8627 (scrolling_window): Remove debug code.
8628
712eaef2
GM
8629 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8630 Before scrolling, turn off a mouse-highlight in the window
8631 being scrolled.
8632
8633 * xterm.c (x_update_window_end): Add parameter
8634 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8635 redisplay in XTframe_up_to_date.
8636 (x_clear_mouse_face): New function.
8637 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8638
8639 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8640 current glyph row.
8641 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8642 it when any row is written to that contains glyphs highlighted in
8643 mouse-face.
8644 (update_window): Call the window update end hook with new
8645 parameter MOUSE_FACE_OVERWRITTEN_P.
8646 (direct_output_for_insert): Give up if row contains mouse-face.
8647
8648 * dispextern.h (struct redisplay_interface): Add parameter
8649 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8650 (clear_mouse_face): New function pointer member.
8651
02010917
SM
86522000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8653
8654 * syntax.c (back_comment): Use one switch rather than a few `if's.
8655 Obey open_paren_in_column_0_is_defun_start.
8656 When reverting to the `slow' method, try to nicely handle the case
8657 of nested comments by checking that the comment-starter we found
8658 does indeed match the comment-ender.
8659 (scan_sexps_forward, scan_sexps_forward):
8660 Ignore excessive opening parenthesis rather than throwing an error.
8661
d76c03ea
GM
86622000-07-11 Gerd Moellmann <gerd@gnu.org>
8663
8664 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8665 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8666
8667 * dispnew.c (direct_output_forward_char): Give up if currently
8668 displaying a message instead of the minibuffer contents.
8669
8670 * xterm.c (x_update_window_begin): No need to turn off the mouse
8671 highlight here.
8672 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8673 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8674
8675 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8676 compare the mouse_face_p flags of both rows.
8677
8678 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8679
d55ead18
EZ
86802000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8681
8682 * keyboard.c (show_help_echo): Accept additional parameter
8683 ok_to_overwrite_keystroke_echo.
8684 (read_char): Call show_help_echo with a zero
8685 ok_to_overwrite_keystroke_echo argument.
52283633 8686 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8687 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8688 ok_to_overwrite_keystroke_echo argument.
8689 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8690 non-zero ok_to_overwrite_keystroke_echo argument.
8691
df75b1a3
GM
86922000-07-10 Gerd Moellmann <gerd@gnu.org>
8693
4b92c49a
GM
8694 * xdisp.c (try_window_id): If changes are all below what is
8695 displayed in the window, and point is in the window, we still
8696 might have to find point on the display.
8697
8698 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8699 glyphs instead of a single one.
8700 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8701 with new argument list.
8702 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8703
df75b1a3
GM
8704 * keymap.c (get_keymap_1): Add comment that this function can GC.
8705 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8706 comment that functions can GC.
8707 (Fset_keymap_parent): GCPRO arg KEYMAP.
8708
4314cf3e
EZ
87092000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8710
8711 * msdos.c (XMenuActivate): After exiting the menu, restore the
8712 echo area message and erase it.
8713
ab49ce15
KH
87142000-07-10 Kenichi Handa <handa@etl.go.jp>
8715
8716 * fontset.c (Ffontset_info): Make the return value more compatible
8717 with that of Emacs 20.
8718
090a072f
GM
87192000-07-07 Gerd Moellmann <gerd@gnu.org>
8720
8721 * eval.c (Fsignal): Handle case that backtrace_list is null.
8722
f92de4a6
KH
87232000-07-07 Kenichi Handa <handa@etl.go.jp>
8724
8725 * ccl.c (Fccl_execute): Typo fixed.
8726
dd8888a1
GM
87272000-07-06 Gerd Moellmann <gerd@gnu.org>
8728
e5c81191 8729 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8730
dd8888a1
GM
8731 * window.c (Fwindow_list): Reverse list at the end.
8732 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8733 means allow windows on OWINDOW's frame, only.
8734 (window_loop): Simplified; use Fwindow_list.
8735
8736 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8737
485266d0
GM
87382000-07-05 Gerd Moellmann <gerd@gnu.org>
8739
8740 * xterm.c (XTread_socket): Increment handling_signal at the start,
8741 decrement it at the end.
8742
8743 * eval.c (handling_signal): New variable.
8744 (Fsignal): Abort if handling_signal is non-zero.
8745
8746 * lisp.h (handling_signal): External declaration.
178c5d9c 8747
485266d0
GM
8748 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8749
80fcd514
KR
87502000-07-05 Ken Raeburn <raeburn@gnu.org>
8751
8752 Sound support for NetBSD through "Linux emulation" support:
8753 * config.in (HAVE_SOUNDCARD_H): Undef.
8754 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8755 * Makefile.in (LIBSOUND): New variable.
8756 (LIBES): Include it.
52283633
SM
8757 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8758 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8759 (vox_open): Use DEFAULT_SOUND_DEVICE.
8760 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8761
d5c5cddd
GM
87622000-07-05 Gerd Moellmann <gerd@gnu.org>
8763
8764 * print.c (print_error_message): If Vsignaling_function is set,
8765 show it in *Messages*.
8766
8767 * lisp.h (Vsignaling_function): External declaration.
8768
8769 * eval.c (Vsignaling_function): New variable.
8770 (Fsignal): Compute it.
8771 (syms_of_eval): Staticpro it.
8772
65171e3a
DL
87732000-07-05 Dave Love <fx@gnu.org>
8774
8775 * syswait.h: Use the autoconf recommended approach. Old code
8776 #if'd out in case we need to revert.
8777
178c5d9c 8778 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8779
e2c46326
AI
87802000-07-05 Andrew Innes <andrewi@gnu.org>
8781
8782 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8783 when non-NULL instead of __morecore, to take account of buffer
8784 memory. This also solves a problem with spurious memory warnings
8785 on Windows.
8786
8787 * ralloc.c: Make real_morecore non-static.
8788
8789 * eval.c (internal_condition_case): Comment out abort if
8790 interrupt_input_blocked is not zero.
8791
8792 * makefile.nt: Add support for `bootstrap' and related targets.
8793 Include minimal debug info in emacs.exe in release build.
8794 Remove all dependencies on lisp.h, and fixup some others.
8795
8796 * w32.c (init_environment): Install code from 20.7 for providing
8797 default values for environment variables, based on the
8798 executable's own location.
52283633 8799 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8800 (sys_socket): Install socket inheritance bug fix from 20.7.
8801
8802 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8803 here via blockinput.h).
8804
a027a91b
SM
88052000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8806
e4b31601
SM
8807 * w32menu.c (w32_menu_display_help):
8808 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8809
8810 * keyboard.h (show_help_echo): Declare.
8811
8812 * keyboard.c (show_help_echo): New function, extracted from read_char.
8813 Feval its `msg' argument if it's a cons cell.
8814 (read_char): Use it.
4cf8d9d5 8815 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8816
178c5d9c 8817 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8818 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8819 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8820 (dos_rawgetc):
8821 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8822 (note_tool_bar_highlight, w32_read_socket):
8823 Do not gratuitously ignore non-string `help-echo' properties.
8824
88d75730
GM
88252000-07-05 Gerd Moellmann <gerd@gnu.org>
8826
969f7e79
GM
8827 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8828
71201b00
GM
8829 * window.c (delete_all_subwindows): Reset Vwindow_list.
8830
88d75730
GM
8831 * xterm.c (x_append_glyph, x_append_composite_glyph)
8832 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8833 changes in struct glyph starting 1999-12-27. Some bit-fields of
8834 struct glyph were not set, which made glyphs unequal when compared
8835 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8836 effects were the result. This also depended on the contents of
8837 memory returned by xmalloc. If flickering happens again, activate
8838 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8839 gone with that, chances are that it is caused by something similar.
88d75730
GM
8840
8841 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8842
88d75730
GM
8843 * dispextern.h: Add some comments.
8844
8845 * window.c (add_window_to_list): Add parameter LIST.
8846 (window_list): Order list so that, for each frame, windows are
8847 in canonical order, and so that frames appear in the list in
8848 the order given by Vframe_list.
8849 (next_window): Reverse the handling of NEXT_P.
8850
53654733
GM
88512000-07-04 Gerd Moellmann <gerd@gnu.org>
8852
87efd256
GM
8853 * window.c (Vwindow_list): New variable.
8854 (make_window, delete_window): Set Vwindow_list to nil.
8855 (check_window_containing): New function.
8856 (window_from_coordinates): Rewritten.
8857 (add_window_to_list, window_list, candidate_window_p)
8858 (decode_next_window_args, next_window): New functions.
52283633 8859 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8860 (Fwindow_list): New function.
8861 (Fother_window): Cleaned up.
8862 (foreach_window): Add a longer "variable argument list". Let
8863 callback function return 0 to indicate that cycling over windows
8864 should stop.
8865 (foreach_window_1): Likewise.
8866 (freeze_window_start): Return int.
8867 (init_window): New function.
8868 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8869
8870 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8871 input_event with bzero.
8872 (main): Call init_window.
8873
53654733
GM
8874 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8875 a menu filter.
8876
4a8c194f
KH
88772000-07-04 Kenichi Handa <handa@etl.go.jp>
8878
8879 * composite.h (make_composition_value_copy): Extern it.
8880
8881 * composite.c (make_composition_value_copy): New function.
8882
8883 * editfns.c (Fformat): While copying text properties, make each
8884 composition property value a copy.
8885
8886 * fns.c (concat): While copying text properties, make each
8887 composition property value a copy.
8888
831a6cb0
GM
88892000-07-03 Gerd Moellmann <gerd@gnu.org>
8890
2f516940
GM
8891 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8892
178c5d9c 8893 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8894 marked already.
8895
831a6cb0
GM
8896 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8897 include those frames as candidates which have their focus
8898 redirected to the minibuffer frame.
8899
d9c4f922
SM
89002000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8901
8902 * fns.c (Fputhash): Return `value' rather than nil.
8903
3780bc22
GM
89042000-06-30 Gerd Moellmann <gerd@gnu.org>
8905
97d176db
GM
8906 * frame.c (next_frame): Don't check focus redirection in case
8907 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8908 unless their focus is redirected, which contradicts the
8909 specification of next-frame, and leads to infinite loops in
8910 certain situations when cycling through windows with next-window.
8911
dca9961d
KH
89122000-06-30 Kenichi Handa <handa@etl.go.jp>
8913
8914 * coding.c (code_convert_region): Even if the length of text is
8915 zero, try to convert it if coding->type is coding_type_ccl.
8916 (decode_coding_string, encode_coding_string): Likewise.
8917
d5483ab1
GM
89182000-06-28 Gerd Moellmann <gerd@gnu.org>
8919
af5c25e1 8920 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8921 the display if windows_or_buffers_changed.
af5c25e1
GM
8922
8923 * dispnew.c (struct row_entry): New structure.
8924 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8925 (row_table_size, old_lines, new_lines, old_lines_size)
8926 (new_lines_size, run_pool, runs_size, runs): New variables.
8927 (add_row_entry): New function.
8928 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8929 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8930 holding them in local variables. Use a larger hash table whose
8931 size depends on glyph matrix sizes. Don't use bzero to clear the
8932 hash table; instead, clear used slots only.
8933
8934 * fns.c (next_almost_prime): Make it externally visible.
8935
8936 * lisp.h (next_almost_prime): Add prototype.
8937
d5483ab1
GM
8938 * s/isc4-0.h (sigunblock): Define.
8939
8940 * s/sco5.h (sigunblock): Define.
8941
93e40f40
DL
89422000-06-27 Dave Love <fx@gnu.org>
8943
8944 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8945 (moved to osf5-0.h).
8946 [!NOT_C_CODE]: Protect string.h stuff.
8947
8948 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8949 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8950
3c4b7685
GM
89512000-06-27 Gerd Moellmann <gerd@gnu.org>
8952
97d176db 8953 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8954 below the last line from the needed window height.
8955
32cad0aa
SM
89562000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8957
8958 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8959 (Fwidget_get): Use it.
8960 (syms_of_fns): Defsubr it.
8961
2c69ced2
GM
89622000-06-26 Gerd Moellmann <gerd@gnu.org>
8963
178c5d9c 8964 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8965 display info for XIM.
8966 (xim_open_dpy): Likewise.
8967 (xim_close_dpy): Don't free the display info's XIM.
8968
8969 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8970
8971 * config.in (USE_XIM): New define.
8972
3fc720e4
GM
8973 * keymap.c (get_keyelt): For menu-items containing a `:filter
8974 FILTER', apply FILTER to the menu-item's definition to get the
8975 real definition to use.
8976
8977 * lisp.h (QCfilter): External declaration.
8978
2c69ced2
GM
8979 * xfns.c (Fimage_size): New function.
8980 (syms_of_xfns): Defsubr it.
8981
f978b2a2
AS
89822000-06-26 Andreas Schwab <schwab@suse.de>
8983
8984 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8985 Fstring_as_unibyte.
8986
94cc7892
DL
89872000-06-25 Dave Love <fx@gnu.org>
8988
52283633 8989 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8990
8991 * Makefile.in (blockinput.h): Depend on atimer.h.
8992 (atimer.h): Depend on systime.h.
8993
52283633 8994 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8995
52283633 8996 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8997
8998 * lisp.h (swap_in_global_binding): Declare.
8999
b8c24556
KR
90002000-06-24 Ken Raeburn <raeburn@gnu.org>
9001
9002 * process.c (Fopen_network_stream): Turn off atimers for duration
9003 of call to connect. (Patch from Gerd.)
9004
8cf8560b
DL
90052000-06-23 Dave Love <fx@gnu.org>
9006
511c7541
DL
9007 * ralloc.c: Maybe include unistd.h
9008
8cf8560b
DL
9009 * emacs.c (setgrp): Undefine before defining.
9010 (malloc_warning, set_time_zone_rule, index): Prototype.
9011
9012 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9013 HAVE_STRUCT_TIMEZONE.
9014
9015 * s/osf1.h: Move string.h hack here from alpha.h and make it
9016 conditional.
9017 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9018 _XOPEN_SOURCE.
9019 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9020 (SOCKLEN_TYPE): Don't define.
9021
9022 * m/alpha.h: Remove string.h hack.
9023
9024 * s/osf5-0.h: New file.
9025
9026 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9027 include time.h, done by systime.h.
9028 [__FreeBSD__]: Remove redundant includes.
9029
3fc720e4 9030 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9031 (delete_temp_file): Return Qnil to avoid warning.
9032
9033 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9034
9035 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9036 HAVE_X_WINDOWS.
9037
9038 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9039
9040 * composite.h (compose_text): Declare.
9041
9042 * xterm.c: Don't include sys/types.h unconditionally. Don't
9043 protect its inclusion with !USG (following xmenu.c).
9044
ea055732
GM
90452000-06-23 Gerd Moellmann <gerd@gnu.org>
9046
9047 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9048 in x_create_frame.
9049
74b01b80
EZ
90502000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9051
9052 * coding.c (decode_eol_post_ccl): Special handling for undecided
9053 and inconsistent EOL types.
9054
64f3a166
GM
90552000-06-22 Gerd Moellmann <gerd@gnu.org>
9056
16cf31f7
GM
9057 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9058 trough color and main window's background color.
9059
52283633 9060 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9061
9062 * xterm.h (Xt_app_con): External declaration.
9063
9064 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9065
486a103d
GM
9066 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9067
64f3a166
GM
9068 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9069 (handle_invisible_prop): Record the start of invisible text in
9070 it->add_overlay_start.
9071 (struct overlay_entry): Add member `overlay'.
9072 (handle_overlay_change): Simplify.
9073 (next_overlay_string): After having processed overlay strings at the
9074 end of the buffer, record that fact in
9075 it->overlay_strings_at_end_processed_p.
9076 (compare_overlay_entries): If before- and after-strings come
9077 from the same overlay, let before-strings come first.
9078 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9079 (load_overlay_strings): Take it->add_overlay_start into account
9080 when adding overlay strings.
9081
9082 * dispextern.h (struct it): Add member add_overlay_start.
9083
bb746ea6
DL
90842000-06-22 Dave Love <fx@gnu.org>
9085
9086 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9087
9088 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9089
a8f573f3
KH
90902000-06-22 Kenichi Handa <handa@etl.go.jp>
9091
9092 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9093 is greater than 0.
9094
9f2bbc92
DL
90952000-06-21 Dave Love <fx@gnu.org>
9096
178c5d9c 9097 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9098
3ee5041c
SM
90992000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9100
9101 * syntax.c (back_comment): Simplify string-parity counting (with
9102 the added benefit of handling multiple string-styles as long as
9103 they are not intertwined).
9104 Jump to the slow code as soon as a comment starter is found in
9105 a "string_lossage" position. Fixes the case: " /* " /* " */.
9106
4c343001
DL
91072000-06-21 Dave Love <fx@gnu.org>
9108
9109 * Makefile.in: Use GETLOADAVG_LIBS.
9110
9111 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9112 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9113
e6365855
SM
91142000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9115
9116 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9117 (Fforward_comment, scan_lists):
9118 Check the comstyle of single-char comment-starters.
9119 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9120 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9121 Check the comstyle of single-char comment-starters.
9122 Clarify control-flow around the Scomment case.
e6365855 9123
5700d2cc
DL
91242000-06-20 Dave Love <fx@gnu.org>
9125
d355bd8a
SM
9126 * fns.c (make_hash_table, maybe_resize_hash_table):
9127 Cast arg of next_almost_prime.
5700d2cc 9128
178c5d9c 9129 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9130
9131 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9132 and unistd.h.
9133
4a27bdfb
GM
91342000-06-20 Gerd Moellmann <gerd@gnu.org>
9135
a61d762c 9136 * keyboard.c (adjust_point_for_property): Check if display
52283633 9137 property should be treated as intangible by looking at its value.
a61d762c 9138
178c5d9c 9139 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9140 (display_prop_intangible_p): New functions.
9141
9142 * dispextern.h (display_prop_intangible_p): Add prototype.
9143
9144 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9145
4a27bdfb
GM
9146 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9147 argument to sigprocmask.
9148
9149 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9150 argument to sigprocmask.
9151
9152 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9153 sigprocmask_set, and pass a pointer to it to sigprocmask.
9154
9155 * sysdep.c (sigprocmask_set): New variable.
9156
9157 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9158 report_file_error.
9159
427ec082
SS
91602000-06-20 Sam Steingold <sds@gnu.org>
9161
9162 * xrdb.c: Don't declare xmalloc, xrealloc.
9163
8972fe79 91642000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9165
9166 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9167 (re_comp): Cast gettext return value to avoid complaints when
9168 !HAVE_LIBINTL.
9169
074b6efe
DL
91702000-06-20 Dave Love <fx@gnu.org>
9171
52283633 9172 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9173
5700d2cc 9174 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9175
d355bd8a 9176 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9177
9178 * m/alpha.h: Don't declare xmalloc, xrealloc.
9179
0af4f205
DL
9180 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9181
9182 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9183
9184 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9185
9186 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9187 HAVE_GETWD.
9188
074b6efe
DL
9189 * keyboard.h (poll_for_input_1): Declare.
9190
9191 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9192
9193 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9194
9195 * doprnt.c: Don't declare xmalloc, xrealloc.
9196
9197 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9198 (getenv, ctime, getwd): Removed.
9199 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9200
9201 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9202 x_set_tool_bar_lines.
9203
9204 * config.in: Add HAVE_GETWD. Move some definitions above
9205 machine/system includes.
9206
68a5e97b
KH
92072000-06-20 Kenichi Handa <handa@etl.go.jp>
9208
95417e1e
KH
9209 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9210
68a5e97b
KH
9211 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9212 contain information about ENCODING.
9213
9214 * fontset.c (FONTSET_ASCII): Use the first element of char table
9215 for an ASCII font, not defalt slot.
9216 (fontset_ref_via_base): If FONTSET doesn't contain information for
9217 C, try the default fontset.
9218 (make_fontset): Don't copy the default fontset.
9219 (fontset_font_pattern): Likewise.
9220 (accumulate_font_info): If ELT is nil, use the corresponding
9221 element in the default fontset.
9222
3b4fa1b2
DL
92232000-06-19 Dave Love <fx@gnu.org>
9224
943e731c
DL
9225 * syntax.c (Fparse_partial_sexp): Doc fix.
9226
9227 * regex.h: Test PROTOTYPES as well as __STDC__.
9228
3b4fa1b2
DL
9229 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9230 errno, strerror. Put text after #endif in comment.
9231
52283633 9232 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9233
9234 * xterm.c (x_frame_of_widget): Likewise.
9235
cdf0357b
GM
92362000-06-19 Gerd Moellmann <gerd@gnu.org>
9237
9238 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9239 to Vfundamental_mode_abbrev_table.
9240
9241 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9242 bogus objects are marked. This slows down GC by ~80 percent, but
9243 it might be worth trying when debugging GC-related problems.
9244 This feature requires conservative stack marking to be enabled.
9245
9246 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9247 returns XLookupChars, reset `modifiers' to zero.
9248
998e9f8c
DL
92492000-06-19 Dave Love <fx@gnu.org>
9250
9251 * mktime.c: Unprotoized.
9252
18e21ce8 92532000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9254
9255 * data.c (set_internal): If variable is frame-local,
9256 store the new value immediately into the frame parameter alist.
9257
140c4ac6
KR
92582000-06-19 Ken Raeburn <raeburn@gnu.org>
9259
14358466
KR
9260 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9261 in the custom handler pointer.
9262
140c4ac6
KR
9263 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9264 value, or checks for CHAR_META can fail when Lisp_Object is a
9265 union type.
9266 * keymap.c (get_keyelt): Likewise.
9267
10d7bf84
KH
92682000-06-19 Kenichi Handa <handa@etl.go.jp>
9269
9270 * ccl.h (struct ccl_program): New member eol_type.
9271 (struct ccl_spec): New member cr_carryover.
9272
9273 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9274 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9275
9276 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9277 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9278 (decode_eol_post_ccl): New function.
9279 (decode_coding): Don't detect EOL format here for CCL based coding
9280 systems.
9281 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9282 decode_eol_post_ccl after running the CCL program.
9283 (code_convert_region): Don't detect EOL format here for CCL based
9284 coding systems.
9285 (decode_coding_string): Likewise.
9286
52e386c2
KR
92872000-06-18 Ken Raeburn <raeburn@gnu.org>
9288
9289 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9290 when treating it as an integer.
9291
9292 * coding.h (encode_coding_string): Declare.
9293
9294 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9295 it as an integer.
9296
9297 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9298 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9299 to be passed to get_local_map.
9300
9301 * sound.c (Fplay_sound): Don't call make_number on
9302 Frun_hook_with_args count argument.
9303
9304 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9305 for lisp objects in X event structure data field, when lisp
9306 objects are represented with unions.
9307 (x_scroll_bar_to_input_event): Ditto.
9308
b357b9d4
KR
93092000-06-16 Ken Raeburn <raeburn@gnu.org>
9310
9311 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9312 termination of string. Fix sense of test whether
9313 Vline_number_display_limit is an integer.
b357b9d4 9314
a871441d
GM
93152000-06-16 Gerd Moellmann <gerd@gnu.org>
9316
a9021acd
GM
9317 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9318 only if HAVE_X_WINDOWS.
9319
6344985d
GM
9320 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9321 of titles.
9322
427ec082 9323 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9324 out of bounds.
9325
228b083e
EZ
93262000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9327
9328 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9329 of its headers.
9330
c25b53a2
KH
93312000-06-15 Kenichi Handa <handa@etl.go.jp>
9332
9333 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9334 start of the while loop.
9335
a6981b11
GM
93362000-06-15 Gerd Moellmann <gerd@gnu.org>
9337
e9924e52
GM
9338 * atimer.c (alarm_signal_handler): Add forward declaration.
9339
a6981b11
GM
9340 * data.c (set_internal): Remove debug code.
9341
25fa6deb
GM
93422000-06-14 Gerd Moellmann <gerd@gnu.org>
9343
dce6b995
GM
9344 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9345
9f817ea4
GM
9346 * unexec.c (toplevel) [COFF]: Include coff.h.
9347
9348 * s/lynxos.h: New file.
9349
9350 * keymap.c (Fsingle_key_description): Enclose function key and
9351 event symbol names in angle brackets.
9352
8a4e3c0c
GM
9353 * xdisp.c (setup_echo_area_for_printing): Call
9354 message_log_maybe_newline if message_buf_print is not set.
9355
9356 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9357 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9358 function does something useful even when message_buf_print is
9359 already set.
9360
52283633
SM
9361 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9362 New variables.
25fa6deb
GM
9363 (ensure_echo_area_buffers): Initialize echo buffer's
9364 truncate lines setting to nil.
9365 (with_echo_area_buffer): Don't set the echo buffer's truncate
9366 lines setting here.
8a4e3c0c 9367 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9368 of message_truncate_lines.
9369 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9370 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9371 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9372
9373 * keyboard.c (read_char): Bind message-truncate-lines to t
9374 while displaying a help-echo.
9375
9376 * lisp.h (Qmessage_truncate_lines): External declaration.
9377
163dcff3
GM
93782000-06-13 Gerd Moellmann <gerd@gnu.org>
9379
1681ead6
GM
9380 * xdisp.c (Vline_number_display_limit): Renamed from
9381 line_number_display_limit.
9382 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9383 Extend documentation string. Initialize
9384 Vline_number_display_limit to nil meaning no limit.
9385 (decode_mode_spec): Use Vline_number_display_limit with its new
9386 meaning.
9387
163dcff3
GM
9388 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9389
18e21ce8 93902000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9391
9392 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9393
163dcff3
GM
9394 * xfns.c (x_set_frame_parameters): Comment fix.
9395
9396 * frame.c (store_frame_param): Call swap_in_global_binding if the
9397 variable's current binding was chosen based on this frame.
9398
9399 * data.c (swap_in_global_binding): New function.
9400
a704139d
EZ
94012000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9402
9403 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9404 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9405
9b6610db
EZ
94062000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9407
9408 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9409
c68833d2
JR
94102000-06-12 Jason Rumney <jasonr@gnu.org>
9411
9412 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9413
9414 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9415
9416 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9417
9418 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9419
ed1056b3
GM
94202000-06-12 Gerd Moellmann <gerd@gnu.org>
9421
9422 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9423 (syms_of_xfaces): Defsubr Sdump_colors.
9424 (x_free_colors): Don't treat b&w specially on default visual.
9425 (x_free_dpy_colors): New function.
9426 (free_face_colors): Don't check visual class; it's done
9427 in x_free_colors.
9428
9429 * xterm.c (x_frame_of_widget): New function.
9430 (x_alloc_nearest_color_for_widget): Use it.
9431 (x_copy_dpy_color): New function.
9432 (x_destroy_window): Free various colors.
9433
5050a2ef
KH
94342000-06-12 Kenichi Handa <handa@etl.go.jp>
9435
9436 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9437
9438 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9439
9440 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9441
9442 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9443
9444 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9445
fb1b041d
DL
94462000-06-11 Dave Love <fx@gnu.org>
9447
9448 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9449
ff96b5f4
EZ
94502000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9451
9452 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9453
db8eeecd
GM
94542000-06-11 Gerd Moellmann <gerd@gnu.org>
9455
ed1056b3 9456 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9457 to `XEvent *'.
9458
49b71c5f
KH
94592000-06-10 Kenichi Handa <handa@etl.go.jp>
9460
c479bd55
KH
9461 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9462 (regex_compile): Fix the code for handling the case of single byte
9463 char and multibyte char being mixed in a range within [...].
9464
ff6a65c2
KH
9465 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9466 and dst_multibyte members of coding.
9467
49b71c5f
KH
9468 * charset.c (update_charset_table): Update the table
9469 bytes_by_char_head.
9470 (init_charset_once): Initialize elements of bytes_by_char_head to
9471 1 except for leading codes for private charases.
9472
9473 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9474 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9475
9e80b57d
KR
94762000-06-09 Ken Raeburn <raeburn@gnu.org>
9477
9478 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9479 access the data it doesn't point to.
9480
f83fe4b4
GM
94812000-06-08 Gerd Moellmann <gerd@gnu.org>
9482
9483 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9484 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9485 event queue. This is necessary because Emacs otherwise won't
9486 perform a switch-frame to a new frame until some other event, for
9487 example a keystroke event, forces it to do so. This has various
9488 effects, one visible being that the cursor of a frame created with
9489 C-x 5 2 or switched to with a window manager key binding like
9490 A-TAB stays hollow because selected_window isn't on the newly
9491 focused frame until the switch-frame is performed.
9492
9493 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9494 generating a switch-frame event if necessary.
9495
9496 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9497
9498 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9499 it's an integer.
9500
0890801b
KH
95012000-06-08 Kenichi Handa <handa@etl.go.jp>
9502
52283633 9503 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9504
173cbca8
GM
95052000-06-07 Gerd Moellmann <gerd@gnu.org>
9506
3091c2a6
GM
9507 * window.c (displayed_window_lines): Take empty lines at
9508 the bottom of a window into account.
427ec082 9509
f38952fe
GM
9510 * window.c (displayed_window_lines): New function.
9511 (Fmove_to_window_line): Use displayed_window_lines to determine
9512 the number of lines to move, instead of using the window's height.
9513
9514 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9515 to stop reading, even if the form read sets point to a different
9516 value when evaluated.
9517
427ec082 9518 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9519 put the cursor.
9520
6ba6c818
KH
95212000-06-07 Kenichi Handa <handa@etl.go.jp>
9522
9523 * fileio.c (e_write): Free composition data if stored in
9524 coding->cmp_data.
9525
5f1aea9a
GM
95262000-06-06 Gerd Moellmann <gerd@gnu.org>
9527
666852af
GM
9528 * xdisp.c (display_line): Set row's and iterator's
9529 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9530 Set cursor even if row ends in the middle of a character.
9531 (dump_glyph_row): Print values of new flags.
9532 (redisplay_window) <cursor movement in unchanged window>: When
9533 point has been moved forward, and PT is at the end of the cursor
9534 row, don't place the cursor in the next row if the cursor row ends
9535 in the middle of a character or at ZV.
9536
9537 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9538 (struct glyph_row): Add starts_in_middle_of_char_p and
9539 ends_in_middle_of_char_p.
9540 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9541 ends_in_middle_of_char_p flag.
9542 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9543
d13f3e2e
GM
9544 * term.c (append_glyph): Revert change of 2000-06-06.
9545
9546 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9547 padding glyph not fitting on line as whole character not
9548 fitting on line.
9549
5f1aea9a
GM
9550 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9551 this isn't true for images with `:ascent 100'.
9552
10cda9b0
KH
95532000-06-06 Kenichi Handa <handa@etl.go.jp>
9554
ed00559d
KH
9555 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9556 as modified if it is originally unmodified.
9557
10cda9b0
KH
9558 * term.c (encode_terminal_code): Change the way to check if
9559 terminal coding does any conversion.
9560 (append_glyph): Set glyph->pixel_width correctly.
9561
9562 * xdisp.c (display_line): While checking line continuation, pay
9563 attention to a padding glyph.
9564
1969fae2
GM
95652000-06-05 Gerd Moellmann <gerd@gnu.org>
9566
9567 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9568
162ccef4
DL
95692000-06-05 Dave Love <fx@gnu.org>
9570
f19f32dd
DL
9571 * xdisp.c: Include fontset.h.
9572
9573 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9574
9575 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9576
9577 * dispnew.c: Conditionally include term.h.
9578
9579 * coding.h: Declare code_convert_string_norecord.
9580
9581 * frame.h (struct frame): Use volatile unconditionally.
9582
9583 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9584
9585 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9586
9587 * systime.h: Protect against multiple inclusion.
9588 (timezone) [USG5_4]: Define as time_t.
9589
9590 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9591 (Foptimize_char_table, make_temp_name): Declare.
9592
9593 * Makefile.in (xdisp.o): Depend on fontset.h.
9594
9595 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9596
9597 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9598 (Foptimize_char_table, make_temp_name): Declare.
9599
427ec082 9600 * s/irix4-0.h:
162ccef4
DL
9601 * s/irix5-0.h:
9602 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9603
2082fe81
DL
96042000-06-02 Dave Love <fx@gnu.org>
9605
9606 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9607
dcf671d2
GM
96082000-06-02 Gerd Moellmann <gerd@gnu.org>
9609
9610 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9611 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9612 be freed.
9613
9614 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9615 glyph, use the ASCII NUL character to determine the face.
9616
d42122a3
DL
96172000-06-02 Dave Love <fx@gnu.org>
9618
9619 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9620 (VFORK_RETURN_TYPE): Remove.
427ec082 9621
d42122a3
DL
9622 * config.in: Add NO_MATHERR.
9623
dd432f16
DL
96242000-06-01 Dave Love <fx@gnu.org>
9625
90aa4ea8
DL
9626 * cmds.c (internal_self_insert): Don't check
9627 Vbefore_change_function, Vafter_change_function.
9628
9629 * insdel.c (signal_before_change, signal_after_change): Likewise.
9630
9631 * buffer.c (Vbefore_change_function, Vafter_change_function):
9632 Variables and their initializations deleted.
9633
2330c9d4
DL
9634 * callint.c (Fcall_interactively): Doc fix.
9635
dd432f16
DL
9636 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9637
bf9e8804
DL
96382000-05-31 Dave Love <fx@gnu.org>
9639
9640 * textprop.c: Revert last change -- duplicated.
9641
3694b4ab
GM
96422000-05-31 Gerd Moellmann <gerd@gnu.org>
9643
9644 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9645 in #if 0.
9646
9647 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9648
f14156cd
JR
96492000-05-31 Jason Rumney <jasonr@gnu.org>
9650
8119aab8
JR
9651 * search.c (Fre_search_forward, Fre_search_backward)
9652 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9653
f14156cd
JR
9654 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9655
4aab9be3
JR
96562000-05-30 Jason Rumney <jasonr@gnu.org>
9657
9658 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9659 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9660
52283633 9661 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9662
9663 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9664 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9665 expand a nil default_filename.
9666
9667 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9668 pointer to glyph_to_pixel_coords, not a frame.
9669
9670 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9671 coding.h to dependencies.
9672
9673 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9674
9675 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9676 window pointer to be consistent with w32term.c and xterm.c.
9677
9678 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9679 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9680 (Qline_spacing, Qcenter): New variables.
9681 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9682 (x_set_line_spacing): New function.
52283633 9683 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9684 (x_specified_cursor_type): New function.
9685 (x_set_cursor_type): Use it.
9686 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9687 and icon strings.
9688 (validate_x_resource_name, x_get_resource_string): Measure lengths
9689 of external strings in bytes.
9690 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9691 GetTextExtentPoint32 with NULL title.
9692 (Fx_create_frame): Initialize Qline_spacing.
9693 (w32_load_system_font): Initialize font->double_byte_p.
9694 (x_to_w32_charset): Use Vw32_charset_info_alist.
9695 (Image, busy cursor, tooltip functions): Merged changes from
9696 xfns.c. Not yet functional on Windows.
9697
9698 * w32gui.h (W32FontStruct): Add double_byte_p member.
9699
9700 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9701 (emacs_button_translation): Use it.
9702 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9703 in `mask' to be set.
9704
9705 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9706 menu strings.
9707
9708 * w32term.c: Format and doc changes to bring closer to xterm.c.
9709 (w32_char_font_type): New enum.
9710 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9711 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9712 (w32_encode_char): New function.
9713 (x_encode_char): Removed.
9714 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9715 x_encode_char and w32_font_is_double_byte.
9716 (x_produce_image_glyph): Use image_ascent.
9717 (x_produce_glyphs): Use new version of w32_per_char_metric and
9718 handle NULL return value. Allow extra line spacing.
9719 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9720 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9721 w32_font_type member of glyph instead.
9722 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9723 (fast_find_position): Make sure not to consider rows not visible
9724 in the window.
9725 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9726 w32_menu_display_help with input blocked, as it can abort.
9727 (x_display_and_set_cursor): Choose cursor depending
9728 on buffer-local value of cursor_type.
9729 (x_draw_bar_cursor): Add parameter WIDTH.
9730
9731 * w32term.h (CP_DEFAULT): Define.
9732 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9733
10fc3187
GM
97342000-05-30 Gerd Moellmann <gerd@gnu.org>
9735
9736 * search.c (Fre_search_forward, Fre_search_backward)
9737 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9738
d0555360
KH
97392000-05-30 Kenichi Handa <handa@etl.go.jp>
9740
9741 * coding.c (detect_coding_iso2022): Fix code for checking
9742 CODING_CATEGORY_MASK_ISO_8_2.
9743
f1ad044f
SM
97442000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9745
9746 * regex.c (PREFETCH_NOLIMIT): New function.
9747 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9748
84ec3b4b
GM
97492000-05-29 Gerd Moellmann <gerd@gnu.org>
9750
66254a13
GM
9751 * syntax.c (find_defun_start): Move test for
9752 open_paren_in_column_0_is_defun_start outside of the loop.
9753
49e70dec
GM
9754 * xdisp.c (redisplay_window): Really switch buffers when
9755 displaying mode lines, and temporarily set selected_frame to the
9756 frame of the window that's redisplayed.
9757
84ec3b4b
GM
9758 * xfaces.c (free_realized_faces): Block/unblock input.
9759 (free_realized_multibyte_face): Ditto.
9760
869a3a14
DL
97612000-05-29 Dave Love <fx@gnu.org>
9762
9763 * textprop.c (Qkeymap): New variable.
9764 (syms_of_textprop): Intern it.
9765
9766 * keymap.c: Include intervals.h.
9767 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9768
9769 * Makefile.in (keymap.o): Depend on intervals.h.
9770
9771 * keyboard.c (menu_bar_items, tool_bar_items)
9772 (Fexecute_extended_command): Deal with `keymap' property.
9773 (read_key_sequence): Track map from `keymap' property as well as
9774 `local_map'.
9775
9776 * intervals.c (get_local_map): Extra arg to allow looking for
9777 `keymap' too.
9778
9779 * intervals.h (map_property): New enum.
9780 (get_local_map): Extra arg using it.
9781 (Qkeymap): Declare.
9782
84ec3b4b 9783 * lisp.h (get_local_map): Don't declare here.
869a3a14 9784
89d0c844
KH
97852000-05-29 Kenichi Handa <handa@etl.go.jp>
9786
9787 * Makefile.in (callproc.o): Depend on composite.h.
9788
9789 * callproc.c: Include composite.h.
9790 (Fcall_process): Handle composition correctly.
9791
9792 * coding.h (coding_allocate_composition_data): Extern it.
9793 (coding_restore_composition): Likewise.
9794
9795 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9796 yet allocated, finish decoding with result
9797 CODING_FINISH_INSUFFICIENT_CMP.
9798 (coding_allocate_composition_data): Make it non-static.
9799 (coding_restore_composition): Likewise.
9800
797a084a
EZ
98012000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9802
9803 * charset.c (syms_of_charset): Revert last change.
9804
cf872af5
EZ
98052000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9806
9807 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9808 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9809 Handa.
cf872af5 9810
5b1ae051
EZ
98112000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9812
9813 * charset.c (syms_of_charset): Set width of character sets
9814 eight-bit-control and eight-bit-graphic to 1 column.
9815
34ec9ebe
GM
98162000-05-26 Gerd Moellmann <gerd@gnu.org>
9817
9818 * config.in (HAVE_SPEED_T): New define.
9819
9820 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9821 `extern speed_t'.
9822
dd854dc2
DL
98232000-05-26 Dave Love <fx@gnu.org>
9824
9825 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9826
9827 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9828 (Fsubr_arity): New function.
9829 (syms_of_data): Install them.
9830
ba9f8f95
KH
98312000-05-26 Kenichi Handa <handa@etl.go.jp>
9832
0f3e0672
KH
9833 * charset.c (init_charset_once): Set the table bytes_by_char_head
9834 correctly.
9835
cebefb44
KH
9836 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9837 the default fontset to what Emacs uses by default.
0f3e0672
KH
9838 (check_registry_encoding): This function deleted.
9839 (Fset_fontset_font): Remove the adhoc condition for the default
9840 fontset. Allow cons in FONTNAME.
cebefb44 9841
0f3e0672
KH
9842 * fns.c (map_char_table): Ignore char-table entries for
9843 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9844
7a18af49
KR
98452000-05-25 Ken Raeburn <raeburn@gnu.org>
9846
9847 * emacs.c (main): Initialize keyboard syms before initializing
9848 window code, so face names are available.
9849
d2af47df
SM
98502000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9851
9852 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9853 of an anchor at the beginning of a shy-group.
9854
fc6a6a4e
GM
98552000-05-25 Gerd Moellmann <gerd@gnu.org>
9856
9857 * xdisp.c (handle_invisible_prop): Don't try to skip over
9858 invisible text if end of text is already reached.
9859
005f0d35
DL
98602000-05-25 Dave Love <fx@gnu.org>
9861
02513cdd
DL
9862 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9863
005f0d35
DL
9864 * coding.c (encode_eol): Add null statement after label.
9865
89f6ca4e
EZ
98662000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9867
9868 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9869 2000-05-20.
9870
a4e1759e
KH
98712000-05-25 Kenichi Handa <handa@etl.go.jp>
9872
9873 * ccl.c (ccl_driver): Fix previous change.
9874
eacfd7fe
KH
98752000-05-25 Kenichi Handa <handa@etl.go.jp>
9876
46ab33a9
KH
9877 * coding.c (run_pre_post_conversion_on_str): Set point to the
9878 beginning of buffer before calling coding->post_read_conversion.
9879 (decode_coding_string): Give correct args to
9880 run_pre_post_conversion_on_str.
9881 (encode_coding_string): Likewise.
9882
eacfd7fe
KH
9883 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9884 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9885 eight-bit-graphic correctly.
9886
f8569325
DL
98872000-05-24 Kenichi HANDA <handa@etl.go.jp>
9888
9889 * fileio.c (Finsert_file_contents): Even if a file is not found,
9890 execute codes for setting up coding system. Call
9891 after-insert-file-functions unconditionally.
9892
04545643
GM
98932000-05-24 Gerd Moellmann <gerd@gnu.org>
9894
9895 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9896 BSD_PGRPS are not defined.
9897
747d90ea
KH
98982000-05-24 Kenichi Handa <handa@etl.go.jp>
9899
9900 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9901 DESCRIPTION.
9902 (syms_of_charset): Avoid building same strings.
9903
716e3b88
GM
99042000-05-23 Gerd Moellmann <gerd@gnu.org>
9905
9906 * lread.c (Fload): Add a comment about the meaning of
9907 Vuser_init_file being t.
9908
9909 * puresize.h (BASE_PURESIZE): Increase to 675000.
9910
9911 * s/gnu-linux.h (setpgrp): Don't define it here because this
9912 prevents compilation on GNU/Linux systems with glib 2.2.
9913
9914 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9915 as setpgid.
427ec082 9916
9aeb39fa
EZ
99172000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9918
9919 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9920 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9921 version.
9922 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9923
29ced61b
KH
99242000-05-23 Kenichi Handa <handa@etl.go.jp>
9925
52283633 9926 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9927
3d80f24d
KH
9928 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9929
52283633 9930 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9931
29ced61b
KH
9932 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9933
d7e00792
KH
99342000-05-22 Kenichi Handa <handa@etl.go.jp>
9935
c9d80d38
KH
9936 * keyboard.c (read_char): Allow character codes 128..255 to be
9937 handled by input-method-function.
9938
d7e00792
KH
9939 * insdel.c (adjust_markers_for_replace): Fix previous change.
9940 (adjust_after_replace): If PREV_TEXT is nil, call
9941 adjust_markers_for_insert, not adjust_markers_for_replace.
9942
087121cc 99432000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9944
087121cc
GM
9945 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9946 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9947 [HAVE_GRANDPT]: Define.
9948 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9949
9950 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9951 like SYSV_PTYS.
9952
9953 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9954
9955 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9956
c9671f81
KH
99572000-05-20 Kenichi Handa <handa@etl.go.jp>
9958
9959 The following changes are to handle 8-bit characters in a
9960 multibyte buffer/string without facing with byte combining
9961 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9962 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9963
9964 * Makefile.in (fns.o): Depend on charset.h.
9965
9966 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9967 convert it to unibyte.
9968 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9969
9970 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9971 apparent char boundary.
9972 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9973 0x80..0x9F to/from multibyte form.
9974
9975 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9976 to unibyte.
9977
9978 * callproc.c (Fcall_process): Always encode an argument string if
9979 it is multibyte. Setup src_multibyte and dst_multibyte members of
9980 process_coding properly.
ce75fd23 9981
c9671f81
KH
9982 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9983 SPLIT_NON_ASCII_CHAR.
9984
9985 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9986 as is.
9987 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9988
52283633 9989 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9990 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9991 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9992 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9993 and eight-bit-graphic.
9994 (char_to_string): Likewise. Signal an error for too large
9995 character code.
9996 (char_printable_p): Return 0 for 8-bit characters.
9997 (update_charset_table): Update iso_charset_table only when a final
9998 character is non-negative.
9999 (find_charset_in_text): Renamed from find_charset_in_str.
10000 Arguments and return value changed. Callers changed.
10001 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10002 be -1 if CHARSET is used only internally.
10003 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10004 eight-bit-graphic.
10005 (Fcharset_after): Simplified.
10006 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10007 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10008 (multibyte_chars_in_text): Simplified by assuming there's no
10009 invalid multibyte sequence.
52283633
SM
10010 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10011 (str_as_unibyte): New functions.
10012 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10013 (init_charset_once): Initialization for
10014 LEADING_CODE_8_BIT_CONTROL.
10015 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10016 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10017 eight-bit-control and eight-bit-graphic.
10018
52283633
SM
10019 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10020 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10021 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10022 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10023 (CHARSET_REVERSE_CHARSET): Likewise.
10024 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10025 eight-bit-graphic.
10026 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10027 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10028 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10029 encounter an invalid multibyte sequence.
10030 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10031 sequence is always valid.
10032 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10033 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10034 (CHAR_STRING): For 8-bit characters, call char_to_string.
10035 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10036 multibyte sequence is always valid.
10037 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10038 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10039 (str_as_unibyte): Extern them.
c9671f81 10040 (BCOPY_SHORT): Fix a bug.
52283633 10041 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10042 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10043 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10044 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10045
bd4bde7f 10046 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10047 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10048 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10049 (EMIT_BYTES): New macros.
10050 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10051 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10052 macros deleted.
10053 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10054 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10055 check the validity of multibyte sequence.
10056 (decode_coding_emacs_mule): New function.
10057 (encode_coding_emacs_mule): New macro.
10058 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10059 the source.
10060 (DECODE_ISO_CHARACTER): Just return a character code.
10061 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10062 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10063 EMIT_CHAR to produced decoded characters. Exit the loop only by
10064 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10065 block here.
10066 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10067 only position codes for an invalid character.
10068 (encode_designation_at_bol): Return new destination pointer. 5th
10069 arg DSTP is changed to DST.
10070 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10071 from the source by ONE_MORE_CHAR. Don't handle the case of last
10072 block here.
10073 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10074 macros deleted.
52283633
SM
10075 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10076 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10077 TWO_MORE_BYTES to fetch a byte from the source.
10078 (encode_eol): Pay attention to coding->src_multibyte.
10079 (detect_coding, detect_eol): Preserve members src_multibyte and
10080 dst_multibyte.
10081 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10082 (encoding_buffer_size): Set magnification to 3 for all coding
10083 systems that require encoding.
10084 (ccl_coding_driver): For decoding, be sure that the result is
10085 valid multibyte sequence.
10086 (decode_coding): Initialize coding->errors and coding->result.
10087 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10088 and raw-text, always call decode_eol. Handle the case of last
10089 block here. If not coding->dst_multibyte, convert the resulting
10090 sequence to unibyte.
10091 (encode_coding): Initialize coding->errors and coding->result.
10092 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10093 and raw-text, always call encode_eol. Handle the case of last
10094 block here.
10095 (shrink_decoding_region, shrink_encoding_region): Detect cases
10096 that we can't skip data more rigidly.
10097 (code_convert_region): Setup src_multibyte and dst_multibyte
10098 members of coding. For decoding, if the buffer is multibyte,
10099 convert the source sequence to unibyte in advance. For encoding,
10100 if the buffer is multibyte, convert the resulting sequence to
10101 multibyte afterward.
10102 (run_pre_post_conversion_on_str): New function.
10103 (code_convert_string): Deleted and divided into the following two.
10104 (decode_coding_string, encode_coding_string): New functions.
10105 (code_convert_string1, code_convert_string_norecord): Call one of
10106 above.
10107 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10108 MAKE_NON_ASCII_CHAR.
52283633
SM
10109 (Fset_terminal_coding_system_internal)
10110 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10111 and dst_multibyte members.
10112 (init_coding_once): Initialize iso_code_class with new enum
10113 ISO_control_0 and ISO_control_1.
10114
10115 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10116 devided into ISO_control_0 and ISO_control_1.
10117 (struct coding_system): New members src_multibyte, dst_multibyte,
10118 errors, and result. Delete member fake_multibyte.
10119 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10120 nonzero.
10121 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10122 nonzero.
10123
10124 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10125 (Faset): Likewise.
10126
10127 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10128 multibyte form.
10129 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10130 combining occurs.
10131 (Ftranspose_region): Delete codes for handling byte combining.
10132
10133 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10134 dst_multibyte members of coding. On handling REPLACE on unibyte
10135 buffer, convert the result of decode_coding to unibyte. On
10136 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10137 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10138 multibyteness of the source (buffer or string).
10139
10140 * fns.c (concat): Handle 8-bit characters correctly.
10141 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10142 unibyte in the result.
10143 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10144 valid multibyte form in the result.
10145 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10146 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10147 return -1, signal an error.
10148 (base64_encode_1): New arg MULTIBYTE. Get each character by
10149 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10150 character is found, return -1.
10151 (Fbase64_decode_region): Delete codes for handling byte-combining.
10152 Treat each decoded byte as a unibyte character.
10153 (Fbase64_decode_string): Return unibyte string.
10154 (Fcompare_strings, concat, string_byte_to_char): Use
10155 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10156 FETCH_STRING_CHAR_ADVANCE.
10157 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10158 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10159
10160 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10161 SPLIT_NON_ASCII_CHAR.
10162 (fontset_ref_via_base, fontset_set): Likewise
10163
10164 * insdel.c (adjust_markers_for_record_delete): Deleted.
10165 (adjust_markers_for_insert): Argument changed. Caller changed.
10166 (adjust_markers_for_replace): Likewise.
52283633
SM
10167 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10168 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10169 (copy_text): Delete unused local varialbe c_save. For converting
10170 to multibyte, be sure to make all 8-bit characters in valid
10171 multibyte form.
10172 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10173 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10174 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10175 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10176 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10177 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10178 handling byte combining.
10179 (adjust_before_replace): Deleted.
427ec082 10180
c9671f81
KH
10181 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10182 SPLIT_NON_ASCII_CHAR.
10183 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10184 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10185 (Fkey_description): Likewise.
10186
10187 * lread.c (read1): On reading multibyte string, be sure to make
10188 all 8-bit chararacters in valid multibyte form.
10189 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10190
10191 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10192 unconditionally.
10193
10194 * process.c (Fstart_process): GCPRO current_dir before calling
10195 Ffind_operation_coding_system. Encode arguments here.
10196 (create_process): Don't encode arguments here. Setup
10197 src_multibyte and dst_multibyte members of struct coding.
10198 (read_process_output): Setup src_multibyte and dst_multibyte
10199 members of struct coding. If the output is to multibyte buffer,
10200 always decode the output of the process. Adjust the
52283633 10201 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10202 (send_process): Setup coding->src_multibyte according to the
10203 multibyteness of the source.
10204
52283633 10205 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10206 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10207 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10208
52283633 10209 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10210
10211 * w16select.c (Fw16_set_clipboard_data): Setup members
10212 src_multibyte and dst_multibyte of coding. Adjusted for the
10213 change for find_charset_in_str.
10214 (Fw16_get_clipboard_data): Likewise.
10215
10216 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10217 dst_multibyte of coding.
10218 (x_to_w32_font): Likewise.
10219
10220 * w32select.c (Fw32_set_clipboard_data): Setup members
10221 src_multibyte and dst_multibyte of coding. Adjusted for the
10222 change for find_charset_in_str.
10223 (Fw32_get_clipboard_data): Likewise.
10224
10225 * xdisp.c (get_next_display_element): Handle 8-bit characters
10226 correctly.
52283633
SM
10227 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10228 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10229
10230 * xselect.c (selection_data_to_lisp_data): Setup members
10231 src_multibyte and dst_multibyte of coding. Adjusted for the
10232 change for find_charset_in_str.
10233 (lisp_data_to_selection_data): Likewise.
10234
5f64c9e0
GM
102352000-05-19 Gerd Moellmann <gerd@gnu.org>
10236
52283633 10237 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10238
5f64c9e0
GM
10239 * dispextern.h (Vimage_types): Add extern declaration.
10240
10241 * xdisp.c (Vimage_types): Moved here from xfns.c.
10242 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10243
10244 * xfns.c (Vimages_types): Moved to xdisp.c.
10245 (syms_of_xfns): Move `image-types' to xdisp.c.
10246
10247 * w32fns.c (Vimage_types): Removed.
10248 (syms_of_w32fns): Remove `image-types'.
10249
813086ea
KH
102502000-05-18 Kenichi Handa <handa@etl.go.jp>
10251
10252 * fns.c (map_char_table): Pay attention to character number of
10253 charset. Check the validity of charset at the first level. For
10254 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10255 the default value.
10256
10257 * fontset.c: Include "buffer.h".
10258 (fs_load_font): If the face has fontset, record the face ID in
10259 that fontset.
10260 (Finternal_char_font): New function.
10261 (accumulate_font_info): New function.
10262 (Ffontset_info): Rewritten for the new fontset implementation.
10263 (syms_of_fontset): Register Vdefault_fontset in the first element
10264 of Vfontset_table. Include Vdefault_fontset in
10265 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10266 function.
10267
bdaebbf0
DL
102682000-05-16 Dave Love <fx@gnu.org>
10269
10270 * m/iris5d.h: Deleted -- unused.
10271
cb613bb8
GM
102722000-05-16 Gerd Moellmann <gerd@gnu.org>
10273
b15f3b77
GM
10274 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10275 `invalid' instead of `illegal'.
10276
10277 * indent.c (Fmove_to_column): When ending within a tab, insert
10278 spaces first so that markers at the end of the tab get adjusted.
10279
835c1b36
GM
10280 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10281 buffer list that wasn't selected in that frame.
10282
cb613bb8
GM
10283 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10284 is needed on mescaline, use a 2 char prefix, and call
10285 make_temp_name with second arg non-zero.
10286
10287 * fileio.c (make_temp_name): New function, extracted from
10288 Fmake_temp_name.
10289 (Fmake_temp_name): Use it.
10290
f685bea9
EZ
102912000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10292
52283633 10293 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10294
a1b8d58b
GM
102952000-05-15 Gerd Moellmann <gerd@gnu.org>
10296
10297 * Makefile.in (lisp): Add env.elc.
10298
10299 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10300
a265079f
GM
103012000-05-12 Gerd Moellmann <gerd@gnu.org>
10302
10303 * search.c (Freplace_match): Handle case of `\N' in the
10304 replacement when there's no group N.
10305
da4496b6
GM
103062000-05-11 Gerd Moellmann <gerd@gnu.org>
10307
0ace421a
GM
10308 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10309 of the message to message_dolog.
10310
1172eb8d
GM
10311 * keyboard.c (read_char): Don't clear current message for help
10312 events; let the code handling help events handle this. Change
10313 code detecting help events that should be ignored.
10314
da4496b6
GM
10315 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10316 we're interating over a string.
10317
0623e40f
DL
103182000-05-09 Dave Love <fx@gnu.org>
10319
10320 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10321 that offset before writing. Move gcpro region past call of
10322 Ffile_regular_p.
10323
bae2503b
DL
103242000-05-04 Dave Love <fx@gnu.org>
10325
10326 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10327
ec82fb2f
GM
103282000-05-04 Gerd Moellmann <gerd@gnu.org>
10329
10330 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10331 of inserted characters when BUF equals the current buffer, and PT
10332 is in front of or equal to FROM.
10333
cbf18892
GM
103342000-05-03 Gerd Moellmann <gerd@gnu.org>
10335
4ff40dd0
GM
10336 * xdisp.c (handle_single_display_prop): If display property value
10337 is invalid, or something not supported on the frame, restore
10338 iterator's position to what it was initially. Make sure to return
10339 0 for invalid and unsupported property values.
10340
cbf18892
GM
10341 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10342 that x_per_char_metric returns null.
10343
1b0672c3
GM
103442000-05-02 Gerd Moellmann <gerd@gnu.org>
10345
576da55d
GM
10346 * xterm.h (struct face): Add forward declaration.
10347 (struct image): Ditto.
10348 (image_ascent): Add prototype.
10349
10350 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10351 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10352 image_ascent instead of using IMAGE_ASCENT.
10353
10354 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10355 (IMAGE_ASCENT): Removed.
10356
10357 * xfns.c (Qcenter): New variable.
10358 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10359 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10360 (image_ascent): New function.
10361 (lookup_image): Recognize `:ascent center'.
10362 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10363 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10364 (xbm_load): Don't set image's ascent here.
10365 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10366 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10367 check ascent values here.
10368 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10369 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10370 (syms_of_xfns): Initialize Qcenter.
10371
1b0672c3
GM
10372 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10373 to the limits, increase the limits.
10374
0d7811ed
KH
103752000-05-01 Kenichi Handa <handa@etl.go.jp>
10376
10377 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10378 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10379
a943a5ca
GM
103802000-04-28 Gerd Moellmann <gerd@gnu.org>
10381
10382 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10383 taller than the window.
10384
5dba1e29
KH
103852000-04-28 Kenichi Handa <handa@etl.go.jp>
10386
10387 * xfaces.c (realize_x_face): Fix the argument of the second
10388 xassert. BASE_FACE may not be a face for ASCII.
10389
353964e3
GM
103902000-04-27 Gerd Moellmann <gerd@gnu.org>
10391
c76e04a8
GM
10392 * print.c (print_object): Treat print-length < 0 as nil.
10393
10394 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10395
10396 * s/freebsd.h (TERMCAP_OBJ): Removed.
10397 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10398
10399 * lread.c (read1): Don't treat period followed by certain
10400 characters as symbol start.
10401
10402 * xfns.c (slurp_file): New function.
10403 (xbm_image_p): Handle case of in-memory XBM files.
10404 (xbm_scan): Rewritten to work on memory buffers instead of files.
10405 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10406 Work on memory buffers instead of files. If DATA is null test
10407 if buffer looks like an in-memory XBM file.
10408 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10409 memory buffers instead of files.
10410 (xbm_file_p): New function.
10411 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10412
353964e3
GM
10413 * lread.c (end_of_file_error): New function.
10414 (read1): Call it instead of signaling `end-of-file' directly.
10415
427ec082 10416 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10417 with Fprinc instead of Fprin1.
10418
24d744ac
KR
104192000-04-26 Ken Raeburn <raeburn@gnu.org>
10420
10421 * window.c (freeze_window_start): Check that minibuffer scroll
10422 window isn't nil before extracting the window structure pointer
10423 from it.
10424
10425 * undo.c (record_delete): If we hit the end of the undo list, stop
10426 picking elements apart.
10427
7464346d
GM
104282000-04-26 Gerd Moellmann <gerd@gnu.org>
10429
10430 * xdisp.c (display_line): If lines are continued, restore
10431 iterator's ascent/descent information to the values before the
10432 first glyph not fitting on the line.
10433
612839b6
GM
104342000-04-25 Gerd Moellmann <gerd@gnu.org>
10435
10436 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10437 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10438
10439 * dispnew.c (increment_matrix_positions): Renamed from
10440 increment_glyph_matrix_buffer_positions.
10441 (increment_row_positions): Renamed from
10442 increment_glyph_row_buffer_positions.
10443
10444 * dispextern.h: Change names of renamed functions from dispnew.c
10445 in prototypes.
10446
cc181e95
GM
104472000-04-24 Gerd Moellmann <gerd@gnu.org>
10448
abfcc168
GM
10449 * fileio.c (Fdo_auto_save): Create directories for auto-save
10450 list file if necessary.
10451
cc181e95
GM
10452 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10453 from buffer or frame.
10454 (automatic_hscrolling_p): New variable.
10455 (hscroll_windows): Scroll windows horizontally only if automatic
10456 hscrolling is allowed.
10457 (syms_of_xdisp): New variable `automatic-hscrolling'.
10458
10459 * frame.h (struct frame): Add member extra_line_spacing.
10460
10461 * xfns.c (x_set_line_spacing): New function.
10462 (Fx_create_frame): Set line spacing from resources.
10463 (Qline_spacing): New variable.
10464 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10465
cc181e95
GM
10466 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10467
10468 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10469 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10470 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10471 extra_line_spacing from default value.
10472 (init_buffer_once): Initialize default value of extra_line_spacing.
10473
10474 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10475 and extra3.
10476
10477 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10478 prompt_width. Add extra line spacing.
10479
10480 * term.c (produce_glyphs): Remove reference to struct it's
10481 prompt_width.
10482
10483 * dispextern.h (struct it): Remove member prompt_width, add
10484 extra_line_spacing.
10485
58827478
GM
104862000-04-22 Gerd Moellmann <gerd@gnu.org>
10487
10488 * dispnew.c (update_frame_line): When writing a whole line, make
10489 sure cursor is in the right row afterwards, otherwise a use of
10490 capability `ch' in cmgoto might leave the cursor in the row below.
10491
25a87f42
GM
104922000-04-21 Gerd Moellmann <gerd@gnu.org>
10493
10494 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10495
10496 * keyboard.c (timer_check): Fix typo in comment.
10497
54edf5c2
KH
104982000-04-21 Kenichi Handa <handa@etl.go.jp>
10499
10500 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10501 name change: ch -> character.
10502
3a64eef5
GM
105032000-04-20 Gerd Moellmann <gerd@gnu.org>
10504
10505 * keyboard.c (echo_message_buffer): New variable.
10506 (echo_now): Set echo_message_buffer to the echo area buffer used
10507 to display the echo.
10508 (cancel_echoing): Reset echo_message_buffer to nil.
10509 (read_char): Code rewritten that handles canceling an echo or
10510 echoing a dash, respectively.
10511
10512 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10513 directory doesn't exist.
10514
6142fdcb
DL
105152000-04-19 Dave Love <fx@gnu.org>
10516
10517 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10518 (concat): Don't allow numeric args.
10519 (Fconcat): Doc change.
6142fdcb 10520
ac6b5352
SM
105212000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10522
10523 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10524 instead define end_match(1|2) more carefully.
10525 Use GET_CHAR_BEFORE_2 for `begline'.
10526
cb9215e4
GM
105272000-04-19 Gerd Moellmann <gerd@gnu.org>
10528
5e3dac3f
GM
10529 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10530 on 64-bit systems where NULL is defined as `0'.
10531
10532 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10533 the `variable argument list' to make it work on Alpha.
10534
cb9215e4
GM
10535 * m/alpha.h (_LP64) [!_LP64]: Define.
10536 (ORDINARY_LINK): Define for NetBSD.
10537
10538 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10539
f532dca0
DL
105402000-04-19 Dave Love <fx@gnu.org>
10541
c750667e
DL
10542 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10543 change.
10544
10545 * Makefile.in (LIBS): Don't use.
10546 (GETLOADAVG_OBJ): Define again.
10547 (otherobj): Add GETLOADAVG_OBJ.
10548
f532dca0
DL
10549 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10550
1c7e22fd
GM
105512000-04-18 Gerd Moellmann <gerd@gnu.org>
10552
f6d3257b
GM
10553 * lread.c (read_filtered_event): Cancel and start busy cursor.
10554
427ec082 10555 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10556 that the per-character metrics may be null.
10557
e10f64e7
GM
105582000-04-17 Gerd Moellmann <gerd@gnu.org>
10559
0daee095
GM
10560 * buffer.c (clone_per_buffer_values): New function.
10561 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10562 clone_per_buffer_values if CLONE is not nil.
10563
e10f64e7
GM
10564 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10565
38687d43
DL
105662000-04-16 Dave Love <fx@gnu.org>
10567
10568 * Makefile.in: Remove obsolete localcpp stuff.
10569 (GETLOADAVG_OBJ): Don't define.
10570 (obj): Move LIBOBJS...
10571 (otherobj): ... to here.
10572 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10573 whitespace-only lines after the continuation (Irix).
10574
c21c7262
GM
105752000-04-14 Gerd Moellmann <gerd@gnu.org>
10576
10577 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10578
10579 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10580
314767c0
DL
105812000-04-14 Dave Love <fx@gnu.org>
10582
10583 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10584 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10585 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10586 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10587 NLIST_STRUCT.
10588
10589 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10590 autoconfiscated HAVE_GETLOADAVG.
10591
10592 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10593 BROKEN_MKTIME.
10594
a2522dca
GM
105952000-04-14 Gerd Moellmann <gerd@gnu.org>
10596
10597 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10598 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10599
33744b5d
DL
106002000-04-14 Dave Love <fx@gnu.org>
10601
c21c7262 10602 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10603 (INTERVAL_SRC): Convert to make variable.
10604 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10605 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10606 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10607 add LIBOBJS.
10608 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10609 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10610 (shortlisp): Add facemenu, float-sup, frame.
10611 (SOME_MACHINE_LISP): Remove them from here.
10612 (LIBES): Change unused LDLIBS to autoconf LIBS.
10613
10614 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10615
9d3d5916
KH
106162000-04-14 Kenichi Handa <handa@etl.go.jp>
10617
10618 * composite.c (update_compositions): If FROM and TO are not in a
10619 valid range, do nothing.
10620
198e3c7a
GM
106212000-04-13 Gerd Moellmann <gerd@gnu.org>
10622
52283633 10623 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10624
52283633 10625 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10626
10627 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10628 as TERMCAP_OBJ.
10629
055a28c9
EZ
106302000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10631
10632 * fileio.c (a_write): Remove redundant semi-colons.
10633 (e_write): Return -1 if failed to write all the data.
10634 This fixes the changes made at 1999-12-15.
10635
f5c75033
DL
106362000-04-12 Dave Love <fx@gnu.org>
10637
10638 * fns.c (mapcar1): Test for null vals to support mapc.
10639 (Fmapc): New function.
10640
0c3cfc51
EZ
106412000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10642
10643 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10644 (IT_frame_up_to_date): Support the buffer local value of
10645 cursor-type, if defined.
10646
33465a31
DL
106472000-04-10 Dave Love <fx@gnu.org>
10648
10649 * editfns.c (preceding-char, following-char): Doc fix.
10650
6ed56568
KR
106512000-04-10 Ken Raeburn <raeburn@gnu.org>
10652
10653 * Makefile.in (temacs): Revert 2000-03-12 change.
10654
7cf80d4e
JR
106552000-04-10 Jason Rumney <jasonr@gnu.org>
10656
10657 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10658
34f3f342
GM
106592000-04-10 Gerd Moellmann <gerd@gnu.org>
10660
1a1b1895
GM
10661 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10662 area buffer, if it's not set up yet.
10663
34f3f342
GM
10664 * indent.c (compute_motion): Set immediate_quit.
10665
be0dbdab
GM
106662000-04-09 Gerd Moellmann <gerd@gnu.org>
10667
52283633 10668 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10669 (realize_tty_face): Suppress boldness if colors are the inverse of
10670 the default colors, and tty_suppress_bold_inverse_default_colors_p
10671 is set.
10672 (Ftty_suppress_bold_inverse_default_colors): New function.
10673 (syms_of_xfaces): Defsubr it.
10674
be0dbdab
GM
10675 * buffer.c (Frestore_buffer_modified_p): New function.
10676 (syms_of_buffer): Defsubr it.
10677
e8413c3b
KR
106782000-04-08 Ken Raeburn <raeburn@gnu.org>
10679
87f67317
KR
10680 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10681 charset id (int) argument, not a charset (Lisp_Object).
10682
e8413c3b
KR
10683 * coding.h (code_convert_string): Declare.
10684 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10685 object, as the fourth argument to code_convert_string.
10686
52283633 10687 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10688 (Fset_fontset_font): Use EQ to compare lisp objects.
10689
7c752c80
KR
106902000-04-05 Ken Raeburn <raeburn@gnu.org>
10691
c0333abc
KR
10692 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10693 a pointer that looks like a lisp object.
10694 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10695 zero, instead see whether it's an integer object, since they can't
10696 have intervals.
10697 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10698
52283633
SM
10699 * dispnew.c (allocate_matrices_for_frame_redisplay)
10700 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10701 to convert between (unsigned) int values and lisp integers.
10702 * keyboard.c (read_key_sequence): Likewise.
10703 * lread.c (substitute_object_recurse): Likewise.
10704 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10705 * minibuf.c (do_completion, Fminibuffer_complete_word)
10706 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10707 * term.c (produce_special_glyphs): Likewise.
10708
10709 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10710 * print.c (print_preprocess, print_object): Likewise.
10711
10712 * search.c (compile_pattern): Use NILP when checking for nil.
10713
74e49b38
KR
10714 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10715 __OPTIMIZE__]: Provide a GNU C macro version that handles
10716 lisp-object unions.
10717 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10718 field, to better cope with ENABLE_CHECKING and calls that modify a
10719 Lisp_Object using its old value.
10720
685e5ed2
GM
107212000-04-04 Gerd Moellmann <gerd@gnu.org>
10722
c407c570
GM
10723 * window.c (compare_window_configurations): Signal an error
10724 if parameters C1 or C2 aren't window configurations.
10725
685e5ed2
GM
10726 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10727 AFTER_POTENTIAL_GC calls around calls to functions that can
10728 signal an error and thus invoke the debugger.
10729
587a49ab
GM
107302000-04-03 Gerd Moellmann <gerd@gnu.org>
10731
62f20204
GM
10732 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10733 an error if decoding fails.
10734
587a49ab
GM
10735 * keyboard.c (lispy_mouse_names): Variable removed.
10736 (Vlispy_mouse_stem): New variable.
10737 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10738 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10739 for any mouse button number. Increase size of mouse_syms and
10740 button_down_location as needed. Call modify_event_symbol with
10741 different arguments.
10742 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10743 Call modify_event_symbol with different arguments.
10744 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10745 for any button number. Call modify_event_symbol with different
10746 arguments.
10747 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10748 Accept a string for NAME_ALIST_OR_STEM.
10749
10750 * lisp.h (larger_vector): Add prototype.
10751
10752 * fns.c (larger_vector): Make externally visible.
10753
10754 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10755
2d1675e4
SM
107562000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10757
10758 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10759 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10760 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10761 we are between str1 and str2.
10762 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10763 (PATFETCH): Use `TRANSLATE'.
10764 (PATFETCH_RAW): Fetch multibyte char if applicable.
10765 (PATUNFETCH): Remove.
10766 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10767 When writing a char, write it directly into the pattern buffer rather
10768 than going needlessly through a temp char-array.
10769 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10770 multibyte magic and remove the useless `#ifdef emacs'.
10771 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10772 buffer.
10773
10774 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10775 conditional on `emacs'.
10776
10777 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10778
cc2d8c6b
KR
107792000-04-01 Ken Raeburn <raeburn@gnu.org>
10780
10781 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10782 non-union-type versions of XMARK and friends here, because XMARK
10783 and friends won't work on an integer field if NO_UNION_TYPE is not
10784 defined.
52283633 10785 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10786
52283633 10787 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10788 (syms_of_composite): Delete local var NARGS, pass an int as first
10789 argument to Fmake_hash_table.
10790
2387b382
KR
10791 * editfns.c (text_property_stickiness): Use NILP to test
10792 Lisp_Object boolean value.
10793 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10794 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10795 problems reading from and changing the same lisp value in an
10796 XSETSTRING call.
10797
27660e89
GM
107982000-04-01 Gerd Moellmann <gerd@gnu.org>
10799
10800 * term.c (TN_no_color_video): New variable.
10801 (term_init): Intitialize TN_no_color_video.
10802 (enum no_color_bit): New enumeration.
10803 (MAY_USE_WITH_COLORS_P): New macro.
10804 (turn_on_face): Use it to determine if attributes may be used
10805 combined with colors.
10806
3578db3c
KR
108072000-04-01 Ken Raeburn <raeburn@gnu.org>
10808
10809 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10810 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10811 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10812 proper accessor macros.
10813 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10814 (grow_mini_window): Fix typo getting int value of root->height.
10815
6fc556fd
KR
10816 * xdisp.c (compute_string_pos): Fix order of arguments to
10817 string_pos_nchars_ahead.
10818 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10819 count arg to variable-arg routines like Frun_hook_with_args and
10820 Fformat.
587a49ab
GM
10821 (back_to_previous_visible_line_start)
10822 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10823 fixed-arg routines like Fget_char_property and Fmake_string.
10824 (reconsider_clip_changes): Use XINT when comparing integer lisp
10825 objects, or passing them as int arguments.
587a49ab
GM
10826 (mark_window_display_accurate, insert_left_trunc_glyphs)
10827 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10828 storing or passing integer values as lisp objects.
10829 (set_cursor_from_row, highlight_trailing_whitespace): Use
10830 INTEGERP, not implicit test against zero, for glyph object.
10831 (try_window_id): Don't use make_number when we want an int value.
10832
10833 * xfaces.c (xlfd_symbolic_value): Make last argument a
10834 Lisp_Object, to be consistent with callers.
10835 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10836 (lface_hash): Apply XFASTINT to lisp values before folding in.
10837
10838 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10839 fill in window width and height. Pass an int, not a lisp object,
10840 as first arg to Finsert.
10841
6e7b2457
GM
108422000-04-01 Gerd Moellmann <gerd@gnu.org>
10843
610d841e
GM
10844 * xfaces.c (realize_basic_faces): Block input while realizing
10845 the faces.
10846
6e7b2457
GM
10847 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10848
10849 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10850
aa110c0c
GM
108512000-03-31 Gerd Moellmann <gerd@gnu.org>
10852
10853 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10854 or ASCII, handle case that per-char metric is null.
aa110c0c 10855
8801a864
KR
108562000-03-30 Ken Raeburn <raeburn@gnu.org>
10857
c6129d7e
KR
10858 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10859
52283633
SM
10860 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10861 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10862 pointer, using eassert.
10863 * frame.h (XFRAME): Likewise.
10864
52283633
SM
10865 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10866 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10867 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10868 * data.c (set_internal): Likewise.
52283633
SM
10869 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10870 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10871 * fileio.c (auto_save_1): Likewise.
10872 * insdel.c (check_markers): Likewise.
10873 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10874 * undo.c (record_insert): Likewise.
10875 * vmsproc.c (child_sig): Likewise.
10876 * window.c (unshow_buffer, window_loop): Likewise.
10877 * xterm.c (x_erase_phys_cursor): Likewise.
10878
8e7af858
GM
108792000-03-30 Gerd Moellmann <gerd@gnu.org>
10880
10881 * xfns.c (free_image_cache): Free the cache structure itself
10882 last, after all its members have been freed.
10883
10884 * lisp.h (xstrdup): Add prototype.
10885
10886 * alloc.c (xstrdup): Moved here from xfaces.c.
10887 (allocating_for_lisp): Variable removed.
52283633 10888 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10889
10890 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10891 of Fsymbol_value.
10892 (xstrdup): Moved to alloc.c.
10893
e0b8c689
KR
108942000-03-29 Ken Raeburn <raeburn@gnu.org>
10895
b96f9fb7
KR
10896 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10897
10898 * emacs.c (main): Fix sense of no-loadup test.
10899
e0b8c689
KR
10900 * config.in (ENABLE_CHECKING): Undef.
10901
10902 * lisp.h (struct interval): Replace "parent" field with a union of
10903 interval pointer and Lisp_Object; add new bitfield to use as
10904 discriminant. Change other flag fields to bitfields.
10905 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10906 is defined and the supplied test fails, print a message and abort.
10907 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10908
10909 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10910 pointers; abort if the value looks like a lisp object.
52283633
SM
10911 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10912 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10913 Modify for new interval parent definition.
10914
52283633
SM
10915 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10916 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10917 addressable lisp object in the interval structure.
10918 (die): New function.
10919 (suppress_checking): New variable.
10920
10921 * intervals.c (interval_start_pos): Just return 0 if there's no
10922 parent object.
10923
f83c5440
GM
109242000-03-29 Gerd Moellmann <gerd@gnu.org>
10925
10926 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10927 and earlier Emacs versions.
10928
10929 * keyboard.c (Ftop_level): Cancel busy-cursor.
10930
10931 * eval.c (call_debugger): Cancel busy-cursor.
10932
fdce64ff
KH
109332000-03-29 Kenichi Handa <handa@etl.go.jp>
10934
10935 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10936 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10937
f6a3f532
SM
109382000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10939
10940 * regex.c (analyse_first): New function obtained by ripping out most
10941 of re_compile_fastmap and generalizing it a little bit so that it
10942 can also just return whether a given (sub)pattern can match the empty
10943 string or not.
10944 (regex_compile): Use `analyse_first' to decide whether the loop-check
10945 needs to be done or not for *, +, *? and +? (the loop check is costly
10946 for non-greedy repetition).
10947 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10948
e9b309ac
DL
109492000-03-28 Dave Love <fx@gnu.org>
10950
52283633 10951 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10952
e9b309ac
DL
10953 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10954
ed0767d8
SM
109552000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10956
10957 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10958 an expression.
10959 (enum re_opcode_t): Update description of succeed_n.
10960 (PATFETCH): Always define.
10961 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10962 operators, char classes, shy-groups and intervals).
10963 Optimize special cases of intervals so as to only use succeed_n and
10964 jump_n when really needed.
10965 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10966 that we don't have to handle the special cases any more.
10967 Simplify on_failure_jump handling as well.
10968
e11e7e46
JR
109692000-03-28 Jason Rumney <jasonr@gnu.org>
10970
10971 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10972
88faab89
GM
109732000-03-27 Gerd Moellmann <gerd@gnu.org>
10974
182ff242
GM
10975 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10976
10977 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10978
182ff242
GM
10979 * alloc.c (mark_maybe_object): New function.
10980 (mark_memory): Use it.
10981 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10982 (setjmp_tested_p, longjmp_done): New variables.
10983 (test_setjmp): New function.
10984 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10985 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10986
c1005d06
GM
10987 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10988 to DEC_TEXT_POS and INC_TEXT_POS.
10989
10990 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10991 with parameter MULTIBYTE_P.
10992
52283633 10993 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10994
7439e5b9 10995 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10996 buffers because it looks for multibyte character byte sequences
10997 which don't exist in unibyte text.
7439e5b9 10998
d9c545da
GM
10999 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11000
11fd416e 11001 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11002 [DEBUG_X_COLORS]: New functions.
11003 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11004
11005 * xfns.c (x_set_cursor_color): Get color reference counts right.
11006
11007 * xterm.c (x_copy_color): New function.
11008 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11009
11010 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11011 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11012 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11013 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11014 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11015 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11016 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11017 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11018 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11019 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11020
11fd416e
GM
11021 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11022 names for handling per-buffer variables.
d9c545da
GM
11023
11024 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11025 instead of MAX_BUFFER_LOCAL_VARS.
11026 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11027
11028 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11029
88faab89
GM
11030 * xfns.c (x_specified_cursor_type): New function.
11031 (x_set_cursor_type): Use it.
11032
11033 * buffer.h (struct buffer): Add cursor_type.
11034
d80f42b7
SM
110352000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11036
11037 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11038 (print_partial_compiled_pattern, re_compile_fastmap):
11039 Handle new opcode.
d80f42b7
SM
11040 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11041 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11042 executing it as well as when popping it off the stack to find infinite
11043 loops in non-greedy repetition operators.
11044
89e80928
GM
110452000-03-26 Gerd Moellmann <gerd@gnu.org>
11046
3d4ff2dd
GM
11047 * doc.c (Qfunction_documentation): New variable.
11048 (syms_of_doc): Initialize Qfunction_documentation.
11049 (Fdocumentation): If FUNCTION is a symbol with non-nil
11050 `function-documentation' property, return a documentation derived
11051 from that.
11052
bd96bd79
GM
11053 * buffer.c (syms_of_buffer): Add default-cursor-type.
11054 (init_buffer_once): Don't let cursor_type have a local value
11055 in every buffer.
11056
19d1bc27
GM
11057 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11058 on buffer-local value of cursor_type.
11059 (x_draw_bar_cursor): Add parameter WIDTH.
11060
11061 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11062 (init_buffer_once): Set default cursor_type value to t.
11063 Mark cursor_type as local everywhere.
11064 (syms_of_buffer): New per-buffer variable cursor-type.
11065
89e80928
GM
11066 * buffer.h (struct buffer): Remove member local_var_flags,
11067 add local_flags.
11068 (MAX_BUFFER_LOCAL_VARS): New macro.
11069 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11070 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11071 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11072 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11073
52283633 11074 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11075
11076 * category.c (Fset_category_table): Use new macros for per-buffer
11077 variables.
11078
11079 * buffer.c (buffer_permanent_local_flags): Make a char array.
11080 (max_buffer_local_idx): New variable.
11081 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11082 for new handling of per-buffer variables.
11083 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11084 (init_buffer_once): Initialize per-buffer vars differently.
11085 Set max_buffer_local_idx.
11086
11087 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11088 variables.
11089
52283633 11090 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11091
11092 * data.c (do_symval_forwarding, store_symval_forwarding)
11093 (find_symbol_value, set_internal, default_value, Fset_default)
11094 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11095 per-buffer variables.
11096
11097 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11098
9a0dd3dc
GM
110992000-03-24 Gerd Moellmann <gerd@gnu.org>
11100
b68c375f
GM
11101 * xterm.c (x_term_init): Unblock input around call1 of
11102 Qvendor_specific_keysyms.
11103
9a0dd3dc
GM
11104 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11105 (find_defun_start): Consider an open parenthesis in column 0
11106 a defun start only if open_paren_in_column_0_is_defun_start is set.
11107 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11108
7973e637
SM
111092000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11110
11111 * eval.c (Fautoload): Add entry in load-history (if after dump).
11112 * lread.c (load-history): Update docstring.
11113
39210e90
GM
111142000-03-24 Gerd Moellmann <gerd@gnu.org>
11115
11116 * indent.c (Fvertical_motion): Always use the current buffer.
11117 Temporarily change the window's buffer, if necessary.
11118
72db3ab5
GM
111192000-03-23 Gerd Moellmann <gerd@gnu.org>
11120
11121 * xterm.c (fast_find_position): Make sure not to consider rows
11122 not visible in the window.
11123
990b2375
SM
111242000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11125
11126 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11127 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11128
ff4df011
JR
111292000-03-22 Jason Rumney <jasonr@gnu.org>
11130
11131 * w32menu.c (single_submenu): Set help string to NULL if none.
11132 (w32_menu_show): Set help string correctly.
11133 (add-menu-item): Set help string in MIIM_DATA for menu item.
11134 Load SetMenuItemInfoA explicitly.
11135 (w32_menu_display_help): New function.
427ec082 11136
ff4df011
JR
11137 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11138 (QCdata): Moved to xdisp.c.
11139
11140 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11141 (Vw32_charset_to_codepage_alist): Removed.
11142 (Vw32_charset_info_alist): New variable.
52283633
SM
11143 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11144 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11145 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11146 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11147 with TODO comment.
11148 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11149 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11150 Define Vw32_charset_info_alist and w32_charset symbols.
11151
111522000-03-22 Jason Rumney <jasonr@gnu.org>
11153
11154 * makefile.nt (w32bdf.obj): Update dependencies.
11155
11156 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11157
11158 * w32fns.c: Include fontset.h after dispextern.h.
11159 (Fx_create_frame): Do not create fontset.
11160 (w32_load_system_font): Doc fix.
11161 (Fx_close_connection): Free full_name if it is not shared.
11162
11163 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11164 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11165 Callers updated.
ff4df011
JR
11166 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11167 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11168 (w32_font_is_double_byte): New function, needs body.
11169 (x_append_glyph): Set glyph->glyph_not_available_p.
11170 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11171 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11172 character, convert it to a unibyte character.
11173 (struct glyph_string): Delete member `charset'.
11174 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11175 calculating it is found.
11176 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11177 the case that per char metric is not available correctly.
11178 (x_fill_glyph_string): Handle the case that the specific glyph is
11179 not available correctly.
11180 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11181 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11182 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11183 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11184 fontset. Don't call FS_LOAD_FONT.
11185
439d5cb4
KR
111862000-03-22 Ken Raeburn <raeburn@gnu.org>
11187
11188 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11189 (INT_LISPLIKE): New macro.
11190 (NULL_INTERVAL_P): Use it.
52283633
SM
11191 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11192 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11193 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11194
11195 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11196 explicit references to "parent" field of struct interval and
11197 associated unclean type conversions.
52283633
SM
11198 * intervals.c (create_root_interval, root_interval, rotate_right)
11199 (rotate_left, balance_possible_root_interval, split_interval_right)
11200 (split_interval_left, interval_start_pos, find_interval)
11201 (next_interval, previous_interval, update_interval)
11202 (adjust_intervals_for_insertion, delete_node, delete_interval)
11203 (adjust_intervals_for_deletion, merge_interval_right)
11204 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11205 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11206 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11207 Likewise.
11208 * syntax.c (update_syntax_table): Likewise.
11209
11210 * intervals.c (reproduce_tree_obj): New function, like
11211 reproduce_tree but takes a Lisp_Object for the parent. Declare
11212 with prototype.
11213 (graft_intervals_into_buffer): Use it when appropriate.
11214 (reproduce_tree): Declare with prototype.
11215 (balance_possible_root_interval): Check that the parent is a lisp
11216 object before trying to examine its type.
11217
ee1c5b21
GM
112182000-03-22 Gerd Moellmann <gerd@gnu.org>
11219
11220 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11221 as strings only if both are known to be strings.
11222
11223 * s/openbsd.h (LIBS_TERMCAP): Undef.
11224
1fb352e0
SM
112252000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11226
11227 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11228 definitions for non-Emacs compilation.
11229 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11230 outside of `#ifdef emacs'.
11231 (print_partial_compiled_pattern): Update.
11232 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11233 (re_compile_fastmap): Merge handling of charset and charset_not (for
11234 emacs and non-emacs compilation as well).
11235 Similarly for (not)categoryspec and (not)syntaxspec.
11236 Don't use the fastmap when reaching `anychar' since the added
11237 complexity is not justified.
11238 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11239 and (not)syntaxspec. Merge (not)categoryspec.
11240
fdaa1f77
KH
112412000-03-22 Kenichi Handa <handa@etl.go.jp>
11242
52283633
SM
11243 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11244 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11245 --without-x.
fdaa1f77 11246
d152fb46
DL
112472000-03-21 Dave Love <fx@gnu.org>
11248
11249 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11250 doc string.
11251
d2cafc8c
GM
112522000-03-21 Gerd Moellmann <gerd@gnu.org>
11253
11254 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11255 (lface_fully_specified_p): Don't check contents of
11256 LFACE_FONT_INDEX because that attribute is optional.
11257 (realize_x_face): Remove now unwarranted xassert.
11258
9111d4b5
KH
112592000-03-21 Kenichi HANDA <handa@etl.go.jp>
11260
11261 The following changes are to make font selection based on
11262 characters, not charset. In addition, they recover fontset
11263 facilities while utilizing the new font selection mechanism.
11264
6c4bfdc0
KH
11265 * Makefile.in (fontset.o): Depend on dispextern.h.
11266
11267 * alloc.c (mark_face_cache): Don't mark face->registry.
11268
9111d4b5
KH
11269 * dispextern.h (struct glyph): New member glyph_not_available_p.
11270 Use 22 bits for face_id.
11271 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11272 (struct face): Delete member registry, new member ascii_face.
11273 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11274 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11275 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11276 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11277
11278 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11279 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11280 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11281 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11282 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11283 (fs_free_face_fontset, fontset_font_pattern)
11284 (face_suitable_for_char_p, face_for_char)
11285 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11286 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11287 (FS_LOAD_FACE_FONT): New macro.
11288
11289 * fontset.c: All codes rewritten or adjusted for the change of
11290 fontset implementation. Now fontset is represented by char table.
52283633
SM
11291 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11292 Variables removed.
9111d4b5 11293 (my_strcasecmp): Function removed.
52283633 11294 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11295 (AREF, ASIZE): New macros.
52283633
SM
11296 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11297 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11298 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11299 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11300 (fontset_id_valid_p, font_family_registry, fontset_name)
11301 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11302 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11303 New functions.
11304 (fs_load_font): New arg FACE. Caller changed.
11305 (fs_query_fontset): Argument changed. Caller changed.
11306 (Fquery_fontset): call fs_query_fontset.
11307 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11308 Functions removed.
52283633
SM
11309 (clear_fontset_elements, check_registry_encoding)
11310 (check_fontset_name): New functions.
9111d4b5
KH
11311 (syms_of_fontset): Set char-table-extra-slots property of fontset
11312 to 3. Staticpro and initialize Vfontset_table and
11313 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11314
11315 * frame.h (struct frame): Member `fontset_data' removed.
11316 (FRAME_FONTSET_DATA): Macro removed.
11317
11318 * frame.c (make_frame): Don't allocate f->fontset_data.
11319 (Fdelete_frame): Don't free f->fontset_data.
11320
6c4bfdc0
KH
11321 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11322
9111d4b5
KH
11323 * xdisp.c (charset_at_position): Function removed.
11324 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11325 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11326 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11327 Likewise.
11328 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11329 FACE_FOR_CHARSET.
52283633
SM
11330 (get_next_display_element, append_space)
11331 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11332
11333 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11334 Variables removed.
11335 (clear_font_table, frame_update_line_height, load_face_font):
11336 Adjusted for the change of fontset implementation.
11337 (load_face_fontset_font): Function removed.
11338 (pixel_point_size): New function.
11339 (font_list): Argument type changed. Caller changed.
11340 (LFACE_FONT): New macro.
11341 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11342 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11343 Lisp_Object. Determine the font name by actually loading a font
11344 by the specified pattern. Set LFACE_FONT (lface) to the specified
11345 pattern. Even if a font is not found, don't try alternatives.
11346 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11347 (set_font_frame_param): If `font' is specified in lface, use it.
11348 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11349 (lface_same_font_attributes_p): Likewise.
11350 (make_realized_face): Arguent changed. Caller changed. Set
11351 face->ascii_face to face itself.
11352 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11353 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11354 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11355 (free_realized_multibyte_face): New function.
11356 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11357 changed. Caller changed.
11358 (try_font_list): Argument type changed.
11359 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11360 (choose_face_font): Argument changed. Handle fontset properly.
11361 (choose_face_fontset_font): Function removed.
11362 (realize_default_face, realize_named_face): Don't remove the
11363 former face here.
11364 (realize_face): Argument changed. Caller changed. Remove face
52283633 11365 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11366 (realize_x_face): Argument changed. Caller changed. For a
11367 multibyte character, share fontset with base_face. For a single
52283633 11368 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11369 (realize_tty_face): Argument changed. Caller changed.
11370 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11371 (face_at_buffer_position): Don't check multibyte_p for returning
11372 DEFAULT_FACE_ID.
11373 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11374 FACE_SUITABLE_FOR_CHARSET_P.
11375 (syms_of_xfaces): Remove code for Qx_charset_registry and
11376 Vface_default_registry.
11377
6c4bfdc0
KH
11378 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11379 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11380 (x_per_char_metric): Don't try FONT->default_char. Even if
11381 pcm->width is zero, glyph bits may exist.
11382 (x_encode_char): Always initialize char2b->byte1.
11383 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11384 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11385 (x_append_glyph): Set glyph->glyph_not_available_p.
11386 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11387 it->charset. Handle the case that per char metric is not
11388 available. If it->multibyte_p is zero and it->c is a multibyte
11389 character, convert it to a unibyte character.
11390 (struct glyph_string): Delete member `charset'.
11391 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11392 the case that per char metric is not available correctly.
11393 (x_fill_glyph_string): Handle the case that the specific glyph is
11394 not available correctly.
11395 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11396 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11397 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11398 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11399 fontset. Don't call FS_LOAD_FONT.
11400
11401 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11402 (x_create_tip_frame): Likewise.
11403 (Fx_close_connection): Free full_name of font_info.
11404
11405 * fns.c (optimize_sub_char_table): New function.
11406 (Foptimize_char_table): New function.
11407 (syms_of_fns): Defsubr Soptimize_char_table.
11408
b33dd3b0
GM
114092000-03-20 Gerd Moellmann <gerd@gnu.org>
11410
11411 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11412 only if buffer is displayed in some window.
11413
11414 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11415 (try_window_reusing_current_matrix): Don't call scroll run
11416 function if run's current and desired position are the same;
11417 this prevents cursor flickering.
11418
4e8a9132
SM
114192000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11420
11421 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11422
11423 * regex.c (RE_STRING_CHAR): New macro.
11424 (GET_CHAR_AFER_2): Remove.
11425 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11426 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11427 (print_partial_compiled_pattern, re_compile_fastmap)
11428 (re_match_2_internal): Remove on_failure_jump_exclusive.
11429 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11430 optimization only need to work for * (ie. can use of_keep_string_jump).
11431 Remove the special case for .*\n since it is now covered by the general
11432 optimization.
11433 (re_search_2): Don't bother with `room'.
11434 (skip_one_char): New function.
11435 (skip_noops): Simplify since `memory' is not needed any more.
11436 (mutually_exclusive_p): Restructure slightly to use `switch' and
11437 add handling for "all" remaining cases.
11438 (re_match_2_internal): Change on_failure_jump_smart to use
11439 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11440 rather than on_failure_jump_exclusive.
11441
2136fdd4
GM
114422000-03-19 Gerd Moellmann <gerd@gnu.org>
11443
11444 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11445 number of bits per RGB because it's everywhere used as the depth
11446 of the visual.
11447
11448 * term.c (calculate_costs): Remove code dealing with X frames.
11449
18e21ce8 114502000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11451
11452 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11453
d7b511c4
GM
114542000-03-18 Gerd Moellmann <gerd@gnu.org>
11455
11456 * lread.c (read_integer): Unread the last char not consumed.
11457
16b5d424
GM
114582000-03-17 Gerd Moellmann <gerd@gnu.org>
11459
11460 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11461 which are in the process of being deleted.
16b5d424 11462
1fa28578
GM
114632000-03-16 Gerd Moellmann <gerd@gnu.org>
11464
83488cce
GM
11465 * Makefile.in (mostlyclean): Add `*.core'.
11466 (clean): Add `bootstrap-emacs'.
11467
1fa28578
GM
11468 * lread.c (read_integer): New function.
11469 (read1): Support read syntax #o, #x, #b, #r.
11470
99633e97
SM
114712000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11472
1fa28578
GM
11473 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11474 make sure POINTER_TO_OFFSET gives the same value before and after
11475 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11476 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11477 (debug): Now only active if > 0 rather than if != 0.
11478 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11479 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11480 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11481 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11482 (store_op1, store_op2, insert_op1, insert_op2)
11483 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11484 (group_in_compile_stack): Move to after its arg's types are
11485 declared and add a prototype.
99633e97 11486 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11487 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11488 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11489 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11490 indentation of the greedy-op and shy-group code.
99633e97
SM
11491 (at_(beg|end)line_loc_p): Fix argument's types.
11492 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11493 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11494 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11495 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11496 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11497 QUIT unconditionally.
99633e97 11498
699238d9
GM
114992000-03-15 Gerd Moellmann <gerd@gnu.org>
11500
11501 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11502 a sole completion.
11503
11504 * process.c (send_process): Add a hint that the function
11505 can call Lisp code to its comment.
11506
11507 * lread.c (load_dangerous_libraries): New variable.
11508 (Vbytecomp_version_regexp): New variable.
11509 (safe_to_load_p): New function.
11510 (Fload): Handle files not compiled with Emacs specially.
11511 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11512
34e23e5a
GM
115132000-03-14 Gerd Moellmann <gerd@gnu.org>
11514
9c763cca
GM
11515 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11516
11517 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11518 support functions only if HAVE_X11R6_XIM is defined.
11519 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11520
11521 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11522
11523 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11524 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11525 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11526
11527 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11528 (HAVE_X11R6_XIM): Define.
11529
11530 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11531
34e23e5a
GM
11532 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11533 If set, call XSynchronize.
11534
66f0296e
SM
115352000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11536
34e23e5a
GM
11537 * regex.c: Declare a new type `re_char' used throughout the code
11538 for the string char type. It's `const unsigned char' to match the
11539 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11540 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11541 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11542 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11543 code duplication.
66f0296e
SM
11544
11545 * charset.h (GET_CHAR_AFTER_2): Remove.
11546 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11547
854a025c
KR
115482000-03-12 Ken Raeburn <raeburn@gnu.org>
11549
11550 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11551 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11552 of them try to use backquotes.
11553
b9d2c7e2
DL
115542000-03-12 Dave Love <fx@gnu.org>
11555
11556 * unexelf.c: Restore changes of 1999-10-19.
11557 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11558 fix its type and alignment; copy it from current process.
11559
5e5dff44
GM
115602000-03-12 Gerd Moellmann <gerd@gnu.org>
11561
9b2f3c38
GM
11562 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11563 has been found. Fix bug not computing timer's predecessor.
11564
427ec082 11565 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11566 file name.
11567
e1cff360
GM
11568 * window.c (Fsave_window_excursion): Doc fix.
11569
52283633 11570 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11571
e411ce4b
EZ
115722000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11573
11574 * msdos.c (vga_installed): New function, code moved from
11575 dos_set_window_size.
11576 (Qbar, Qcursor_type, outside_cursor): New variables.
11577 (syms_of_msdos): Intern and staticpro them.
11578 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11579 shape used outside Emacs when called for the first time.
11580 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11581 cursor shape used outside Emacs.
11582 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11583 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11584 type has changed.
11585 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11586 parameters specify the cursor. Make qreverse a global
11587 variable (renamed to Qreverse).
11588
80460654
GM
115892000-03-09 Gerd Moellmann <gerd@gnu.org>
11590
11591 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11592
95cd4c40
SM
115932000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11594
11595 This is a big redesign of failure-stack and register handling, prompted
11596 by bugs revealed when trying to add shy-groups. Overall, what happened
11597 is that loops are now structured a little differently, groups can be
11598 shy and the code is a little simpler.
11599
11600 * regex.h: Update the copyright.
11601 (RE_SHY_GROUPS): New value.
11602 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11603 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11604
80460654
GM
11605 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11606 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11607 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11608 for (start|stop)_memory since they now only take one argument (the
11609 second has becomes unnecessary).
52283633 11610 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11611 (print_compiled_pattern): Use %ld to printf long ints and flush to
11612 make debugging a little easier.
95cd4c40
SM
11613 (union fail_stack_elt): Make the integer unsigned.
11614 (struct fail_stack_type): Add a `frame' element.
11615 (INIT_FAIL_STACK): Init `frame' as well.
11616 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11617 (DEBUG_PUSH, DEBUG_POP): Remove.
11618 (NUM_REG_ITEMS): Remove.
11619 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11620 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11621 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11622 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11623 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11624 New macros.
80460654
GM
11625 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11626 address pushed is not the destination of the jump but the source
11627 of it instead.
95cd4c40
SM
11628 (NUM_FAILURE_ITEMS): Remove.
11629 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11630 registers before the actual failure point). Don't hardcode any
11631 meaning for str==NULL anymore.
95cd4c40 11632 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11633 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11634 Remove.
95cd4c40
SM
11635 (REG_UNSET_VALUE): Use NULL (why not?).
11636 (compile_range): Remove declaration since it doesn't exist.
11637 (struct compile_stack_elt_t): Remove inner_group_offset.
11638 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11639 (regex_grow_registers): Remove dead code.
11640 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11641 (regex_compile): Add shy-groups Change loops to use
11642 on_failure_jump_smart&jump instead of
11643 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11644 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11645 variable to me). Use `jump' instead of `jump_past_alt' and don't
11646 bother with push_dummy_failure in alternatives since it is now
11647 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11648 emacs' for (re)allocating the stack.
11649 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11650 from loop when bufp->can_be_null rather than jumping to `done'.
11651 Avoid jumping backwards so as to ensure termination. Use
11652 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11653 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11654 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11655 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11656 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11657 (lowest_active_reg, highest_active_reg)
11658 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11659 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11660 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11661 variables. Push register (in `start_memory') on the stack rather
11662 than storing it in old_reg(start|end). Remove the cycle detection
11663 from `stop_memory', replaced by the use of on_failure_jump_loop
11664 for greedy loops. Add code for the new on_failure_jump_<foo>.
11665 Remove ad-hoc code in `on_failure_jump' to push more registers in
11666 the case of a loop. Take out code from `maybe_pop_jump' into
11667 separate functions and adapt it to the semantics of
11668 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11669 and push_dummy_failure. Remove dummy_failure handling and
11670 handling of `failures to jump to on_failure_jump' (this last one
11671 was already dead code, it seems).
11672 (group_match_null_string_p, alt_match_null_string_p)
11673 (common_op_match_null_string_p): Remove.
95cd4c40 11674
7397acc4
DL
116752000-03-08 Dave Love <fx@gnu.org>
11676
11677 * config.in: Don't depend on __STDC__ for volatile.
11678 Add POINTER_TYPE, PTR, PROTOTYPES.
11679
11680 * hftctl.c, strftime.c: Use PROTOTYPES.
11681 * eval.c (find_handler_clause): Likewise.
11682
11683 * mem-limits.h: Use POINTER_TYPE.
11684
11685 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11686 (memory_warnings): Declare using POINTER_TYPE.
11687
5e91ff9e
GM
116882000-03-08 Gerd Moellmann <gerd@gnu.org>
11689
feab4fba
GM
11690 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11691
52283633 11692 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11693
5e91ff9e
GM
11694 * xfns.c: Remove obsolete code in #if 0.
11695 (Fx_focus_frame): New function.
11696
a735b7e1
KH
116972000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11698
11699 * coding.c (coding_category_name): Add coding-category-utf-8,
11700 coding-category-utf-16-be, coding-category-utf-16-le.
11701 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11702 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11703 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11704 (detect_coding_utf_8): New function.
11705 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11706 UTF_16_LOW_SURROGATE_P): New macros.
11707 (detect_coding_utf_16): New function
11708 (detect_coding_mask): When priorities are specified, skip any
11709 categories that have `nil' coding-system. Fix bug of returning
11710 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11711 returns a mask not set in PRIORITIES.
11712 (detect_eol_type_in_2_octet_form): New function.
11713 (detect_eol): selects detect_eol_type_XXX to call according to
11714 cooding->category_idx.
11715 (detect_coding_system): Remove `nil' coding-system in the result.
11716 (Fupdate_coding_systems_internal): Update all coding-categories.
11717
52283633
SM
11718 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11719 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11720 New macros.
11721 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11722 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11723 (CODING_CATEGORY_IDX_UTF_16_LE)
11724 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11725 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11726 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11727 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11728
9994cc69
GM
117292000-03-07 Gerd Moellmann <gerd@gnu.org>
11730
e9b4e5ff
GM
11731 * doc.c (Fdocumentation_property): If value is not a string,
11732 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11733
f7daf1e1
GM
11734 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11735 close the display with XtCloseDisplay. This caused a bus error
11736 on OpenWindows.
11737
9994cc69
GM
11738 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11739 complete but not unique.
11740
4336c705
GM
117412000-03-06 Gerd Moellmann <gerd@gnu.org>
11742
18bb0684
GM
11743 * process.c (send_process): Remove local variable `procname' that
11744 might become invalid when a GC happens. Instead, access the
11745 process name slot directly.
11746
4336c705
GM
11747 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11748 orig_height if set.
11749
11750 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11751 orig_height if set.
11752
515d0d0e
EZ
117532000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11754
11755 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11756 glyph matrices have been freed.
11757
100b3cbb
GM
117582000-03-05 Gerd Moellmann <gerd@gnu.org>
11759
50df5e5a 11760 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11761 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11762
11763 * xfns.c (QCdata): Moved to xdisp.c.
11764
11765 * xdisp.c (QCdata): Moved here from xfns.c.
11766 (syms_of_xdisp): Initialize QCdata.
11767
11768 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11769
11770 * window.c (coordinates_in_window): Use
11771 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11772 FRAME_INTERNAL_BORDER_WIDTH.
11773
100b3cbb 11774 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11775 it is obviously invalid.
100b3cbb
GM
11776
11777 * xterm.c (x_term_init): Create a colormap if not using the
11778 default visual.
11779
11780 * xterm.h (select_visual): Change prototype.
11781
11782 * xfns.c (select_visual): Rewritten. Recognize user-specified
11783 visual classes.
11784 (visual_classes): New variable.
11785
64d739c4
GM
117862000-03-04 Gerd Moellmann <gerd@gnu.org>
11787
11788 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11789 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11790 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11791 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11792 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11793 XtNcolormap resources.
11794 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11795 (Fx_create_frame): Initialize color members of x_output structure.
11796 (xpm_load): Pass colormap to XPM lib.
11797
11798 * xfaces.c (x_free_colors): Access colormap of frame using
11799 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11800 when default colormap is used.
11801
11802 * xterm.c (x_term_init): Set Colormap member of x_display_info
11803 structure. Copy colormap if resource `privateColormap' is
11804 specified (PseudoColor only).
11805 (x_setup_relief_color): Access colormap of frame using
11806 FRAME_X_COLORMAP.
11807
11808 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11809 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11810
c3cee013
JR
118112000-03-04 Jason Rumney <jasonr@gnu.org>
11812
11813 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11814 other non-platform-specific equivalents.
64d739c4 11815 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11816 specific functions and macros as their w32 equivalents where
11817 non-platform-specifics are not available.
11818 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11819 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11820 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11821 (frame_update_line_height): Use macros to access f->output_data.
11822 (defined_color): Remove FIXME comments; fixed.
11823 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11824 into #ifdef blocks. Add WINDOWSNT blocks.
11825 (Fx_list_fonts): Use macros for accessing font data.
11826 (set_lface_from_font_name): Different default fonts for X and
11827 WINDOWSNT.
11828 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11829 scalable for backward compatibility.
64d739c4 11830 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11831 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11832
64d739c4 11833 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11834 syms_of_w32faces.
11835
11836 * makefile.nt (w32faces.obj): Remove.
11837 (xfaces.obj): Add.
11838
807cc41c
JR
118392000-03-03 Jason Rumney <jasonr@gnu.org>
11840
11841 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11842 correct parameters.
11843
0007072a
KR
118442000-03-03 Ken Raeburn <raeburn@gnu.org>
11845
11846 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11847 standard ELF definitions here if the system header does not.
11848
71a6ba55
GM
118492000-03-03 Gerd Moellmann <gerd@gnu.org>
11850
11851 * xterm.c (PER_CHAR_METRIC): Removed.
11852 (x_per_char_metric_1, x_default_char): New functions.
11853 (x_per_char_metric): If font's default char is invalid, return
11854 metrics of a suitably chosen usable default char.
11855 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11856 char, replace occurrences of unprintable chars with a suitably
11857 chosen usable default char.
71a6ba55 11858
900fa1f1
GM
118592000-03-02 Gerd Moellmann <gerd@gnu.org>
11860
42f55fe0
GM
11861 * xterm.c (note_mouse_highlight): Return quickly if frame's
11862 glyph matrices have been freed.
11863
11864 * dispnew.c (free_glyphs): Block input while freeing matrices.
11865
900fa1f1
GM
11866 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11867
52283633
SM
11868 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11869 Use x_free_colors.
900fa1f1
GM
11870
11871 * dispextern.h (x_free_colors): Add prototype.
11872
11873 * xfaces.c (x_free_colors): New function.
11874 (unload_color, free_face_colors): Use it.
11875
2f950292
EZ
118762000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11877
11878 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11879
11880 * window.c [MSDOS]: Include msdos.h.
11881
54d04320
DL
118822000-03-02 Dave Love <fx@gnu.org>
11883
11884 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11885
11886 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11887 set C_OPTIMIZE_SWITCH for gcc.
11888
0ba93ac4
KH
118892000-03-02 Kenichi Handa <handa@etl.go.jp>
11890
11891 * coding.c (coding_save_composition): Be sure to allocate
11892 composition data area in coding even if there's no composition in
11893 the current run.
11894
a2bc11d4
JR
118952000-03-01 Jason Rumney <jasonr@gnu.org>
11896
11897 * w32term.c: Equivalent changes to those made to xterm.c on
11898 2000-02-25 and 2000-02-24.
11899
11900 * w32fns.c: Equivalent changes to those made to xfns.c on
11901 2000-02-25 and 2000-02-21.
11902
11903 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11904 correct line-end convention is followed.
11905
11906 * w32menu.c [HAVE_BOXES]: Remove #undef.
11907 (single_keymap_panes): Remove code for simulating checkmarks.
11908 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11909 Remove code for drawing simulated checkmarks.
11910 (w32_menu_show): make unibyte help string correctly.
11911 (add_menu_item): draw standard Windows checkmarks. Draw radio
11912 buttons as radio buttons if possible.
11913
72d19d75
GM
119142000-03-01 Gerd Moellmann <gerd@gnu.org>
11915
2df636f4
GM
11916 * sysdep.c (start_of_text): Don't define this function for NetBSD
11917 with ELF.
11918
427ec082 11919 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11920 Don't define.
11921 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11922 (LINKER): Don't undef if __NetBSD__ is defined.
11923
11924 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11925
11926 * fileio.c [__NetBSD__]: Define `unix'.
11927
72d19d75
GM
11928 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11929
ed4d0512
GM
119302000-02-29 Gerd Moellmann <gerd@gnu.org>
11931
50b1039f
GM
11932 * atimer.c (start_atimer): Don't abort when timers are stopped.
11933 (append_atimer_lists): New function.
11934 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11935 arbitrary lists of stopped and running atimers.
11936
ed4d0512
GM
11937 * atimer.c (cancel_atimer): Handle canceling an atimer when
11938 some timers are stopped.
11939
11940 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11941 after canceling it.
11942
11943 * fns.c (maybe_resize_hash_table): Handle case of new size
11944 coming out as being the same as old size.
11945
387023ee
JR
119462000-02-27 Jason Rumney <jasonr@gnu.org>
11947
11948 * makefile.nt: Add atimer.h to dependencies.
11949 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11950 * w32console.c: Only disable window system features for dispextern.h
11951 (initialize_w32_display): Build a display info for the console.
11952 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11953 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11954 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11955 as 2 button mice.
11956 * w32gui.h (struct W32FontStruct): Revert last change after change
11957 to xdisp.c.
11958 * w32menu.c (single_submenu): Set up help string.
11959 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11960 (w32_dialog_show): Set up help string.
11961 * w32term.c (w32_display_info_for_display): Remove unused function.
11962 (w32_draw_bitmap): Use pre-built bitmaps.
11963 (w32_initialize_display_info): New function to initialize parts of
11964 display info that are common to both GUI and console frames.
11965 (w32_term_init): Use w32_initialize_display_info. Do not set
11966 Vw32_num_mouse_buttons here, as it is not called for console
11967 frames. Build bitmaps for indicating truncated lines etc.
11968 (x_delete_display): Destroy pre-built bitmaps.
11969 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11970 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11971
4516715a
DL
119722000-02-27 Dave Love <fx@gnu.org>
11973
11974 * lisp.h: Add a bunch of prototypes.
11975
171ca836
KH
119762000-02-26 Kenichi Handa <handa@etl.go.jp>
11977
11978 * keyboard.c (read_char): Set `usec' correctly.
11979
4013921d
KH
119802000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11981
11982 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11983 `lambda', set reg[RRR] to the map index.
11984 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11985 reg[RRR] to 0. Otherwise, set it to -1.
11986
9244a058
GM
119872000-02-25 Gerd Moellmann <gerd@gnu.org>
11988
2df636f4 11989 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11990
18e21ce8 119912000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11992
f43d79c1
GM
11993 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11994 and contains a `:', prepend `/:'.
11995
11996 * window.c (select_window_1): If selected_window is nil,
11997 don't "swap out" the buffer's point.
11998 (Fset_window_configuration): Set selected_window to nil
11999 before calling Fselect_window.
12000 (unshow_buffer): Don't set point in buffer from window's point
12001 if another more recently selected window also shows the buffer.
12002
bed0c171
GM
120032000-02-25 Gerd Moellmann <gerd@gnu.org>
12004
449c3c52
GM
12005 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12006
f5b58615
GM
12007 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12008 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12009 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12010 New variables.
f5b58615
GM
12011 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12012 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12013 (hide_busy_cursor): New functions.
12014 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12015
12016 * minibuf.c (read_minibuf): Cancel busy-cursor.
12017
12018 * keyboard.c (command_loop_1): Call start_busy_cursor before
12019 Fcommand_execute and cancel_busy_cursor after it.
12020 (timer_check): Remove busy-cursor code.
12021 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12022 cursor timer.
12023
12024 * process.c (wait_reading_process_input): Remove busy-cursor code.
12025
12026 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12027 Fx_hide_busy_cursor.
12028
12029 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12030 Remove prototyoes.
12031 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12032
12033 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12034
12035 * xterm.c (XTread_socket): Remove busy-cursor code.
12036
4eb8436f
GM
12037 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12038 (build_frame_matrix_from_leaf_window): Put code handling
12039 glyph row's not being a slice of a frame row in #if 0.
12040 (sync_window_with_frame_matrix_rows): New function.
12041 (frame_row_to_window): New function.
12042 (mirror_line_dance): Handle copies between windows.
12043
3cb65b0e
GM
12044 * lread.c (Fload): Use `xfree' instead of `free'.
12045 (init_obarray): Use `xmalloc' instead of `malloc'.
12046
bed0c171
GM
12047 * window.c (Fset_window_buffer): Set WINDOW to the window
12048 after decoding.
2add4349
GM
12049 (coordinates_in_window): Take frame's internal border width
12050 into account.
bed0c171 12051
42088c12
GM
120522000-02-24 Gerd Moellmann <gerd@gnu.org>
12053
12054 * xterm.c (x_display_and_set_cursor): Display cursor of
12055 non-selected windows depending on the setting of
12056 cursor_in_non_selected_windows.
12057
12058 * xdisp.c (cursor_in_non_selected_windows): New variable.
12059 (syms_of_xdisp): DEFVAR_BOOL it.
12060
d1e103b2
GM
120612000-02-23 Gerd Moellmann <gerd@gnu.org>
12062
723e779c
GM
12063 * data.c (Fstring_to_number): If number is greater than what
12064 fits into an integer, return a float.
12065
d1e103b2
GM
12066 * eval.c (specbind): Remove references to
12067 keyword_symbols_constant_flag.
12068
12069 * data.c (keyword_symbols_constant_flag): Removed.
12070 (Fmakunbound, set_internal, syms_of_data): Remove references to
12071 keyword_symbols_constant_flag.
12072
12073 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12074
214f877f
KH
120752000-02-23 Kenichi Handa <handa@etl.go.jp>
12076
12077 * syntax.c (multibyte_syntax_as_symbol): New variable.
12078 (syms_of_syntax): Declare it as a Lisp variable.
12079 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12080 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12081 nonzero, treat all multibyte characters as symbol.
52283633 12082 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12083
130adcb7
EZ
120842000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12085
3cb65b0e 12086 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12087 a deleted frame.
130adcb7 12088
17cbbf95
GM
120892000-02-21 Gerd Moellmann <gerd@gnu.org>
12090
12091 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12092
12093 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12094 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12095
beb0bc36
DL
120962000-02-21 Dave Love <fx@gnu.org>
12097
12098 * frame.c (Vmouse_position_function): New variable.
12099 (Fmouse_position): Use it.
12100 (syms_of_frame): Install it.
12101
12102 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12103
1d92afcd
GM
121042000-02-20 Gerd Moellmann <gerd@gnu.org>
12105
12106 * fileio.c (Finsert_file_contents): Unbind the binding of
12107 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12108
12109 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12110 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12111 (specbind, unbind_to): Handle most common case of non-constant
12112 symbol with trivial value specially.
12113
12114 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12115
18e21ce8 121162000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12117
12118 * data.c (Fmake_variable_buffer_local): Doc fix.
12119 Init found_for_buffer to 0.
12120 (Fmake_variable_frame_local): If the variable has already
12121 been buffer-local, set the check_frame field.
12122
1d4311c3
EZ
121232000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12124
12125 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12126 produced for CODING_MODE_LAST_BLOCK requires.
12127
2dc95ddd
DL
121282000-02-18 Dave Love <fx@gnu.org>
12129
12130 * keyboard.c (echo_keystrokes): Remove declaration.
12131 (Vecho_keystrokes) New variable.
12132 (read_char, record_menu_key, read_key_sequence): Use it to allow
12133 use of float value.
12134 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12135
12136 * lread.c: Undef feature selection macros before defining.
12137
f0930f35
GM
121382000-02-18 Gerd Moellmann <gerd@gnu.org>
12139
12140 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12141 for symbols other than the symbol in question.
12142
e3d4de90
DL
121432000-02-17 Dave Love <fx@gnu.org>
12144
12145 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12146
0b378936
GM
121472000-02-17 Gerd Moellmann <gerd@gnu.org>
12148
d621caf7
GM
12149 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12150
0b378936
GM
12151 * alloc.c (enum mem_type): Compile unconditionally.
12152
3b451f74
EZ
121532000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12154
12155 * xfaces.c (tty_defined_color): Don't return faulire indication
12156 for unspecified-fg and unspecified-bg pseudo-colors.
12157
10689a01
GM
121582000-02-17 Gerd Moellmann <gerd@gnu.org>
12159
1216f5e4
GM
12160 * alloc.c (mark_object): Don't mark symbol names in pure space.
12161 (gc_sweep): Don't unmark symbol names in pure space.
12162
12163 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12164 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12165 [GC_MARK_STACK]: New defines.
427ec082 12166 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12167 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12168
12169 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12170
12171 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12172 allocate_buffer instead of xmalloc.
12173
12174 * alloc.c (toplevel): Include setjmp.h.
12175 (PURE_POINTER_P): New define.
12176 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12177 (Vdead) [GC_MARK_STACK]: New variable.
12178 (lisp_malloc): Add parameter TYPE, call mem_insert if
12179 GC_MARK_STACK is defined.
12180 (allocate_buffer): New function.
427ec082 12181 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12182 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12183 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12184 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12185 (MEM_NIL) [GC_MARK_STACK]: New define.
12186 (struct mem_node) [GC_MARK_STACK]: New structure.
12187 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12188 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12189 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12190 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12191 (mark_stack) [GC_MARK_STACK]: New functions.
12192 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12193 (clear_marks): Removed.
12194 (gc_sweep): Set free conses' car, free floats' type, free
12195 symbols' function to Vdead. Use lisp_free to free buffers.
12196 (init_alloc_once): Initialize Vdead.
12197 (survives_gc_p): Return non-zero for pure objects.
12198
12199 * alloc.c: Add comments throughout the file.
12200
2503c8b1
GM
12201 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12202 that unblocks alarms.
12203
8389e1e2
GM
12204 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12205 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12206 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12207
10689a01 12208 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12209
bfc17d18
KH
122102000-02-17 Kenichi Handa <handa@etl.go.jp>
12211
4a09dee0
KH
12212 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12213 avoid infinite error signaling. Allocate sufficient memory for
12214 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12215
2b927d02
SM
122162000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12217
12218 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12219 depends on the previous behavior.
12220
b49cb764
GM
122212000-02-16 Gerd Moellmann <gerd@gnu.org>
12222
12223 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12224
99e95407
GM
122252000-02-15 Gerd Moellmann <gerd@gnu.org>
12226
12227 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12228
12229 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12230 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12231 write(2).
12232
6ffd3cf7
RS
122332000-02-15 Richard M. Stallman <rms@gnu.org>
12234
12235 * data.c (set_internal): Don't make variable buffer-local
12236 if within a let-binding for the same buffer.
12237 (let_shadows_buffer_binding_p): New function.
12238
12239 * eval.c (specbind): For buffer-local value,
12240 record the current buffer also.
12241 (unbind_to): Cope with that change.
12242
cad53475
GM
122432000-02-15 Gerd Moellmann <gerd@gnu.org>
12244
12245 * window.c (Fsave_window_excursion): Doc fix.
12246
1aa963c8
SM
122472000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12248
12249 * syntax.c (back_comment): Make sure we only consider comment-starters
12250 of the relevant style and return -1 in case of a failure to find the
12251 beginning of the comment.
12252 (Fforward_comment): If back_comment fails, go back to the position just
12253 after the comment-end.
12254 (scan_lists): Add comment describing a very minor bug.
12255
b9b84fd3
SM
122562000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12257
12258 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12259 `completion-regexp-list' in the docstring.
12260
3a28db80
DL
122612000-02-14 Dave Love <fx@gnu.org>
12262
12263 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12264
fb4a568d
SM
122652000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12266
12267 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12268 to Emacs' syntax. Also fix the comment about set/not-set meanings
12269 since Emacs syntax is not the value 0 any more.
12270 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12271 since it's now part of RE_SYNTAX_EMACS.
12272
1063ebb5
DL
122732000-02-12 Dave Love <fx@gnu.org>
12274
52283633 12275 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12276
fb07a302
GM
122772000-02-12 Gerd Moellmann <gerd@gnu.org>
12278
12279 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12280
aaf2320c
DL
122812000-02-12 Dave Love <fx@gnu.org>
12282
12283 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12284
12285 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12286 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12287 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12288
12289 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12290
12291 * s/nextstep.h: Don't define HAVE_ALLOCA.
12292
12293 * config.in: Add vfork bits.
12294
eedf8bde
GM
122952000-02-12 Gerd Moellmann <gerd@gnu.org>
12296
12297 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12298 unwind function to undo the effect of stopping atimers.
12299
52283633 12300 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12301
12302 * atimer.c (stopped_atimers): New variable.
12303 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12304 New functions.
12305
12306 * atimer.h (stop_other_atimers, run_all_atimers)
12307 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12308
eedf8bde
GM
12309 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12310
8476c2f8
KR
123112000-02-11 Ken Raeburn <raeburn@gnu.org>
12312
12313 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12314 library may depend on jpeg.
12315 (atimer.o): Depends on atimer.c.
12316
0e85e4a3
KH
123172000-02-11 Kenichi Handa <handa@etl.go.jp>
12318
12319 * insdel.c (del_range_1): Call update_compositions.
12320 (del_range_both): Call update_compositions just once..
12321
97fa0cc8
DL
123222000-02-10 Dave Love <fx@gnu.org>
12323
12324 * xfns.c (create_frame_xic): Fix initialization of automatic
12325 aggregates for pcc.
12326
25566a3c
KH
123272000-02-09 Kenichi Handa <handa@etl.go.jp>
12328
12329 * ccl.c (CCL_MAKE_CHAR): New macro.
12330 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12331 registers by CCL_MAKE_CHAR before calling translate_char.
12332 <CCL_TranslateCharacterConstTbl> Likewise.
12333
69da54ba
DL
123342000-02-08 Dave Love <fx@gnu.org>
12335
12336 * lread.c (__EXTENSIONS__): Define.
12337
f7136ee8
GM
123382000-02-08 Gerd Moellmann <gerd@gnu.org>
12339
12340 * puresize.h (BASE_PURESIZE): Increase to 650000.
12341
7768790b
EZ
123422000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12343
12344 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12345 the help message.
12346
38fd211b
EZ
123472000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12348
12349 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12350 md, mh, mb, mr, and me to the fake termcap entry.
12351
66e4690f
KR
123522000-02-06 Ken Raeburn <raeburn@gnu.org>
12353
12354 * sound.c (sound_cleanup): Don't call device close routine if the
12355 function pointer is null.
12356
a75dfea0
AI
123572000-02-06 Andrew Innes <andrewi@gnu.org>
12358
12359 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12360 around image definitions and prototypes.
12361 (gamma_correct) [WINDOWSNT]: New prototype.
12362
12363 * w32term.c (x_make_frame_visible): Replace call to
12364 input_poll_signal with poll_for_input.
12365
12366 * window.c [WINDOWSNT]: Include w32term.h.
12367
12368 * xdisp.c [WINDOWSNT]: Include w32term.h.
12369
12370 * makefile.nt: Add dependencies on w32gui.h.
12371 (OBJ1): Include atimer.obj.
12372 ($(BLD)\atimer.obj): New dependency rule.
12373
12374 * w32.c (sigmask): New function (does nothing).
12375 (sigunblock): Ditto.
12376
12377 * frame.c [WINDOWSNT]: Include w32term.h.
12378
12379 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12380
12381 * lread.c (syms_of_lread): Fix literal newlines.
12382
12383 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12384 the string constant limit (2048 bytes) in MSVC.
12385 (main): Ditto.
12386
59ddecde
GM
123872000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12388
52283633 12389 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12390 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12391 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12392 dispatch the event.
12393
07590973
DL
123942000-02-04 Dave Love <fx@gnu.org>
12395
12396 * fileio.c: Remove some unused vars.
12397 (_GNU_SOURCE): Define (for euidaccess).
12398
12399 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12400
12401 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12402 gcpro1, gcpro2.
12403 (read_minibuf): Deal with allow_props correctly.
12404
649351f9
EZ
124052000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12406
12407 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12408
66e4690f 124092000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12410
12411 * search.c (compile_pattern): If a cache entry has a nil regexp,
12412 fill in that entry instead of clobbering a previously cached
12413 string regexp.
12414
66e4690f 124152000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12416
12417 * puresize.h (BASE_PURESIZE): Increase to 610000.
12418
d240a249
GM
124192000-02-02 Gerd Moellmann <gerd@gnu.org>
12420
12421 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12422 can GC.
12423
ca91fb26
KH
124242000-02-02 Kenichi Handa <handa@etl.go.jp>
12425
25660570
KH
12426 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12427 instead of incrementing ic directly.
12428 <CCL_WriteExprConst> Likewise.
12429 <ccl_set_expr>: Set ic to jump_address.
12430
ca91fb26
KH
12431 * fileio.c (e_write): Fix the handling of
12432 CODING_FINISH_INSUFFICIENT_SRC.
12433
2ede9689
DL
124342000-02-01 Dave Love <fx@gnu.org>
12435
12436 * editfns.c (Fpropertize): Doc fix.
12437
12438 * process.c (Fstart_process): Doc fix.
12439
12440 * eval.c: Fix various doc strings not to duplicate information
12441 from help-manyarg-func-alist.
12442
52283633 12443 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12444
12445 * doc.c (Vhelp_manyarg_func_alist): New variable.
12446 (Fdocumentation): Use it.
12447 (syms_of_doc): Define it.
12448
b6680a0e
GM
124492000-01-31 Gerd Moellmann <gerd@gnu.org>
12450
2cb750ba
GM
12451 * xterm.c (xim_open_dpy): Remove unused local variable.
12452
52283633 12453 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12454
12455 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12456 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12457
b6680a0e
GM
12458 * fns.c (sweep_weak_table): New function.
12459 (sweep_weak_hash_tables): Use it. Keep on marking until there
12460 is no more change.
12461
994c5afe
GM
124622000-01-30 Gerd Moellmann <gerd@gnu.org>
12463
12464 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12465 that XTread_socket does not crash by trying to call XNoOp on a
12466 closed display.
427ec082 12467
f00276e3
JR
124682000-01-30 Jason Rumney <jasonr@gnu.org>
12469
12470 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12471 Change selected_frame to SELECTED_FRAME ().
12472 (w32_console_mouse_position): Remove #ifndef MULE from around
12473 `insist' parameter.
12474
12475 * makefile.nt: Remove dosfns.obj.
12476
12477 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12478
12479 * w32fns.c (w32_defined_color): Check for valid frame before
12480 applying gamma correction. Eliminate dependency on frame elsewhere.
12481 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12482 (w32_to_x_font): Use resx and resy not height_in and width_in.
12483 (x_to_w32_font): Doc fix.
12484 (xlfd_strip_height): New function to strip and return font height.
12485 (w32_font_match): Compare height separately from rest of xlfd
12486 spec, using xlfd_strip_height.
12487
12488 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12489 width_in. Use w32_defined_color in place of defined_color.
12490
12491 * w32faces.c: Merge more of DOS and X specifics in preparation for
12492 merge with xfaces.c.
12493 (defined_color): Remove FIXME comment.
12494 (tty_color_name): Provide w32-specific function.
12495 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12496
12497 * w32console.c (turn_on_face, turn_off_face): Removed.
12498 (w32_face_attributes): New function.
12499 (Global_variables): Reduce scope where possible.
12500 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12501 fill attribute.
12502 (hl_mode): Don't modify text attributes.
12503 (write_glyphs): Don't do anything if len <= 0. Use
12504 w32_face_attributes to get attributes for drawing. Write
12505 terminating codes using char_attr_normal.
12506 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12507 (update_begin, update_end): Likewise.
12508 (vga_stdcolor_name): New function.
12509 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12510 (Fset_screen_color): Remove char_attr_reverse.
12511
b08e8bb2
GM
125122000-01-29 Gerd Moellmann <gerd@gnu.org>
12513
12514 * xfns.c (xic_set_preeditarea): Take window parameter and
12515 window-relative pixel-positions.
12516
12517 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12518 is its frame's selected window.
12519 (xim_instantiate_callback): Likewise.
12520
12521 * xfns.c (x_create_im): Removed.
12522 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12523 (supported_xim_styles): Renamed from supported_styles.
12524 (best_xim_style): Renamed from best_style.
12525 (create_frame_xic): Renamed from xic_create_frame.
12526 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12527
b08e8bb2
GM
125282000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12529
12530 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12531 our frames, call XFilterEvent with 2nd parameter `None'.
12532 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12533 returning XBufferOverflow.
52283633 12534 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12535 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12536 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12537 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12538 (xim_initialize, xim_close)
12539 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12540 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12541 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12542 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12543
12544 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12545 and `xim_styles'.
12546 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12547 `xic_style' and `xic_xfs'.
12548 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12549 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12550 (FRAME_XIM): Removed.
12551
12552 * xfns.c (supported_styles): New variable.
12553 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12554 (xic_create_xfontset, best_style, xic_create_frame)
12555 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12556 (xic_set_xfontset): New functions.
12557
142e109c
DL
125582000-01-28 Dave Love <fx@gnu.org>
12559
12560 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12561
12562 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12563
b02786f9
GM
125642000-01-28 Gerd Moellmann <gerd@gnu.org>
12565
d060bc9f
GM
12566 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12567 for *scratch* if it already existed.
12568
b02786f9
GM
12569 * emacs.c (USAGE): New macro.
12570 (main): Use it to display usage information.
12571
2c52d7e4
EZ
125722000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12573
12574 Support for the menu-help feature:
12575
52283633 12576 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12577
12578 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12579 part of the line to the termscript file.
12580 (IT_clear_to_end): Clear the entire line, not just its beginning.
12581 (menu_help_message, prev_menu_help_message): New variables.
12582 (IT_menu_make_room): Make room for the help_text member.
12583 (IT_menu_display): New argument disp_help; all callers changed.
12584 If disp_help is non-zero, store the help text of the active menu
12585 item in menu_help_message.
12586 (XMenuAddPane): Initialize the help_text member to NULL.
12587 (XMenuAddSelection): New argument help_text. Store it in the
12588 XMenu structure.
12589 (XMenuActivate): New argument help_callback. If the value of
12590 menu_help_message has changed since the last time, display the
12591 menu help message text while waiting for the mouse to move. Clear
12592 the echo area before exiting.
12593 (XMenuDestroy): Free the help_text member.
12594
ffe0bcd1
GM
125952000-01-27 Gerd Moellmann <gerd@gnu.org>
12596
12597 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12598 XMenuAddSelection. Pass help callback to XMenuActivate.
12599 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12600
50dbd23f
EZ
126012000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12602
12603 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12604 and EMACS_SET_USECS.
12605
f5941bf8
GM
126062000-01-26 Dave Love <fx@gnu.org>
12607
6c67ddee
DL
12608 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12609
f5941bf8
GM
12610 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12611 an error may be signalled.
12612
9e49c990
GM
126132000-01-26 Gerd Moellmann <gerd@gnu.org>
12614
fc3cb460
GM
12615 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12616 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12617
9e49c990
GM
12618 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12619
d0c037d8
GM
126202000-01-25 Gerd Moellmann <gerd@gnu.org>
12621
12622 * charset.c (Fstring): If there is a multibyte char among
12623 the args, always return a multibyte string.
12624
e12489f9
GM
126252000-01-25 Gerd Moellmann <gerd@gnu.org>
12626
12627 * sysdep.c (sys_select): Turn atimers off and on instead of
12628 recording and restoring old alarm handler
12629
12630 * process.c (toplevel): Include atimer.h.
12631 (create_process_1): Rewritten.
12632 (create_process): Use atimers instead of alarm.
12633 (wait_reading_process_input) [hpux]: Turn atimers off instead
12634 of turning off SIGALRM.
12635 (wait_reading_process_input): Turn off atimers instead off
12636 calling stop_polling.
12637
12638 * emacs.c (main): Call init_atimer.
12639
12640 * keyboard.c (toplevel): Include systime.h and atimer.h.
12641 (polling_for_input): Removed because unused.
12642 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12643 (poll_timer): New variable.
12644 (poll_for_input, poll_for_input_1): New functions.
12645 (start_polling, stop_polling): Rewritten.
12646
12647 * keyboard.h (polling_for_input): Removed.
427ec082 12648
e12489f9
GM
12649 * atimer.h, atimer.c: New files.
12650
12651 * Makefile.in (obj): Add atimer.o.
12652 (atimer.o): New target.
12653
12654 * blockinput.h (pending_atimers): Add extern declaration.
12655 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12656
12657 * lisp.h (popup_activated_flag): Add extern declaration.
12658
12659 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12660 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12661 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12662
12663 * xterm.c (toplevel): Include atimer.h.
12664 (toolkit_scroll_bar_interaction): New variable.
12665 (Fxt_process_timeouts): Removed.
12666 (x_process_timeouts): New function.
12667 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12668 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12669 (x_make_frame_visible): Call poll_for_input_1 instead of
12670 input_poll_signal. Don't call alarm.
12671 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12672
1e5279b9
DL
126732000-01-24 Dave Love <fx@gnu.org>
12674
6c67ddee 12675 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12676 Don't use -cckr -- apparently not now necessary.
12677
edf6aeb8
EZ
126782000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12679
12680 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12681 screen boundary.
12682
9badad41
JR
126832000-01-23 Jason Rumney <jasonr@gnu.org>
12684
12685 * w32fns.c (w32_defined_color): Apply gamma correction before
12686 trying to map to the palette.
12687 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12688 to w32_clear_rect.
12689
12690 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12691 here. Callers changed to always pass real device context.
12692 (w32_draw_bitmap): Likewise.
12693 (w32_get_glyph_overhangs): Likewise.
52283633 12694 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12695 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12696 pfnSetScrollInfo and SetScrollRange.
12697 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12698 back into MULE characters after decoding them.
12699 (x_get_glyph_face_and_encoding): Likewise.
12700 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12701 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12702 (x_produce_glyphs): Calculate per char metrics for a character
12703 that we know exists in default font when font_not_found_p is true.
12704
63bd786b
JR
127052000-01-22 Jason Rumney <jasonr@gnu.org>
12706
12707 * makefile.nt (intervals.obj, composite.obj): New modules.
12708 (composite.h): Added as dependency where appropriate.
12709
12710 * w32gui.h (XGCValue): New struct for emulating X GCs.
12711
12712 * w32term.h (XCharStruct): New struct for emulating X.
12713
12714 * w32console.c (turn_on_face, turn_off_face): New functions.
12715 (change_line_highlight): New prototype for new redisplay.
12716 (write_glyphs): Support multibyte text. Support faces.
12717
52283633 12718 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12719
12720 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12721 throughout. struct frame * in place of FRAME_PTR.
12722 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12723 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12724 (w32_get_arg): Renamed from x_get_arg.
12725 (Fx_file_dialog): New function.
12726 (w32_list_fonts): Check cache before asking system.
12727 (Vw32_enable_synthesized_fonts): New variable.
12728 (Vw32_enable_italics): Obsolete, removed.
12729
12730 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12731 Use SELECTED_FRAME macro.
12732
12733 * w32menu.c: Add skeleton support for help strings on menus.
12734 (add_menu_item): Native checkbox and radio support added, but not
12735 yet enabled due to bugs.
12736 (push_menu_item): Add parameters type, selection and help.
12737 Callers updated.
12738 Formatting changes to reduce unnecessary diffs with xmenu.c.
12739
12740 * w32select.c (Fw32_set_clipboard_data): Update call to
12741 find_charset_in_str.
12742
12743 * w32term.c: Complete rewrite for new redisplay based on new
12744 xterm.c with necessary sections merged back in from old w32term.c.
12745
6ffd3cf7 127462000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12747
12748 * data.c (set_internal): Further fix in same criterion.
12749
6ffd3cf7 127502000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12751
12752 * data.c (set_internal): Fix the criteria for whether
12753 to swap out the old cached binding.
12754
60af03f1
DL
127552000-01-19 Dave Love <fx@gnu.org>
12756
12757 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12758
f9be074f
KH
127592000-01-18 Kenichi Handa <handa@etl.go.jp>
12760
12761 * regex.c (re_compile_fastmap): While checking a range table for
12762 `charset', skip flag bits for a character class correctly.
12763
52b8dbf9
GM
127642000-01-17 Gerd Moellmann <gerd@gnu.org>
12765
d36100c9
GM
12766 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12767
52283633 12768 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12769
12770 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12771 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12772
12773 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12774 MENU_ITEMS_ITEM_.*.
12775 (MENU_ITEMS_ITEM_HELP): New enumerator.
12776 (push_menu_item): Add parameter HELP. Record help in menu_items.
12777 (single_menu_item, single_submenu, list_of_items): Call
12778 push_menu_item with new parameter.
12779 (single_submenu): Set help string in widget value.
12780 (menu_highlight_callback): New function.
12781 (set_frame_menubar): Call lw_create_widget with new
12782 parameter list.
12783 (xmenu_show, xdialog_show): Ditto.
12784
3139018f
GM
127852000-01-13 Gerd Moellmann <gerd@gnu.org>
12786
12787 * sound.c (Fplay_sound): Improve doc string.
12788
83c8f461
RS
127892000-01-11 Richard M. Stallman <rms@gnu.org>
12790
12791 * lisp.h (set_internal): Enter the new arg.
12792
12793 * eval.c (specbind): Record buffer-local variables specially,
12794 indicating which buffer's binding was saved.
12795 (unbind_to): Restore buffer-local variables specially
12796 in the proper buffer.
12797
12798 * data.c (set_internal): New arg BUF.
427ec082 12799
83c8f461
RS
12800 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12801 * data.c (Fset): Pass new arg to set_internal.
12802 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12803
1fab1775
GM
128042000-01-11 Gerd Moellmann <gerd@gnu.org>
12805
52283633 12806 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12807
83c8f461 128082000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12809
12810 * minibuf.c (Ftry_completion): Doc fix.
12811
7a85e4df
GM
128122000-01-11 Gerd Moellmann <gerd@gnu.org>
12813
12814 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12815 vector, too.
12816
a970dae4
AS
128172000-01-11 Andreas Schwab <schwab@suse.de>
12818
12819 * coding.c (code_convert_region): Initialize total_skip.
12820
c65d14ee
DL
128212000-01-08 Dave Love <fx@gnu.org>
12822
12823 * eval.c (Fuser_variable_p): Check customizability too.
12824
834938d2
GM
128252000-01-07 Gerd Moellmann <gerd@gnu.org>
12826
12827 * minibuf.c (Fcompleting_read): Doc fix.
12828
e0303cd6
GM
128292000-01-05 Gerd Moellmann <gerd@gnu.org>
12830
8a26744b
GM
12831 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12832 -L /usr/local/lib.
12833
e0303cd6
GM
12834 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12835 Check that input style is supported before trying to create an
12836 IC for it.
12837 (x_window): Call x_create_im.
427ec082 12838
2e471eb5
GM
128392000-01-04 Gerd Moellmann <gerd@gnu.org>
12840
560a7bd2
GM
12841 * xfns.c (current_gif_memory_src): New variable.
12842 (gif_load): Record the address of the current memory source
12843 in current_gif_memory_src.
12844 (gif_read_from_memory): Use current_gif_memory_src.
12845
f9ee84a3
GM
12846 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12847 macros statement form.
12848
d1299cde
GM
12849 * sound.c (struct sound): Renamed from struct sound_file.
12850 (struct sound): Add members `data' and `header_size'.
12851 (enum sound_attr): Add SOUND_DATA.
12852 (current_sound, current_sound_device): Variables renamed from
12853 sound_file and sound_device.
12854 (parse_sound): Parse :data.
12855 (parse_sound): Handle sound data in strings.
12856 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12857 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12858 needed header size.
12859 (wav_play, au_play): Play sounds from string data.
12860
2e471eb5
GM
12861 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12862
12863 * lisp.h: Add prototype for allocate_string_data.
12864
52283633 12865 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12866
12867 * alloc.c (mark_buffer): Remove code in #if 0.
12868 (gc_sweep): Ditto.
12869 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12870 (strings_consed): New variable.
12871 (allocate_string): Set it.
12872 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12873 (Fmemory_use_counts): Return strings_consed. Use Flist.
12874
12875 * alloc.c: General cleanup in comments etc. Remove conditional
12876 compilation for `standalone'.
12877
12878 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12879
12880 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12881 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12882 (DONT_COPY_FLAG): Removed.
12883 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12884 (struct sdata, struct sblock): New
12885 (struct string_block): Rewritten.
12886 (STRINGS_IN_STRING_BLOCK): New macro.
12887 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12888 (large_sblocks, string_blocks, string_free_list): New variables.
12889 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12890 (init_strings): Rewritten.
12891 (allocate_string, allocate_string_data, compact_small_strings)
12892 (free_large_strings, sweep_strings): New functions.
12893 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12894 (struct string_block_head, current_string_block)
12895 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12896 (STRING_PAD): Removed.
12897 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12898 (Fgarbage_collect): Don't set mark bit in large strings.
12899 (mark_object): Mark strings differently. Mark symbol names
12900 differently.
12901 (survives_gc_p): Test marked strings differently.
427ec082 12902 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12903 symbol names.
12904 (compact_strings): Removed.
12905
42608ba8
EZ
129062000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12907
12908 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12909 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12910
e0a09e1a
KH
129112000-01-04 Kenichi Handa <handa@etl.go.jp>
12912
dd9f0750 12913 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12914 in a non-empty buffer.
dd9f0750 12915
3c0f3b15 12916 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12917
44cd3ae5
GM
129182000-01-03 Gerd Moellmann <gerd@gnu.org>
12919
12920 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12921 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12922
12923 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12924
c182a70f
EZ
129252000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12926
12927 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12928 need to test for MSDOS frames.
12929
24480d5b
EZ
129302000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12931
12932 * dosfns.c (unspecified_colors): Remove.
12933 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12934 unspecified_bg.
12935 (msdos_stdcolor_name): Return strings for unspecified fore- and
12936 back-ground colors.
12937
12938 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12939 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12940 (tty_color_name): Return Lisp strings for unspecified fore- and
12941 back-ground colors.
12942 (Finternal_set_lisp_face_attribute): Remove the special treatment
12943 for Qunspecified_{f,b}g.
52283633 12944 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12945
047f434a
GM
129462000-01-03 Gerd Moellmann <gerd@gnu.org>
12947
12948 * xdisp.c (reseat_at_next_visible_line_start): Position before
12949 newline only if ending up on a newline.
12950 (next_element_from_ellipsis): Return success. Handle case of
52283633 12951 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12952 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12953 returns 0.
12954
d684c676
EZ
129552000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12956
12957 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12958 (Fcolor_supported_p): Renamed from face-color-supported-p.
12959
5fe1d139
EZ
129602000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12961
12962 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12963 list of colors renamed to tty-defined-color-alist.
12964 (tty_color_name): Pass the frame to tty-color-by-index.
12965 (realize_tty_face): tty-color-alist is now a function which
12966 accepts the frame as argument.
12967
52283633 12968 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12969
816be8b8
EZ
129702000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12971
12972 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12973 encode_terminal_code.
12974
b635321e
EZ
129752000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12976
12977 * dispnew.c (mode_line_string): Support termcap frames as well.
12978
9b784e96
GM
129792000-01-01 Gerd Moellmann <gerd@gnu.org>
12980
27189709
GM
12981 * syntax.c (Fforward_word): Undo previous change.
12982
12983 * editfns.c (Fconstrain_to_field): Don't constrain if
12984 inhibit-field-text-motion is non-nil.
12985 (Fline_beginning_position): Undo previous change.
12986 (Fline_end_position): Ditto.
12987
12988 * syntax.c (Fforward_word): Notice field boundaries only if
12989 inhibit-field-text-motion is nil.
12990
12991 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12992
12993 * editfns.c (Vinhibit_field_text_motion): New variable.
12994 (inhibit-field-text-motion): New DEFVAR_LISP.
12995 (Fline_beginning_position, Fline_end_position): Notice field
12996 boundaries only if inhibit-field-text-motion is nil.
12997
45158a91
GM
12998 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12999 All calls adjusted.
13000 (x_build_heuristic_mask): Likewise.
13001 (xbm_load_image_from_file): Change error output.
13002 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13003 (gif_load, gs_load, x_kill_gs_process): Ditto.
13004
9b784e96
GM
13005 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13006 color indices when accessing raster pixels.
63cec32f
GM
13007 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13008 one of :file or :data.
13009 (enum pbm_keyword_index): Add PBM_DATA.
13010 (pbm_format): Add :data.
13011 (pbm_image_p): Allow either :file or :data.
13012 (pbm_read_file): New function.
13013 (pbm_scan_number): Rewritten to read from string.
13014 (pbm_load): Support :data.
9b784e96 13015
2cb085db 13016See ChangeLog.8 for earlier changes.
6922b018
KH
13017
13018;; Local Variables:
49b3bd82 13019;; coding: iso-2022-7bit
6922b018 13020;; End:
2a34a036
GM
13021
13022 Copyright (C) 2001 Free Software Foundation, Inc.
13023 Copying and distribution of this file, with or without modification,
13024 are permitted provided the copyright notice and this notice are preserved.