(Fsleep_for): 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
3 * dispnew.c (Fsleep_for): Fix typo in a doc string.
4
9f5eb4a3
GM
52001-10-15 Gerd Moellmann <gerd@gnu.org>
6
7 * xterm.c (x_draw_glyph_string): Restore clipping after
8 drawing box.
9
dbae44c8
PJ
102001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
11
12 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc
13 string.
14
0c88c937
SM
152001-10-14 Stefan Monnier <monnier@cs.yale.edu>
16
56378db4
GM
17 * indent.c (skip_invisible): Use new retval of
18 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 19
845e4cf4
SM
20 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
21 If a parent is reached and noinherit is set, exit immediately.
22 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
23
0c88c937
SM
24 * s/ms-w32.h (EXEC_SUFFIXES):
25 * s/msdos.h (EXEC_SUFFIXES):
26 * process.h (EXEC_SUFFIXES): Remove.
27
28 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
29 (decode_suffixes): Remove.
30
31 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
32 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
33 (invisible_ellipsis_p): Remove.
0c88c937
SM
34
35 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
36 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
37 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
38 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
39 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 40
d19be8a9
PJ
412001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
42
04d7d066
PJ
43 * lisp.h (Ftop_level): Add prototype.
44
d624284c
PJ
45 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
46 (XTread_socket): Improve style of comments to follow other
47 comments.
48
a87414f9
PJ
49 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
50 is already prototyped in included lisp.h).
51
d19be8a9
PJ
52 * frame.c (Fset_mouse_position): Improve style of comment to
53 follow other comments.
54 (Fset_mouse_pixel_position): Improve style of comment to follow
55 other comments.
56 (Fmake_frame_visible): Doc fix and typo in comment.
57 (Fmake_frame_invisible): Doc fix and typo in comment.
58 (Ficonify_frame): Fix typo in comment.
59
c061c855
GM
602001-10-14 Gerd Moellmann <gerd@gnu.org>
61
37f6b5b6 62 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 63 * term.c, alloc.c: Put doc strings in comments.
c061c855 64
e641b454
GM
652001-10-13 Gerd Moellmann <gerd@gnu.org>
66
67 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
68 Provide definitions for doc strings in comments.
69
70 * fns.c: Put doc strings in comments.
71
51724e26
EZ
722001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
73
74 * dired.c (file_name_completion): Ignore a candidate directory if
75 it matches an element in completion-ignored-extensions that ends
76 in a slash.
77 (syms_of_dired) <completion-ignored-extensions>: Mention the above
78 feature in the doc string.
79 (Ffile_name_completion): Ditto.
80
be5fc59b
SM
812001-10-12 Stefan Monnier <monnier@cs.yale.edu>
82
5a1373f3
SM
83 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
84
85 * xfns.c (syms_of_xfns): Update calls to Fprovide.
86
87 * lisp.h (Fprovide): Update prototype.
88 (Ffeaturep, invisible_p): Remove.
89
bbc4a3d3 90 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
91 (DOLIST, LOOP_PROPVAL): New macros.
92 (invisible_p, invisible_ellipsis_p): Use them.
93 (invisible_noellipsis_p): New function.
94 (syms_of_xdisp): Use empty_string.
95
96 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
97
98 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
99 (syms_of_lread) <Vafter_load_alist>: Update docstring.
100
101 * print.c (Fwith_output_to_temp_buffer): Align with
102 internal_with_output_to_temp_buffer.
103 (print_preprocess): Use traverse_intervals_noorder.
104 (print_object): Update call to traverse_intervals.
105
106 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
107 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
108
109 * intervals.c (traverse_intervals_noorder): New function.
110 (search_for_interval, count_intervals): Use it.
111 (traverse_intervals): Use less stack space and drop `depth' arg.
112
113 * fns.c (Ffeaturep): Add new `subfeature' arg.
114 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
115 (Qsubfeatures): New var.
116 (syms_of_fns): Initialize it.
117
026f408d
SM
118 * keymap.c (Fkey_description): Use empty_string.
119 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
120 (syms_of_keymap): Setup inheritance between maps.
121 Don't export Sdescribe_bindings_internal any more.
122
be5fc59b
SM
123 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
124
3365175e
GM
1252001-10-12 Gerd Moellmann <gerd@gnu.org>
126
127 * xterm.c (notice_overwritten_cursor): Renamed from
128 note_overwritten_text_cursor. Rewritten to take glyph widths into
129 account.
130
2ab7765c
EZ
1312001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
132
133 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
134 multi-line strings without a trailing "\n\".
135
311346bb
PJ
1362001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
137
138 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
139 defined.
140
2168e04d
SM
1412001-10-11 Stefan Monnier <monnier@cs.yale.edu>
142
026f408d
SM
143 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
144
c0ec53ad
SM
145 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
146 * w32proc.c (sys_spawnve):
147 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
148 * w32.c (check_windows_init_file):
149 * sound.c (Fplay_sound):
026f408d 150 * emacs.c (init_cmdargs):
c0ec53ad
SM
151 * process.c (Fstart_process): Update calls to openp.
152
153 * callproc.c (Vexec_suffixes): New var.
154 (Fcall_process): Update call to openp.
155 (decode_suffixes): New function.
156 (syms_of_callproc): Init exec-suffixes.
157
158 * lread.c (Vload_suffixes, default_suffixes): New vars.
159 (openp): Take a lisp list of suffixes.
160 Check for file-name-handlers even if the file was absolute already.
161 (syms_of_lread): Declare load-suffixes.
162 (Fload): Fix up call to openp.
163 Don't bother checking for file-name-handler at the very beginning.
164
f6333468
SM
165 * keymap.h (Fcopy_keymap): Don't export.
166
167 * lisp.h (empty_string): Declare.
c0ec53ad
SM
168 (Vload_suffixes, Vexec_suffixes): Declare.
169 (openp): Update prototype.
f6333468
SM
170
171 * emacs.c (empty_string): New var.
172 (syms_of_emacs): Initialize it.
173
174 * search.c (wordify): Use it.
175
176 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
177 selected window if it's not displayed there. Handle the case
178 when the window is dedicated.
179 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
180
181 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
182
2168e04d
SM
183 * syntax.h (struct gl_state_s): Change the meaning of b_property.
184 Remove left_ok and right_ok.
185 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
186 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
187 new meaning of b_property.
188
189 * syntax.c (update_syntax_table): Simplify.
190 (Fforward_comment): Don't skip quoted chars when going backward.
191
13d95cc0
GM
1922001-10-11 Gerd Moellmann <gerd@gnu.org>
193
beb0990f
GM
194 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
195 in case I is of some unsigned type, in which case
196 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
197 comparison becomes bogus.
198
cb938d46
GM
199 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
200 (Fuser_full_name): Fix bug treating a float as a fixnum.
201
202 * data.c (Fstring_to_number): Use make_fixnum_or_float.
203
204 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 205
13d95cc0
GM
206 * lisp.h (circular_list_error): Add prototype.
207
208 * data.c (Qcircular_list): New variable.
209 (circular_list_error): New function.
210 (syms_of_data): Initialize it Qcircular_list.
211
e35f6ff7
SM
2122001-10-10 Stefan Monnier <monnier@cs.yale.edu>
213
214 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
215 casefiddle.c, buffer.c: Include keymap.h.
216
619632ac
GM
2172001-10-10 Gerd Moellmann <gerd@gnu.org>
218
219 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
220 options. From Dave Love <d.love@dl.ac.uk>.
221
5e5388f6
GM
2222001-10-09 Gerd Moellmann <gerd@gnu.org>
223
224 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
225 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
226
14a3dff7
GM
227 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
228 unsigned char.
229 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 230
76ba8daf
AI
2312001-10-08 Andrew Innes <andrewi@gnu.org>
232
233 * lisp.h [max]: Undef min and max before redefining them.
234
235 * w32gui.h: Do not undef min and max.
236
237 * w32heap.h: Do not undef min and max.
238
239 * s/ms-w32.h: Do not undef min and max.
240
166253cb
SM
2412001-10-08 Stefan Monnier <monnier@cs.yale.edu>
242
243 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
244
0c4d9527
SS
2452001-10-08 Sam Steingold <sds@gnu.org>
246
247 * keymap.c (current-active-maps): Quote newlines (compilation error).
248
14bfa771
EZ
2492001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
250
251 * Makefile.in (lisp, shortlisp): Replace bindings.el with
252 bindings.elc, since otherwise doc strings in bindings.el get wrong
253 offsets in etc/DOC.
254
bdb7aa47
SM
2552001-10-08 Stefan Monnier <monnier@cs.yale.edu>
256
9985827f
SM
257 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
258
259 * keyboard.h (map_prompt): Remove.
260
261 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 262 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 263
bdb7aa47
SM
264 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
265
266 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
267
268 * keyboard.c (map_prompt): Remove.
269 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
270 Use Fkeymap_prompt.
271
272 * keymap.h: New file. Extracted from lisp.h.
273
9985827f
SM
274 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
275 (accessible_keymaps_1): New function.
276 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
277 (Fwhere_is_internal): Use Fcurrent_active_maps.
278 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
279 Insert in current buffer rather than standard-output.
280 Don't call `help-mode'. Export to elisp.
281 (describe_buffer_bindings): New wrapper.
282 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
283 and Sdescribe_buffer_bindings.
284
402c9a51
GM
2852001-10-08 Gerd Moellmann <gerd@gnu.org>
286
9985827f 287 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
288 Remove code setting signal handler.
289
9985827f 290 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
291 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
292
3fe81fdf
PJ
2932001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
294
295 * keyboard.c: Don't define min/max.
296
55fa7820
GM
2972001-10-08 Gerd Moellmann <gerd@gnu.org>
298
9985827f 299 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 300 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 301 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 302 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 303 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
304 Don't define min/max.
305
306 * lisp.h (min, max): New macros.
307
55fa7820
GM
308 * puresize.h (BASE_PURESIZE): Increase to 725000.
309
1aad31e4
PJ
3102001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
311
9180dc8c
PJ
312 * xfaces.c (free_frame_menubar): Add prototype.
313
01f67d2c
PJ
314 * lisp.h (init_window): Add prototype.
315
316 * editfns.c: Include ctype.h.
317
318 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 319 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
320 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
321 variable `sb'.
322
5f351ff1
PJ
323 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
324 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
325 `popup_activated_flag' and `title'.
326
479dfe87
PJ
327 * doc.c (Fdocumentation_property): Fix typo in a doc string.
328
dff49fc8
PJ
329 * emacs.c (main): Remove extra `;'.
330
248ac615
PJ
331 * atimer.h (struct atimer): Fix typos in a comment.
332
333 * atimer.c: Fix typo.
334
af232c7d
PJ
335 * Makefile.in: Fix typo.
336
337 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 338
d876f455
MB
3392001-10-07 Miles Bader <miles@gnu.org>
340
341 * Makefile.in (lisp, shortlisp): Add `button.elc'.
342
0037e2f2
KR
3432001-10-07 Ken Raeburn <raeburn@gnu.org>
344
b056f36d
KR
345 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
346 Lisp_Object.
347
0037e2f2
KR
348 * lisp.h (Ffield_end): Declare.
349
1a4372ef
GM
3502001-10-07 Gerd Moellmann <gerd@gnu.org>
351
a4a74e8c
GM
352 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
353
354 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
355
356 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
357
358 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
359
1a4372ef
GM
360 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
361 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
362
363 * alloc.c (inhibit_garbage_collection): Simplify.
364 (Fmemory_use_counts): Ditto.
365
9985827f 366 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
367 (syms_of_data): DEFVAR_INT most-positive-fixnum and
368 most-negative-fixnum.
369
9985827f 370 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
371 (FIXNUM_OVERFLOW_P): New macros.
372
4650e362
MB
3732001-10-06 Miles Bader <miles@gnu.org>
374
375 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
376 scroll_bar_bottom_shadow_pixel fields.
377 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
378 for the shadows, and tell the toolkit about them if we succeed.
379 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
380 Free scroll-bar shadow colors.
381 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
382 Free scroll-bar shadow colors when the background color changes.
383 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
384 Initialize scroll-bar shadow-color fields.
385
ace64e0a
GM
3862001-10-05 Gerd Moellmann <gerd@gnu.org>
387
388 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
389
ec66bdc7
MB
3902001-10-05 Miles Bader <miles@gnu.org>
391
9985827f
SM
392 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
393 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 394 New functions (were in simple.el).
9985827f 395 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
396 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
397 (syms_of_minibuf): Initialize them.
398
a0fb4492
GM
3992001-10-05 Gerd Moellmann <gerd@gnu.org>
400
401 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
402 (tiff_load): Install them as error and warning handler.
403
0bcf87c1
AI
4042001-10-04 Andrew Innes <andrewi@gnu.org>
405
406 * w32fns.c (x_to_w32_color): Fix argument to alloca.
407 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 408 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
409 (x_to_w32_charset): Handle private format for unknown charsets.
410 Handle wildcards in charset spec, by ignoring them.
411 (w32_codepage_for_font): Fix argument to alloca. Don't remove
412 "*-" prefix from charset.
413 (x_to_w32_font): Enlarge remainder array for safety. Specifically
414 handle the truncated font spec form constructed by font_list_1, so
415 that we correctly identify the charset fields. Don't remove "*-"
416 prefix from charset.
417 (w32_list_synthesized_fonts): Fix argument to alloca.
418
c89e4bc5
GM
4192001-10-04 Stefan Monnier <monnier@cs.yale.edu>
420
421 * window.h (MINI_WINDOW_P): Use NILP.
422
423 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
424
425 * termhooks.h (struct input_event): Use proper type for `kind'.
426
4272001-10-04 Gerd Moellmann <gerd@gnu.org>
428
429 This handles unknown keysyms better than before. For example,
430 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
431 Emacs formerly completely ignored F5. With the change, it derives
432 a key symbol from the name of the X keysym, `ccaron' in this case.
433 Reported by Martin Buchholz.
434
435 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
436 unknown keysyms.
437
438 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
439 that EVENT->code isn't a function key, use the keysym's name.
440
4412001-10-04 Gerd Moellmann <gerd@gnu.org>
442
443 FOREACH is a macro that should make it easier to loop over Lisp
444 lists with checks for cycles and proper lists.
445
446 * lisp.h (LIST_END_P, FOREACH): New macros.
447
4482001-10-04 Gerd Moellmann <gerd@gnu.org>
449
450 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
451 called for a lost connection. Prevent dumping core in this case.
452 Instead print the X error, and exit. On user request.
453
454 * xterm.c (error_msg): New variable.
455 (x_fatal_error_signal): New function.
456 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
457 as fatal_error_signal_hook around the call to XtCloseDisplay.
458
459 * emacs.c (fatal_error_signal_hook): New variable.
460 (fatal_error_signal): Call that function.
461
4622001-10-04 Gerd Moellmann <gerd@gnu.org>
463
464 With this, Emacs prints how much pure storage it will
465 approximately need in case pure storage overflows while dumping.
466
467 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
468 New variables.
469 (init_alloc_once): Initialize new variables.
470 (PURE_POINTER_P): Use new variables.
471 (pure_alloc): If pure storage overflows, allocate from the heap.
472 (check_pure_size): New function.
473 (Fgarbage_collect): Don't GC if pure storage has overflowed.
474
475 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
476 (check_pure_size): Add prototype.
477
478 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
479
4802001-10-04 Gerd Moellmann <gerd@gnu.org>
481
482 This adds a post-gc-hook that's run with GC inhibited.
483 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
484
485 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
486 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
487 (Fgarbage_collect): Run post-gc-hook.
488
4892001-10-04 Gerd Moellmann <gerd@gnu.org>
490
491 This adds `defvaralias' and `indirect-variable'. Changes not
492 directly related to this feature are there to gain the same
493 performance again as before variable aliases.
494
495 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
496 code to get and set symbol values, to take defvaralias into account.
497
498 (Note: the new `constant' bit-flag in symbols would make it
499 possible to define arbitrary read-only variables, e.g. with
500 `defconst'.)
501
502 Documentation is in lispref/variables.texi. Added to NEWS.
503
504 * lisp.h (enum symbol_interned): New enumeration.
505 (struct Lisp_Symbol): Remove member `obarray', add
506 `indirect_variable', `constant', and `interned'.
507 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
508 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
509 (indirect_variable): Add prototype.
510
511 * print.c (print_preprocess, print_object): Test internedness of
512 symbols differently.
513
514 * lread.c (Fintern, Funintern): Set symbol's interned and constant
515 bit-fields.
516 (init_obarray): Likewise for t and nil.
517
518 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
519 (Fdefvaralias): New function.
520 (specbind): Simplify the test if symbol is a constant.
521 (syms_of_eval): Defsubr Fdefvaralias.
522
523 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
524 (Qcyclic_variable_indirection): New variable.
525 (Fkeywordp): Check for internedness differently.
526 (Fmakunbound): Simplify the test if symbol is a constant.
527 (indirect_variable, Findirect_variable): New functions.
528 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
529 aliased symbol.
530 (let_shadows_buffer_binding_p): Check for variable aliases.
531 (set_internal): Simplify the test if SYMBOL is a constant.
532 If SYMBOL has a buffer-local value and is an alias, use the aliased
533 symbol instead.
534 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
535 Sindirect_variable.
536
537 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
538 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
539 set directly.
540
541 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
542
543 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
544 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
545 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
546
ab952a4f
GM
5472001-10-04 Gerd Moellmann <gerd@gnu.org>
548
549 * Branch for 21.1.
550
ba88ff28
MB
5512001-10-03 Miles Bader <miles@gnu.org>
552
553 * callproc.c (syms_of_callproc): Explicitly state in the
554 documentation for `process-environment' that earlier entries take
555 precedence over later ones.
556
ae1a9581
MB
5572001-10-02 Miles Bader <miles@gnu.org>
558
559 * textprop.c (Fnext_char_property_change)
560 (Fprevious_char_property_change): Remove reference to non-existant
561 argument OBJECT from doc-string.
562
257e3f57
GM
5632001-10-01 Gerd Moellmann <gerd@gnu.org>
564
565 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
566 (try_window_id): Skip back over lines ending in a newline from a
567 string.
568
569 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
570 New bit flag
571
c1f29759
RS
5722001-10-01 Richard M. Stallman <rms@gnu.org>
573
574 * search.c (Freplace_match): Doc fix.
575
c30dce3d
AI
5762001-09-28 Andrew Innes <andrewi@gnu.org>
577
578 * w32menu.c (set_frame_menubar): Take into account that
579 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
580 <raeburn@gnu.org>.
581
03be5931
EZ
5822001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
583
584 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
585
75bec752
PJ
5862001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
587
588 * s/gnu-linux.h: Fix a typo in comment.
589
83100e0a
AS
5902001-09-28 Andreas Schwab <schwab@suse.de>
591
592 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
593 nocombreloc, in case -z combreloc is the default.
594
a74b48cf
GM
5952001-09-28 Gerd Moellmann <gerd@gnu.org>
596
597 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
598 really going on here.
599
09c4719e
SM
6002001-09-27 Stefan Monnier <monnier@cs.yale.edu>
601
602 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
603
f7d5d963
EZ
6042001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
605
606 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
607 utf-8, menu-bar, and latin-N.
608 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
609 unconditionally now.
610 (lisp): Add latin-N, since they are preloaded.
611
9240e746
GM
6122001-09-27 Gerd Moellmann <gerd@gnu.org>
613
14531065
GM
614 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
615 to the left. Some cleanup.
616
9240e746
GM
617 * xdisp.c (display_mode_element): One more case where a string's
618 multibyteness should be used for display.
619
edd1e654
GM
6202001-09-26 Gerd Moellmann <gerd@gnu.org>
621
b02439c8
GM
622 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
623 reading at EOF.
624
032906b1 625 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 626 of the only temporarily set echoing flag for deciding when
032906b1
GM
627 the cancel echoing.
628
629 * keyboard.c (echo_kboard): Make externally visible.
630
631 * lisp.h (echo_kboard): Declare extern.
632
cb617e7c 633 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 634 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
635 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
636 this round of redisplay if make_cursor_line_fully_visible fails.
637 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 638 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
639
640 * dispextern.h (required_matrix_width, required_matrix_height):
641 Add prototypes.
642
09c4719e
SM
643 * dispnew.c (required_matrix_width, required_matrix_height):
644 New functions.
cb617e7c 645 (allocate_matrices_for_window_redisplay)
09c4719e
SM
646 (allocate_matrices_for_frame_redisplay: Use them.
647 Remove parameters CH_DIM.
cb617e7c 648
edd1e654
GM
649 * xdisp.c (display_mode_lines): Temporarily set selected_frame
650 and selected_window to the frame of the window whose mode-lines
651 are displayed, and to the window itself.
652 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 653 here.
edd1e654 654
924b604c
GM
6552001-09-25 Gerd Moellmann <gerd@gnu.org>
656
daba7643
GM
657 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
658 the image cache under us.
659
b7a22712 660 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 661 with a string value, use that string's multibyteness for displaying.
b7a22712 662
ad648212
GM
663 * keyboard.c (read_char): Don't clear a message for a switch-frame
664 event. From Stefan Monnier <monnier@cs.yale.edu>.
665
9f8531e5
GM
666 * xterm.c (fast_find_position) [0]: Add a presumably more correct
667 version for after 21.1.
668
669 * xdisp.c (row_containing_pos): Make externally visible.
670
671 * dispextern.h (row_containing_pos): Add prototype.
672
924b604c
GM
673 * process.c (send_process): Disable composition if from_byte < 0.
674 From Kenichi Handa <handa@etl.go.jp>.
675
6f3f0db4
GM
6762001-09-24 Gerd Moellmann <gerd@gnu.org>
677
c69c0ebc
GM
678 * xterm.c (refreshicon): Function removed.
679
d1182bc4
GM
680 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
681
682 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
683
684 * xterm.c (toplevel): Remove includes in #if 0.
685
6f3f0db4
GM
686 * process.c (sigchld_handler) [LINUX]: Don't return from
687 the signal handler at the end of the loop.
688
59957f85
GM
6892001-09-21 Gerd Moellmann <gerd@gnu.org>
690
09c4719e
SM
691 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
692 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 693
a0528984
EZ
6942001-09-21 Markus Rost <rost@math.ohio-state.edu>
695
696 * Makefile.in (shortlisp): Add ../lisp/env.elc.
697
db92b288
GM
6982001-09-20 Gerd Moellmann <gerd@gnu.org>
699
3fed8ad5
GM
700 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
701 since this function can be called during GC.
702
db92b288
GM
703 * callproc.c (Fcall_process): Handle errors from pipe(2).
704 (child_setup): Delete code in #ifdef vipc.
705
7121b85a
GM
7062001-09-19 Gerd Moellmann <gerd@gnu.org>
707
72f62cb5
GM
708 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
709 (display_mode_element): Display the string from decode_mode_spec
710 depending on its multibyteness.
711
a2697022
GM
712 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
713
7121b85a
GM
714 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
715
bfc97351
GM
7162001-09-18 Gerd Moellmann <gerd@gnu.org>
717
c9063433
GM
718 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
719 recursive_edit_unwind.
720 (recursive_edit_unwind): Set kboard state according to
721 SINGLE-KBOARD.
722
3fbdba3e
GM
723 * buffer.c (modify_overlay): Don't do nothing if START == END;
724 This can still be a modification, for example when an overlay has
725 a before-string or after-string.
726 (Fdelete_overlay): Prevent redisplay optimizations when deleting
727 an overlay with before-string or after-string.
728
1270031d
GM
729 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
730 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
731
bfc97351
GM
732 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
733 first_unchanged_at_end_row is in front of
734 last_unchanged_at_beg_row. This code should be removed after the
735 release of 21.1.
736
d8a973aa
GM
7372001-09-17 Gerd Moellmann <gerd@gnu.org>
738
e18c8b8d
GM
739 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
740 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
741
d8a973aa
GM
742 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
743 versions >= 2.95.
744
ed7d6ba4
EZ
7452001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
746
747 * dired.c (Ffile_attributes): Doc fix.
748
551629f9
GM
7492001-09-14 Gerd Moellmann <gerd@gnu.org>
750
751 * fileio.c (Ffile_symlink_p): Fix last change.
752
753 * filelock.c (current_lock_owner): Fix last change.
754
4c8c7926
GM
7552001-09-13 Gerd Moellmann <gerd@gnu.org>
756
620c4704
GM
757 * filelock.c (current_lock_owner): If readlink returns ERANGE,
758 take that to mean that the buffer is too small.
759
81c3310d
GM
760 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
761 that to mean that the buffer is too small.
762
06fd3792
GM
763 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
764 current buffer's multibyteness when discarding the iterator's
765 stack.
766
4c8c7926
GM
767 * xfns.c (Fx_window_property): Handle case that property gets
768 deleted between the two calls to XGetWindowProperty.
769
9a72e4c1
GM
7702001-09-11 Gerd Moellmann <gerd@gnu.org>
771
bd819d14
GM
772 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
773
a41edd99
GM
774 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
775 in addition to read-only.
776
777 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
778 to t in addition to read-only.
779
780 * lisp.h (Qinhibit_modification_hooks): Declare.
781
782 * insdel.c (Qinhibit_modification_hooks): New variable.
783 (syms_of_insdel): Initialize and staticpro it.
784
d4881c6a
GM
785 * textprop.c (verify_interval_modification): Don't run
786 modification-hooks if inhibit_modification_hooks.
787
788 * dispnew.c (set_window_cursor_after_update): Fix code
789 finding glyph row containing cursor when cursor_in_echo_area
790 is >= 0.
791
9a72e4c1
GM
792 * xdisp.c (init_from_display_pos): Put some code in #if 0.
793 (add_to_log): Use bcopy instead of strcpy.
794 (init_from_display_pos): Use an explicit loop over bytes in
795 overlay strings instead of calling index.
796
f4a374a1
GM
7972001-09-10 Gerd Moellmann <gerd@gnu.org>
798
300e57bd
GM
799 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
800
801 * dispnew.c (direct_output_for_insert): Don't change IT's
802 stop_charpos to something in front of its current position.
803
f4a374a1
GM
804 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
805 `format'.
806
7e4cbc91
RS
8072001-09-10 Richard M. Stallman <rms@gnu.org>
808
809 * frame.c (Fmouse_position): Doc fix.
810
6afad91e
GM
8112001-09-07 Gerd Moellmann <gerd@gnu.org>
812
813 * xdisp.c (init_from_display_pos): Don't compare the result
814 of calling index with NULL.
815
f76e0368
GM
8162001-09-06 Gerd Moellmann <gerd@gnu.org>
817
818 * xfns.c (x_set_background_color): Don't change the colors
819 of the X window of scroll bar widgets.
820
9ead1b60
AI
8212001-09-05 Andrew Innes <andrewi@gnu.org>
822
823 * w32fns.c (w32_createwindow): Undo last change.
824
c3b497b3
GM
8252001-09-05 Gerd Moellmann <gerd@gnu.org>
826
08e1d6df
GM
827 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
828
c3b497b3
GM
829 * xdisp.c (string_buffer_position): Use *single_char_property*
830 functions instead of the *single_property* functions.
831
8f860180
AI
8322001-09-04 Andrew Innes <andrewi@gnu.org>
833
9a72e4c1
GM
834 * w32term.c (w32_read_socket): Add more information to debugging
835 output.
8f860180
AI
836
837 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
838 from Emacs frames, so that calls to GetClipBox in w32term.c
839 correctly report when part of a frame is visible (including
840 scrollbars, etc). This prevents repeated redrawing of frames when
841 only a scrollbar is visible.
842 (w32_wnd_proc): Add more frame information to debugging output.
843
2ee1aa00
SM
8442001-09-03 Stefan Monnier <monnier@cs.yale.edu>
845
846 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
847
e3b22517
GM
8482001-09-03 Gerd Moellmann <gerd@gnu.org>
849
7e376260
GM
850 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
851 help-echo for a string which doesn't have help-echo itself, use
852 get-char-property to obtain the help-echo from the string's buffer
853 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
854 have mouse-face, look ``under'' the string for mouse-face from an
855 overlay.
856 (fast_find_position): Add parameter STOP. In the final row, stop
857 before glyphs having STOP as object. Don't consider glyphs that
858 are not from a buffer.
859
e3b22517
GM
860 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
861
9a249bba
EZ
8622001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
863
864 * fns.c (Fmd5): Doc fix.
865
c9979669
GM
8662001-08-31 Gerd Moellmann <gerd@gnu.org>
867
868 * composite.c (update_compositions): Do nothing if
869 inhibit-modification-hooks is set.
870
9584e63a
GM
8712001-08-30 Gerd Moellmann <gerd@gnu.org>
872
986ec8f2 873 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 874 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
875 glyph matrices etc. in a core dump.
876
92a25631
GM
877 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
878 (syms_of_xdisp): Initialize them.
879 (handle_single_display_prop): Don't change point, bind `object',
880 `position', and `buffer-position' instead to the object having the
2ee1aa00 881 `display' property, position in the object and position in the buffer.
92a25631 882
9584e63a
GM
883 * fileio.c (Finsert_file_contents): Don't change the multibyteness
884 of the buffer if REPLACE is non-nil.
885
d38633a3
GM
8862001-08-29 Gerd Moellmann <gerd@gnu.org>
887
888 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
889
f4fccc1e
EZ
8902001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
891
892 * w32term.c (x_set_glyph_string_background_width)
893 (show_mouse_face): Track the last changes in xterm.c.
894
eaaa65b0
GM
8952001-08-28 Gerd Moellmann <gerd@gnu.org>
896
7b0870b2
GM
897 * xterm.c (x_set_glyph_string_background_width): Set the glyph
898 string's background width so that multi-line mouse-face is drawn
899 to the right edge of the window.
900 (show_mouse_face): Set the row's mouse_face_p flag after drawing
901 glyphs.
902
6b6e2422 903 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 904 before inserting/writing glyphs.
6b6e2422 905
eaaa65b0
GM
906 * xdisp.c (display_mode_element): Use string_byte_to_char to
907 determine character positions in strings, use chars_in_text
908 instead of strwidth.
909 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
910 a matrix as parameter; this is easier to use from GDB.
911
9ad62cf8
MB
9122001-08-28 Miles Bader <miles@gnu.org>
913
2ee1aa00
SM
914 * textprop.c (Fprevious_single_char_property_change)
915 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 916
32171635
GM
9172001-08-27 Gerd Moellmann <gerd@gnu.org>
918
47d57b22
GM
919 * fileio.c (Finsert_file_contents): Allocate, restore, and
920 free composition data in the case of REPLACE not being nil.
921
922 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
923 there exist overlay strings with newlines at POS.
924 (text_outside_line_unchanged_p): Return 0 if changes start at
925 START and overlays exist at START. Likewise for END.
926 (try_window_id): Give up if init_to_row_end returns 0.
927
32171635
GM
928 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
929 unconditionally.
930
e1249666
GM
9312001-08-24 Gerd Moellmann <gerd@gnu.org>
932
33954c45
GM
933 * keymap.c (access_keymap): Return the cdr of the binding of
934 a generic character instead of its definition (KEY . BINDING).
935
e1249666
GM
936 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
937 to 0 also in the REPLACE case.
938
fb4c6c96
AC
9392001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
940
941 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
942 open to determine whether file is readable (as for DOS_NT).
943
59ecf80b
GM
9442001-08-23 Gerd Moellmann <gerd@gnu.org>
945
946 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
947 coding.type is coding_type_no_conversion or coding_type_raw_text,
948 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
949 non-nil instead of just setting enable_multibyte_characters in the
950 buffer to nil.
951
40e33037
GM
9522001-08-22 Gerd Moellmann <gerd@gnu.org>
953
374388c3
GM
954 * dispextern.h (struct face_cache): Add member
955 menu_face_changed_p.
956
957 * xfaces.c (menu_face_changed_default): New variable.
958 (menu_face_changed_count): Variable removed.
959 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
960 the menu_face_changed_default flag, otherwise set the FRAME's
961 menu_face_changed_p flag if the `menu' face has been changed.
962 Prevent calling set_font_frame_param if FRAME is t.
963 (make_face_cache): Initialize cache's menu_face_changed_p
964 from menu_face_changed_default.
965 (realize_basic_faces): Look into the frame's face cache to
966 determine if the menu appearance needs updating.
967
40e33037
GM
968 * keymap.c (access_keymap): Fix last change to not consider
969 IDX when it has modifiers.
970
859ea4b8
GM
9712001-08-21 Gerd Moellmann <gerd@gnu.org>
972
973 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
974 . BINDING) exists, where GENERIC-CHAR is the generic character of
975 the charset of IDX, return BINDING unless there exists a binding
976 for IDX itself.
977
e8660d73
GM
9782001-08-16 Gerd Moellmann <gerd@gnu.org>
979
cca1b1d7
GM
980 * xrdb.c (SYSV): Don't define on Solaris 2.
981 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
982
e8660d73 983 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 984 of the screen line, not text line, containing IT's current position.
e8660d73 985
93aba6fc
GM
9862001-08-15 Gerd Moellmann <gerd@gnu.org>
987
288d4e06
GM
988 * window.c (window_scroll_pixel_based): Don't recenter if
989 PT is partially visible in the window.
990
3452efc2
SM
991 * xterm.c (expose_window_tree, expose_window, expose_line):
992 Return 1 when overwriting mouse-face.
82f053ab
GM
993 (expose_frame): If mouse-face was overwritten, redo it.
994
93aba6fc
GM
995 * xfaces.c (x_update_menu_appearance): Don't call
996 set_frame_menubar, let the next redisplay do it.
997
858a55c1
AI
9982001-08-14 Andrew Innes <andrewi@gnu.org>
999
1000 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1001 drawing glyph string.
1002
3a990b67
EZ
10032001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1004
1005 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1006 running HI-UX/MPP.
1007
04386463
GM
10082001-08-14 Gerd Moellmann <gerd@gnu.org>
1009
1010 * xfaces.c (x_update_menu_appearance): Save and restore value of
1011 interrupt_input_blocked.
1012
3e6385a4
GM
10132001-08-13 Gerd Moellmann <gerd@gnu.org>
1014
b0e619b4
GM
1015 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1016 a line start, move back to the line start.
3452efc2 1017
0de73d5a
GM
1018 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1019 exactly when a mini-buffer is active.
1020
3e6385a4
GM
1021 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1022 in units of 1/8 character on non window-system frames.
1023 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1024
d1b5f629
EZ
10252001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1026
1027 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1028 a doc string.
1029
eaa2319f
GM
10302001-08-09 Gerd Moellmann <gerd@gnu.org>
1031
8e3189f0
GM
1032 * keyboard.c (Vpre_help_message): New variable.
1033 (syms_of_keyboard): Initialize and staticpro it.
1034 (show_help_echo): Record current message before displaying a
1035 help-echo, and restore that message when clearing the help.
1036
eaa2319f
GM
1037 * xfns.c (x_create_im): Remove prototype.
1038
1039 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1040
1041 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1042
eaa2319f
GM
10432001-08-08 Gerd Moellmann <gerd@gnu.org>
1044
1045 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1046 windows whose height has changed, disable partially visible lines.
eaa2319f 1047
17fdcfc8
GM
10482001-08-07 Gerd Moellmann <gerd@gnu.org>
1049
22d01aed 1050 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1051 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1052
17fdcfc8
GM
1053 * xdisp.c (start_display): Don't try to determine the continuation
1054 lines width if lines are truncated. It's superfluous and leads to
1055 incorrect results if POS is not visible in the window after
1056 reseating the iterator at the previous line start.
1057
8e3fe78e
GM
10582001-08-06 Gerd Moellmann <gerd@gnu.org>
1059
1060 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1061
98a8938c
GM
10622001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1063
1064 * alloc.c (init_stack): Remove declaration.
1065
18f9986a
GM
10662001-08-03 Gerd Moellmann <gerd@gnu.org>
1067
5e1f85e0
GM
1068 * keyboard.c (read_key_sequence): Check that key is an integer
1069 before comparing it with quit_char.
1070 (add_command_key): Use larger_vector.
1071 (read_char_x_menu_prompt): Instead of converting symbol and
1072 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1073 which cannot be confused with valid events.
5e1f85e0
GM
1074 (read_char): When reading from Vunread_command_events, check for
1075 events of the form (EVENT . disabled) instead of
1076 (EVENT . nil).
1077
18f9986a
GM
1078 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1079 a float, determine the max height from the frame's height.
1080
fbc7f2a6
GM
10812001-08-02 Gerd Moellmann <gerd@gnu.org>
1082
1083 * xdisp.c (redisplay_internal): Take message_cleared_p into
1084 account only if minibuf_level == 0.
1085
81b1a79d
GM
10862001-08-01 Gerd Moellmann <gerd@gnu.org>
1087
e5c60873
GM
1088 * xdisp.c (redisplay_internal): Add a check for the last
1089 displayed message.
3452efc2 1090
6e019995
GM
1091 * xdisp.c (message_cleared_p): New variable.
1092 (clear_message): Set message_cleared_p when clearing the current
1093 message.
1094 (redisplay_internal): Look at message_cleared_p to capture
1095 the case that the echo area should be cleared.
1096
308a74d8
GM
1097 * keyboard.c (command_loop_1): Fix spelling of
1098 resize_echo_area_exactly.
1099
3452efc2 1100 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1101
1102 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1103
81b1a79d
GM
1104 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1105 current matrix when the window gets smaller.
1106
ada329e6
EZ
11072001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1108
1109 * print.c (strout): Cast the character passed to insert_char to
1110 unsigned char, to avoid sign extension when it is promoted to int.
1111
ed86208c
GM
11122001-07-31 Gerd Moellmann <gerd@gnu.org>
1113
1114 * fileio.c (Finsert_file_contents): Don't treat a return value
1115 of 0 from emacs_read as an IO error.
1116
6594ac22
GM
11172001-07-30 Gerd Moellmann <gerd@gnu.org>
1118
cef68af5
GM
1119 * keyboard.c (abs): New macro.
1120 (double_click_fuzz): New variable.
1121 (make_lispy_event): Use it to determine what makes a double-click.
1122 (syms_of_keyboard): DEFVAR_INT it.
1123
6594ac22
GM
1124 * xmenu.c (set_frame_menubar): Take into account that
1125 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1126 <raeburn@gnu.org>.
1127
75c5350a
GM
11282001-07-27 Gerd Moellmann <gerd@gnu.org>
1129
1130 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1131
1132 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1133 of row's visible height.
1134
1135 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1136 deal with the first overlay string having an image `display' property.
1137 (try_window_reusing_current_matrix, compute_line_metrics):
1138 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1139 row is invisible above and part of the row is at the same time
1140 invisible below the window.
1141
ac49effe
GM
11422001-07-26 Gerd Moellmann <gerd@gnu.org>
1143
1144 * xfns.c (x-show-tip): Doc fix.
3452efc2 1145
ac49effe
GM
1146 * xfns.c (Vx_max_tooltip_size): New variable.
1147 (syms_of_xfns): DEFVAR_LISP it.
1148 (Fx_show_tip): Set frame's window_width to the width of the
1149 window. Use a maximum tooltip size specified by
1150 Vx_max_tooltip_size, if that has valid contents.
1151 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1152
8c3b00cb
AI
11532001-07-26 Andrew Innes <andrewi@gnu.org>
1154
1155 * w32term.c (x_display_list): New variable.
1156 (w32_term_init): Set it.
1157
1158 * w32term.h (x_display_list): New extern.
1159
16098288
GM
11602001-07-26 Gerd Moellmann <gerd@gnu.org>
1161
1162 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1163 is non-nil, instead of when redisplaying_p is non-zero.
1164 See comment there.
16098288
GM
1165 (mark_window_display_accurate_1): Add an assertion.
1166
64c5be50
GM
11672001-07-25 Gerd Moellmann <gerd@gnu.org>
1168
e743f599
GM
1169 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1170
563b384d
GM
1171 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1172 events so that we get a chance of processing expose events.
1173
64c5be50
GM
1174 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1175
296808a5
GM
11762001-07-24 Gerd Moellmann <gerd@gnu.org>
1177
1178 * xfns.c (valid_image_p): Protect better against invalid image
1179 specifications. Previous code could signal an error.
1180
5247262a
GM
11812001-07-23 Gerd Moellmann <gerd@gnu.org>
1182
3452efc2 1183 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1184 presence of display table entries.
1185 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1186
dd42b31a
GM
1187 * dispnew.c (adjust_glyph_matrix): In the optimization for
1188 windows whose height has changed, use the new window height
1189 to compute which rows to invalidate.
1190
9e5a7f2a
GM
1191 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1192 (MAX_10_EXP): New macro.
1193 (Fformat): Use it.
1194
5247262a
GM
1195 * coding.c (code_convert_region): Handle the multibyte case if
1196 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1197
177ab8ce
GM
11982001-07-20 Gerd Moellmann <gerd@gnu.org>
1199
6e07c0a5
GM
1200 * dispextern.h (struct face): Change type of `stipple' to
1201 int; it's an ID.
1202
177ab8ce
GM
1203 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1204
b5b80599
GM
12052001-07-19 Gerd Moellmann <gerd@gnu.org>
1206
4e2a256b
GM
1207 * dispnew.c (update_window): Don't set the cursor at the end
1208 of the update if display update has been paused.
1209
3452efc2 1210 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1211
c1fd9232
KR
12122001-07-18 Ken Raeburn <raeburn@gnu.org>
1213
1214 * fns.c (Fset_char_table_default): Check that a charset is defined
1215 before checking its dimension.
1216
928a85c1
KR
12172001-07-17 Ken Raeburn <raeburn@gnu.org>
1218
1219 * coding.c (setup_coding_system): Don't do any designation based
1220 on reg_bits if charset is not yet defined.
1221
fb4c6c96 1222 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1223 pointer, using eassert.
1224
de11c1ea
GM
12252001-07-17 Gerd Moellmann <gerd@gnu.org>
1226
3452efc2
SM
1227 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1228 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1229
467f1209
GM
12302001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1231
1232 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1233
c3d6be34
GM
12342001-07-16 Gerd Moellmann <gerd@gnu.org>
1235
c1d61a7d
GM
1236 * fileio.c (unwind_read): Function removed.
1237 (read_non_regular, read_non_regular_quit): New functions.
1238 (Finsert_file_contents): When reading from non-regular files,
1239 arrange to catch a `quit' and terminate the loop. Rearrange
1240 code so that a `quit' when reading from a regular file doesn't
1241 insert text in the buffer.
1242
c3d6be34
GM
1243 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1244 Clear faces afterwards.
1245 (clear_font_table): Take a x_display_info parameter. Don't free
1246 fonts being the default font of any frame on the given display.
1247
e06aa1f9
GM
12482001-07-13 Gerd Moellmann <gerd@gnu.org>
1249
1250 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1251 instead of CHAR_STRING which can signal an error.
1252
1253 * charset.c (char_to_string_1): Extracted from char_to_string.
1254 Return -1 instead of signaling an error.
1255 (char_to_string): Use it.
1256
1257 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1258
176c92e6
SM
12592001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1260
1261 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1262 is t, don't try to append anything to it.
1263
1c56232f
EZ
12642001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1265
1266 * dired.c (file_name_completion): Pass dp->d_name to
1267 Fstring_match, not elt, which is always nil here.
1268
1d2b2268
GM
12692001-07-12 Gerd Moellmann <gerd@gnu.org>
1270
1271 * xselect.c (x_decline_selection_request): Handle errors
1272 caused by receivers that have vanished.
1273
1274 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1275 ignoring events on foreign windows in #if 0. Always dispatch
1276 the event after checking it with x_handle_property_notify.
1277
1278 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1279 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1280 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1281 (toplevel): Add prototypes for file-local functions.
1282 (x_atom_to_symbol): Remove DPYINFO parameter.
1283
fe5a0162
SM
12842001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1285
1286 * w32menu.c (menubar_selection_callback, w32_menu_show):
1287 Initialize `entry' to nil.
1288 (w32_dialog_show): Remove unused `save_wv' variable.
1289 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1290
a777242c
GM
12912001-07-11 Gerd Moellmann <gerd@gnu.org>
1292
8ee5b6a3
GM
1293 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1294
d0e2444e
GM
1295 * fileio.c (unwind_read): Print a message when discarding inserted
1296 text or switching the buffer to unibyte. Change parameter.
1297 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1298
a777242c
GM
1299 * fileio.c (unwind_read): New function.
1300 (Finsert_file_contents): Record it as unwind-function for
1301 the case that reading is interrupted by C-g.
1302
ae794295
GM
13032001-07-10 Gerd Moellmann <gerd@gnu.org>
1304
fe5a0162 1305 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1306 update when scrolling_window returns 0.
1307
6b05fae3
GM
1308 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1309
1310 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1311 for the case that x_decode_color signals an error.
6b05fae3 1312
ae794295
GM
1313 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1314
bb6e8cee
GM
13152001-07-09 Gerd Moellmann <gerd@gnu.org>
1316
1317 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1318 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1319 around ioctls.
1320
36b40a8a
EZ
13212001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1322
24b97d4b
EZ
1323 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1324 doc string line for dos-timezone-offset.
1325
36b40a8a
EZ
1326 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1327 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1328 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1329 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1330
1331 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1332
0967b4b0
GM
13332001-07-05 Gerd Moellmann <gerd@gnu.org>
1334
f25cfe53
GM
1335 * sound.c: Include Emacs' header files with #include "...".
1336
0967b4b0
GM
1337 * eval.c (specbind): Additionally record the buffer that was
1338 current when a buffer-local or frame-local variable was bound.
1339
c347a1c3
GM
13402001-07-04 Gerd Moellmann <gerd@gnu.org>
1341
1342 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1343 to unibyte characters in unibyte buffers.
1344
6332ca8a
GM
13452001-07-03 Gerd Moellmann <gerd@gnu.org>
1346
38472d44
GM
1347 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1348 the frame on the binding stack. Change format of entries for
1349 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1350 (unbind_to): Handle unbinding a frame-local variable.
1351
6332ca8a 1352 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1353 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1354 (dump_glyph_row): Print row's continuation_lines_width.
1355 (try_window_id): Take the shortcut if ZV is visible in the
1356 window, but there are actually no changes at ZV.
1357
63d1b174
GM
13582001-07-02 Gerd Moellmann <gerd@gnu.org>
1359
4c175203
GM
1360 * xterm.h (x_free_dpy_colors): Add prototype.
1361
1362 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1363 right number of arguments.
1364
0b54ce28
GM
1365 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1366 ($(lwlibdir)TAGS): New target.
4c175203 1367 (TAGS): Fix dependency list.
0b54ce28 1368
63d1b174
GM
1369 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1370 with input blocked.
1371
d827466c
GM
13722001-06-30 Gerd Moellmann <gerd@gnu.org>
1373
1374 * emacs.c (main): Remove extern declaration for sys_nerr, which
1375 isn't used and causes a compilation error with GCC 3.0 on
1376 FreeBSD 4.3.
1377
b5cb1ada
GM
13782001-06-27 Gerd Moellmann <gerd@gnu.org>
1379
a5d3ec3f 1380 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1381 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1382 (toplevel): Include <signal.h> and syssignal.h.
1383
b5cb1ada
GM
1384 * sound.c (vox_configure, vox_close): Turn off atimers
1385 around ioctls.
1386
d9bad487
GM
13872001-06-26 Gerd Moellmann <gerd@gnu.org>
1388
fdbb67fe
GM
1389 * keyboard.c (read_char) <non_reread>: Record the previous idle
1390 start time before calling timer_stop_idle.
1391 (read_char) <reread_first>: After processing a help-echo event,
1392 restore the previous idle start time.
1393
d9bad487
GM
1394 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1395 the start of invisible text.
1396 (setup_for_ellipsis): New function.
1397 (next_overlay_string): After all overlay strings have been
1398 processed, display an ellipsis if necessary.
1399 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1400 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1401
1402 * dispextern.h (struct iterator_stack_entry): Add member
1403 display_ellipsis_p.
1404
2b9c25e0
GM
14052001-06-25 Gerd Moellmann <gerd@gnu.org>
1406
80de57df
GM
1407 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1408 on the value of the wait-for-wm frame parameter.
1409
1410 * xterm.h (struct x_output): Add member wait_for_wm.
1411
1412 * xfns.c (Qwait_for_wm): New variable.
1413 (x_frame_parms): Add entry for `wait-for-wm".
1414 (x_set_wait_for_wm): New function.
1415 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1416 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1417
2b9c25e0
GM
1418 * xdisp.c (try_window_id) <all changes below window end>: Don't
1419 take this shortcut if ZV is visible in the window.
1420 (try_window_id): When checking for window start being in changed
1421 text, don't check that the buffer's size has changed.
1422
f772775c
RS
14232001-06-23 Richard M. Stallman <rms@gnu.org>
1424
1425 * minibuf.c (Fcompleting_read): Doc fix.
1426
fa9090b8
GM
14272001-06-19 Gerd Moellmann <gerd@gnu.org>
1428
1429 * composite.c (Ffind_composition_internal): Accept ZV
1430 and a string's end position as POS.
1431
f6f1beba
GM
14322001-06-18 Gerd Moellmann <gerd@gnu.org>
1433
1434 * composite.c (Ffind_composition_internal): Check POS
1435 for validity.
1436
0ae83348
EZ
14372001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1438
1439 * editfns.c (Fmessage_box): If the frame is not under a window
1440 system, output the message in the echo area.
1441
e4cdc335
RS
14422001-06-14 Richard M. Stallman <rms@gnu.org>
1443
1444 * xdisp.c (try_window_id): When EOB is visible, don't treat
1445 insertion at EOB as if it were "off the bottom of the screen."
1446
a55a5f3c
AI
14472001-06-11 Andrew Innes <andrewi@gnu.org>
1448
1449 * w32proc.c (create_child): Add new parameter is_gui_app.
1450 (w32_executable_type): Add new parameter is_gui_app.
1451 (sys_spawnve): Use it.
1452 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1453 SIGQUIT. This matches better how the signals are interpreted by
1454 MSVC compiled programs.
1455 (syms_of_ntproc): Update docstring.
1456
1b85dc1c
SM
14572001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1458
1459 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1460 well otherwise note_mouse_highlight might optimize away highlighting
1461 if we pass over that same overlay again.
1462
b75f8eab
EZ
14632001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1464
1465 * lread.c (Fload): Document that the argument is run via
1466 substitute-in-file-name.
1467
94843cc1
GM
14682001-05-31 Gerd Moellmann <gerd@gnu.org>
1469
b14659e6
GM
1470 * Makefile.in (bootstrap-doc): New target.
1471 (bootstrap-emacs): Depend on it.
1472
0894672f
GM
1473 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1474 auto-save-list-file-name when shutting down Emacs, because
1475 creating the directory might signal an error, and leaves
1476 Emacs in a strange state.
1477
94843cc1
GM
1478 * term.c: (tty_cursor_hidden): New variable.
1479 (update_begin): Don't call tty_hide_cursor. Clean up.
1480 (update_end, set_terminal_window, set_scroll_region): Clean up.
1481 (ring_bell, reset_terminal_modes): Clean up.
1482 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1483 on tty_cursor_hidden.
1484 (write_glyphs): Call tty_hide_cursor.
1485
db3a49a6
SM
14862001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1487
1488 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1489
8bd189fb
GM
14902001-05-30 Gerd Moellmann <gerd@gnu.org>
1491
6f1be3b9
GM
1492 * xfns.c (enum image_value_type): New enumerator
1493 IMAGE_STRING_OR_NIL_VALUE.
1494 (parse_image_spec): Handle it.
1495 (xbm_format, pbm_format): Use it for :foreground and :background.
1496 (xbm_load, pbm_load): Check for nil color names.
1497
8bd189fb
GM
1498 * xterm.c (note_mouse_highlight): If an overlapping overlay
1499 exists, but we find that we highlight the same overlay as before,
1500 don't do the highlighting again.
1501
7bdba03c
GM
15022001-05-29 Gerd Moellmann <gerd@gnu.org>
1503
4c329aa8
GM
1504 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1505 Protect unibyte strings created by replacing their multibyte
1506 equivalents in menu_items.
1507
e15e2828
GM
1508 * keymap.c (Fsingle_key_description): NUL-terminate the string
1509 buffer before calling build_string.
1510
7bdba03c
GM
1511 * callproc.c (Fcall_process): Deal with decode_coding returning
1512 CODING_FINISH_INCONSISTENT_EOL.
1513
89c8dc6c
GM
15142001-05-28 Gerd Moellmann <gerd@gnu.org>
1515
db3a49a6 1516 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1517 an item's name with its key description in case the description
1518 is a multibyte string.
1519
1520 * keymap.c (Fsingle_key_description): Create a multibyte string
1521 only if necessary.
1522
eb04d6cd
GM
1523 * macros.c (Fstart_kbd_macro): Doc fix.
1524
8bd6307f
GM
1525 * xterm.c (cursor_in_mouse_face_p): New function.
1526 (x_draw_stretch_glyph_string): Use it to choose a different GC
1527 when drawing a cursor within highlighted text.
1528
e26c4089
GM
1529 * editfns.c (char_property_eq): Put in #if 0.
1530
1531 * indent.c (string_display_width): Put in #if 0.
1532
1533 * lread.c (Fload): Remove unused label.
1534
89c8dc6c
GM
1535 * termcap.c (speeds): Put in #if 0.
1536
9a1211f2
GM
15372001-05-18 Gerd Moellmann <gerd@gnu.org>
1538
29148a3f
GM
1539 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1540
9a1211f2
GM
1541 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1542 transformation matrix by 10.
1543
09393d07
GM
15442001-05-16 Gerd Moellmann <gerd@gnu.org>
1545
1546 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1547 only if it's equal to the former foreground pixel color.
db3a49a6 1548 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1549 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1550
460e6bae
GM
15512001-05-16 Dave Love <fx@gnu.org>
1552
1553 * insdel.c (signal_before_change, signal_after_change): Consider a
1554 local change hook which changes the buffer.
99c78ce8
GM
1555
1556 * process.c (read_process_output): Don't call signal_after_change
1557 and update_compositions after insert_from_string_before_markers.
1558
dbcf3c03
GM
15592001-05-16 Gerd Moellmann <gerd@gnu.org>
1560
a90b3d3c
GM
1561 * xfaces.c (split_font_name): Use the right field when
1562 checking for `[...]' syntax.
1563
1b7818b4
GM
1564 * buffer.c (copy_overlays): New function.
1565 (clone_per_buffer_values): Use it.
1566
1567 * buffer.h (OVERLAY_PLIST): New macro.
1568
9bae8781
GM
1569 * keymap.c (Fsingle_key_description): Replace a build_string with
1570 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1571
dbcf3c03
GM
1572 * fontset.c (Ffontset_info): Check that face is non-null
1573 before accessing its fields.
1574
8a1ae4dd
GM
15752001-05-15 Gerd Moellmann <gerd@gnu.org>
1576
18a0a39e
GM
1577 * keyboard.c (read_key_sequence): Prevent generating a fake
1578 prefix key twice.
1579
e335b66a
GM
1580 * xfaces.c (split_font_name): Handle `[...]' for the right
1581 font name fields.
1582
8a1ae4dd
GM
1583 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1584 of CCL_STAT_INVALID_CMD.
1585
3cf80731
SM
15862001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1587
33568849
SM
1588 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1589 in <var> has no default value yet.
1590
3cf80731
SM
1591 * xfaces.c (try_alternative_families): First try the FAMILY.
1592 And if nothing is found in the end, try again with scalable fonts.
1593 (try_font_list): Let try_alternative_families do a bit more of
1594 the work. Only use FAMILY if it is not nil.
1595 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1596
933b0249
GM
15972001-05-14 Gerd Moellmann <gerd@gnu.org>
1598
58e5af83
GM
1599 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1600 pointer shape when show_mouse_face has already done it.
33568849 1601
58e5af83 1602 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1603 full-width rows.
1604
7b16a6bf
GM
1605 * xfaces.c (split_font_name): Make sure to leave the loop
1606 with the right value of `i'.
3cf80731 1607
933b0249
GM
1608 * xfaces.c (split_font_name): Handle matrix transformations
1609 in the pixel and point size fields of XLFD font names.
1610 (xlfd_point_size): Likewise.
1611
dddcbf00
EZ
16122001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1613
3cf80731 1614 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1615 (x_to_w32_font): Add prototype.
1616
7689ef0b
EZ
1617 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1618 redefining, to avoid compiler warnings.
1619
e7c15bba
EZ
1620 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1621
dddcbf00
EZ
1622 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1623 (w32_get_bdf_glyph): Cast between unsigned char and char when
1624 passing arguments to subroutines, to shut up compiler warnings.
1625 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1626 GET_HEX_VAL.
1627
1628 * xfaces.c: Include keyboard.h before frame.h, not after it.
1629
1630 * widget.c: Include keyboard.h before frame.h.
1631
1632 * w32term.h (struct image, struct face): Forward declaration, to
1633 avoid compiler warnings.
1634
7bd2d083
GM
16352001-05-11 Gerd Moellmann <gerd@gnu.org>
1636
47e72862
GM
1637 * keyboard.c (read_key_sequence): Don't modify events when
1638 generating fake prefix keys (mode-line, scroll-bar, ...) since
1639 this prevents proper processing of such events when pushed back
1640 into unread-command-events.
1641
dd5f324b
GM
1642 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1643 actually redrawn. Make the function static.
1644 (note_mouse_highlight): Fix a case where the mouse cursor
1645 was changed back to the text cursor.
1646
1647 * xterm.h (clear_mouse_face): Remove prototype.
1648
d88a79d4
GM
1649 * xdisp.c (try_window_id): Fix the fix and set the right
1650 window_end_vpos.
1651
1652 * xdisp.c (try_window_id): Fix computation of window end in the
1653 case that lines were deleted at the end of the window. Add some
1654 more debug_method_adds.
0416532f 1655
7bd2d083
GM
1656 * xfaces.c (try_alternative_families): New function.
1657 (try_font_list): Use it. If ATTRS specifies a family, check
1658 fonts from that family first.
1659 (choose_face_font): Remove code setting the family part of
1660 the pattern to nil.
1661
23fca891
GM
16622001-05-10 Gerd Moellmann <gerd@gnu.org>
1663
ff9aa2ca
GM
1664 * xdisp.c (try_window_id): Fix case of all changes before
1665 the window start.
7b2654b5 1666
23fca891
GM
1667 * xdisp.c (try_window_id): Add some xasserts.
1668
e9726794
GM
16692001-05-09 Gerd Moellmann <gerd@gnu.org>
1670
1671 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1672
9e53a675
GM
16732001-05-09 Dave Love <fx@gnu.org>
1674
1675 * xdisp.c (GIVE_UP): Fix for K&R C.
1676
0d487c52
GM
16772001-05-09 Gerd Moellmann <gerd@gnu.org>
1678
fe88d421
GM
1679 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1680
0d487c52
GM
1681 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1682 back to the text cursor shape without need.
1683
1e9fc92e
GM
16842001-05-07 Gerd Moellmann <gerd@gnu.org>
1685
a2a6232e
GM
1686 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1687
1688 * dispextern.h (inverse_video): Declare extern.
1689
1e9fc92e
GM
1690 * keyboard.c (delete_kboard): Handle the case that selected_frame
1691 has been deleted in the course of x_connection_closed.
1692
12949a7f
EZ
16932001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1694
7b2654b5
SM
1695 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1696 Fix the change from 2001-04-30.
12949a7f 1697
2fa2f461
GM
16982001-05-03 Gerd Moellmann <gerd@gnu.org>
1699
a779d213
GM
1700 * xfns.c (file_dialog_unmap_cb): New function.
1701 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1702 where a dialog is closed via the window manager.
1703
7b2654b5 1704 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1705 the window start or all below the window end mostly rewritten.
1706 (redisplay_window): Move the tests if try_window_id is
1707 applicable to try_window_id.
1708 (GIVE_UP): New macro.
1709
3356df63
GM
17102001-05-02 Gerd Moellmann <gerd@gnu.org>
1711
a39202f6 1712 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1713 currently being updated, mark the frame garbaged.
1714 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1715 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1716
3356df63
GM
1717 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1718 again if it has already been drawn.
1719
a9d2fd1d
SM
17202001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1721
1722 * syntax.c (update_syntax_table): Check that oldi has the same
1723 properties as old_prop before deciding not to invalidate.
1724
c95fc5f1
GM
17252001-04-30 Gerd Moellmann <gerd@gnu.org>
1726
a9793e45
GM
1727 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1728 read-only text that is so because of text properties.
1729
c95fc5f1 1730 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1731 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1732 windows that are components of a Lucid menu bar.
1733
5a5d9185
GM
17342001-04-27 Gerd Moellmann <gerd@gnu.org>
1735
1736 * term.c (turn_on_face): Fix reverse video handling on terminals
1737 that don't support colors.
1738
ba973f7a
GM
17392001-04-26 Gerd Moellmann <gerd@gnu.org>
1740
1741 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1742 a non-buffer.
1743
8c56a983
GM
17442001-04-25 Gerd Moellmann <gerd@gnu.org>
1745
a728644c
GM
1746 * term.c (toggle_highlight): New function.
1747 (turn_on_face): Change handling of reverse video.
1748
7b2654b5
SM
1749 * process.c (wait_reading_process_input):
1750 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1751
bfd8410f
GM
1752 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1753 of the number of overlays to check.
1754
be2488ca
GM
1755 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1756
8c56a983
GM
1757 * xdisp.c (try_window_id): Fix a case where window_end_pos
1758 and window_end_bytepos were not adjusted.
1759
522d42f7
GM
17602001-04-23 Gerd Moellmann <gerd@gnu.org>
1761
1762 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1763 zero instead of -1.
1764
78c1afb6
EZ
17652001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1766
a9d2fd1d
SM
1767 * process.c (wait_reading_process_input) [!subprocesses]:
1768 Don't reference waiting_for_user_input_p, it's not defined in the
1769 branch without async subprocesses support.
78c1afb6 1770
a2fab450
GM
17712001-04-19 Gerd Moellmann <gerd@gnu.org>
1772
a122a38e
GM
1773 * keyboard.c (delete_kboard): Prevent a dangling reference
1774 from current_kboard to KB, which is freed.
1775
a9d2fd1d
SM
1776 * process.c (wait_reading_process_input):
1777 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1778 read_key_sequence aware of buffer changes from under it.
1779
0f8d6dc7
GM
17802001-04-18 Gerd Moellmann <gerd@gnu.org>
1781
eeffb293
GM
1782 * xfaces.c (Qscalable_fonts_allowed): New variable.
1783 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1784 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1785 removed.
eeffb293 1786 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1787 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1788 for scalable-fonts-allowed to t.
eeffb293 1789
0f8d6dc7
GM
1790 * fileio.c (Finsert_file_contents): If the file size returned from
1791 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1792 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1793
eec2d1de
EZ
17942001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1795
1796 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1797 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1798 (__memalign_hook): Make the two prototypes consistent.
1799
f4f480bd
GM
18002001-04-17 Gerd Moellmann <gerd@gnu.org>
1801
1802 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1803 matrix of mini-windows.
1804
52283633
SM
18052001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1806
1807 * intervals.c (find_interval): Don't rebalance during signal handling.
1808
ec2423c9
GM
18092001-04-11 Gerd Moellmann <gerd@gnu.org>
1810
30cb0001 1811 * fns.c: Include blockinput.h.
52283633 1812
ec2423c9
GM
1813 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1814
719d83ad
GM
18152001-04-10 Gerd Moellmann <gerd@gnu.org>
1816
60f8d735
GM
1817 * fns.c (Fcompare_strings): Fix return values.
1818
afffeb57
GM
1819 * window.c (window_scroll): Change the meaning of N to mean
1820 N screen-fulls or N lines.
1821 (window_scroll_pixel_based, window_scroll_line_based)
1822 (scroll_command, Fscroll_other_window): Change accordingly.
1823
52283633
SM
1824 * window.c (window_scroll_pixel_based, Frecenter):
1825 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1826 height of the window.
1827
1828 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1829 instead of using it.last_visible_y for the height of the window.
52283633 1830
719d83ad 1831 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1832 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1833
1834 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1835 able to write to hidden and system files. From Dan Holmsand
1836 <dan@eyebee.com>.
719d83ad 1837
8ddf3ee1
GM
1838 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1839 Holmsand <dan@eyebee.com>.
719d83ad 1840
522ed7fb
GM
18412001-04-09 Gerd Moellmann <gerd@gnu.org>
1842
9170e5d4
GM
1843 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1844
522ed7fb
GM
1845 * window.c (window_internal_height): Return 1 less if the
1846 window has a header line.
1847
1848 * xdisp.c (try_window_id): When scrolling on a terminal, take
1849 the change of window_internal_height into account.
1850
ceeb3d7d
EZ
18512001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1852
1853 * gmalloc.c (align): If the argument SIZE would overflow
1854 __malloc_ptrdiff_t, fail right away.
1855
63685b9d
GM
18562001-04-06 Gerd Moellmann <gerd@gnu.org>
1857
1858 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1859 Make sure the tooltip is completely visible.
1860 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1861
1862 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1863
1864 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1865
3ffb33bb
DL
18662001-04-06 Dave Love <fx@gnu.org>
1867
52283633
SM
1868 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1869 Fix test of `from'.
3ffb33bb 1870
869fb12c
GM
18712001-04-06 Gerd Moellmann <gerd@gnu.org>
1872
52283633 1873 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1874
869fb12c
GM
1875 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1876
441bf856
GM
18772001-04-05 Gerd Moellmann <gerd@gnu.org>
1878
4d664b04
GM
1879 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1880
52283633 1881 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1882
30ca89f5
GM
1883 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1884 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1885
1886 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1887 shell widget's position only if it is non-null.
1888
52283633
SM
1889 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1890 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1891
81a81c0f
GM
1892 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1893 FILENAME to bring it in synch with the documentation.
1894
441bf856
GM
1895 * xfaces.c (realizing_basic_faces_p): Renamed from
1896 realize_default_face_p.
1897 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1898 (realize_default_face): Don't set the flag.
1899
702a1e8e
GM
19002001-04-04 Gerd Moellmann <gerd@gnu.org>
1901
1013f4e3
GM
1902 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1903
52283633
SM
1904 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1905
1013f4e3
GM
1906 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1907 the buffer that was used for echoing.
1908
702a1e8e
GM
1909 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1910 (first_font_matching): Removed unused function.
1911 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1912 (may_use_scalable_font_p): Remove parameter FONT; rename
1913 parameter NAME to FONT.
1914 (x_face_list_fonts): Fix missing bounds check.
1915 (realizing_default_face_p): New variable.
1916 (realize_default_face): Set and clear that flag.
1917 (x_face_list_fonts): When called during the realization of the
1918 default face, and no matching fonts are found when ignoring
1919 scalable fonts and fonts matching a regexp from
1920 face-ignored-fonts, try without ignoring fonts.
1921
f9dbcda4
GM
19222001-04-03 Gerd Moellmann <gerd@gnu.org>
1923
ad18ffb1
GM
1924 * xfns.c (postprocess_image): New function.
1925 (lookup_image): Call it for all image types except PostScript.
1926 (x_kill_gs_process): Call postprocess_image.
1927
f9dbcda4
GM
1928 * xterm.c (x_use_underline_position_properties): New variable.
1929 (x_draw_glyph_string): Use it.
1930 (syms_of_xterm): DEFVAR_BOOL it.
1931
651f03b6
GM
19322001-04-02 Gerd Moellmann <gerd@gnu.org>
1933
1934 * xterm.c (x_alloc_nearest_color_1): New function.
1935 (x_alloc_nearest_color): Use it.
1936 (x_color_cells): Take a Display as argument, instead of a frame.
1937 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1938 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1939 (x_initialize): Register cvt_string_to_pixel as resource converter
1940 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1941
73d75a62
GM
19422001-03-30 Gerd Moellmann <gerd@gnu.org>
1943
b2046df8
GM
1944 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1945 (set_iterator_to_next): If a string from a display property ends,
1946 consider the case that this might also be the end of an
1947 overlay string having the display property.
1948
52283633 1949 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1950
87d8eba4
GM
1951 * xdisp.c (reseat_to_string): Undo last change.
1952
73d75a62
GM
1953 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1954 matrix of a window when the header line changes, when
1955 new rows are allocated, or when the width changes.
1956
911a2406
EZ
19572001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1958
52283633 1959 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1960
aea51abe
EZ
19612001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1962
1963 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1964 deprecated.
1965
176bc847
GM
19662001-03-29 Gerd Moellmann <gerd@gnu.org>
1967
ed31fabf
GM
1968 * data.c (Fsubr_interactive_form): New function.
1969 (syms_of_data): Defsubr it.
1970
176bc847
GM
1971 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1972 (live_float_p, live_misc_p): Return 1 only if the offset of the
1973 pointer in its block is >= 0.
1974
e59d0e9d
GM
19752001-03-28 Paul Eggert <eggert@twinsun.com>
1976
1977 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1978 microseconds calcuation. Avoid double-rounding problem.
1979 In doc string, warn that the result is approximate.
1980
f827b862
GM
19812001-03-28 Gerd Moellmann <gerd@gnu.org>
1982
30a3f61c
GM
1983 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1984 bind `inhibit-eval-during-redisplay' to t.
1985
1986 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1987
1988 * xdisp.c (inhibit_eval_during_redisplay)
1989 (Qinhibit_eval_during_redisplay): New variables.
1990 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1991 don't eval, return nil instead.
1992 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1993 Initialize Qinhibit_eval_during_redisplay.
1994
e719f5ae
GM
1995 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1996 the iterator's multibyte_p flag.
1997
deb2613a
GM
1998 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1999 instead of setting it to zero; it's incremented for each frame
2000 where the menu face is changed.
2001
52283633
SM
2002 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2003 change bottom shadow accordingly.
2004
2005 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2006 intersections here.
2007 (expose_window): Do it here instead.
52283633 2008 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2009
f827b862
GM
2010 * bytecode.c (BYTE_CODE_QUIT): New macro.
2011 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2012
4bde0ebb
GM
20132001-03-27 Gerd Moellmann <gerd@gnu.org>
2014
607ec83c
GM
2015 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2016 Give up if matrix starts in an ellipsis.
2017 (init_from_display_pos): Do nothing if POS doesn't specify
2018 a dpvec_index but the iterator has such a position.
2019
0245398f
GM
2020 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2021
aba25348
GM
2022 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2023 x/y position is (0, 0) after destroying the menu bar, restore
2024 its original position.
2025
4bde0ebb
GM
2026 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2027 (init_from_display_pos): Use it.
2028 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2029
8cdb267e
GM
20302001-03-26 Gerd Moellmann <gerd@gnu.org>
2031
2032 * xdisp.c (try_window_id): Undo last change.
2033
9948db79
EZ
20342001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2035
2036 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2037
2038 * buffer.c (syms_of_buffer): Doc fix.
2039
2eddf899
GM
20402001-03-26 Gerd Moellmann <gerd@gnu.org>
2041
2042 * xfaces.c (x_update_menu_appearance): Use local variable
2043 popup_path for setting font resources.
2044
6c145d35
EZ
20452001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2046
6a65b1b5
EZ
2047 * frame.c (Fframe_list): Don't reference tip_frame if
2048 HAVE_WINDOW_SYSTEM is not defined.
2049
6c145d35
EZ
2050 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2051 <wl@gnu.org>.
2052
d74c1900
GM
20532001-03-25 Gerd Moellmann <gerd@gnu.org>
2054
20fbd925
GM
2055 * xdisp.c (init_from_display_pos): Test invisible property
2056 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2057
927c5b3b
GM
2058 * xdisp.c (redisplay_internal) <update one window>: Make sure
2059 last_arrow_position and last_arrow_string are set.
2060
d74c1900
GM
2061 * frame.c (Fframe_list): Don't return a tooltip frame.
2062
091f8878
GM
20632001-03-23 Gerd Moellmann <gerd@gnu.org>
2064
52283633
SM
2065 * xdisp.c (mark_window_display_accurate_1): New function,
2066 extracted from mark_window_display_accurate.
2067 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2068 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2069 (mark_window_display_accurate): Use it.
2070 (redisplay_internal): Use it for the selected window.
2071 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2072 for the selected frame.
2073
ac90c44f
GM
2074 * xdisp.c Use make_number, for readability.
2075 (try_window_id): Disable rows below the window end.
2076 (try_window_reusing_current_matrix): Use cursor_row_p.
2077 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2078 of rows.
2079 (init_from_display_pos): If POS specifies a position in a display
2080 vector, maybe get the iterator set up for that ellipsis.
43c09969 2081
091f8878
GM
2082 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2083
991786dd
EZ
20842001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2085
2086 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2087
6c29b43c
GM
20882001-03-23 Gerd Moellmann <gerd@gnu.org>
2089
2090 * xfaces.c (x_update_menu_appearance): Use a different path
2091 for Lucid popup menus.
2092
d8731202
SM
20932001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2094
2095 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2096
2097 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2098 (string_buffer_position): Use `make_number'.
2099
f61a541b
GM
21002001-03-22 Gerd Moellmann <gerd@gnu.org>
2101
3c9e997b
GM
2102 * xfaces.c (x_update_menu_appearance): Renamed from
2103 x_set_menu_face_resources. Use different resources for popups.
2104
2105 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2106 (GC_CHECK_STRING_BYTES): Don't define.
2107
364cd450
GM
2108 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2109 Removed, together with subroutines.
2110 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2111 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2112
d8731202
SM
2113 * dispextern.h (x_set_menu_resources_from_menu_face):
2114 Remove prototype.
364cd450 2115
d8731202 2116 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2117 Remove calls to x_set_menu_resources_from_menu_face.
2118
d8731202
SM
2119 * xfaces.c (xm_set_menu_resources_from_menu_face):
2120 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2121
2122 * xmenu.c: Include widget.h.
2123 (single_submenu): Return int. Some cleanup.
2124 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2125
140330de
GM
21262001-03-21 Gerd Moellmann <gerd@gnu.org>
2127
2128 * xterm.c (x_update_window_end): Handle overwritten mouse face
2129 also for tool bar windows.
2130 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2131 DRAW is DRAW_IMAGE_RAISED.
2132
1741905c
GM
21332001-03-20 Gerd Moellmann <gerd@gnu.org>
2134
fa88947e
GM
2135 * print.c (syms_of_print): Doc fixes.
2136
1741905c
GM
2137 * fns.c (Fmd5): Doc fix.
2138
ade0bee1
GM
21392001-03-19 Gerd Moellmann <gerd@gnu.org>
2140
357e7376
GM
2141 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2142 Clear area of the frame not occupied by the scroll bar.
2143
c2c097cc
GM
2144 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2145 tip frame's root window buffer to *tip* right after creating
2146 the frame.
2147
ade0bee1
GM
2148 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2149 is an integer don't have to be for space characters.
2150
88c6e37e
GM
21512001-03-16 Gerd Moellmann <gerd@gnu.org>
2152
52283633
SM
2153 * indent.c (current_column, current_column_1, Fmove_to_column)
2154 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2155
c62eed76
KH
21562001-03-15 Kenichi Handa <handa@etl.go.jp>
2157
2158 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2159 drawing glyph string.
2160
c899e7e6
GM
21612001-03-15 Gerd Moellmann <gerd@gnu.org>
2162
d0bbfc99
GM
2163 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2164 (command_loop_1): Undo last change.
2165
03d1a189
GM
2166 * xterm.c (fast_find_position): Return the correct vpos.
2167
c899e7e6 2168 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2169 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2170 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2171 Call store_symval_forwarding with BUF null.
2172 (set_internal): Call store_symval_forwarding with the BUF
2173 parameter passed to set_internal. Formerly, the value was always
2174 set in the current buffer; the buffer recorded in specbind for
2175 this case wasn't used.
2176 (arith_driver): Reindent.
2177
52283633
SM
2178 * buffer.c (swap_out_buffer_local_variables):
2179 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2180
2181 * lisp.h (store_symval_forwarding): Change prototype.
2182
2183 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2184
57ac7c81
GM
21852001-03-14 Gerd Moellmann <gerd@gnu.org>
2186
697617d9
GM
2187 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2188 FOR_DELETION. Avoid resizing the mini-window of the selected
2189 frame if FOR_DELETION is set.
2190 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2191 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2192 signature.
2193
2194 * window.c (Fset_window_configuration): Change call to
2195 do_switch_frame to new format.
2196
2197 * keyboard.c (quit_throw_to_read_char): Change call to
2198 do_switch_frame to new format.
2199
2200 * lisp.h (do_switch_frame): Change prototype.
2201
819dce0f
GM
2202 * frame.c (Fframe_parameters): In the `buffer-list' frame
2203 parameter, store the buffer list of FRAME, not the list of the
2204 selected frame.
2205
57ac7c81
GM
2206 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2207 box just because the glyph row's full_width_p flag is set.
2208
65008712
GM
22092001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2210
2211 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2212 skip the padding blanks inserted in extend_face_to_end_of_line,
2213 before checking for trailing whitespace.
2214
159cf431
GM
22152001-03-13 Gerd Moellmann <gerd@gnu.org>
2216
52283633 2217 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2218 Remove special handling for LessTif/Motif.
2219 (toplevel): Don't include Xm/Xm.h.
2220
52283633
SM
2221 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2222 Remove workaround code for LessTif; it doesn't work anymore.
2223
2564ea1b 2224 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2225 Xm/ScrollBarP.h.
afcdc0a1 2226
52283633
SM
2227 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2228 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2229 contemporary LessTif.
2230
52283633
SM
2231 * xfaces.c (xm_set_menu_resources_from_menu_face):
2232 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2233
159cf431
GM
2234 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2235 removing button grabs.
2236
c6f7429a
KH
22372001-03-13 Kenichi Handa <handa@etl.go.jp>
2238
cb82d767
KH
2239 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2240 and clip-large-size-font as obsolete.
2241
c6f7429a
KH
2242 * lread.c (read_multibyte): Check the validity of multibyte
2243 sequence. If invalid, return the first byte.
2244
760cefb5
GM
22452001-03-12 Gerd Moellmann <gerd@gnu.org>
2246
2247 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2248 before running the command; timer functions or process
2249 filters may have set it.
2250
5141f9d0
EZ
22512001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2252
2253 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2254 Doc fix.
2255
b6a15240
GM
22562001-03-12 Gerd Moellmann <gerd@gnu.org>
2257
2258 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2259 to sprintf.
2260
95522746
GM
22612001-03-09 Gerd Moellmann <gerd@gnu.org>
2262
db14cfc5
GM
2263 * dispextern.h (string_buffer_position): Add prototype.
2264
52283633 2265 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2266 (single_display_prop_string_p): New functions.
2267
2268 * xterm.c (note_mouse_highlight): If there's no help-echo on
2269 a string, look at the buffer text ``under'' it.
2270
2271 * keyboard.c (make_lispy_event): Add string info to the event,
2272 analogous to what's done on mode lines.
2273 (read_key_sequence): For a click on a string, consider `local-map'
2274 and `keymap' of that string.
2275
52283633
SM
2276 * keyboard.c (make_lispy_event, make_lispy_movement):
2277 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2278
2279 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2280
2281 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2282 POS; return void.
2283
95522746
GM
2284 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2285 flags argument to emacs_open; it seems to conflict with O_EXCL.
2286
898a399d
KH
22872001-03-09 Kenichi Handa <handa@etl.go.jp>
2288
28cd4910
KH
2289 * composite.h (struct composition): Change types of members;
2290 glyph_len to unsigned, width to unsigned short.
898a399d 2291
4cdf6a6c
AI
22922001-03-08 Andrew Innes <andrewi@gnu.org>
2293
2294 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2295 menu titles.
2296
129004d3
GM
22972001-03-08 Gerd Moellmann <gerd@gnu.org>
2298
221dd3e7
GM
2299 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2300 instead of nil.
2301
52283633 2302 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2303 help-echo in strings.
2304 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2305 (fast_find_string_pos): New function.
2306
52283633
SM
2307 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2308 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2309
2310 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2311 Handle `mouse-face'.
2312
2313 * dispextern.h (face_at_string_position): Change prototype.
2314
52283633 2315 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2316
129004d3
GM
2317 * keyboard.c (make_lispy_event): Avoid generating drag events
2318 if the mouse hasn't actually moved to another buffer position.
52283633 2319
80c8ab8c
DL
23202001-03-08 Dave Love <fx@gnu.org>
2321
129004d3 2322 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2323
989521fd
GM
23242001-03-08 Gerd Moellmann <gerd@gnu.org>
2325
2326 * process.c (Fset_process_window_size): Fix a typo.
2327
bb5c338d
KH
23282001-03-08 Kenichi Handa <handa@etl.go.jp>
2329
2330 * coding.c (detect_coding_sjis): Do more rigid check.
2331 (detect_coding_big5): Likewise.
2332 (decode_coding_sjis_big5): Likewise.
2333 (Fdetect_coding_region): Call detect_coding_system with tailing
2334 anchor byte `\0' for more rigid detection.
52283633 2335 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2336 (Fdetect_coding_string): Likewise.
2337
8b8f9197
SM
23382001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2339
2340 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2341 a string before extracting its data.
2342
3bdf2660
GM
23432001-03-07 Gerd Moellmann <gerd@gnu.org>
2344
2345 * window.c (Frecenter): Rewrite code handling negative values
2346 of ARG on graphical frames.
2347
23482001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2349
2350 * window.c (displayed_window_lines): If W->start is outside the
2351 accessible portion of the buffer, call start_display with BEGV or
2352 ZV instead of W->start.
2353
471f86b9
GM
23542001-03-07 Gerd Moellmann <gerd@gnu.org>
2355
2ab62c6c
GM
2356 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2357
471f86b9
GM
2358 * process.c (Fset_process_filter): Don't crash if the input
2359 file descriptor of PROCESS is closed.
2360 (Fset_process_window_size): Likewise.
2361
101922c3
GM
23622001-03-06 Kenichi Handa <handa@etl.go.jp>
2363
2364 * xterm.c (XTflash): Make the timeout of select shorter, and call
2365 select repeatedly until the desired time expires.
2366
45d051a7
GM
23672001-03-06 Gerd Moellmann <gerd@gnu.org>
2368
2369 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2370
2371 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2372
2373 * lisp.h (Vwindow_list): Declare extern.
2374
8f372c46
EZ
23752001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2376
2377 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2378
f16a7aa5
GM
23792001-03-06 Gerd Moellmann <gerd@gnu.org>
2380
157ae273
GM
2381 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2382 to detect a case where we have to highlight a different region
2383 despite not having left the currently highlighted region.
2384 Set mouse_face_overlay in the x_display_info.
45d051a7 2385 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2386
2387 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2388
2389 * buffer.c (mouse_face_overlay_overlaps): New function.
2390
2391 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2392 (Qmouse_face): Declare extern.
2393
f16a7aa5
GM
2394 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2395 if face_change_count is non-zero.
2396
827afcac
KH
23972001-03-06 Kenichi Handa <handa@etl.go.jp>
2398
2399 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2400 that the source is unibyte.
2401
14c7242e
DL
24022001-03-05 Dave Love <fx@gnu.org>
2403
827afcac 2404 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2405
c28b847b
GM
24062001-03-05 Gerd Moellmann <gerd@gnu.org>
2407
2408 * minibuf.c (read_minibuf): Clean up the binding stack if
2409 called noninteractively.
2410
b86644f2
KH
24112001-03-05 Kenichi Handa <handa@etl.go.jp>
2412
2413 * coding.c (syms_of_coding): Docstring modified.
2414
203682cc 24152001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2416
2417 * charset.c (char_to_string): If a single byte char has modifier
2418 bits that can't be reflected to the character code, ignore them
45d051a7 2419 instead of signaling an error.
b86644f2 2420
e30bd7b7
EZ
24212001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2422
2423 * s/msdos.h: Update copyright notice.
2424
2425 * dosfns.h: Update copyright notice.
2426
2427 * dosfns.c: Update copyright notice.
2428
2429 * msdos.c: Update copyright notice.
2430
b52b65bd
GM
24312001-03-02 Gerd Moellmann <gerd@gnu.org>
2432
2433 * xterm.c (glyph_rect): New function.
2434 (XTmouse_position): Use it to raise the threshold for mouse
2435 movement event generation.
2436
53c4b1e6
EZ
24372001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2438
2439 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2440 specifies (reverse . t), reverse the initial screen colors.
2441 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2442 but we are reversing the colors, set bg_set, not fg_set.
2443 Likewise for setting background-color and reversing: set fg_set.
2444 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2445 in effect.
2446
2447 * xfaces.c (Finternal_set_lisp_face_attribute)
2448 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2449 parameters alist.
2450
f964b4d7
GM
24512001-03-02 Gerd Moellmann <gerd@gnu.org>
2452
ef53d75e
GM
2453 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2454 to a single slash in the middle of file names.
2455
52283633 2456 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2457 Accept only alphanumeric time zone names.
2458
f964b4d7
GM
2459 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2460 or width area.
2461 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2462 a widget to zero height.
52283633 2463
c3c45f65
GM
24642001-03-01 Gerd Moellmann <gerd@gnu.org>
2465
2466 * window.c (Fwindow_end): Call move_it_past_eol only if
2467 ending up on a partially visible line.
2468
028d739a
DL
24692001-03-01 Dave Love <fx@gnu.org>
2470
2471 * ccl.c (Fccl_execute): Doc fix.
2472
57c5889c
GM
24732001-03-01 Gerd Moellmann <gerd@gnu.org>
2474
35f59f6b
GM
2475 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2476 of the tool bar before calling x_figure_window_size.
2477
f84ff02c
GM
2478 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2479 NULL after destroying it, otherwise XTread_socket can access a
2480 destroyed widget when input is unblocked.
2481
8b8f9197 2482 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2483
57c5889c
GM
2484 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2485 same name as before, although there was a change in fontsets.
2486
224227d1
KR
24872001-02-28 Ken Raeburn <raeburn@gnu.org>
2488
4560730a
KR
2489 * lisp.h (Fframe_parameter): Declare.
2490
224227d1 2491 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2492 Lisp_Object.
224227d1 2493
ece93c02
GM
24942001-02-28 Gerd Moellmann <gerd@gnu.org>
2495
11ef99b9
GM
2496 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2497 NULL instead.
2498
2499 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2500 NULL instead.
2501
ece93c02
GM
2502 * alloc.c (toplevel): Include process.h.
2503 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2504 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2505 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2506 (allocate_vector, allocate_hash_table, allocate_window)
2507 (allocate_frame, allocate_process, allocate_other_vector):
2508 New functions.
ece93c02
GM
2509 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2510 (mark_maybe_pointer): New function.
52283633 2511 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2512 remain and not Lisp_Objects.
2513 (min_heap_address, max_heap_address): New variables.
2514 (mem_find): Return MEM_NIL if START is below min_heap_address or
2515 above max_heap_address.
2516 (mem_insert): Compute min_heap_address and max_heap_address.
2517
2518 * process.c (make_process): Use allocate_process.
2519
2520 * frame.c (make_frame): Use allocate_frame.
2521
2522 * window.c (make_window, make_dummy_parent): Use allocate_window.
2523 (Fcurrent_window_configuration): Use allocate_other_vector.
2524
2525 * lisp.h (allocate_vectorlike): Remove prototype.
2526 (allocate_vector, allocate_other_vector, allocate_frame)
2527 (allocate_window, allocate_process, allocate_hash_table):
2528 Add prototypes.
2529
2530 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2531 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2532
063af457
KH
25332001-02-27 Kenichi Handa <handa@etl.go.jp>
2534
2535 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2536 treat the produced bytes as a valid multibyte sequence.
2537
2538 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2539 (ccl_driver) <CCL_WriteMultibyteChar2>:
2540 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2541 <ccl_finish>: Set ccl->eight_bit_control properly.
2542
2543 * ccl.h (struct ccl_program): New member eight_bit_control.
2544
f58c6494
SM
25452001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2546
2547 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2548 accessible_keymaps_char_table.
2549 (accessible_keymaps_char_table): Obey `is_metized'.
2550 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2551 Lisp_Object.
2552
c596c392
GM
25532001-02-26 Gerd Moellmann <gerd@gnu.org>
2554
2555 * dispnew.c: Check HAVE_TERM_H before including term.h.
2556
425de386
AI
25572001-02-24 Andrew Innes <andrewi@gnu.org>
2558
2559 * makefile.w32-in: Update copyright notice.
2560
2ba11bbd
SM
25612001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2562
2563 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2564
66c56ed1
KH
25652001-02-24 Kenichi Handa <handa@etl.go.jp>
2566
4c1593ce
KH
2567 * Makefile.in (lisp): Add international/utf-8.elc.
2568
66c56ed1
KH
2569 * fontset.c (Fnew_fontset): Fix handling of the case that an
2570 element of FONTLIST is a cons of family and registry.
2571
796ead7e
JR
25722001-02-23 Jason Rumney <jasonr@gnu.org>
2573
2574 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2575 to height unconditionally.
2576
2577 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2578 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2579 (x_insert_glyphs): Call window_box_left to obtain the left
2580 x-coordinate of the area to shift.
2581
2582 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2583 safe_run_hooks.
2584
f6839838
AI
25852001-02-22 Andrew Innes <andrewi@gnu.org>
2586
52283633 2587 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2588 ($(BLD)\dispnew.obj):
2589 ($(BLD)\editfns.obj):
2590 ($(BLD)\fileio.obj):
2591 ($(BLD)\filelock.obj):
2592 ($(BLD)\keyboard.obj):
2593 ($(BLD)\w32proc.obj):
2594 ($(BLD)\process.obj):
2595 ($(BLD)\sysdep.obj): Ditto.
2596
2597 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2598 header files.
52283633
SM
2599 ($(BLD)/dispnew.$(O)):
2600 ($(BLD)/editfns.$(O)):
2601 ($(BLD)/fileio.$(O)):
2602 ($(BLD)/filelock.$(O)):
2603 ($(BLD)/keyboard.$(O)):
2604 ($(BLD)/w32proc.$(O)):
2605 ($(BLD)/process.$(O)):
f6839838
AI
2606 ($(BLD)/sysdep.$(O)): Ditto.
2607
c224f70b
GM
26082001-02-22 Gerd Moellmann <gerd@gnu.org>
2609
51695746
GM
2610 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2611 at the start of the function, check that the \n in it->c is
2612 from the iterator's current position.
52283633 2613
a61b7058
GM
2614 * xdisp.c (handle_single_display_prop): Add parameter
2615 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2616 properties which replace the display of text with something else.
2617 (handle_display_prop): Call handle_single_display_prop with
2618 additional argument saying if we already replaced text display
2619 with something else. Use AREF.
52283633 2620 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2621 (decode_mode_spec_coding): Use AREF and ASIZE.
2622
3473f362
GM
2623 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2624 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2625 * vmstime.h: Files removed.
52283633 2626
2bb58df3
GM
2627 * unexencap.c, unexfx2800.c: Files removed.
2628
c224f70b
GM
2629 * dispnew.c (direct_output_for_insert): Give up if we are showing
2630 a message or just cleared the message because we might need to
2631 resize the echo area window or display an empty echo area.
2632
ffc9ff0c
GM
26332001-02-21 Gerd Moellmann <gerd@gnu.org>
2634
0528abe1
GM
2635 * xdisp.c (redisplay_internal): Do the
2636 mark_window_display_accurate after all windows have been
2637 redisplayed because this call resets flags in buffers which are
2638 needed for proper redisplay.
2639
52283633
SM
2640 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2641 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2642 the old names.
2643
52283633
SM
2644 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2645 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2646
2647 * msdos.h (struct x_output): Rename busy_window to
2648 hourglass_window, busy_p to hourglass_p.
2649
52283633
SM
2650 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2651 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2652
2653 * xfns.c: Rename everything containing *busy_cursor* and similar
2654 to *hourglass*.
2655 (syms_of_w32fns): Rename x-busy-pointer-shape to
2656 x-hourglass-pointer-shape, display-busy-cursor to
2657 display-hourglass, busy-cursor-delay to hourglass-delay.
2658
2659 * w32fns.c: Rename everything containing *busy_cursor* and similar
2660 to *hourglass*.
2661 (syms_of_w32fns): Rename x-busy-pointer-shape to
2662 x-hourglass-pointer-shape, display-busy-cursor to
2663 display-hourglass, busy-cursor-delay to hourglass-delay.
2664
2665 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2666 of its busy_p flag.
2667
2668 * dispextern.h (start_hourglass, cancel_hourglass)
2669 (display_hourglass_p): Renamed from *busy_cursor*.
2670
ab2c5f0a
GM
26712001-02-20 Gerd Moellmann <gerd@gnu.org>
2672
d17e49a8
GM
2673 * keyboard.c (read_char): When an event from unread-command-events
2674 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2675
fa97adf6
GM
2676 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2677 equal to the current buffer.
2678
ab2c5f0a
GM
2679 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2680 nil, otherwise we're left with truncate_lines t when a message
2681 is printed with message-truncate-lines bound to t.
2682
aeac019e
GM
26832001-02-19 Gerd Moellmann <gerd@gnu.org>
2684
c8bc6f65
GM
2685 * window.c (Fmove_to_window_line): Undo last change.
2686 (displayed_window_lines): Call line_bottom_y to determine
2687 the line's bottom position.
2688
2689 * dispextern.h (line_bottom_y): Add prototype.
2690
52283633 2691 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2692 (pos_visible_p): Use it.
2693
980a2d69
GM
2694 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2695 set redisplaying_p to 0 here instead of in Frecursive_edit.
2696 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2697 set redisplaying_p.
2698
52283633 2699 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2700 New variables.
2701 (syms_of_xdisp): Initialize new variables.
2702 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2703 Specbind `inhibit-menubar-update' when updating the menu bar.
2704
65048e97
GM
2705 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2706 safe_run_hooks.
2707
2708 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2709 safe_run_hooks.
2710
a57c4026
GM
2711 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2712 is null.
2713
aeac019e
GM
2714 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2715 to the start of the file.
2716
76846b31
GM
27172001-02-16 Gerd Moellmann <gerd@gnu.org>
2718
f3f053f3 2719 * window.c (set_window_buffer): Fix last change.
52283633 2720
f3f053f3
GM
2721 * window.c (set_window_buffer): Set window's vscroll to 0.
2722
dad75588
GM
2723 * window.c (coordinates_in_window): Increase width of area
2724 where the vertical line can be dragged.
2725
c220b753
GM
2726 * xterm.c (x_set_glyph_string_background_width): Extend the
2727 background face to the end of the drawing area in the text
2728 area, only.
2729
c56b1c1b
GM
2730 * xdisp.c (handle_single_display_prop): Set iterator's position
2731 to where the `display' property starts, like for images.
2732 (dump_glyph): New function.
2733 (dump_glyph_row): Use it. Dump info about marginal areas.
2734
2735 * dispnew.c (direct_output_for_insert): Recognize more cases where
2736 glyphs can be written instead of being inserted.
2737
2738 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2739 the left x-coordinate of the area to shift.
2740
76846b31
GM
2741 * dired.c (directory_files_internal): Set result list to nil
2742 before retrying.
2743
0fc71a77
KH
27442001-02-15 Kenichi Handa <handa@etl.go.jp>
2745
2746 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2747 invalid multibyte sequence, treat *SRC as a character of
2748 eight-bit-graphic.
2749
25078b54
EZ
27502001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2751
2752 * textprop.c (Fset_text_properties): Doc fix.
2753
8399f8a0
GM
27542001-02-15 Gerd Moellmann <gerd@gnu.org>
2755
2756 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2757
9a2a6f73
DL
27582001-02-14 Dave Love <fx@gnu.org>
2759
2760 * coding.c: Doc and message fixes.
2761
bf853fee
AI
27622001-02-14 Andrew Innes <andrewi@gnu.org>
2763
2764 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2765 Emacs frame above the screen size.
2766
78c663d8
GM
27672001-02-14 Gerd Moellmann <gerd@gnu.org>
2768
2769 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2770
7cc9f69f
GM
27712001-02-13 Gerd Moellmann <gerd@gnu.org>
2772
0a411995
GM
2773 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2774 case that TO ends up beyond ZV after running before-change-functions.
2775
5ddc1b75
GM
2776 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2777 the selected window if it is showing the buffer in question.
2778
7cc9f69f
GM
2779 * dired.c (directory_files_internal): Initialize errno.
2780 (toplevel): Include errno.h.
2781
2e6621ca
GM
27822001-02-13 Kenichi Handa <handa@etl.go.jp>
2783
2784 * xfaces.c (best_matching_font): New parameter width_ratio.
2785 Multiply avgwidth by width_ratio.
2786 (choose_face_font): Call best_matching_font with width_ratio
2787 calculated from the column width of C.
2788
60222d69
AI
27892001-02-12 Andrew Innes <andrewi@gnu.org>
2790
2791 The following changes are to draw box lines inside characters area
2792 if line-width is negative.
52283633 2793
60222d69
AI
2794 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2795 face->box_line_width is negative.
2796 (x_produce_stretch_glyph): Likewise.
2797 (x_produce_glyphs): Likewise.
2798 (x_estimate_mode_line_height): Likewise.
2799 (x_draw_glyph_string_background): Likewise.
2800 (x_draw_glyph_string_foreground): Likewise.
2801 (x_draw_composite_glyph_string_foreground): Likewise.
2802 (x_draw_glyph_string_box): Likewise.
2803 (x_draw_image_foreground): Likewise.
2804 (x_draw_image_relief): Likewise.
2805 (x_draw_image_foreground_1): Likewise.
2806 (x_draw_image_glyph_string): Likewise.
2807
9804b846
KH
28082001-02-09 Kenichi Handa <handa@etl.go.jp>
2809
2810 The following changes are to draw box lines inside characters area
2811 if line-width is negative.
52283633 2812
9804b846
KH
2813 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2814 face->box_line_width is negative.
2815 (x_produce_stretch_glyph): Likewise.
2816 (x_produce_glyphs): Likewise.
2817 (x_estimate_mode_line_height): Likewise.
2818 (x_draw_glyph_string_background): Likewise.
2819 (x_draw_glyph_string_foreground): Likewise.
2820 (x_draw_composite_glyph_string_foreground): Likewise.
2821 (x_draw_glyph_string_box): Likewise.
2822 (x_draw_image_foreground): Likewise.
2823 (x_draw_image_relief): Likewise.
2824 (x_draw_image_foreground_1): Likewise.
2825 (x_draw_image_glyph_string): Likewise.
2826
2827 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2828 and :line-width can be negative.
52283633 2829 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2830
49be9f70
JR
28312001-02-09 Jason Rumney <jasonr@gnu.org>
2832
2833 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2834 characters the same as ASCII and latin-1.
2835 (x_display_and_set_cursor): Check for the focus frame's selected
2836 window instead of selected_window.
2837 (x_after_update_window_line): Don't clear if frame's internal
2838 border width is zero.
2839 (x_new_font): Don't change a tooltip's size.
2840 (w32_initialize): Set char_ins_del_ok to 1.
2841
2842 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2843 (x_set_font): If font hasn't changed, avoid recomputing
2844 faces and other things.
52283633
SM
2845 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2846 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2847 (x_create_tip_frame): Prevent changing the tooltip's
2848 background color by specifying a color for the default font
2849 in .Xdefaults.
2850 (Qcancel_timer): New variable.
2851 (syms_of_w32fns): Initialize and staticpro it.
2852 (Fx_hide_tip, Fx_show_tip): Use it.
2853 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2854 the timer.
2855 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2856
2857 * w32.c (init_environment): Duplicate local string before putenv.
2858
555e35d2
SZ
28592001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2860
2861 * charset.c (Fstring): A typo.
2862
19c92c94
KH
28632001-02-09 Kenichi Handa <handa@etl.go.jp>
2864
e47a1c33
KH
2865 * charset.c (Fstring): If all arguments are less than 256, return
2866 a unibyte string.
2867
2868 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2869 return a unibyte string.
2870
19c92c94
KH
2871 * coding.c (code_convert_region): After detecting a coding, if
2872 nothing found, set coding->composing to COMPOSITION_NO.
2873 (decode_coding_string): Likewise.
2874
d8e675f5
SM
28752001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2876
2877 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2878 to avoid overflow.
2879
bd503487
KH
28802001-02-07 Kenichi Handa <handa@etl.go.jp>
2881
2882 * charset.c (parse_str_to_multibyte): New function.
2883
2884 * charset.h (parse_str_to_multibyte): Extern it.
2885
2886 * print.c (print_string): If we are going to print a unibyte
2887 string into a multibyte buffer, convert the string to multibyte by
2888 str_to_multibyte.
2889
a8370d72
AI
28902001-02-06 Andrew Innes <andrewi@gnu.org>
2891
2892 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2893 been created. It seems we can get sent window messages such as
2894 WM_ERASEBKGND before we properly update a frame.
2895
c363a1d6
GM
28962001-02-06 Gerd Moellmann <gerd@gnu.org>
2897
2898 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2899 Avoid some unnecessary cursor positioning.
2900
a08332c0
GM
29012001-02-05 Gerd Moellmann <gerd@gnu.org>
2902
52283633 2903 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2904 (LFACE_AVGWIDTH): New macro.
2905 (LFACEP): Use AREF.
2906 (check_lface_attrs): Check LFACE_AVGWIDTH.
2907 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2908 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2909 (merge_face_vectors): Check LFACE_AVGWIDTH.
2910 (Finternal_make_lisp_face): Use AREF.
2911 (xm_set_menu_resources_from_menu_face)
2912 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2913 (Finternal_lisp_face_empty_p): Use AREF.
2914 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2915 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2916 Compare average widths..
2917 (best_matching_font): Arrange for comparing average widths.
2918
52283633
SM
2919 * dispextern.h (enum lface_attribute_index):
2920 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2921
5cb3c8d4
DL
29222001-02-05 Dave Love <fx@gnu.org>
2923
2924 * puresize.h: Revert last change following loadup.el change.
2925
193fba87
AI
29262001-02-05 Andrew Innes <andrewi@gnu.org>
2927
2928 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2929 invocation of temacs, to work with Windows 2000.
2930 (bootstrap-emacs): Ditto.
2931
e16f52ce
GM
29322001-02-05 Gerd Moellmann <gerd@gnu.org>
2933
7a58ab59
GM
2934 * xterm.c (x_display_and_set_cursor): Check for the focus
2935 frame's selected window instead of selected_window.
2936
e89aaabd
GM
2937 * xdisp.c (try_scrolling): If point is in the line below the
2938 window, make sure to move the iterator at least a canonical
2939 char height down.
2940
52283633 2941 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2942
789ce875
KH
29432001-02-05 Kenichi Handa <handa@etl.go.jp>
2944
52283633
SM
2945 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2946 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2947 (ccl_driver): If the CCL program is terminated because of
2948 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2949 destination instead of throwing them away.
2950
20b28f82
GM
29512001-02-02 Gerd Moellmann <gerd@gnu.org>
2952
79fb38c0
GM
2953 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2954 faces and other things.
2955
20b28f82
GM
2956 * xdisp.c (get_next_display_element): Fix case of empty
2957 display table entry.
2958
5a72551e
EZ
29592001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2960
eb24d0bf
EZ
2961 * editfns.c (Fconstrain_to_field): Doc fix.
2962
6a3f48c7
EZ
2963 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2964 into `thoroughly', to make it consistent with the doc string.
2965
5a72551e
EZ
2966 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2967
01acdb05
GM
29682001-02-01 Gerd Moellmann <gerd@gnu.org>
2969
0353b28f
GM
2970 * search.c (search_buffer): Call set_search_regs with a byte
2971 position, not a character position.
2972
01acdb05
GM
2973 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2974 minibuffer-only,
2975
e86b5133
EZ
29762001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2977
2978 * frame.c (Fmodify_frame_parameters): Doc fix.
2979
7442878f
GM
29802001-01-31 Gerd Moellmann <gerd@gnu.org>
2981
01acdb05
GM
2982 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2983 identifier which is not reserved by Standard C.
52283633 2984
7442878f
GM
2985 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2986
2987 * window.c (enum window_part): New enumeration.
2988 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2989 Qright_bitmap_area.
2990 (coordinates_in_window): Return an enumerator from enum
2991 window_part. Fix handling of right scroll bar.
2992 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2993 `right-fringe' instead of `left-bitmap-area' and
2994 `right-bitmap-area'. Use enumerators from enum window_part
2995 instead of hard-coded integers.
52283633
SM
2996 (check_window_containing, window_from_coordinates):
2997 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2998 (syms_of_window): Replace Qleft_bitmap_area and
2999 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3000
7c132cba
EZ
30012001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3002
3003 * editfns.c (Fformat_time_string): Doc fix.
3004
c359dd9e
SM
30052001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3006
3007 * keymap.c (Fwhere_is_internal): Use the first valid binding
3008 if no ascii binding is found (when firstonly is t).
3009
ce070307
GM
30102001-01-31 Gerd Moellmann <gerd@gnu.org>
3011
b4f30ec5
GM
3012 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3013 instead of Finteractive_p.
3014
3015 * lisp.h (interactive_p): Add prototype.
3016
3017 * eval.c (interactive_p): New function.
3018 (Finteractive_p): Use it.
3019
ce070307
GM
3020 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3021
f57b6e64
DL
30222001-01-31 Dave Love <fx@gnu.org>
3023
d61c7afe
DL
3024 * .gdbinit (hook-run): Define to run xreload.
3025
f57b6e64
DL
3026 * textprop.c (Fset_text_properties): Fix newline in doc string.
3027
eef93f99
GM
30282001-01-30 Gerd Moellmann <gerd@gnu.org>
3029
52283633
SM
3030 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3031 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3032
3033 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3034 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3035 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3036
3037 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3038 height.
3039
d9c1f6f9
DL
30402001-01-30 Dave Love <fx@gnu.org>
3041
3042 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3043 AFTER_POTENTIAL_GC.
3044
e8f044a0
GM
30452001-01-29 Gerd Moellmann <gerd@gnu.org>
3046
52283633
SM
3047 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3048 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3049
8e1db7b3
EZ
30502001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3051
3052 * textprop.c (Fset_text_properties): Doc fix.
3053
4eefd9d2
GM
30542001-01-29 Gerd Moellmann <gerd@gnu.org>
3055
3056 * xdisp.c (forward_to_next_line_start): Remove xassert.
3057
fccb8288
EZ
30582001-01-29 Jason Rumney <jasonr@gnu.org>
3059
4eefd9d2 3060 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3061 returning without releasing it.
3062
76581eab
KH
30632001-01-29 Kenichi Handa <handa@etl.go.jp>
3064
3065 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3066 for '^', '$', and '\0'.
3067
83a96b4d
AC
30682001-01-28 Andrew Choi <akochoi@i-cable.com>
3069
5604ec34
AC
3070 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3071 regex for '^', '$', and '\0'.
3072
83a96b4d
AC
3073 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3074 only if current_sblock has been initialized.
3075
3076 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3077 terminal frame even if it is the only visible frame.
3078
c09a6440
KH
30792001-01-28 Kenichi Handa <handa@etl.go.jp>
3080
3081 * fontset.c (font_family_registry): Even if FONTNAME conform to
3082 XLFD, if it specifies other fields than family and registry,
52283633 3083 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3084 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3085 a signle byte character. Don't set FAMILY part to nil here.
3086 It is handled by the caller choose_face_font.
c09a6440
KH
3087 (Fnew_fontset): Call font_family_registry with FORCE 0.
3088 (Fset_fontset_font): Likewise.
3089
4dcd74e6
GM
30902001-01-27 Gerd Moellmann <gerd@gnu.org>
3091
3092 * xdisp.c (display_line): Don't treat a newline as fitting
3093 on the line.
3094
d2906bf8
GM
30952001-01-26 Gerd Moellmann <gerd@gnu.org>
3096
0130fe1a
GM
3097 * window.c (size_window): Set the window's orig_top to nil when
3098 changing heights, so that a future shrink_mini_window won't
3099 restore a bogus height.
3100
550f0e6a
GM
3101 * frame.c (do_switch_frame): If selected frame has a mini-window,
3102 resize that to exact size.
3103
b7b20fbd
GM
3104 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3105
a47b7816
GM
3106 * xdisp.c (display_line): Simplify check for glyphs fitting
3107 entirely in the line.
3108
d2906bf8
GM
3109 * xfns.c (xic_style): New variable.
3110 (create_frame_xic): Move static variable to global scope for
550f0e6a 3111 the case that `static' gets defined away.
d2906bf8 3112
73df2b1e
KH
31132001-01-26 Kenichi Handa <handa@etl.go.jp>
3114
3115 * coding.c (decode_coding): Set a flag for inhibiting
3116 inconsistent eol.
3117 (code_convert_region): Always set saved_coding_symbol.
3118 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3119 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3120
6613cfc4
GM
31212001-01-25 Gerd Moellmann <gerd@gnu.org>
3122
c5e6e06b
GM
3123 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3124 XClearArea.
3125
3126 * xterm.c (x_after_update_window_line): Don't clear if frame's
3127 internal border width is zero.
3128 (x_clear_area): New function.
3129 (x_after_update_window_line, x_clear_end_of_line)
3130 (x_scroll_bar_create, x_scroll_bar_set_handle)
3131 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3132 instead of XClearArea.
3133
3134 * xterm.h (x_clear_area): Add prototype.
3135
6613cfc4
GM
3136 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3137 which doesn't seem necessary anymore with Lesstif 0.92.
3138
650cc6cc
DL
31392001-01-25 Dave Love <fx@gnu.org>
3140
34ac3367
DL
3141 * puresize.h (BASE_PURESIZE): Up to 720000.
3142
650cc6cc
DL
3143 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3144
5e37dc22
GM
31452001-01-25 Gerd Moellmann <gerd@gnu.org>
3146
e1e441f9
GM
3147 * xdisp.c (echo_area_display): Don't call redisplay_internal
3148 when Emacs is shutting down. We can't run hooks etc. that
3149 would be necessary to do a redisplay.
3150
5e37dc22
GM
3151 * lread.c (read_integer): Use type EMACS_INT instead of int.
3152
0fb94c7f
EZ
31532001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3154
3155 * ccl.c (ccl_driver): Fix last change.
3156
e3778624
KH
31572001-01-25 Kenichi Handa <handa@etl.go.jp>
3158
3159 * ccl.h (sturct ccl_program): New member suppress_error.
3160
bb264518 3161 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3162 insert error message to the output.
3163 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3164
3165 * coding.h (struct coding_system): New member suppress_error.
3166
3167 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3168 (Fset_terminal_coding_system_internal): Set the member
3169 suppress_error to 1.
3170 (Fset_safe_terminal_coding_system_internal): Likewise.
3171
245ed2b1
SM
31722001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3173
3174 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3175 as if it was a `charset'.
3176
f9aaedb6
GM
31772001-01-24 Gerd Moellmann <gerd@gnu.org>
3178
3179 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3180 value in where_is_cache; the next lookup in the cache returns
3181 something bogus if we do.
3182
c3902c3e
EZ
31832001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3184
3185 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3186 if HAVE_WINDOW_SYSTEM isn't defined.
3187
3497f73e
GM
31882001-01-24 Gerd Moellmann <gerd@gnu.org>
3189
e7e41584
GM
3190 * fns.c (sweep_weak_table): Fix code taking items out of
3191 the hash collision chain. Some cleanup.
3192
3497f73e
GM
3193 * xterm.c (x_new_font): Don't change a tooltip's size.
3194
3195 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3196 background color by specifying a color for the default font
3197 in .Xdefaults.
3198
3d48e687
KH
31992001-01-24 Kenichi Handa <handa@etl.go.jp>
3200
96531b20
KH
3201 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3202 a workaround for SunOS 4's cc.
3203 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3204 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3205 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3206 statement.
3d48e687 3207
a30629d2
GM
32082001-01-23 Gerd Moellmann <gerd@gnu.org>
3209
3210 * xterm.c (x_set_window_size_1): New function extracted from
3211 x_set_window_size.
3212 (x_set_window_size): Use it.
3213 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3214 doesn't have a widget, like tooltips.
3215
5a43decf
EZ
32162001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3217
52283633 3218 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3219
b0e98867
KH
32202001-01-23 Kenichi Handa <handa@etl.go.jp>
3221
3222 * fns.c (Fset_char_table_default): Fix to make sub char-table
3223 correctly.
3224
50606b4c
GM
32252001-01-22 Gerd Moellmann <gerd@gnu.org>
3226
cb2ddc53 3227 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3228 a desired tool bar string, even if there are no tool bar items.
3229
57c28064
GM
3230 * xdisp.c (Ftool_bar_lines_needed): New function.
3231 (syms_of_xdisp): Defsubr it.
3232
50606b4c
GM
3233 * editfns.c (Fformat): Don't extend text properties from arguments
3234 to padding chars in the result.
3235
2f169c38
EZ
32362001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3237
3238 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3239
0f32f023
AI
32402001-01-20 Andrew Innes <andrewi@gnu.org>
3241
52283633 3242 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3243 (w32_initialize): Don't set term hooks that aren't actually needed
3244 in windowed mode.
3245
3246 * xfaces.c (realize_default_face):
3247 (realize_face):
3248 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3249
3250 * xdisp.c (handle_single_display_prop): Remove references to
3251 FRAME_W32_CONSOLE_P.
3252
52283633 3253 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3254
3255 * frame.h (output_method): Remove output_w32_console method.
3256 (FRAME_W32_CONSOLE_P): Remove macro.
3257
3258 * frame.c (Qw32_console): Remove variable.
3259 (Fframep): Remove references to it.
3260 (syms_of_frame): Ditto.
3261 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3262
3263 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3264 redefinition.
3265
7173eada
KH
32662001-01-20 Kenichi Handa <handa@etl.go.jp>
3267
3268 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3269
755b45ce
AI
32702001-01-19 Andrew Innes <andrewi@gnu.org>
3271
3272 * w32.c (init_environment): Add a version-independent site-lisp
3273 directory to EMACSLOADPATH, after the version dependent one.
3274
0a949811
GM
32752001-01-19 Gerd Moellmann <gerd@gnu.org>
3276
8501998a
GM
3277 * editfns.c (Fbuffer_substring): Doc fix.
3278
52283633
SM
3279 * xdisp.c (message_dolog, message2, message2_nolog):
3280 Rename parameter LEN to NBYTES.
0a949811 3281
e6ebcbbe
KH
32822001-01-19 Kenichi Handa <handa@etl.go.jp>
3283
200ecca2
KH
3284 * charset.c (strwidth): Use c_string_width.
3285 (c_string_width): New function.
3286 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3287 Caller changed.
3288
3289 * charset.h (c_string_width, lisp_string_width): Extern them.
3290
52283633 3291 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3292
e6ebcbbe
KH
3293 * indent.c (check_composition): Check validity of composition.
3294
200ecca2
KH
3295 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3296 characters by calling c_string_width.
3297 (x_consider_frame_title): Get byte length of frame tile string
3298 correctly.
3299 (display_mode_element): Pay attention to width of non-ASCII
3300 characters by calling strwidth.
3301
8692ca92
GM
33022001-01-18 Gerd Moellmann <gerd@gnu.org>
3303
8962e303
GM
3304 * xfns.c (Qcancel_timer): New variable.
3305 (syms_of_xfns): Initialize and staticpro it.
3306 (Fx_hide_tip, Fx_show_tip): Use it.
3307 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3308 the timer.
3309 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3310
91523be9
GM
3311 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3312
3313 * window.h (WINDOW_LIVE_P): New macro.
3314
b0b7ed0e
GM
3315 * window.c (window_size_fixed): New variable.
3316 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3317 the doc string.
3318
06bccf8e
GM
3319 * eval.c (specbind): If binding a per-buffer variable which
3320 doesn't have a buffer-local value in the current buffer, change
3321 the global value by changing the value of the symbol bound in all
3322 buffers not having their own value, to make it consistent with
3323 what happens with other buffer-local variables.
3324
8692ca92
GM
3325 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3326
3327 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3328 when searching for a newline.
3329
bb3a3b50
KH
33302001-01-18 Kenichi Handa <handa@etl.go.jp>
3331
3332 * xdisp.c (display_string): Fix previous change.
3333
c2cc16fa
JR
33342001-01-18 Jason Rumney <jasonr@gnu.org>
3335
3336 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3337 GLYPH_DEBUG is defined.
3338 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3339 true for images with `:ascent 100'.
3340 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3341 meantime, use face MOUSE_FACE_ID.
3342 If first glyph isn't a character glyph, use the ASCII NUL
3343 character to determine the face.
3344 (expose_area): Do not treat left margin specially.
3345 (note_mode_line_highlight): If no local_map, check global keymap.
3346 (note_mouse_highlight): Initialize overlay.
52283633 3347 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3348 (show_scroll_bars): Remove unused function.
3349 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3350 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3351 Clip to row.
52283633 3352 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3353 (x_free_frame_resources): Unload relief colors.
3354
9c11f79e
GM
33552001-01-17 Gerd Moellmann <gerd@gnu.org>
3356
3aec8722 3357 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3358 get_next_display_element when the newline is already found.
3359 This may change the iterator's position, when its current position is
3aec8722
GM
3360 equal to the iterator's stop_charpos.
3361
f3ffc2c3
GM
3362 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3363 zero, use this method only at the end of a line.
3364
52283633 3365 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3366 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3367 if SCALABLE_FONTS_P is set.
52283633 3368
d26d6fd9
GM
3369 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3370 so that scalable fonts are included.
3371
9c11f79e
GM
3372 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3373 In the cache, use a key containing the information if scalable
3374 fonts are included.
3375 (x_load_font): Adapt to change of keys in the font cache.
3376
33772001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3378
d26d6fd9
GM
3379 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3380 XListFonts to take advantage of font caching.
3381
9c11f79e
GM
3382 * xterm.c (x_list_fonts): Ensure caching font information when
3383 called for a null frame, which is the case frequently when Emacs
3384 starts.
3385
51446987
GM
33862001-01-17 Gerd Moellmann <gerd@gnu.org>
3387
f864120f
GM
3388 * xfns.c (QCconversion): Replaces QCalgorithm.
3389
3390 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3391
3392 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3393 of :algorithm.
52283633 3394
e37d1417
GM
3395 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3396 not everything could be displayed.
3397
51446987
GM
3398 * line.h, x-list-font.c: Files removed because unused.
3399
9ad4f3e5
AI
34002001-01-17 Andrew Innes <andrewi@gnu.org>
3401
3402 * dired.c (directory_files_internal): Convert result from readdir
3403 to a unibyte string initially, to avoid possible misinterpretation
3404 of some bytes as the internal form of Emacs characters.
3405
2eda09b5
KH
34062001-01-17 Kenichi Handa <handa@etl.go.jp>
3407
3408 * fns.c (concat): Be sure to avoid putting the same `composition'
3409 property on the adjacent regions.
3410
826f3788
GM
34112001-01-16 Gerd Moellmann <gerd@gnu.org>
3412
52283633 3413 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3414 (Fscroll_right, Fscroll_left): Set it here instead, if called
3415 interactively.
3416
d57b83b3
GM
3417 * buffer.c (Fset_buffer_modified_p): Set buffer's
3418 prevent_redisplay_optimizations_p flag.
3419
826f3788 3420 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3421 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3422 with additional arg.
3423
3424 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3425 Change prototype.
826f3788 3426
826f3788
GM
3427 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3428 FROM_WHERE, for debugging.
3429
261d788b
KH
34302001-01-16 Kenichi Handa <handa@etl.go.jp>
3431
3432 * ccl.c (Fregister_ccl_program): Handle the return value of
3433 resolve_symbol_ccl_program correctly.
52283633 3434 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3435
bccee4f2
GM
34362001-01-15 Gerd Moellmann <gerd@gnu.org>
3437
e4ded23c
GM
3438 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3439 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3440
3441 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3442 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3443 the display; we didn't open it.
3444
bccee4f2
GM
3445 * dispnew.c (save_or_restore_current_matrices): Function removed.
3446 (save_current_matrix, restore_current_matrix): New functions.
3447 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3448 restore the frame's current matrix. Due to the glyph pointer
3449 setup done in adjust_glyph_matrix, there is no easy way to make
3450 saving the current matrix in the desired matrix generally correct,
3451 so don't try it.
3452
ebeccffa
KH
34532001-01-15 Kenichi Handa <handa@etl.go.jp>
3454
3455 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3456 truncation glyphs.
3457 (display_line): Optimize for wide characters.
e4ded23c 3458 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3459 partially. On ttys, produce more than one truncation glyph for
3460 multi-column characters that don't fit on the line.
3461
64388126
KH
34622001-01-13 Kenichi Handa <handa@etl.go.jp>
3463
52283633
SM
3464 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3465 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3466
8edb0a6f
JR
34672001-01-13 Jason Rumney <jasonr@gnu.org>
3468
3469 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3470 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3471 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3472 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3473
52283633
SM
3474 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3475 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3476 (x_draw_image_glyph_string): Adapt to change of image margins.
3477
3478 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3479 variables.
3480
3481 * w32bdf.c (search_file_line, get_cached_font_char)
3482 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3483
3484 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3485
3486 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3487 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3488 (Fw32_send_sys_command): Remove unused variables.
3489 (w32_msg_pump): Add parentheses.
3490
3491 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3492 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3493 Add parentheses.
3494
4956d1ef
GM
34952001-01-12 Gerd Moellmann <gerd@gnu.org>
3496
b30623be
GM
3497 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3498 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3499 being a pair of margins.
3500 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3501 to DEFVAR_LISP. Extend doc.
3502
3503 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3504 margins.
3505 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3506 pair of integers `(X . Y)', use X for the horizontal and Y for the
3507 vertical margin.
3508 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3509 (parse_image_spec): Check it.
52283633
SM
3510 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3511 (tiff_format, gif_format, gs_format):
3512 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3513
52283633
SM
3514 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3515 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3516 (x_draw_image_glyph_string): Adapt to the change of image margins.
3517
3518 * dispextern.h (struct image): Replace member `margin' with
3519 `hmargin' and `vmargin'.
3520
4554cc79
GM
3521 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3522 and GLYPHS.
3523
3524 * dispnew.c (update_text_area): Put code which decrements the
3525 stop position when the row's face extends to the end of the
3bffc665 3526 line in #if 0.
4554cc79 3527
3cccce8d
GM
3528 * xfns.c (x_set_mouse_color): Fix color allocation.
3529
4956d1ef
GM
3530 * keyboard.c: Call get_local_map with new argument list.
3531
3532 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3533
3534 * intervals.h (enum map_property): Removed.
3535 (get_local_map): Change prototype.
3536
3537 * keymap.c: Call get_local_map with new argument list.
3538 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3539
2c2ff7f2
GM
35402001-01-11 Gerd Moellmann <gerd@gnu.org>
3541
a23887b9
GM
3542 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3543 of the size needed for the tool bar string. For the last image,
3544 use a `display' property that reaches to the end of the string.
3545
a7ee2d2e
GM
3546 * xselect.c (selection_request_dpyinfo): New variable.
3547 (x_handle_selection_request): Set it.
3548 (x_selection_request_lisp_error): Don't call
3549 x_decline_selection_request if selection request's display has
3550 been closed.
3551
52283633
SM
3552 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3553 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3554
457b792c
GM
35552001-01-10 Dave Love <fx@gnu.org>
3556
3557 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3558 ${SOME_MACHINE_LISP}, not ${lisp}.
3559
c1efd260
GM
35602001-01-10 Gerd Moellmann <gerd@gnu.org>
3561
52283633
SM
3562 * xdisp.c (display_line): On ttys, produce more than one truncation
3563 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3564
ac95a621
GM
3565 * xselect.c (x_reply_selection_request): Add a comment.
3566
c1efd260
GM
3567 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3568 XkbGetNames instead of XkbGetKeyboard.
3569
1bfb1345
DL
35702001-01-10 Dave Love <fx@gnu.org>
3571
3572 * sysdep.c (random): Revert the declaration.
3573
38119822
GM
35742001-01-09 Gerd Moellmann <gerd@gnu.org>
3575
52283633
SM
3576 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3577 Call function string_bytes.
35f464a7
GM
3578 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3579
3580 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3581 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3582 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3583 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3584 the current sblock.
3585 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3586 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3587 after sweeping strings, and at the end.
3588 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3589
38119822
GM
3590 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3591 ensure that pop_message is called.
3592
3593 * keyboard.c (Fexecute_extended_command): Use a
3594 record_unwind_protect to ensure that pop_message is called.
3595
3596 * lisp.h (push_message_unwind): Add prototype.
3597
3598 * xdisp.c (push_message_unwind): New function.
3599
3600 * fileio.c (do_auto_save_unwind): Do the pop_message here
3601 instead of in Fdo_auto_save.
3602 (Fdo_auto_save): Don't call pop_message.
3603
f47a9ec4
KR
36042001-01-08 Ken Raeburn <raeburn@gnu.org>
3605
3606 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3607 in inner block.
3608
a758f97d
GM
36092001-01-08 Gerd Moellmann <gerd@gnu.org>
3610
6d0afc03
GM
3611 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3612 when increasing window's vscroll.
3613
a758f97d
GM
3614 * macros.c (Qkbd_macro_termination_hook): New variable.
3615 (syms_of_macros): Initialize and staticpro it.
3616 (pop_kbd_macro): Run kbd-macro-termination-hook.
3617
3618 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3619
1bfb1345 36202001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3621
3622 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3623 arglist, for documentation's sake.
3624
0dac6924
AI
36252001-01-06 Andrew Innes <andrewi@gnu.org>
3626
3627 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3628 of *.pdb.
3629
8182406a
AI
36302001-01-05 Andrew Innes <andrewi@gnu.org>
3631
3632 * term.c (update_end): Don't check updating_frame; for some reason
3633 this can be 0 sometimes, such as after dismissing a popup menu,
3634 and isn't necessary given the explicit frame argument.
3635
3828218c
GM
36362001-01-05 Gerd Moellmann <gerd@gnu.org>
3637
3638 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3639 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3640
2f5ded21
GM
36412001-01-04 Gerd Moellmann <gerd@gnu.org>
3642
52283633 3643 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3644
3645 * xfns.c (x_create_tip_frame): Preserve the value of
3646 face_change_count around the creation of the tip frame.
52283633 3647
2f5ded21
GM
3648 * xfns.c (last_show_tip_args): New variable.
3649 (compute_tip_xy): New function.
3650 (Fx_show_tip): Reuse an existing tip frame, if possible.
3651 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3652
dfad65fa
DL
36532001-01-04 Dave Love <fx@gnu.org>
3654
64d4ec0f
DL
3655 * editfns.c (Fformat): Doc fix.
3656
dfad65fa
DL
3657 * systime.h (set_file_times): Prototype.
3658
3659 * widget.h (EmacsFrameSetCharSize_): Prototype.
3660
3661 * sysdep.c (random, srandom): Declare explicitly.
3662
3663 * dispextern.h (move_it_vertically_backward): Declare.
3664
85fe3b5e
GM
36652001-01-04 Gerd Moellmann <gerd@gnu.org>
3666
0f2ac578
GM
3667 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3668 like in Fx_create_frame.
3669
482cca61
GM
3670 * xfaces.c (set_font_frame_param): Don't do anything for
3671 non-graphical frames.
3672
85fe3b5e
GM
3673 * window.c (Fdelete_other_windows): Set window's window_end_valid
3674 to nil when changing the window's start. Don't change the
3675 window's start when its top position hasn't changed. If we do,
3676 this will set the window's optional_new_start, which act's like a
3677 force_start during redisplay with C-x 1 M-> under particular
3678 circumstances (see report from Per Starback to emacs-pretest-bug
3679 from 2000-12-13.).
3680
3e99d3b4
GM
36812001-01-03 Gerd Moellmann <gerd@gnu.org>
3682
a77dc1ec
GM
3683 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3684 short cut at the start of the function. Add an assertion.
3685 (reseat_at_next_visible_line_start): Add an assertion.
3686
2f3cad6c
GM
3687 * window.c (Frecenter): When changing the window start, set the
3688 window's window_end_valid to nil.
3689 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3690
3691 * dispextern.h (move_it_past_eol): Add prototype.
3692
3693 * xdisp.c (move_it_past_eol): New function.
3694
3e99d3b4
GM
3695 * window.c (Fwindow_end): Doc fix.
3696
36972001-01-03 Dave Love <fx@gnu.org>
3698
52283633 3699 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3700
bafb434c
GM
37012001-01-03 Gerd Moellmann <gerd@gnu.org>
3702
3703 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3704 the enabled_p flag of the glyph row at window_end_vpos to 0.
3705 (handle_single_display_prop): Fix last change.
3706
5297fb00
RS
37072001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3708
3709 * window.c (Frecenter): Doc fix.
3710
13d6a61c
AI
37112001-01-02 Andrew Innes <andrewi@gnu.org>
3712
3713 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3714
3715 * frame.h (output_method): Add output_w32_console method.
3716 (FRAME_W32_CONSOLE_P): New macro.
3717
3718 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3719 use output_w32_console method.
3720 (Qw32_console): New Lisp_Object.
3721 (Fframep): Return it.
3722 (syms_of_frame): Init it.
52283633 3723 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3724
3725 * xfaces.c (realize_default_face): Set face foreground and
3726 background to unspecified for w32_console frames.
3727 (realize_face): Realize face cache for w32_console frames.
3728 (realize_tty_face): Accept w32_console frames.
3729
52283633 3730 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3731 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3732 necessary, even if running interactively.
3733
3734 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3735 w32_console frames.
3736
52283633
SM
3737 * w32term.c (x_update_begin):
3738 (x_update_end):
3739 (x_clear_frame):
3740 (x_ins_del_lines):
3741 (x_change_line_highlight):
3742 (x_delete_glyphs):
3743 (w32_ring_bell):
3744 (x_update_begin):
3745 (x_update_end):
3746 (w32_reassert_line_highlight):
3747 (w32_frame_rehighlight):
13d6a61c
AI
3748 (w32_frame_raise_lower): Do nothing if not w32 frame.
3749
3750 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3751
3752 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3753 system doesn't tell us directly.
3754 (Fx_display_visual_class): Implement properly.
3755
d6bb0c0d
GM
37562001-01-02 Gerd Moellmann <gerd@gnu.org>
3757
3758 * window.c (Frecenter): Handle centering in graphical frames
3759 specially. Centering on the basis of line counts doesn't work
3760 reliably with variable-height lines.
52283633 3761
315f5865
EZ
37622001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3763
3764 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3765 and al[].
3766
52283633 3767 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3768 (update_compositions): Remove unused variable `hook'.
3769
3770 * intervals.c (get_local_map): Remove unused variable `tem'.
3771
3772 * doprnt.c (doprnt1): Remove unused variable `size'.
3773
3774 * fns.c (Flength): Remove unused variable `tail'.
3775 (Fdelete): Remove unused variable `size'.
3776
3777 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3778 and `gcpro2'.
3779
52283633 3780 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3781
3782 * data.c (find_symbol_value): Remove extra 3rd argument in the
3783 call to swap_in_symval_forwarding.
3784
52283633 3785 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3786
3787 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3788 (trivial_regexp_p): Remove unused variable `c'.
3789 (boyer_moore): Remove unused variable `k'.
3790
3791 * indent.c (current_column): Remove unused variable `stopchar'.
3792 (Fcompute_motion): Remove unused variable `contin'.
3793
3794 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3795
3796 * dired.c (directory_files_internal): Fix a typo in a comment.
3797 Remove an unused variable `handler'.
52283633 3798 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3799 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3800 on BSD4_2.
3801
52283633 3802 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3803
3804 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3805 and `buf'.
3806 (Fmarker_insertion_type): Remove unused variable `buf'.
3807
3808 * insdel.c (make_gap): Remove unused variable `result'.
3809
52283633 3810 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3811 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3812 (menu_bar_items): Remove unused function-scope variable `tem'.
3813
3814 * fontset.c (fontset_ref): Remove unused variable `i'.
3815 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3816 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3817 (make_fontset_for_ascii_face): Remove unused variable `name'.
3818 (fs_load_font): Remove unused variable `font_idx'.
52283633 3819 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3820 (list_fontsets): Remove unused variable `tail'.
3821 (Fnew_fontset): Remove unused variables `family' and `registry'.
3822 (accumulate_font_info): Remove unused variable `tmp'.
3823 (Ffontset_font): Remove unused variable `id'.
3824 (syms_of_fontset): Remove unused variable `i'.
3825
3826 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3827 to x_term_init.
3828 (lookup_image): Remove unused variable `file'.
3829 (xbm_load): Remove unused variables `bitmap_data', `height', and
3830 `width'. Remove function-local variable `i', leave the
3831 block-local one.
3832 (gif_load): Remove unused variable `inc'.
3833
52283633 3834 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3835 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3836 leave only the one in the inner block.
3837
3838 * xfaces.c (face_fontset, realize_default_face): Remove unused
3839 variable `fontset'.
3840 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3841
3842 * term.c (encode_terminal_code): Remove unused variable `c'.
3843
3844 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3845 char *' instead of `char *'.
3846
3847 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3848 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3849 (Fchar_category_set): Remove unused variables `val', `charset',
3850 `c1' and `c2'.
3851
52283633
SM
3852 * coding.c (detect_coding_iso2022, setup_coding_system):
3853 Remove unused variable `i'.
315f5865
EZ
3854 (detect_coding_mask): Remove unused variable `idx'.
3855 (detect_coding): Remove unused variable `i'.
3856 (ccl_coding_driver): Remove unused variable `result'.
3857 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3858 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3859 (encode_coding_string): Remove unused variables `gcpro1' and
3860 `saved_coding_symbol'.
3861 (Ffind_coding_systems_region_internal): Remove function-local
3862 variable args[], leave only the block-local one.
3863 (code_convert_region1): Remove unused variable `len'.
3864
3865 * charset.c (char_printable_p): Remove unused variable `chars'.
3866 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3867 (str_to_multibyte): Remove unused variable `c'.
3868
3869 * window.c (size_window): Remove block-local variable `min_size'.
3870
3871 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3872 `header_line_height'.
3873 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3874 enum display_element_type.
3875
1a8a9daf
GM
38762001-01-02 Gerd Moellmann <gerd@gnu.org>
3877
6dde6abc 3878 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3879 statements that call X. Save away the error message in a local copy.
3880
1883b2c6
GM
3881 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3882 the start.
3883
a13be207
GM
3884 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3885 in or at the start of invisible text.
3886
1a8a9daf
GM
3887 * dispnew.c (update_window): Don't check_current_matrix_flags.
3888
3608c0f9
JR
38892001-01-01 Jason Rumney <jasonr@gnu.org>
3890
3891 * w32fns.c (x_figure_window_size): Do not allow new_height and
3892 new_width of frame to override specified values.
3893
abb1acc4
KH
38942000-12-30 Kenichi Handa <handa@etl.go.jp>
3895
52283633 3896 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3897
762a68ec
GM
38982000-12-29 Gerd Moellmann <gerd@gnu.org>
3899
52283633 3900 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3901 (update_window) [GLYPH_DEBUG]: Call it.
3902 (scrolling_window): Prevent including current rows which are below
3903 what's displayed in the window.
3904
3905 * xdisp.c (try_window_reusing_current_matrix)
3906 <new start <= old start>: Disable rows in the current matrix
3907 which are below the window after scrolling.
52283633 3908
762a68ec
GM
3909 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3910 is zero. It's not worth the complexity.
3911 (invisible_text_between_p): Put in #if 0 because unused.
3912
2d5912c1
GM
39132000-12-28 Gerd Moellmann <gerd@gnu.org>
3914
46f6a258
GM
3915 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3916 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3917
89f93679
GM
3918 * keyboard.c (echo_char): If C is an integer, always call
3919 push_key_description. Former code could signal an invalid
3920 character error.
3921
3922 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3923 If set, print multibyte text.
3924 (Fsingle_key_description): Call push_key_description with
3925 FORCE_MULTIBYTE set.
3926 (describe_buffer_bindings): Likewise.
3927
3928 * lisp.h (push_key_description): Add prototype.
3929
c06017fb
GM
3930 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3931 around the call to redisplay_internal.
3932
f1d2ce7f
GM
3933 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3934
2d5912c1
GM
3935 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3936
9371f831
KH
39372000-12-28 Kenichi Handa <handa@etl.go.jp>
3938
3939 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3940 (ccl_driver): New local variable `extra_bytes'.
3941
3942 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3943
52283633
SM
3944 * coding.c (setup_coding_system):
3945 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3946 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3947
0c80628a
KH
39482000-12-28 Kenichi Handa <handa@etl.go.jp>
3949
3950 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3951 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3952 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3953 (decode_composition_emacs_mule): New function.
3954 (decode_coding_emacs_mule): Decode composition sequence by calling
3955 decode_composition_emacs_mule.
3956 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3957 (encode_coding_emacs_mule): Changed from macro to function.
3958 If a text contains compositions, encode them correctly.
0c80628a
KH
3959 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3960 that decoding and encoding are required.
3961
3e32cc27
GM
39622000-12-27 Gerd Moellmann <gerd@gnu.org>
3963
5e25feee
GM
3964 * xfaces.c (PT_PER_INCH): New macro.
3965 (xlfd_point_size): Compute real point size from font's pixel size.
3966 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3967 instead of 72.
3968
892d8fcd
GM
3969 * .gdbinit: Comment out the line pointing to the Lesstif source
3970 directory.
3971
12c8b416
GM
3972 * window.c (Frecenter): Use displayed_window_lines instead
3973 of window_internal_height.
3974
6061fbf0
GM
3975 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3976 instead of x-toolkit-scroll-bars-p.
3977 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3978
3979 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3980 instead of x-toolkit-scroll-bars-p.
3981 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3982
3e32cc27
GM
3983 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3984 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3985 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3986 New variables.
3987 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3988 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3989 (build_frame_matrix_from_leaf_window): Remove unused code.
3990 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3991 redisplay history.
3992 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3993 (update_window) [GLYPH_DEBUG]: Likewise.
3994 (syms_of_display): Defsubr dump-redisplay-history.
3995
31798cfe
GM
39962000-12-23 Gerd Moellmann <gerd@gnu.org>
3997
f717c2ba
GM
3998 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3999 the end of the prompt. Set echo_after_prompt to the offset
4000 of echoptr in echobuf.
4001
aeb2b8fc
GM
4002 * xdisp.c (init_from_display_pos): Pop until the iterator's
4003 stack is empty; there may be frames for stretch or images
4004 on the stack.
4005
31798cfe
GM
4006 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4007 (save_or_restore_current_matrix): New function for the same
4008 purpose, but more efficient.
4009 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4010
f8156156
EZ
40112000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4012
4013 * xdisp.c (syms_of_xdisp): Fix last change.
4014
bdd6d4e8
GM
40152000-12-23 Gerd Moellmann <gerd@gnu.org>
4016
4017 * xdisp.c (syms_of_xdisp): Doc fix.
4018
4019 * xdisp.c (redisplay_window): Remove label restore_buffers;
4020 use finish_scroll_bars instead to make sure that scroll bars
4021 are redeemed. If we don't do this, flickering can result from
4022 scroll bars being destroyed and recreated.
4023
9436cdf9
JR
40242000-12-22 Jason Rumney <jasonr@gnu.org>
4025
4026 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4027 in the wrong colors when the foreground is not black.
4028 (expose_window): Don't redraw the window that's currently being
4029 updated.
4030
951f9df5
GM
40312000-12-22 Gerd Moellmann <gerd@gnu.org>
4032
856ff7a7
GM
4033 * window.c (size_window): When setting the window's too_small_ok
4034 flag, compare old size with minimum size depending on WIDTH_P,
4035 don't compare with window_min_width.
52283633 4036
951f9df5
GM
4037 * window.c (delete_window): Simplify somewhat.
4038 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4039 freeing window matrices. The flag windows_or_buffers_changed is
4040 set, so the next redisplay will consider all windows; this should
4041 suffice.
4042
886bc933
KH
40432000-12-22 Kenichi Handa <handa@etl.go.jp>
4044
4045 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4046
4047 * ccl.h (struct ccl_program): New member cr_consumed.
4048
4049 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4050 (CCL_READ_CHAR): Handle EOL conversion here.
4051 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4052
177f4e88
GM
40532000-12-21 Gerd Moellmann <gerd@gnu.org>
4054
52283633 4055 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4056
4057 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4058 otherwise tabs of different size compare equal.
4059
4060 * callint.c (Fcall_interactively): Prevent a compiler warning.
4061
4062 * print.c (print_unwind): Return nil.
4063 (PRINTDECLARE): Initialize all local variables.
4064 (print_preprocess): Add a default case.
4065
8e15274f
GM
4066 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4067
4068 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4069
52283633 4070 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4071 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4072
4073 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4074
4075 * dispnew.c (ensure_frame_matrix): Removed.
4076 (save_frame_matrix, restore_frame_matrix): New functions.
4077 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4078
4079 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4080 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4081
99012074
AI
40822000-12-21 Andrew Innes <andrewi@gnu.org>
4083
4084 * w32term.c (x_update_begin): Regenerate the palette here, rather
4085 than for each window.
4086
4087 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4088 palette is NULL, since this corrupts memory! Also get
4089 display_info reference from frame.
4090
29ef7d2d
JR
40912000-12-21 Jason Rumney <jasonr@gnu.org>
4092
4093 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4094
4095 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4096 to avoid returning without releasing it.
3e27fa1f 4097
3f9d67a6
KH
40982000-12-21 Kenichi Handa <handa@etl.go.jp>
4099
587fc3f9
KH
4100 * keymap.c (push_key_description): Don't convert eight-bit-control
4101 and eight-bit-graphic to multibyte character.
4102
3f9d67a6
KH
4103 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4104 generic character and CODE1 is nil, return the smallest character
4105 in CHARSET.
4106
774ba8c9
DL
41072000-12-20 Dave Love <fx@gnu.org>
4108
4109 * s/osf5-0.h (NSIG): Don't redefine.
4110
88416888
SM
41112000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4112
4113 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4114 excluding menu-bar and tool-bar.
4115 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4116 (menu_item_p): Remove.
4117 (where_is_internal_1): Don't ignore menu-items.
4118
a6426c6f
GM
41192000-12-20 Gerd Moellmann <gerd@gnu.org>
4120
03ff8aab
GM
4121 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4122 into account.
4123
4124 * window.c (make_window): Initialize window's min_hscroll.
4125 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4126 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4127 to zero.
4128 (struct saved_window): New member min_hscroll.
4129 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4130 (Fset_window_configuration): Set window's min_hscroll.
4131 (save_window_save): Save window's min_hscroll.
4132 (compare_window_configurations): Compare min_hscroll values.
4133
4134 * window.h (struct window): New member min_hscroll.
4135
4136 * keyboard.c (echo_prompt): Prevent a compiler warning.
4137
8de4aaf8
GM
4138 * xdisp.c (try_cursor_movement): Fix last change. The real
4139 condition is that PT is at the end of the row, and should
4140 be displayed at the start of the next row.
52283633 4141
3f7e3031
GM
4142 * xdisp.c (try_cursor_movement): If we end on a partially
4143 visible line, end we already decided to scroll, return -1.
4144
a6426c6f
GM
4145 * dispextern.h (ensure_frame_matrix): Add prototype.
4146
4147 * window.c (delete_window, Fsplit_window)
4148 (Fset_window_configuration): Call ensure_frame_matrix.
4149
52283633
SM
4150 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4151 New functions.
a6426c6f
GM
4152 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4153 completed, call fake_current_matrices instead of marking frame
4154 garbaged.
4155
57fa2774
JR
41562000-12-20 Jason Rumney <jasonr@gnu.org>
4157
4158 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4159
d925df90
EZ
41602000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4161
4162 * fns.c (Frequire): Doc fix.
4163
7b93a85b
GM
41642000-12-19 Gerd Moellmann <gerd@gnu.org>
4165
52283633 4166 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4167
c74e645b
GM
4168 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4169 currently displaying a message.
4170
7b93a85b
GM
4171 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4172 xterm.h.
4173 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4174
90d97e64
AI
41752000-12-18 Andrew Innes <andrewi@gnu.org>
4176
4177 * w32.c (w32_strerror): New function.
4178
4179 * w32.h (w32_strerror): New extern.
4180
4181 * w32fns.c (Fw32_shell_execute): Use it.
4182
91c9e6ce
GM
41832000-12-18 Gerd Moellmann <gerd@gnu.org>
4184
4185 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4186
6f4745e2
EZ
41872000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4188
4189 * msdos.c (IT_set_face): Obey inverse_video.
4190
c9e088ce
KH
41912000-12-18 Kenichi Handa <handa@etl.go.jp>
4192
4193 * dired.c (directory_files_internal): Always return decoded filenames.
4194
c3695f5f
GM
41952000-12-18 Gerd Moellmann <gerd@gnu.org>
4196
52d8e4ff
GM
4197 * xterm.c (x_connection_closed): Prevent being called recursively
4198 because of an error condition in XtCloseDisplay.
52283633 4199
62be9979
GM
4200 * xdisp.c (init_iterator): If noninteractive, and the frame's
4201 face cache is null, make one.
4202
52283633 4203 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4204
c3695f5f
GM
4205 * process.c (wait_reading_process_input): Check for pending
4206 input when running timers.
4207
78555fbe
EZ
42082000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4209
52283633 4210 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4211
b2b36264
KH
42122000-12-18 Kenichi Handa <handa@etl.go.jp>
4213
4214 * process.c (read_process_output): Don't run a filter if the code
4215 decoder produces nothing but carryover.
4216
9c543fbf
AI
42172000-12-17 Andrew Innes <andrewi@gnu.org>
4218
4219 * w32.c (sys_rename): Only check errno against EEXIST, and not
4220 EACCES, when determining whether rename failed because the target
4221 exists. This was resulting in indefinite looping on Windows 9x if
4222 the source file was locked by another process.
4223
4224 * w32fns.c (Ffile_system_info): New function.
4225 (syms_of_w32fns): Defsubr it.
4226
10c2b5a8
GM
42272000-12-17 Gerd Moellmann <gerd@gnu.org>
4228
b0228ace
GM
4229 * window.c (coordinates_in_window): Fix computation for
4230 position on vertical line between mode lines.
4231
10c2b5a8
GM
4232 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4233 Don't alter tip_frame or tip_window.
4234 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4235 was deleted.
4236
c844a81a
GM
4237 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4238 Don't alter tip_frame or tip_window.
4239 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4240 was deleted.
4241
6c825f8e
EZ
42422000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4243
4244 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4245 be consistent with the doc string. Reported by NAKAJIMA Mikio
4246 <minakaji@osaka.email.ne.jp>.
4247
af4bb4c8
KH
42482000-12-16 Kenichi Handa <handa@etl.go.jp>
4249
4250 * xfaces.c (Vface_ignored_fonts): New variable.
4251 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4252 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4253
8062e53a
GM
42542000-12-15 Gerd Moellmann <gerd@gnu.org>
4255
e87b8809
GM
4256 * dispnew.c (update_window): Detect pending input every nth line
4257 updated, i.e. do it depending on real work done, and not on the
4258 vpos of the line.
4259
4260 * xterm.c (expose_window): Don't redraw the window that's
4261 currently being updated.
4262
a6768cc5
GM
4263 * window.c (Fset_window_point): Remove test for
4264 cursor_in_non_selected_windows.
4265
4ea7fdca
GM
4266 * lread.c (read1): Recognize end of file after `\\'.
4267
8062e53a
GM
4268 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4269 not unwind_create_frame.
4270
bb7959c1
GM
42712000-12-15 Dave Love <fx@gnu.org>
4272
4273 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4274 bcopy & al.
4275
4276 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4277
ced04c42
KH
42782000-12-15 Kenichi Handa <handa@etl.go.jp>
4279
c5443913
KH
4280 * coding.c (setup_coding_system): Clear all members of the struct
4281 coding_system at first.
bc137305
KH
4282 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4283 argument.
4284 (code_convert_region): Don't override coding->src_multibyte and
4285 coding->dst_multibyte.
c5443913 4286
ced04c42
KH
4287 * fns.c (Fmd5): Docstring improved.
4288
c2d7f289
MB
42892000-12-15 Miles Bader <miles@gnu.org>
4290
4291 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4292 are actually marked as mode-lines; otherwise use
4293 estimate_mode_line_height.
4294
9d7d9263
GM
42952000-12-14 Gerd Moellmann <gerd@gnu.org>
4296
4297 * editfns.c (Fformat): Prevent a buffer overrun when the format
4298 specifies a precision.
4299
7cf0153a
EZ
43002000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4301
4302 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4303 argument is outside the range [2..3].
4304
1de0f662
AI
43052000-12-14 Andrew Innes <andrewi@gnu.org>
4306
4307 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4308 nothing to do. Bind inhibit-quit.
4309 (tip_frame): Make it a Lisp_Object.
4310 (x_create_tip_frame): Set tip_frame after it has been added to
4311 Vframe_list.
4312 (Fx_show_tip): Don't set tip_frame here.
52283633 4313 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4314 (unwind_create_frame, unwind_create_tip_frame): New functions.
4315 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4316 while a frame is only partially constructed.
4317
4318 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4319 (x_free_frame_resources): New function.
4320 (x_destroy_window): Use it.
4321
02387dcc
GM
43222000-12-14 Gerd Moellmann <gerd@gnu.org>
4323
4324 * xfns.c (Fx_backspace_delete_keys_p): New function.
4325 (syms_of_xfns): Defsubr it.
4326
4327 * config.in (HAVE_XKBGETKEYBOARD): Add.
4328
0544ef49
KH
43292000-12-14 Kenichi Handa <handa@etl.go.jp>
4330
98d62747
KH
4331 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4332 Always store string in multibyte representation in echobuf.
4333 (echo_char): Always store string in multibyte representation in
4334 echobuf.
4335 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4336 (read_key_sequence): Adjusted for the change of echo_prompt.
4337
a20193cd
KH
4338 * fns.c (Fmd5): Docstring improved.
4339
191b83b6
KH
4340 * lisp.h (detect_coding_system): Prototype adjusted.
4341
0544ef49
KH
4342 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4343 (detect_coding_emacs_mule, detect_coding_iso2022,)
4344 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4345 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4346 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4347 (detect_coding_mask, detect_coding_system): New argument
4348 MULTIBYTEP. Callers changed.
1da1bb05
KH
4349 (decode_coding_string): Set coding->src_multibyte and
4350 coding->dst_multibyte before calling detect_coding and detect_eol.
4351 Update them after some coding system is detected.
52283633 4352
d5b3eb1b
SM
43532000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4354
4355 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4356
4357 * keyboard.c (menu_bar_items, tool_bar_items):
4358 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4359
f7f8bb69
GM
43602000-12-13 Gerd Moellmann <gerd@gnu.org>
4361
52283633 4362 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4363 New variables.
4364 (unwind_create_frame, unwind_create_tip_frame): New functions.
4365 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4366 while a frame is only partially constructed.
4367
4368 * xterm.h (x_free_frame_resources): Declare.
4369
4370 * xterm.c (x_free_frame_resources): New function.
4371 (x_destroy_window): Use it.
4372
e10da507
GM
4373 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4374 don't interrupt the update for pending input initially, i.e.
4375 update at least some lines.
4376
4377 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4378
d5b3eb1b 4379 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4380
4381 * xfns.c (gray_bitmap_bits): Declare `char *'.
4382
90aa2856
GM
43832000-12-12 Gerd Moellmann <gerd@gnu.org>
4384
4385 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4386 lines start with a relief line.
4387
a308c9cd
DL
43882000-12-12 Dave Love <fx@gnu.org>
4389
4390 * window.c (Fdisplay_buffer): Doc fix.
4391 (Fwindow_list): Remove unused var.
4392
4393 * buffer.h (mmap_set_vars): Declare.
4394
4395 * window.h (Fset_window_point): Declare.
4396
d575011f
EZ
43972000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4398
bf6282d2 4399 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4400 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4401 variable `area'. When looking for a row under (X,Y), give up if some
4402 of the previous rows is not enabled.
d575011f 4403
ecf4d726
GM
44042000-12-12 Gerd Moellmann <gerd@gnu.org>
4405
2ebf6139
GM
4406 * window.c (Fset_window_point): If displaying cursors in windows
4407 other than the selected window, make sure redisplay updates
4408 other windows to show the new value of point in the window.
4409
4410 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4411
bfdb75ee
GM
4412 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4413 the buffer is the sole visible buffer when in the mini-buffer.
4414
52283633 4415 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4416 Bind `inhibit-read-only' to t.
4417 (unwind_with_echo_area_buffer): Use AREF.
4418
c0006262
GM
4419 * xfns.c (Fx_hide_tip): Simplified.
4420
52283633
SM
4421 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4422 instead of `1'.
e9a59cad 4423
ecf4d726
GM
4424 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4425
e5959a9a
GM
44262000-12-11 Gerd Moellmann <gerd@gnu.org>
4427
a3642e49 4428 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4429
44b5a125
GM
4430 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4431 nothing to do. Bind inhibit-quit.
4432 (tip_frame): Make it a Lisp_Object.
4433 (x_create_tip_frame): Set tip_frame after it has been added to
4434 Vframe_list.
4435 (Fx_show_tip): Don't set tip_frame here.
4436
4437 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4438
4439 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4440 Lisp_Object.
4441
4442 * dispextern.h: Change external declaration of tip_frame.
4443
d990421f
GM
4444 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4445 return an empty string.
4446
4db87380
GM
4447 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4448 of the window's update_mode_line flag, since the former is set by
4449 force-mode-line-update, not the latter. This makes
4450 column-number-mode slightly faster.
52283633 4451
e5959a9a
GM
4452 * xdisp.c (try_window_id) <all changes above window start>:
4453 Set the cursor.
4454
169fe44e
GM
44552000-12-11 Paul Eggert <eggert@twinsun.com>
4456
4457 * config.in (HAVE_FTELLO): Remove.
4458 (HAVE_FSEEKO): Add.
4459 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4460 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4461 HAVE_FTELLO.
4462 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4463 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4464
59ec59ae
MB
44652000-12-11 Miles Bader <miles@gnu.org>
4466
4467 * window.c (displayed_window_lines): Don't round up when
4468 converting empty space at bottom to lines.
ff904dd6
MB
4469 Handle non-newline-terminated final lines properly.
4470 (Fwindow_text_height): New function (used to be in lisp).
4471 (syms_of_window): Initialize it.
59ec59ae 4472
42ebfa31
SM
44732000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4474
4475 * syntax.c (scan_lists): Check that the right quote char has the
4476 right Sstring syntax when jumping over strings.
4477 (init_syntax_once): Use Smax rather than 13.
4478
5cdb3cf3
MB
44792000-12-09 Miles Bader <miles@gnu.org>
4480
4481 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4482 with PARTIALLY, inverting the sense.
4483 (window_scroll_pixel_based): Scroll partially visible lines into
4484 place if we hit the beginning or end of the buffer.
a12167c5
MB
4485 (displayed_window_lines): Don't include partially visible lines.
4486 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4487
842b2a94
GM
44882000-12-08 Gerd Moellmann <gerd@gnu.org>
4489
4490 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4491
4492 * tparam.c (tparam1): Change the way buffers are reallocated to be
4493 portable and less obfuscated.
4494
4495 * termcap.c (tgetent): Change the way buffers are reallocated to
4496 be portable and less obfuscated.
4497
4498 * macros.c (store_kbd_macro_char): Change the way buffers are
4499 reallocated to be portable and less obfuscated.
4500
4501 * lread.c (read1): Change the way buffers are reallocated to be
4502 portable and less obfuscated.
4503
4504 * doc.c (Fsubstitute_command_keys): Change the way buffers
4505 are reallocated so that it is portable.
4506
137cad7c
EZ
45072000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4508
4509 * dosfns.c (Ffile_system_info): New function.
4510 (syms_of_dosfns): Defsubr it.
4511
5c7f629c
SM
45122000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4513
4514 * alloc.c (gc_sweep): Add comment.
4515
959e647d
GM
45162000-12-07 Gerd Moellmann <gerd@gnu.org>
4517
52283633
SM
4518 * sound.c (vox_configure): Change order of ioctls.
4519 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4520 Ignore errors when changing volume.
4521 (vox_close): Don't reset the device.
4522
926b7e5e
GM
4523 * process.c (read_process_output): Make sure the process marker's
4524 position is valid when the process buffer is changed in
4525 after-change functions. W3 does that.
52283633 4526
959e647d
GM
4527 * xfns.c (x_free_gcs): New function.
4528
4529 * xterm.h (x_free_gcs): Add prototype.
4530
4531 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4532 freeing GCs here.
4533
4534 * xterm.c (x_destroy_window): Call x_free_gcs so that
4535 resources of non-toolkit X windows will be freed.
4536
478ea067
AI
45372000-12-07 Andrew Innes <andrewi@gnu.org>
4538
4539 * w32fns.c (xlfd_charset_of_font): Fix last change.
4540
fbee3231
DL
45412000-12-06 Dave Love <fx@gnu.org>
4542
67292061
DL
4543 * md5.h (__P): Don't define -- it comes from config.h.
4544
fbee3231
DL
4545 * strftime.c: Change some #if foo to #ifdef foo.
4546
4ee87dbb
AI
45472000-12-06 Andrew Innes <andrewi@gnu.org>
4548
4549 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4550
52283633 4551 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4552 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4553 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4554
9765b4a4
GM
45552000-12-06 Gerd Moellmann <gerd@gnu.org>
4556
d285b373
GM
4557 * alloc.c (gc_sweep): Prevent symbols read during loadup
4558 from being freed.
4559
384333ee
GM
4560 * xdisp.c (underlying_face_id): New function.
4561 (handle_face_prop, face_before_or_after_it_pos): Use it
4562 to determine the face ``under'' a string. Let strings inherit
4563 the face of the buffer under them.
4564
4565 * xfaces.c (face_at_string_position): Update function comment.
52283633 4566
d4b72d58
GM
4567 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4568 matrix if the window's left position has changed; we need to
4569 redraw it in this case.
4570
4571 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4572
e1d05387
GM
4573 * window.c (coordinates_in_window): Check mouse on mode-line or
4574 header-line first.
4575
eb1b0c74
GM
4576 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4577 advertized by the function documentation.
4578
d94d636f
GM
4579 * window.c (syms_of_window): Doc fix.
4580
3887b449
GM
4581 * sound.c (vox_configure): Set volume for left and right channel.
4582 (sound_cleanup): Return nil.
4583
efc8f57a
GM
4584 * xdisp.c (move_it_by_lines): Fix paren typo.
4585
9765b4a4
GM
4586 * xterm.c (x_load_font): Don't use the font's max_bounds for
4587 computing the height of the font. If max_bounds' ascent or
4588 descent are greater than the font's ascent or descent, this means
4589 glyphs overlap, which should be handled now by redisplay.
4590
6529ed87
GM
4591 * window.c (Veven_window_heights): New variable.
4592 (syms_of_window): DEFVAR_LISP it.
4593 (Fdisplay_buffer): Check Veven_window_heights before evening the
4594 window heights.
52283633 4595
0eb2ecde
MB
45962000-12-06 Miles Bader <miles@gnu.org>
4597
4598 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4599 update `default-frame-alist' instead of setting no frame parameters.
4600
03d7a167
KH
46012000-12-06 Kenichi Handa <handa@etl.go.jp>
4602
4603 * composite.c (update_compositions): Fix typo (use the correct
4604 variable).
4605
5f8803c2
JR
46062000-12-05 Jason Rumney <jasonr@gnu.org>
4607
4608 * md5.h: Remove underscores from function declarations.
4609 (__attribute__, __alignof__) [!__GNUC__]: Define.
4610
4611 * md5.c: Delay include of md5.h until after namespace cleaning.
4612
c28a075b
JR
4613 * makefile.w32-in (fns.o): Depend on md5.h
4614 (md5.o): New target.
4615 (sunfns.o): Remove.
4616
4617 * makefile.nt: Likewise.
4618
ff3c7056
JR
46192000-12-05 Jason Rumney <jasonr@altavista.net>
4620
4621 * w32term.c (expose_area): Complete last change.
4622
0c21eeeb
KR
46232000-12-05 Ken Raeburn <raeburn@gnu.org>
4624
4625 * minibuf.c: Include intervals.h.
4626
f201d732
JR
46272000-12-05 Jason Rumney <jasonr@gnu.org>
4628
4629 * w32term.c (x_produce_glyphs): If a font for a component of
4630 a composition is not found, use 1 pixel dot ascent and 0 dot
4631 descent value to avoid displaying terribly tall empty boxes.
4632 (expose_area): Pass x-coordinate relative to the exposed
4633 area to x_draw_glyphs instead of a window-relative coordinate.
4634
21999ab9
GM
46352000-12-05 Gerd Moellmann <gerd@gnu.org>
4636
4d2036e4
GM
4637 * xdisp.c (next_element_from_ellipsis): Save face before selective
4638 display in saved_face_id, and set face_before_selective_p.
4639 (reseat_1): Reset face_before_selective_p.
4640 (append_space, extend_face_to_end_of_line): If iterator's
4641 face_before_selective_p is set, use the face from saved_face_id.
4642 (extend_face_to_end_of_line): For tty frames, make sure to
4643 use the right face id when producing spaces at the end of
4644 the line.
4645
4646 * dispextern.h (struct it): Add face_before_selective_p.
4647
52be17cc
GM
4648 * keyboard.c (record_char): Don't record identical help-echo
4649 events in recent_keys.
4650
8a4f36cc
GM
4651 * xterm.c [USE_X_TOOLKIT]: Close the display.
4652 (xim_close_dpy): Handle case that the display has been closed.
4653
57d6e381
GM
4654 * xterm.c (x_destroy_window): Reset the frame's X window after
4655 destroying it.
4656
21999ab9
GM
4657 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4658 variable window_width.
4659 (line_draw_cost): Fix code skipping over spaces at the end of the
4660 line when must_write_spaces is not set.
4661 (scrolling_window): Fix code inserting runs in list of all runs.
4662
91372bb7
KH
46632000-12-05 Kenichi Handa <handa@etl.go.jp>
4664
4665 * coding.c (setup_coding_system): Be sure to initialize
4666 coding->category_idx.
4667
6c083b4c
GM
46682000-12-04 Gerd Moellmann <gerd@gnu.org>
4669
0c68ce6f 4670 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4671
6452929e
GM
4672 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4673 area to x_draw_glyphs instead of a window-relative coordinate.
4674
d7f31e22
GM
4675 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4676 error in the message.
4677
ae18aa3b
GM
4678 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4679 timer after having read a key. It's not good for code reading
4680 several keys in a loop, like an input method.
4681
caa15ef7
GM
4682 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4683 record undo information for format-decode.
4684
4685 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4686 current buffer is read-only, not if it isn't.
4687
6c083b4c
GM
4688 * keyboard.c (record_char): Record `help-echo' input events
4689 in recent_keys only if they display some help. Don't record
4690 `help-echo' events as macro char.
4691
caa15ef7
GM
46922000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4693
4694 * editfns.c (save_excursion_restore): Don't move point
4695 in another window if it is showing the wrong buffer.
4696 Avoid the call to Fwindow_live_p, for speed.
4697
5a13529b
KH
46982000-12-04 Kenichi Handa <handa@etl.go.jp>
4699
e225faa7
KH
4700 * xfaces.c (struct font_name): New member registry_priority.
4701 (split_font_name): Initialize the above member to zero.
4702 (concat_font_list): New function.
4703 (font_list): Include fonts of all alternative registries.
4704 (FONT_POINT_SIZE_QUANTUM): New macro.
4705 (better_font_p): Ignore point size difference less than
4706 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4707
e89648b4
KH
4708 * xterm.c (x_produce_glyphs): If a font for a component of
4709 a composition is not found, use 1 pixel dot ascent and 0 dot
4710 descent value to avoid displaying terribly tall empty boxes.
4711
5a13529b
KH
4712 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4713
d7935eb6
KR
47142000-12-03 Ken Raeburn <raeburn@gnu.org>
4715
4716 * coding.h (code_convert_string1): Declare.
4717
4718 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4719
52283633 4720 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4721
0dd5e255
JR
47222000-12-02 Jason Rumney <jasonr@gnu.org>
4723
4724 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4725 correctly for single byte character case.
4726 (w32_per_char_metric): Do not try to make any assumptions about
4727 the metrics of BDF fonts.
250cfece 4728 (x_estimate_mode_line_height): If `mode-line' face
52283633 4729 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4730 (note_mouse_highlight): Change the cursor shape on the vertical
4731 border between windows [not enabled].
4732
4733 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4734
4735 * w32fns.c (Fx_create_frame): Reintroduce the call to
4736 face-set-after-frame-defaults.
4737 (Vx_window_horizontal_drag_shape): New variable.
4738 (syms_of_xfns): DEFVAR_LISP it.
4739 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4740 enabled].
0dd5e255 4741
b5d8d2ca
GM
47422000-12-02 Simon Josefsson <simon@josefsson.org>
4743
4744 * fns.c (Fmd5): Use a different logic to decide the coding system
4745 to use.
4746
4747 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4748
fbb87147
EZ
47492000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4750
52283633 4751 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4752
447e9da0
GM
47532000-12-01 Gerd Moellmann <gerd@gnu.org>
4754
7708ced0
GM
4755 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4756 height for YNegative.
4757 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4758 height; also see comment there.
4759
447e9da0
GM
4760 * window.c (coordinates_in_window): Handle computations for
4761 positions on the vertical bar and fringes differently for
4762 window-system frames. Consider some pixels near the vertical bar
4763 as on the bar if the frame doesn't have vertical scroll bars.
4764 Associate positions between mode or header lines with the
4765 right window, the left one.
4766
86d1db20
JR
47672000-12-01 Jason Rumney <jasonr@gnu.org>
4768
4769 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4770
4771 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4772 invalid frame.
4773
a1d58e5b
GM
47742000-12-01 Gerd Moellmann <gerd@gnu.org>
4775
52283633 4776 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4777 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4778 (save_window_save, Fset_window_configuration): Save/restore
4779 window's orig_top and orig_height.
4780
89c609af
JR
47812000-12-01 Jason Rumney <jasonr@gnu.org>
4782
4d177746 4783 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4784
89c609af
JR
4785 * w32fns.c (x_set_cursor_color): Fix last change.
4786
eccc05db
GM
47872000-11-30 Gerd Moellmann <gerd@gnu.org>
4788
31b6671b
GM
4789 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4790 sure that the next redisplay displays the minibuffer, so that
4791 the cursor will be replaced with what the minibuffer wants.
4792
eccc05db
GM
4793 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4794 #ifndef instead of using #if.
4795 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4796 USE_TOOLKIT_SCROLL_BARS is defined.
4797
162de750
JR
47982000-11-30 Jason Rumney <jasonr@gnu.org>
4799
4800 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4801 x_display_cursor.
4802
693c4692
GM
48032000-11-30 Gerd Moellmann <gerd@gnu.org>
4804
4805 * fns.c (Fmd5): Doc fix.
4806
b5d8d2ca 48072000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4808
4809 * fns.c (Fmd5): New function.
4810 (syms_of_fns): Defsubr md5.
4811
4812 * Makefile.in (obj): Add md5.o
4813
b02cd40b
GM
48142000-11-30 Gerd Moellmann <gerd@gnu.org>
4815
edfb795e
GM
4816 * md5.h, md5.c: New files, taken from glibc.
4817
df3aedcf
GM
4818 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4819
b02cd40b 4820 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4821 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4822
8b5176cd
SM
48232000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4824
4825 * eval.c (Frun_hooks): Allow 0 arguments.
4826
346598f1
GM
48272000-11-29 Gerd Moellmann <gerd@gnu.org>
4828
f9396e03
GM
4829 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4830 is over the menu bar widget, say it's not on the frame.
4831
4a967a9b
GM
4832 * xfns.c (Fx_create_frame): Reintroduce the call to
4833 face-set-after-frame-defaults.
4834
346598f1
GM
4835 * eval.c (Fsignal): Reset handling_signal.
4836
222456a1
JR
48372000-11-28 Jason Rumney <jasonr@gnu.org>
4838
4839 * w32menu.c (add_menu_item): Reset menu item text when changing
4840 type to radio button.
4841
8049ddc0
GM
48422000-11-28 Gerd Moellmann <gerd@gnu.org>
4843
346598f1 4844 * xselect.c: Update copyright.
f4f4ee4d 4845
bebe4a2c
GM
4846 * window.c (coordinates_in_window): If on a mode or header line,
4847 but sufficiently close to its start, return ``on vertical
4848 border''. This gives us a way to drag windows horizontally when
4849 using toolkit scroll bars.
4850
4851 * xterm.c (note_mouse_highlight): Change the cursor shape
4852 on the vertical border between windows.
4853
4854 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4855
4856 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4857 (syms_of_xfns): DEFVAR_LISP it.
4858 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4859
8d2c2642
GM
4860 * textprop.c (text_read_only): New function.
4861 (verify_interval_modification): Use it instead of signaling
4862 `text-read-only'. This makes it easier to catch this error
52283633 4863 with a breakpoint.:
8d2c2642 4864
52283633 4865 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4866 not end of line, which includes CR.
4867
5a2bae6c
KH
48682000-11-28 Kenichi Handa <handa@etl.go.jp>
4869
4870 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4871 include no-conversion.
4872
ae31f84d
JR
48732000-11-27 Jason Rumney <jasonr@gnu.org>
4874
4875 * w32fns.c (w32_load_system_font): Always mark font as double byte
4876 if codepage is unicode.
4877
67f1cf4c
GM
48782000-11-27 Gerd Moellmann <gerd@gnu.org>
4879
4a74d071 4880 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4881 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4882
902ae620
GM
4883 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4884 `vertical-line', `mode-line' and `header-line' events.
4885
4886 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4887 of a character, a TAB for instance. This is easier than to set
4888 up the iterator exactly, and it's not a frequent case, so the
4889 additional effort wouldn't really pay off.
4890
c1e279c2
AC
48912000-11-26 Andrew Choi <akochoi@i-cable.com>
4892
67f1cf4c 4893 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4894 init_window_once.
4895
a609568a
JR
48962000-11-25 Jason Rumney <jasonr@gnu.org>
4897
52283633
SM
4898 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4899 Args to window_from_coordinates should be pixel coordinates.
48b21762 4900
a609568a
JR
4901 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4902 redisplay handles them properly.
4903
a658d039
MB
49042000-11-25 Miles Bader <miles@gnu.org>
4905
4906 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4907
d3416cca
JR
49082000-11-24 Jason Rumney <jasonr@gnu.org>
4909
4910 * w32.c (init_environment): Set LANG environment variable based on
4911 locale settings, if not set.
4912
4913 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4914 making tool bar smaller. When clearing the frame, also
4915 clear current matrices. Clear frame when tool bar disappears.
4916 Don't use more lines for the tool-bar than is available.
4917 (x_change_window_heights): New function.
4918
ba193890
GM
49192000-11-24 Gerd Moellmann <gerd@gnu.org>
4920
2be8f184
GM
4921 * xdisp.c (init_from_display_pos): If POS says we're already after
4922 an overlay string ending at POS, make sure to pop the iterator
4923 because it will be in front of that overlay string. When POS is
4924 ZV, we've thereby also ``processed'' overlay strings at ZV.
4925
ba193890
GM
4926 * xfaces.c (lface_from_face_name): Function comment fix.
4927
1862a24e
MB
49282000-11-24 Miles Bader <miles@gnu.org>
4929
4930 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4931 apply `mode-line-inverse-video' -- zero means force display using
4932 the default face, non-zero means display using the specialized face.
4933 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4934
f07fa1b8
KH
49352000-11-23 Kenichi Handa <handa@etl.go.jp>
4936
4937 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4938 hard coded `4'.
4939
2bcdf662
EZ
49402000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4941
4942 * coding.c (decode_coding_emacs_mule): Fix the case of
4943 CODING_EOL_LF, which used uninitialized value of c.
4944
ba8299ff
SM
49452000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4946
4947 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4948
f4117c4d
GM
49492000-11-22 Gerd Moellmann <gerd@gnu.org>
4950
03e757c1
GM
4951 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4952 buffer object.
4953
f4117c4d
GM
4954 * frame.h (struct frame): Replace desired_tool_bar_items,
4955 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4956 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4957
4958 * frame.c (make_frame): Change initialization of tool bar
4959 items accordingly.
4960
4961 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4962 Change references to members deleted from struct frame to use the
f4117c4d
GM
4963 new ones.
4964
4965 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4966 references to members deleted from struct frame to use the new ones.
f4117c4d 4967
52283633 4968 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4969
4970 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4971
4972 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4973 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4974 from struct frame to use the new ones.
4975
f8e2f3f2
MB
49762000-11-23 Miles Bader <miles@gnu.org>
4977
4978 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4979 the face's inverse-video attribute, rather than overriding it.
4980
60e8e0a5
GM
49812000-11-22 Gerd Moellmann <gerd@gnu.org>
4982
4983 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4984 making tool bar smaller.
4985
92dd1b29
DL
49862000-11-22 Dave Love <fx@gnu.org>
4987
4988 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4989
e672fdce
MB
49902000-11-22 Miles Bader <miles@gnu.org>
4991
3a17d6cc
MB
4992 * keyboard.c (Vminibuffer_message_timeout): New variable.
4993 (command_loop_1): Use it to determine message timeout.
4994 (syms_of_keyboard): Initialize it.
4995
60e8e0a5 4996 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4997
e9655d81
KH
49982000-11-22 Kenichi Handa <handa@etl.go.jp>
4999
5000 * sysdep.c: Move the code for declaring h_errno after #include
5001 <netdb.h>.
5002
77270fac
GM
50032000-11-21 Gerd Moellmann <gerd@gnu.org>
5004
cd913aae
GM
5005 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5006 the menu bar when the tooltip is unmapped.
5007
77270fac
GM
5008 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5009 sole visible buffer when we're currently in the mini-buffer, and
5010 give up if so.
52283633 5011
556635d6
JR
50122000-11-21 Jason Rumney <jasonr@gnu.org>
5013
5014 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5015 put on the clipboard.
5016 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5017 copy of what Emacs last put there. If they are the same, do not
52283633 5018 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5019
5b7bde64
MB
50202000-11-22 Miles Bader <miles@gnu.org>
5021
5022 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5023 (syms_of_minibuf): Initialize it.
5024 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5025 to prompt, don't make read-only.
5026
ff23e1dd
GM
50272000-11-21 Gerd Moellmann <gerd@gnu.org>
5028
52283633
SM
5029 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5030 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5031
7aaf4388
GM
5032 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5033
f5f47add 5034 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5035
ff23e1dd
GM
5036 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5037
37c35586
KH
50382000-11-21 Kenichi Handa <handa@etl.go.jp>
5039
5040 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5041 ... #endif scope.
5042
ff9ab414
GM
50432000-11-20 Gerd Moellmann <gerd@gnu.org>
5044
52283633 5045 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5046 screen supports it.
5047
29a01b72
GM
5048 * s/gnu-linux.h: Don't use `#cpu'.
5049
09dfdf85
GM
5050 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5051 not defined in mman.h.
5052
52283633 5053 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5054 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5055 and store an index in the XClientMessageEvent. Storing a
5056 Lisp_Object or pointer can fail on a 64 bit system, since X only
5057 transfers 32 bits.
52283633
SM
5058 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5059
81459ac9
DL
50602000-11-20 Dave Love <fx@gnu.org>
5061
5062 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5063
56c13ae6
GM
50642000-11-20 Gerd Moellmann <gerd@gnu.org>
5065
5066 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5067
495a6df3
KH
50682000-11-20 Kenichi Handa <handa@etl.go.jp>
5069
2bcf3714
KH
5070 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5071 by WIDTH.
5072
495a6df3
KH
5073 * alloc.c (make_string): Fix previous change. Be sure to make
5074 unibyte string correctly.
5075
6d950f4c
GM
50762000-11-19 Gerd Moellmann <gerd@gnu.org>
5077
39b39373
GM
5078 * window.c (Fwindow_list): Change parameter list to be XEmacs
5079 compatible.
5080 (window_list_1): New function.
5081 (window_loop): Use it instead of Fwindow_list.
5082
b95b34e5
GM
5083 * sysdep.c (emacs_ospeed): New variable.
5084 (toplevel): Don't declare ospeed extern.
5085 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5086
5087 * termcap.c (ospeed): Remove.
5088 (tputs) [!emacs]: Remove unused code.
5089 (tgetent): Avoid a compiler warning.
5090
e83dc917
GM
5091 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5092 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5093 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5094
5095 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5096 removed.
5097 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5098 Take the X display as additional argument.
5099 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5100 `Widget' is a pointer type that's not easily stored in Lisp_Object
5101 form in a portable way.
52283633 5102
6d950f4c
GM
5103 * dispnew.c (update_text_area): Fix last change.
5104
e47306e6
GM
51052000-11-18 Gerd Moellmann <gerd@gnu.org>
5106
fb3cd89b
GM
5107 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5108
5109 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5110 clear current matrices.
5111
edaa9aed
GM
5112 * buffer.c (mmap_enlarge): Don't print a message on stderr
5113 if mapping new memory at the end of the existing region fails.
5114
e47306e6
GM
5115 * dispnew.c (update_text_area): Don't skip over equal glyphs
5116 when the last current glyph overlaps the glyph to its right.
5117
509633e3
MB
51182000-11-18 Miles Bader <miles@gnu.org>
5119
5120 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5121 lines that *end* with "..." too (that's the most common case!).
5122
d392e9c5
GM
51232000-11-18 Gerd Moellmann <gerd@gnu.org>
5124
67988445
GM
5125 * xdisp.c (resize_mini_window): Temporarily change to the
5126 mini-window's buffer if necessary.
1bfdbe43 5127
d392e9c5
GM
5128 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5129 the tooltip obscures less text under it.
5130
51312000-11-17 Gerd Moellmann <gerd@gnu.org>
5132
5133 * puresize.h (BASE_PURESIZE): Increase to 700000.
5134
92bb977f
JR
51352000-11-18 Jason Rumney <jasonr@gnu.org>
5136
5137 * w32term.c (w32_draw_bitmap): Use face to set colors.
5138
26fbf20b
DL
51392000-11-17 Dave Love <fx@gnu.org>
5140
5141 * lread.c (Fload): Fix #ifdef for pcc.
5142
100b593b
GM
51432000-11-17 Gerd Moellmann <gerd@gnu.org>
5144
5145 * xdisp.c (pos_visible_p): Compute the default character height
5146 differently.
5147
a288d0d1
GM
51482000-11-16 Gerd Moellmann <gerd@gnu.org>
5149
cac94de6 5150 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5151 knowing the line's height; use the default font's height in that case.
cac94de6 5152
a288d0d1
GM
5153 * xfaces.c (weight_table): Add `demi' with the same meaning as
5154 `demibold'.
5155
981fb6f6
KH
51562000-11-16 Kenichi Handa <handa@etl.go.jp>
5157
2cca872d 5158 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5159 (clear_glyph_row): Delete local static variable null_row.
5160
e5fa381b
JR
51612000-11-15 Jason Rumney <jasonr@gnu.org>
5162
5163 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5164 (w32_alloc_lighter_color): Use new brightness calculations from
5165 xterm.c. Scale delta to be in the range expected by W32.
5166 (w32_draw_relief_rect): Use frame relief colors.
5167
8e42f043
GM
51682000-11-15 Gerd Moellmann <gerd@gnu.org>
5169
6d133d1f
GM
5170 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5171 (Qinhibit_default_face_x_resources): New variable.
5172 (syms_of_frame): Initialize it.
5173 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5174
5175 * xdisp.c (pos_visible_p): Improve function comment.
5176
5177 * lisp.h (BINDING_STACK_SIZE): New macro.
5178
8e42f043
GM
5179 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5180 reading the directory if readdir returns null and errno is EAGAIN
5181 or EINTR.
5182
e8c87124
SM
51832000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5184
5185 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5186 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5187 Set amount_to_scroll to max of dx and scroll_step so that
5188 scroll-conservatively doesn't defeat scroll-step>1.
5189 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5190 scroll-conservatively for line-at-a-time scrolling.
5191
5f0c971d
GM
51922000-11-14 Gerd Moellmann <gerd@gnu.org>
5193
5194 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5195 extra argument.
5196
5197 * xdisp.c (current_mode_line_height, current_header_line_height):
5198 New variables.
5199 (init_xdisp): Initialize them.
5200 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5201 and use exact mode line heights if it is set.
5202
5203 * lisp.h (pos_visible_p): Change prototype.
5204
5205 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5206 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5207 and current_header_line_height first.
52283633
SM
5208 (current_mode_line_height, current_header_line_height):
5209 Declare extern.
5f0c971d 5210
d7361edf
MB
52112000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5212
5213 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5214 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5215 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5216
ee5e440a
MB
52172000-11-14 Miles Bader <miles@gnu.org>
5218
5219 * xterm.c (x_alloc_lighter_color): Include an additive component
5220 too for dark colors, because FACTOR isn't enough.
5221 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5222 New macros.
5223
5ca020fc
GM
52242000-11-13 Gerd Moellmann <gerd@gnu.org>
5225
5226 * keyboard.c (show_help_echo): Call message3_nolog with number of
5227 bytes in the help string as 2nd parameter, instead of the number
5228 of characters.
5229
9d348294
MB
52302000-11-13 Miles Bader <miles@gnu.org>
5231
5232 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5233 (Fload): Use new openp return protocol.
5234 Don't try to use Vload_source_file_function to load .elc files.
5235 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5236 openp return protocol.
5237 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5238
1729bb9a
KH
52392000-11-11 Kenichi Handa <handa@etl.go.jp>
5240
4e677396
KH
5241 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5242
5243 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5244 Defined these macros.
5245 (NLIST_STRUCT): Avoid re-defining it.
5246
1729bb9a
KH
5247 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5248 -I/usr/contrib/X11R6/include.
5249 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5250
a82fe213
JR
52512000-11-10 Jason Rumney <jasonr@gnu.org>
5252
5253 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5254
5255 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5256 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5257
5258 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5259 (Qw32_charset_vietnamese): New symbol.
5260 (xlfd_charset_of_font): New function.
5261 (w32_load_system_font): Use it.
5262 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5263 when Vw32_charset_info_alist is nil to ensure default face always
5264 has font. Use Fcar and Fcdr for safety.
5265 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5266 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5267 pseudo-codepages for special cases.
5268 (w32_to_x_font): New parameter to allow charset portion to be
5269 specified where there is many to one mapping. Callers changed.
5270 (w32_list_fonts): Avoid listing fonts that won't display.
5271
52d89894
GM
52722000-11-10 Gerd Moellmann <gerd@gnu.org>
5273
5274 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5275 (font_list_1): Renamed from font_list.
5276 (font_list): New function, trying alternative registries from
5277 Vface_alternative_font_registry_alist.
5278 (Finternal_set_alternative_font_registry_alist): New function.
5279 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5280 Vface_alternative_font_registry_alist.
5281 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5282
651cd3da
KR
52832000-11-09 Ken Raeburn <raeburn@gnu.org>
5284
5285 * lisp.h (Flooking_at): Declare.
5286
388ac098
GM
52872000-11-09 Gerd Moellmann <gerd@gnu.org>
5288
778fbc46 5289 * dired.c (directory_files_internal): Fix a braino.
52283633 5290
388ac098
GM
5291 * dired.c (directory_files_internal): Add missing GCPRO's.
5292 Some cleanup.
5293
ecaedde1
GM
52942000-11-08 Gerd Moellmann <gerd@gnu.org>
5295
f7eb32aa
GM
5296 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5297 (resize_mini_window): Return quickly if Vresize_mini_window is
5298 nil. Don't return if Vmax_mini_window_height is nil.
5299
5300 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5301 (syms_of_xdisp): Initialize them.
5302 (resize_mini_window): Act according to the setting of
5303 Vresize_mini_window.
5304 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5305
ecaedde1
GM
5306 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5307 scroll bar widget after configuring it, so that it will appear at
5308 the right position from the start.
5309 (XTredeem_scroll_bar): Cleaned up.
5310
3747ef2c
KH
53112000-11-08 Kenichi Handa <handa@etl.go.jp>
5312
5313 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5314 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5315 division by two.
5316
5317 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5318
03391420
DL
53192000-11-07 Dave Love <fx@gnu.org>
5320
7758f1c1 5321 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5322
5323 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5324
b5de343d
GM
53252000-11-07 Gerd Moellmann <gerd@gnu.org>
5326
acad3c0b
GM
5327 * window.c (Fset_window_configuration): Don't try to preserve
5328 point in the current buffer, if that buffer is displayed in more
5329 than one window.
5330
b5de343d
GM
5331 * xfaces.c (lookup_named_face): If default face isn't realized,
5332 try to realize it. Return -1 if not successful.
5333 (Fx_list_fonts): Handle case that face cannot be determined.
5334 (Fface_font): Likewise.
5335
cdb1fe49
GM
53362000-11-06 Gerd Moellmann <gerd@gnu.org>
5337
5338 * window.c (displayed_window_lines): Detect partially
5339 visible lines at the bottom correctly.
5340
d3a67486
SM
53412000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5342
5343 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5344 when ensuring we don't do visit in indirect buffer.
5345
ff8dd5d5
KH
53462000-11-06 Kenichi Handa <handa@etl.go.jp>
5347
5348 * composite.h (compose_chars_in_text): Add prototype.
5349
5350 * composite.c (Vcomposition_function_table): New variable.
5351 (Qcomposition_function_table): New variable.
5352 (run_composition_function): Call
5353 Vcompose_chars_after_function with three arguments.
5354 (compose_chars_in_text): New function.
5355 (syms_of_composite): Modified the doc-string of
5356 Vcompose_chars_after_function. Declare composition-function-table
5357 as a lisp variable, and initialize it.
5358
5359 * xfns.c (x_encode_text): Suppress producing escape sequences for
5360 composition.
5361
5362 * xselect.c: Include composite.h.
5363 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5364
d1145f85
AI
53652000-11-05 Andrew Innes <andrewi@gnu.org>
5366
5367 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5368
5369 * sysdep.c (read_input_waiting): Remove extraneous argument to
5370 read_socket_hook.
5371
5372 * w32fns.c (Fx_server_version): Include w32_build_number in the
5373 return list.
5374
5375 * w32heap.c (w32_build_number): New variable.
5376 (cache_system_info): Set it.
5377
5378 * w32heap.h (w32_build_number): Add extern.
5379
5380 * emacs.c (syms_of_emacs): Update docstring for
5381 system-configuration, to reflect the actual usage on MS-Windows.
5382
e85ee976
GM
53832000-10-31 Gerd Moellmann <gerd@gnu.org>
5384
26dcb81b
GM
5385 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5386 process idle timers while waiting for another event.
5387
52283633 5388 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5389 the default face are colored.
5390
e85ee976
GM
5391 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5392 window height hasn't changed.
5393
01b220b6
JR
53942000-10-31 Jason Rumney <jasonr@gnu.org>
5395
5396 * w32term.c (x_produce_glyphs): Handle composite characters.
5397 (x_draw_glyph_string_foreground)
5398 (x_draw_composite_glyph_string_foreground): Restore old font.
5399
4e6b7204
MB
54002000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5401
5402 * minibuf.c (read_minibuf): Reset the undo history just before
5403 starting the recursive-edit.
5404
d4358b37
GM
54052000-10-30 Gerd Moellmann <gerd@gnu.org>
5406
563f68f1
GM
5407 * xfaces.c (menu_face_change_count): New variable.
5408 (Finternal_set_lisp_face_attribute): Increment it for changes
5409 of the `menu' face.
5410 (realize_basic_faces): Reflect changes in the `menu' faces
5411 in menu bars.
5412
82e274d1
GM
5413 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5414 dy obtained from the iterator's y-position after moving from
5415 scroll_margin_pos to PT; see comment there.
52283633 5416
0dbf9fd2
GM
5417 * xdisp.c (safe_eval_handler): Call add_to_log.
5418
906b3b14
GM
5419 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5420 is not a symbol or string.
5421
d4358b37
GM
5422 * xdisp.c (echo_area_display): Don't perform a display update from
5423 inside redisplay. The update will happen anyway at the end of
5424 redisplay, and it can confuse redisplay (GC messages while
5425 redisplaying, for instance.)
5426
70c825df
SM
54272000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5428
cf9b4b0b
SM
5429 * xrdb.c (x_load_resources): Use the class name in the defaults.
5430
70c825df
SM
5431 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5432 (regex_compile): Catch bogus \(\1\).
5433
a1d34b1e
GM
54342000-10-30 Gerd Moellmann <gerd@gnu.org>
5435
cae71efe
GM
5436 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5437 RGB values.
52283633 5438
35efe0a1
GM
5439 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5440 we have a color cache, check that the cached color equals the
5441 allocated color. If not, clear the color cache.
5442
1d3baf74
GM
5443 * window.c (displayed_window_lines): Change buffers if necessary.
5444 Fix computation of displayed lines.
5445
a1d34b1e
GM
5446 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5447 update_menu_bindings to DEFVAR_BOOL.
5448
70737ea9
KH
54492000-10-30 Kenichi Handa <handa@etl.go.jp>
5450
70c825df 5451 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5452
fa0cb51d
KH
5453 * puresize.h (BASE_PURESIZE): Increase to 680000.
5454
70737ea9
KH
5455 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5456
0e4c08e8
JR
54572000-10-29 Jason Rumney <jasonr@gnu.org>
5458
5459 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5460
5461 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5462 (w32_cache_char_metrics): Handle possibility that 'x' does not
5463 exist in a BDF font.
5464 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5465
5466 * w32bdf.h (bdffont): Add nchars.
5467
5468 * w32bdf.c (set_bdf_font_info): Set it.
5469 (w32_BDF_TextOut): Swap byte order of double byte characters.
5470 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5471
45b84006
EZ
54722000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5473
5474 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5475 don't override the colors in frame's param_alist, unless they are
5476 unspecified.
5477
5478 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5479 reverse the effect of the highlight flag.
5480
caf9deee
KR
54812000-10-27 Ken Raeburn <raeburn@gnu.org>
5482
5483 * window.h (Fwindow_live_p): Declare.
5484
ae0b9b46
KR
5485 * undo.c (record_delete): Check that last_undo_buffer is really a
5486 buffer before applying XBUFFER to it.
5487
5488 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5489 Faref.
5490
02067692
SM
54912000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5492
5493 * lisp.h (KEYMAPP): New macro.
5494 (get_keymap): Remove.
5495 (get_keymap_1): Rename get_keymap.
5496
5497 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5498
5499 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5500
5501 * xmenu.c (single_submenu): Use KEYMAPP.
5502 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5503 Use KEYMAPP rather than Fkeymapp.
5504
5505 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5506
5507 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5508 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5509 Use KEYMAPP rather than Fkeymapp.
5510 (single_submenu): Use KEYMAPP.
5511 (w32_menu_show, w32_dialog_show): Use TRUE.
5512
5513 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5514
5515 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5516 (Fkeymapp): Use KEYMAPP.
5517 (get_keymap): Rename from get_keymap_1. Remove old def.
5518 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5519 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5520 (Fminor_mode_key_binding): Don't raise an error if the binding
5521 is not a keymap.
5522 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5523 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5524
5525 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5526 Allow Vspecial_event_map to be autoloaded.
5527 (menu_bar_items): Fetch the keymap rather than using keymapp.
5528 (menu_bar_one_keymap): No need to follow func-indirect any more.
5529 (parse_menu_item): get_keymap_1 -> get_keymap.
5530 (tool_bar_items): Fetch the keymap rather than using keymapp.
5531 (read_key_sequence): Use KEYMAPP.
5532
5533 * intervals.c (get_local_map): Use get_keymap rather than following
5534 function-indirections explicitly.
5535
5536 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5537
f9d80af3
JR
55382000-10-27 Jason Rumney <jasonr@gnu.org>
5539
5540 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5541 point, as Windows has oversized fonts.
5542
5543 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5544
a3ba27da
GM
55452000-10-27 Gerd Moellmann <gerd@gnu.org>
5546
5547 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5548 (freehook, reallochook): Handle null pointer arguments.
5549 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5550
aa3b80cc
SM
55512000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5552
5553 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5554 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5555 Giving in to popular pressure to shut up the compiler with casts.
5556
e24e84cc
GM
55572000-10-27 Gerd Moellmann <gerd@gnu.org>
5558
5559 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5560 signed value, and use a default value computed from the font's
5561 maximum descent.
5562
05ea7ef2
MB
55632000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5564
5565 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5566 that specify a negative underline position can still use underlines.
5567
5568 * window.c (Fpos_visible_in_window_p): Make POS default to
5569 WINDOW's point, not the current buffer's point.
5570
0b95284b
DL
55712000-10-26 Dave Love <fx@gnu.org>
5572
5573 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5574 when it's necessary.
5575
6c5b90af
GM
55762000-10-26 Gerd Moellmann <gerd@gnu.org>
5577
8b6d9dc9
GM
5578 * window.c (size_window): Compute size difference from sum of old
5579 child window sizes instead of from parent's size.
5580
6bc92b2e
GM
5581 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5582 Handle obscured lines at the top of the window.
5583
5584 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5585 down after the last error condition check.
5586
6c5b90af
GM
5587 * frame.c (Fdelete_frame): Run delete-frame-hook.
5588
42f92d4d
KH
55892000-10-26 Kenichi Handa <handa@etl.go.jp>
5590
5591 * coding.c (decode_coding): Fix previous change (check also
5592 CODING_MODE_LAST_BLOCK).
5593
d97151cb
SM
55942000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5595
e7efc503
SM
5596 * regex.c: More `unsigned char' -> `re_char' changes.
5597 Also change several `int' into `re_wchar_t'.
5598 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5599 (PUSH_FAILURE_POINTER): Don't cast any more.
5600 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5601 We want GCC to complain, since this piece of code makes
5602 re_match non-reentrant, which *should* be fixed.
5603 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5604 (EXTEND_BUFFER): Use RETALLOC.
5605 (SET_LIST_BIT): Don't cast.
5606 (re_wchar_t): New type.
5607 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5608 that those two functions will always properly return.
5609 (IMMEDIATE_QUIT_CHECK): Cast to void.
5610 (analyse_first): Use recursion rather than an explicit stack.
5611 (re_compile_fastmap): Can't fail anymore.
5612 (re_search_2): Don't check re_compile_fastmap for failure.
5613 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5614 Now also sets the new value (passed in a new argument).
5615 (re_match_2_internal): Use it.
5616 Also, use a new var `reg' of type size_t when looping through regs
5617 rather than reuse the inappropriate `mcnt'.
5618
d97151cb
SM
5619 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5620 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5621 (where_is_internal): Renamed from Fwhere_is_internal.
5622 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5623 (Fwhere_is_internal): New function wrapping where_is_internal.
5624 (where_is_internal_1): Handle the case where we're filling the cache.
5625 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5626
d5789b65
MB
56272000-10-25 Miles Bader <miles@gnu.org>
5628
5629 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5630
4ecda532
GM
56312000-10-25 Gerd Moellmann <gerd@gnu.org>
5632
5633 * window.c (pos_fully_visible_p): Removed.
5634 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5635 if position is visible and/or fully visible.
5636
5637 * lisp.h (pos_visible_p): Add prototype.
5638
5639 * xdisp.c (pos_visible_p): New function.
5640
68c3a137
KH
56412000-10-25 Kenichi Handa <handa@etl.go.jp>
5642
5643 * process.c (send_process): If OBJECT is t, it means that the data
5644 is from C string, but we should encode it. Before calling
5645 setup_raw_text_coding_system, be sure to flush out data by the
5646 previous coding system.
5647
7ae1c032
MB
56482000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5649
ff4dcd4b
MB
5650 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5651 assignment of startpos to prev when startpos == pos.
5652
7ae1c032
MB
5653 * editfns.c (find_field): Set the field stickiness correctly from
5654 overlay fields. Use renamed `text_property_stickiness'.
5655 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5656 Only check text properties, not overlays.
7ae1c032
MB
5657 * textprop.c (get_char_property_and_overlay): New function.
5658 (Fget_char_property): Use it.
5659 * intervals.h (get_char_property_and_overlay): Add declaration.
5660
49801145
SM
56612000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5662
5663 * keymap.c: Use AREF, ASET and ASIZE macros.
5664 (Fmake_sparse_keymap): Docstring fix.
5665 (synkey): Remove.
5666 (shadow_lookup): Move up.
5667 Handle the case where lookup-key returns an integer.
5668 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5669 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5670 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5671 Simplify/rewrite the keymap-finding code.
5672 Add check for command shadowing, using shadow_lookup.
5673
39e776cd
SM
56742000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5675
5676 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5677 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5678 a symbol.
5679
2488aba5
AI
56802000-10-24 Andrew Innes <andrewi@gnu.org>
5681
5682 * dired.c (directory_files_internal_unwind): New function.
5683 (directory_files_internal): Use it to ensure closedir is called
5684 even if expand-file-name or file-attributes throw, eg. because of
5685 a user interrupt. Also enable immediate_quit while calling
5686 re_search, so that matching can be interrupted as well.
5687
b94fdf61
AI
56882000-10-24 Andrew Innes <andrewi@gnu.org>
5689
5690 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5691 NT-Emacs only.
5692 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5693 so that re_search functions only quit when callers expect them to.
5694
56952000-10-24 Kenichi Handa <handa@etl.go.jp>
5696
5697 * regex.c (regex_compile): Change the way of handling a range from
5698 a char less than 256 to a char not less than 256.
5699
1946f901
GM
57002000-10-24 Gerd Moellmann <gerd@gnu.org>
5701
7ae2f10f
GM
5702 * window.c (size_window): Prevent setting window's width or
5703 height to a negative value (esp. with XSETFASTINT).
5704
5dcab13e
GM
5705 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5706 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5707 (protect_malloc_state) [GC_MALLOC_CHECK &&
5708 GC_PROTECT_MALLOC_STATE]: New function.
5709 (PROTECT_MALLOC_STATE): New macro.
5710 (__malloc_initialize, morecore, _malloc_internal)
5711 (_free_internal) _realloc_internal): Use it to make _heapinfo
5712 read-only outside of gmalloc.
5713
63e1b552
GM
5714 * keymap.c: Update copyright.
5715
1946f901
GM
5716 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5717 a symbol.
5718
4fa09beb
GM
57192000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5720
5721 * filelock.c (unlock_all_files): Use unlock_file to expand each
5722 buffer's file_truename before trying remove its lock file.
5723
23afac01
EZ
57242000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5725
5726 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5727 or CRLF, decode EOLs.
5728
04448b95
KH
57292000-10-24 Kenichi Handa <handa@etl.go.jp>
5730
5731 * window.c (Fdisplay_buffer): Fix doc.
5732
3090a5a5
JR
57332000-10-23 Jason Rumney <jasonr@gnu.org>
5734
5735 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5736 ASCII font of default fontset on Windows.
5737
5738 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5739 xterm.c comment below).
5740
5741 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5742
a83fee2c
GM
57432000-10-23 Gerd Moellmann <gerd@gnu.org>
5744
5745 * xterm.c (x_connection_closed): Reset handling_signal.
5746
52283633 5747 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5748
6ffdb539
MB
57492000-10-23 Miles Bader <miles@gnu.org>
5750
5751 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5752 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5753 maintain old behavior.
5754 * minibuf.c (Fminibuffer_complete): Likewise.
5755
7f1c969b
MB
57562000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5757
5758 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5759 that when a font can't be exactly centered, it errs up rather than
5760 down.
5761
23afac01 57622000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5763
52283633 5764 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5765
1a578e9b
AC
57662000-10-23 Andrew Choi <akochoi@i-cable.com>
5767
5768 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5769
5770 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5771 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5772
5773 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5774 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5775 syms_of_search, x_term_init, and init_keyboard before calling
5776 init_window_once. Also, call syms_of_xmenu.
5777
5778 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5779 default fontset to Monaco.
5780
5781 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5782 NewMacWindow and DisposeMacWindow.
5783 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5784 instead of calling NewMacWindow and setting fields of
5785 f->output_data.mac directly. Call init_frame_faces.
5786 (Fdelete_frame) [macintosh]: Remove unused code.
5787 (Fmodify_frame_parameters) [macintosh]: Call
5788 x_set_frame_parameters instead of mac_set_frame_parameters.
5789
5790 * frame.h [macintosh]: Define menu_bar_lines field in struct
5791 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5792
5793 * keyboard.c [macintosh]: Include macterm.h.
5794 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5795 and menu_bar_activate_event type events as for X and NT.
5796 (make_lispy_event) [macintosh]: Construct lisp events of type
5797 MENU_BAR_EVENT as for X and NT.
5798
5799 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5800 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5801 (sys_subshell) [macintosh]: Remove definition entirely.
5802 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5803 Vwindow_system_version here. Remove initialization of
5804 Vx_bitmap_file_path.
5805 (read_input_waiting): Correct the number of parameters passed to
5806 read_socket_hook.
5807 Move all Macintosh functions to mac/mac.c.
5808
5809 * term.c [macintosh]: Include macterm.h.
5810
5811 * window.c [macintosh]: Include macterm.h.
5812
5813 * xdisp.c [macintosh]: Include macterm.h. Declare
5814 set_frame_menubar and pending_menu_activation.
5815 (echo_area_display) [macintosh]: Do not return if terminal frame
5816 is the selected frame.
5817 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5818 Allow only the selected frame to set menu bar.
5819 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5820 calling FRAME_EXTERNAL_MENU_BAR (f).
5821 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5822
5823 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5824 and check_x. Declare XCreateGC. Define x_create_gc and
5825 x_free_gc. Initialize font_sort_order.
5826 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5827 but call x_list_fonts instead of w32_list_fonts.
5828 (Finternal_face_x_get_resource) [macintosh]: Do not call
5829 display_x_get_resource.
5830 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5831 (realize_x_face) [macintosh]: Load the font if it is specified in
5832 ATTRS.
52283633 5833 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5834
1ffbabe3
SM
58352000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5836
5837 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5838 is nil: since we go to the end of submap anyway, we'd end up
5839 setting nil to nil.
5840 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5841 doesn't obey autoload.
5842
bed43f1d
EZ
58432000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5844
1ffbabe3 5845 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5846
ea4233a7
JR
58472000-10-21 Jason Rumney <jasonr@gnu.org>
5848
5849 * w32term.c (w32_cache_char_metrics): Double check that font is
5850 really fixed pitch before trusting tmPitchAndFamily.
5851
f3d3c491
AI
58522000-10-21 Andrew Innes <andrewi@gnu.org>
5853
5854 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5855
5856 * w32term.h: Extern decl for w32_cache_char_metrics.
5857
5858 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5859
5860 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5861 (w32_unload_font): Free per_char array if present.
5862
5863 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5864 cached information in emulated XFontStruct to handle common cases
5865 quickly. Do not allocate XCharStruct for return.
5866 (w32_native_per_char_metric): New function.
5867 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5868 allocating one.
5869 (x_produce_glyphs): Don't get an HDC. Change calls to
5870 w32_per_char_metric to match arg change above. Remove calls to
5871 free results.
5872 (w32_get_glyph_overhangs): Ditto.
5873 (w32_cache_char_metrics): New function.
5874
5875 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5876 ($(BLD)/casefiddle.$(O)): Remove compile command.
5877 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5878 ($(BLD)/dispnew.obj):
5879 ($(BLD)/keyboard.obj):
5880 ($(BLD)/w32inevt.obj):
5881 ($(BLD)/w32bdf.obj):
5882 ($(BLD)/alloc.obj):
5883 ($(BLD)/buffer.obj):
5884 ($(BLD)/editfns.obj):
5885 ($(BLD)/emacs.obj):
5886 ($(BLD)/fileio.obj):
5887 ($(BLD)/fns.obj):
5888 ($(BLD)/indent.obj):
5889 ($(BLD)/insdel.obj):
5890 ($(BLD)/intervals.obj):
5891 ($(BLD)/minibuf.obj):
5892 ($(BLD)/print.obj):
5893 ($(BLD)/scroll.obj):
5894 ($(BLD)/sysdep.obj):
5895 ($(BLD)/textprop.obj):
5896 ($(BLD)/widget.obj):
f3d3c491
AI
5897 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5898 ($(BLD)/term.obj): Add dependency on dispextern.h.
5899
52283633
SM
5900 * makefile.nt ($(BLD)\dispnew.obj):
5901 ($(BLD)\keyboard.obj):
5902 ($(BLD)\w32inevt.obj):
5903 ($(BLD)\w32bdf.obj):
5904 ($(BLD)\alloc.obj):
5905 ($(BLD)\buffer.obj):
5906 ($(BLD)\editfns.obj):
5907 ($(BLD)\emacs.obj):
5908 ($(BLD)\fileio.obj):
5909 ($(BLD)\fns.obj):
5910 ($(BLD)\indent.obj):
5911 ($(BLD)\insdel.obj):
5912 ($(BLD)\intervals.obj):
5913 ($(BLD)\minibuf.obj):
5914 ($(BLD)\print.obj):
5915 ($(BLD)\scroll.obj):
5916 ($(BLD)\sysdep.obj):
5917 ($(BLD)\textprop.obj):
5918 ($(BLD)\widget.obj):
f3d3c491
AI
5919 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5920 ($(BLD)\term.obj): Add dependency on dispextern.h
5921
18ad4821
EZ
59222000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5923
5924 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5925 with an additional argument of Qt.
5926
de54681a
MB
59272000-10-21 Miles Bader <miles@gnu.org>
5928
5929 * window.c (pos_fully_visible_in_window_p): New function.
5930 (Fpos_visible_in_window_p): Add FULLY argument.
5931 Use pos_fully_visible_in_window_p.
5932 (window_scroll_pixel_based, window_scroll_line_based): Update
5933 calls to Fpos_visible_in_window_p.
5934 * lisp.h (Fpos_visible_in_window_p): Update prototype
5935
13c844fb
GM
59362000-10-20 Gerd Moellmann <gerd@gnu.org>
5937
5938 * alloc.c (toplevel): Conditionalize compilation of mem_*
5939 functions differently.
52283633 5940
d9506268
JR
59412000-10-20 Jason Rumney <jasonr@gnu.org>
5942
5943 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5944 mem_init where it used to be. mem_z etc not defined otherwise.
5945
8094989b
GM
59462000-10-20 Gerd Moellmann <gerd@gnu.org>
5947
5948 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5949 GC_MALLOC_CHECK.
5950 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5951 structure definition and related variabled to the top of the file.
5952 Include this code when GC_MALLOC_CHECK is defined.
5953 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5954 register/unregister allocated region.
5955 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5956 which isn't allocated.
5957 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5958 something which is already in use.
5959 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5960 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5961 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5962 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5963
5964 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5965 _malloc_internal instead of malloc.
5966 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5967 of free.
5968
ea456eb4
AI
59692000-10-20 Andrew Innes <andrewi@gnu.org>
5970
5971 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5972 Windows.
5973 (my_strftime) <macro>: Don't use macro arg list when redefining as
5974 _strftime_copytm.
5975 (my_strftime) <function>: Supply 0 as ut argument.
5976
e64c3a75
JR
59772000-10-19 Jason Rumney <jasonr@altavista.net>
5978
5979 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5980 including dispextern.h, as it stops faces from working.
5981
5982 * w32fns.c (Fx_create_frame): Don't bother calling
5983 face-set-after-frame-default since the caller does it for us
5984 anyway. Clean up calls to x_get_arg to be consistent with X.
5985
5986 * w32term.c (x_produce_glyphs): Handle
5987 unibyte_display_via_language_environment correctly.
5988 (w32_draw_box_rect): Fix the calculation of width and height.
5989
5990 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5991 as it has stopped working.
5992 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5993 menu-bar.
5994
17401c97
GM
59952000-10-19 Gerd Moellmann <gerd@gnu.org>
5996
5997 * eval.c (skip_debugger): Prevent a compiler warning.
5998 (Fcondition_case): Likewise.
5999 (Fbacktrace_frame): Use a null interactive spec.
6000
773272d8
KH
60012000-10-19 Kenichi Handa <handa@etl.go.jp>
6002
6003 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6004
a42943e9
GM
60052000-10-18 Gerd Moellmann <gerd@gnu.org>
6006
e50517d9
GM
6007 * strftime.c: Sync with glibc, file version 1.78.
6008 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6009 should no longer be used according to ISO 8601.
6010
9035a35a
GM
6011 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6012 no map for meta_prefix_char, don't try to use it as a keymap.
6013 Instead, if T_OK is non-zero, look up a default binding, if any,
6014 otherwise, if T_OK is zero, return nil.
6015
a42943e9
GM
6016 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6017 (x_to_xcolors, png_load): Use x_query_color.
6018
52283633
SM
6019 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6020 New functions.
a42943e9
GM
6021 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6022 which can be slow.
6023 (x_copy_color, x_alloc_lighter_color): Likewise.
6024
6025 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6026 (x_query_color, x_query_colors): Add prototype.
6027
6028 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6029 check_string_bytes only if not noninteractive, increase count to 50.
6030
00de2987
MB
60312000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6032
6033 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6034 markers correctly.
6035
54918e2b
GM
60362000-10-17 Gerd Moellmann <gerd@gnu.org>
6037
1f0b3fd2
GM
6038 * alloc.c (pure_bytes_used): Renamed from pureptr.
6039 (ALIGN): New macro.
6040 (pure_alloc): New function.
6041 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6042 Use it.
6043 (Fpurecopy): Use PURE_POINTER_P.
6044
68c5d1db
GM
6045 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6046 PT has moved backward.
52283633 6047
9a038881
GM
6048 * xdisp.c (cursor_row_p): Take continued lines into account.
6049
361b097f
GM
6050 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6051 string's size_byte.
6052 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6053 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6054 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6055 string allocated.
6056
54918e2b
GM
6057 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6058 of selective display off while searching for the next line start.
6059
03ed0806
KH
60602000-10-17 Kenichi Handa <handa@etl.go.jp>
6061
6062 * Makefile.in (term.o): Depend on dispextern.h.
6063
7e05cdaf
SM
60642000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6065
6066 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6067
a6801fd1
GM
60682000-10-16 Gerd Moellmann <gerd@gnu.org>
6069
483de32b
GM
6070 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6071 the iterator at the beginning, so that they can be set later on,
6072 for instance in reseat_at_next_visible_line_start, without being
6073 overwritten.
6074
a6801fd1
GM
6075 * xfns.c (pbm_format): Add :foreground and :background keywords.
6076 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6077 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6078
dbf1fcc1
EZ
60792000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6080
6081 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6082
52283633 6083 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6084
6085 * msdos.c (IT_set_face): Compare highlighted face with the default
6086 face, and invert colors if these faces' colors are identical.
6087 (Fmsdos_remember_default_colors): Don't swap foreground and
6088 background colors in initial_colors[].
6089 (IT_set_frame_parameters): Don't swap frame's foreground and
6090 background pixels. If ALIST includes "(reverse . t)", swap
6091 foreground-color and background-color properties in frame's
6092 param_alist. If the original frame's param_alist doesn't specify
6093 the colors, store unspecified-fg and unspecified-bg, reversed if
6094 required.
6095
6096 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6097 the colors are unspecified and reversed, reverse fore- and back-
6098 ground in the returned value.
6099 (Fframe_parameter): Ditto.
6100
b41fe2c3 61012000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6102
3a6b59d9
GM
6103 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6104 get_last_unchanged_at_beg_row.
6105 (find_first_unchanged_at_end_row): Renamed from
6106 get_first_unchanged_at_end_row.
6107 (find_first_unchanged_at_end_row): Convert assertions to
6108 unconditional tests which abort. When looking for a row in
6109 unchanged text, don't go further back than first_text_row.
6110
b41fe2c3
GM
6111 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6112 Don't add in the last line's height when deciding if the new
6113 position is below the scroll margin.
9d1af64f 6114
b41fe2c3 61152000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6116
6117 * editfns.c (Fconstrain_to_field): Check carefully for field
6118 boundaries if either OLD_POS or NEW_POS has a non-nil field
6119 property, even if they're the same.
6120
c412cb7b
KH
61212000-10-16 Kenichi Handa <handa@etl.go.jp>
6122
6123 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6124 height for XFillRectangle.
6125
5586f3eb
SM
61262000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6127
6128 * syntax.c (Fstring_to_syntax): New function extracted from
6129 Fmodify_syntax_entry.
6130 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6131 (skip_chars, Fforward_comment): Remove unused variables.
6132 (syms_of_syntax): Add defsubr for string-to-syntax.
6133 (describe_syntax): Add code for comment and string fences.
6134
db785038
SM
61352000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6136
6137 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6138 Do the meta->esc mapping. Call get_keyelt before returning.
6139 Start scanning from the second element (the first is always `keymap')
6140 to make it easier to detect when we reach a parent map.
6141 Handle the case of inheriting from a symbol whose function is a map.
6142 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6143 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6144 (get_keyelt, Flookup_key): Update call to access_keymap.
6145 Remove the meta->esc mappings.
6146 (define_as_prefix): Delete old disabled code.
6147 (menu_item_p): New function.
6148 (where_is_internal_1): Skip over the few remaining menu items.
6149 * lisp.h (access_keymap): Update prototype.
6150 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6151 Update call to access_keymap.
6152 (follow_key, read_key_sequence): Update calls to access_keymap.
6153 Remove the meta->esc mappings.
6154
cafafe0b
GM
61552000-10-13 Gerd Moellmann <gerd@gnu.org>
6156
a2e2a7f6
GM
6157 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6158 with additional argument.
6159
cafafe0b
GM
6160 * xdisp.c (cursor_row_p): New function.
6161 (try_cursor_movement, display_line): Use it.
52283633 6162
cafafe0b
GM
6163 * xdisp.c (append_space): Also save/restore iterator's current
6164 character and its length.
6165
6166 * xdisp.c (init_from_display_pos): Add an assertion.
6167 (handle_stop): Don't set iterator's add_overlay_start.
6168 (handle_invisible_prop): Likewise.
6169 (load_overlay_strings): If text under an overlay is invisible,
6170 take both before- and after-strings into account when the iterator
6171 is positioned either at the start or at the end of the overlay.
6172 (forward_to_next_line_start): Rewritten.
6173 (reseat_at_next_visible_line_start): Rewritten.
6174 (set_iterator_to_next): Add parameter RESEAT_P.
6175
6176 * dispextern.h (struct it): Remove member add_overlay_start.
6177 (set_iterator_to_next): Change prototype.
6178
c744452b
KH
61792000-10-13 Kenichi Handa <handa@etl.go.jp>
6180
6181 * coding.c (code_convert_region): Be sure to initialize
6182 coding->category_idx.
e4a3f4e1
KH
6183 (decode_coding_string): Set coding->src_multibyte and
6184 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6185 (encode_coding_string): Set coding->src_multibyte and
6186 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6187
321fd26f
SM
61882000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6189
6190 * xfns.c (Fx_create_frame): Don't bother calling
6191 face-set-after-frame-default since the caller does it for us anyway.
6192
76832439
EZ
61932000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6194
6195 * window.c (coordinates_in_window): Fix detection of vertical line
6196 on character terminals.
6197
2483cf58
GM
61982000-10-12 Gerd Moellmann <gerd@gnu.org>
6199
6200 * editfns.c (save_excursion_save): Additionally record the
6201 selected window.
6202 (save_excursion_restore): If buffer was visible in a window, and a
6203 different window was selected, and the old selected window is
6204 still live, restore point in that window.
6205
eb991b25
KH
62062000-10-12 Kenichi Handa <handa@etl.go.jp>
6207
8a0eba09
KH
6208 * xterm.c (x_produce_glyphs): Handle
6209 unibyte_display_via_language_environment correctly.
6210
20401fcc
KH
6211 * regex.c (regex_compile): Change the way of handling a range from
6212 unibyte char to multibyte char.
6213
6214 * syntax.c (skip_chars): Change the way of handling a range from
6215 unibyte char to multibyte char.
6216
eb991b25
KH
6217 * process.c (read_process_output): Cancel previous change.
6218
365dd325
EZ
62192000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6220
c1b096cb
EZ
6221 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6222
365dd325
EZ
6223 * charset.c (Ffind_charset_string): Doc fix.
6224 (Ffind_charset_region): Doc fix.
6225
eb483c2b
KH
62262000-10-11 Kenichi Handa <handa@mule.m17n.org>
6227
6228 * process.c (read_process_output): Fix previous change. Adjust
6229 multibyteness of text to insert in a buffer by
52283633 6230 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6231
b40bfb99
AS
62322000-10-10 Andreas Schwab <schwab@suse.de>
6233
6234 * alloc.c (mark_object): Remove all workarounds installed on
6235 1993-08-08.
6236
caff31d4
KH
62372000-10-10 Kenichi Handa <handa@etl.go.jp>
6238
52283633 6239 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6240 (base64_encode_1): Make it work for a text of multibyte form.
6241 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6242 case. Don't call str_to_multibyte because base64_decode_1
6243 produces correct multibyte form for eight-bit codes.
52283633 6244 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6245 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6246 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6247 codes.
6248
6249 * charset.h (CHAR_STRING): Optimized for single byte characters.
6250
cba026ef
AS
62512000-10-09 Andreas Schwab <schwab@suse.de>
6252
6253 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6254 -1 after socket is closed, to fall through to error processing.
6255
1e21fe48
EZ
62562000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6257
6258 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6259 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6260 background-color, change also the colors of the default face for
6261 this frame.
6262
a640322e
EZ
62632000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6264
6265 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6266 them extern (they are defined on xfaces.c).
6267 (syms_of_msdos): Don't intern and don't staticpro
6268 Qbackground_color and Qforeground_color.
6269
a115794c
EZ
62702000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6271
6272 * frame.c (Fframe_parameter): For non-windowed frames, if
6273 f->param_alist says foreground or background color is unspecified,
6274 call tty_color_name to return the color name computed from the
6275 frame's current colors.
6276
f5533b63
DL
62772000-10-06 Dave Love <fx@gnu.org>
6278
6279 * terminfo.c (ospeed): Don't declare.
6280
6281 * sysdep.c: Don't include string.h.
6282 (h_errno): Declare conditional also on TRY_AGAIN.
6283
6284 * charset.c (Ffind_charset_string): Doc fix.
6285
52283633 6286 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6287 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6288 error messages.
6289
2b06561a
DL
62902000-10-05 Dave Love <fx@gnu.org>
6291
6292 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6293 position like menu-bar.
6294
ca839c85
GM
62952000-10-05 Gerd Moellmann <gerd@gnu.org>
6296
6297 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6298
6299 * xdisp.c (handle_single_display_prop): Use safe_call1.
6300 (safe_call): Renamed from call_function.
6301 (safe_call1): New function.
6302 (handle_fontified_prop): Use safe_call1 instead of call1.
6303 (safe_eval): Renamed from eval_form.
6304 (safe_eval_handler): Renamed from eval_handler.
6305 (handle_single_display_prop, display_mode_element): Use safe_eval
6306 instead of eval_form.
6307
6308 * xfaces.c (merge_face_heights): Use safe_call instead of
6309 call_function.
6310
6311 * keyboard.c (show_help_echo): Use safe_call instead of
6312 call_function; use safe_eval instead of eval_form.
6313
6314 * lisp.h (safe_call): Renamed from call_function.
6315 (safe_eval): Renamed from eval_form.
6316 (safe_call1): Add prototype.
6317
a3489ece
MB
63182000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6319
6320 * xfns.c (image_ascent): Rearrange ascent calculation for the
6321 has-a-font case.
6322
35810b6f
SM
63232000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6324
6325 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6326 (where_is_internal_1): Don't bother ignoring menu-items any more.
6327
3dc78168
GM
63282000-10-04 Gerd Moellmann <gerd@gnu.org>
6329
6330 * keyboard.c (update_menu_bindings): New variable.
6331 (parse_menu_item): Use AREF. If update_menu_bindings
6332 is 0, don't update menu bindings.
6333 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6334
1efc2bb9
EZ
63352000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6336
6337 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6338 to `mark_object'.
6339
3f679f55
SM
63402000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6341
6342 * syntax.c (forw_comment): Match nestedness of ender/starter.
6343 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6344 (prev_char_comstart_first): Remove.
6345 (back_comment): Check two-char comment markers more carefully
6346 to better handle overlapping cases like *//* or /* */* */ ...
6347 Match nestedness of ender/starter.
6348
2021ab61
DL
63492000-10-02 Dave Love <fx@gnu.org>
6350
6351 * config.in (HAVE_GAI_STRERROR): Add undef.
6352
6353 * process.c (Fopen_network_stream): Use it.
6354
6355 * m/alpha.h (NO_REMAP): Don't define.
6356
64e6cc18
GM
63572000-10-02 Gerd Moellmann <gerd@gnu.org>
6358
6359 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6360 return with a string converted to an integer or vice versa when
6361 Vmocklisp_arguments is t.
6362 (Fsignal): Likewise. The function can return for `quit'.
6363 (struct gcpro): Declare member `var' to point to a volatile
6364 Lisp_Object.
6365
6366 * eval.c (error): Prevent compiler warning.
6367
b1904cd9
SM
63682000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6369
6370 * keymap.c (keymap_memberp): New function.
6371 (Fset_keymap_parent): Use it.
6372 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6373 Use keymap_memberp to avoid creating cycles.
6374 (access_keymap): Use KEYMAPP.
6375
71c9ec51
GM
63762000-09-30 Gerd Moellmann <gerd@gnu.org>
6377
6378 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6379 gai_strerror. Make sure xerrno is set if connect fails. Improve
6380 error recovery.
71c9ec51 6381
c70c6b58
JR
63822000-09-29 Jason Rumney <jasonr@gnu.org>
6383
6384 * w32term.c (w32_char_font_type, w32_encode_char)
6385 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6386 (w32_bdf_per_char_metric): New function.
6387 (w32_per_char_metric): Use it.
6388 (x_draw_glyph_string_background): Always draw background for BDF
6389 glyphs.
6390
6391 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6392 GDI object which is a scarce resource.
6393
6394 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6395 (get_quoted_string): Fix limit on memchr search.
6396 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6397 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6398 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6399 (get_cached_font_char, cache_char_offset): Use macro
6400 BDF_CODEPOINT_RANGE_COVER_P.
6401 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6402 (clear_cached_bitmap_slots): New function.
6403 (GET_HEX_VALUE): G-Z, g-z are not hex.
6404 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6405 (get_bitmap_with_cache): Use new cache implementation.
6406 (create_offscreen_bitmap): New function.
6407 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6408
6409 * w32term.c (x_produce_glyphs): If the distance from the current
6410 position to the next tab stop is less than a canonical character
6411 width, use the tab stop after that.
6412 (x_draw_glyphs): Handle case START and END are out of bounds more
6413 carefully.
6414 (x_clear_mouse_face): Block/unblock input.
6415 (x_display_and_set_cursor): Don't show a hollow box cursor for
6416 buffers whose cursor_type is nil.
6417
fe01239f
GM
64182000-09-29 Gerd Moellmann <gerd@gnu.org>
6419
52283633 6420 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6421
6422 * dispextern.h (updating_frame): Declare extern.
6423
e7c52f1f
AS
64242000-09-29 Andreas Schwab <schwab@suse.de>
6425
6426 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6427
de6e1f7c
GM
64282000-09-29 Gerd Moellmann <gerd@gnu.org>
6429
25126faa
GM
6430 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6431 use its function definition.
6432 (tool_bar_items): Likewise.
6433
de6e1f7c 6434 * lisp.h (fatal): Declare NO_RETURN.
52283633 6435
454ee39b
KH
64362000-09-29 Kenichi Handa <handa@etl.go.jp>
6437
6438 * keymap.c: Remove the line "#undef NULL".
6439
96301c5f
GM
64402000-09-28 Gerd Moellmann <gerd@gnu.org>
6441
52283633 6442 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6443
efffeeb4
DL
64442000-09-28 Dave Love <fx@gnu.org>
6445
ecb8b666
DL
6446 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6447
dc3cd20f
DL
6448 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6449
6450 * .gdbinit (xreload): Note its need on GNU/Linux.
6451
efffeeb4
DL
6452 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6453 r_alloc, r_alloc_free.
6454
8610d903
KH
64552000-09-28 Kenichi Handa <handa@etl.go.jp>
6456
6457 * syntax.c (skip_chars): Handle negation correctly.
6458
8901d1ac
GM
64592000-09-27 Gerd Moellmann <gerd@gnu.org>
6460
6f22f1ad
GM
6461 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6462 with non-zero FORCE_P argument.
6463
52283633 6464 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6465 Add assertions.
6466
6467 * xdisp.c (window_box_height): Add an assertion.
6468
6469 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6470 tool-bar than is available.
6471 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6472
36f1966f
DL
64732000-09-27 Dave Love <fx@gnu.org>
6474
efffeeb4 6475 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6476
31d929e5
GM
64772000-09-26 Gerd Moellmann <gerd@gnu.org>
6478
c98863bf
GM
6479 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6480 instead of BITS_PER_INT.
6481 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6482 EMACS_UINT, respectively.
6483 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6484
6485 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6486
6487 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6488
77072ab1
GM
6489 * window.c (freeze_window_starts): Construct last argument for
6490 foreach_window differently.
6491
6492 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6493
6494 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6495 EMACS_UINT instead of `int' and `unsigned int'.
6496 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6497
6498 * frame.h (struct frame): Make the `nothing' member of union
6499 output_data an EMACS_INT.
6500
52283633 6501 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6502 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6503 size in the sdata structure.
6504 (SDATA_NBYTES, SDATA_DATA): New macros.
6505 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6506 differently for the different layout of the sdata structure.
6507 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6508 in sdata.
6509 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6510 Check that size recorded in the string size and size recorded in
6511 the sdata structure agree.
6512
3e60b029
DL
65132000-09-25 Dave Love <fx@gnu.org>
6514
6515 * buffer.c: Include stdio.h.
6516
6517 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6518
3e60b029
DL
6519 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6520
6521 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6522 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6523 (__malloc_extra_blocks): Declare as __malloc_size_t.
6524
8ff16b4e
GM
65252000-09-25 Gerd Moellmann <gerd@gnu.org>
6526
755a2ccd
GM
6527 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6528
d8b4516f
GM
6529 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6530 (read_char): If help-echo is showing, preserve the echo area
6531 when redisplaying.
6532
6533 * xdisp.c (help_echo_showing_p): New variable.
6534 (set_message): Reset it to 0.
6535 (init_xdisp): Initialize help_echo_showing_p.
6536
6537 * dispextern.h (help_echo_showing_p): Declare extern.
6538
6539 * config.in: Fix typo in __GNUC_MINOR__.
6540
6541 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6542
b11af2dd
GM
6543 * s/freebsd.h (POSIX_SIGNALS): Define.
6544
8ff16b4e
GM
6545 * xterm.c (x_clear_mouse_face): Block/unblock input.
6546
844eb643
DL
65472000-09-24 Dave Love <fx@gnu.org>
6548
6549 * fns.c (base64_encode_1): Fix last change.
6550
b30ab1b3
GM
65512000-09-22 Gerd Moellmann <gerd@gnu.org>
6552
6553 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6554
6555 * xdisp.c (try_window_reusing_current_matrix): More fixes
6556 for the case window has a header-line.
6557
c6cbe5f0
DL
65582000-09-22 Dave Love <fx@gnu.org>
6559
4c7c1f3f
DL
6560 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6561 a doc string.
6562
6563 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6564
c6cbe5f0
DL
6565 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6566
550a625e
GM
65672000-09-21 Gerd Moellmann <gerd@gnu.org>
6568
4c7c1f3f 6569 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6570 for GCC >= 2.5.
6571
52283633
SM
6572 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6573 Declare NO_RETURN.
fca99116 6574
80d26f99
GM
6575 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6576 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6577 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6578 warnings.
52283633 6579
80d26f99
GM
6580 * marker.c (byte_char_debug_check): Return void.
6581
623a0aae
GM
6582 * xfns.c (Fx_create_frame): Set default frame parameter value
6583 for tool-bar-lines to 1.
6584
6585 * dispnew.c (scrolling_window): Compare y-positions of rows
6586 equal at the start. Some simplification.
6587
6588 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6589 reused rows' y-position in the case window has a header-line, and
6590 new window start is greater than old window start.
6591
42ac0ae5
GM
6592 * process.c (process_sent_to): New variable.
6593 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6594 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6595 Declare more parameters volatile.
6596
550a625e
GM
6597 * lread.c (Vrecursive_load_depth_limit): New variable.
6598 (Fload): Check recursive loads whose recursion depth exceeds
6599 Vrecursive_load_depth_limit.
6600 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6601
8320414c
GM
66022000-09-20 Gerd Moellmann <gerd@gnu.org>
6603
f46c275e
GM
6604 * fileio.c (Fread_file_name): Doc fix.
6605
6606 * editfns.c (Fmessage_or_box): Doc fix.
6607
6608 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6609
b7e11c5b 6610 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6611
8320414c
GM
6612 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6613 symbols are specified, add color translations to the cache.
52283633 6614 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6615 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6616 xpm_cache_color.
6617 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6618 structures to xpm_init_color_cache.
6619
da1608d9
GM
66202000-09-19 Gerd Moellmann <gerd@gnu.org>
6621
52283633 6622 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6623
6badfa25
AI
66242000-09-19 Andrew Innes <andrewi@gnu.org>
6625
6626 * makefile.nt (bootstrap-emacs): Don't change directory.
6627
3a5f42bb
KH
66282000-09-19 Kenichi Handa <handa@etl.go.jp>
6629
1b7649bd
KH
6630 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6631
3a5f42bb
KH
6632 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6633 If output buffer is too small, signal an appropriated error.
6634
9f83cf0b
DL
66352000-09-18 Dave Love <fx@gnu.org>
6636
52283633 6637 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6638 (current_active_maps): Remove redundant get_local_map call.
6639
28c7826c
GM
66402000-09-18 Gerd Moellmann <gerd@gnu.org>
6641
5cefa566
GM
6642 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6643 cursor for buffers whose cursor_type is nil.
52283633 6644
6fed3546
GM
6645 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6646 a feature to implement that is already implemented.
6647 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6648 warnings.
6649
6650 * xfns.c (x_clear_image_1): New function.
6651 (x_clear_image): Use it.
52283633 6652 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6653
05b1f851
GM
6654 * dispnew.c (update_window): Move test for invisible lines
6655 at the top to update_window_line.
6656 (update_window_line): Handle invisible lines here.
6657
f4779de9
GM
6658 * xfns.c (clear_image_cache): Clear current matrices of all
6659 frames sharing an image cache. Block input while freeing
6660 images. Fix timestamp comparison.
6661 (x_clear_image): Also free the mask.
6662
28c7826c
GM
6663 * xfns.c (lookup_image): Block input while loading the image so
6664 that we won't get interrupted in a state where the image isn't yet
6665 set up completely.
6666 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6667 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6668 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6669 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6670
b7412313
GM
66712000-09-16 Gerd Moellmann <gerd@gnu.org>
6672
6673 * dispnew.c (update_window): Make sure to make desired rows
6674 current even if they are completely invisible at the top
6675 of a window.
6676
47e351a3
GM
66772000-09-15 Gerd Moellmann <gerd@gnu.org>
6678
7f8f1edc
GM
6679 * xfns.c (lookup_image): Build mask before applying an algorithm.
6680 Recognize algorithm `disabled'.
6681 (cross_disabled_images): New variable.
6682 (COLOR_INTENSITY): New macro.
6683 (x_detect_edges): Use COLOR_INTENSITY.
6684 (x_disable_image): New function.
6685 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6686
6687 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6688 disabled state, don't apply an image transformation algorithm if
6689 the user specified an image for the disabled state. Use
28c7826c 6690 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6691 user hasn't specified an image.
6692
ebb8f116
GM
6693 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6694 allocation functions with the XPM lib.
6695 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6696 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6697 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6698 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6699 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6700 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6701 functions, if possible, because these handle color allocation
6702 failure more gracefully.
6703 (Fimage_mask_p): New function.
6704
47e351a3
GM
6705 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6706 (Qedge_detection, Qheuristic): New symbols.
6707 (syms_of_xfns): Initialize new symbols.
6708 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6709 `algorithm (edge-detection ...)'.
6710 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6711 (tiff_format, gif_format, gs_format): Add `:mask'.
6712 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6713 (GIF_MASK, GS_MASK): New enumerators.
6714 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6715 (emboss_matrix, laplace_matrix): New variables.
6716 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6717 (x_edge_detection): New functions.
6718 (x_laplace): Rewritten in terms of x_detect_edges.
6719 (x_build_heuristic_mask): If image has a mask, free it.
6720
fe83b953
AI
67212000-09-14 Andrew Innes <andrewi@gnu.org>
6722
6723 * makefile.w32-in: Revert to Unix line endings.
6724
3021e816
AI
67252000-09-14 Andrew Innes <andrewi@gnu.org>
6726
6727 * makefile.w32-in: Standardize indentation somewhat.
6728 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6729 cater for differences between shells.
6730
6731 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6732
2a32b5ea
GM
67332000-09-14 Gerd Moellmann <gerd@gnu.org>
6734
6735 * xterm.c (x_produce_glyphs): If the distance from the current
6736 position to the next tab stop is less than a canonical character
6737 width, use the tab stop after that.
6738
b4331e96
DL
67392000-09-14 Dave Love <fx@gnu.org>
6740
6741 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6742
ef9e4345
GM
67432000-09-14 Gerd Moellmann <gerd@gnu.org>
6744
085536c2
GM
6745 * xdisp.c (handle_fontified_prop): While running fontification
6746 functions, bind `fontification-functions' and
6747 `after-change-functions' to nil.
6748
ef9e4345
GM
6749 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6750 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6751
6752 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6753
6754 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6755 USE_MMAP_FOR_BUFFERS.
6756
6757 * insdel.c (make_gap): Use enlarge_buffer_text.
6758
6759 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6760 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6761 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6762 from former r_alloc_* functions in ralloc.c.
52283633 6763 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6764 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6765 (mmap_init) [REL_ALLOC_MMAP]: New function.
6766 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6767 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6768 BUFFER_FREE.
6769
6770 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6771 (enlarge_buffer_text): Add prototype.
6772
6773 * ralloc.c: Remove everything having to do with the use of mmap.
6774
f8608968
GM
67752000-09-13 Gerd Moellmann <gerd@gnu.org>
6776
2a494b2d
GM
6777 * sound.c (Fplay_sound): Doc fix.
6778
8c907a56
GM
6779 * keyboard.c: Avoid some more compiler warnings.
6780 (parse_tool_bar_item): Ignore cached key bindings.
6781
f8608968
GM
6782 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6783 and allocation of Lisp data.
6784
6ab70e9a
GM
67852000-09-12 Gerd Moellmann <gerd@gnu.org>
6786
d12d0a9b
GM
6787 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6788 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6789 defaults first.
6790
6ab70e9a
GM
6791 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6792
63c36c3c
KH
67932000-09-12 Miyashita Hisashi <himi@meadowy.org>
6794
6795 * ccl.c: Comment fixed.
6796 (MAX_MAP_SET_LEVEL): Increased to 30.
6797 (PUSH_MAPPING_STACK): Enclose with do-while block.
6798 (POP_MAPPING_STACK): Likewise.
6799 (stack_idx_of_map_multiple): New variable.
6800 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6801 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6802 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6803 (ccl_driver) <CCL_MapSingle>: Likewise.
6804 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6805 with the case where looking up process reaches to the end of
6806 map-set, and call CCL programs as the above change.
6807
7ee3bd7b
GM
68082000-09-11 Gerd Moellmann <gerd@gnu.org>
6809
8ec8a5ec
GM
6810 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6811 that might be clobbered by longjmp.
6812 (check_x_display_info, x_decode_color, create_frame_xic)
6813 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6814 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6815
f74b0705
GM
6816 * lread.c (init_lread): Set Vloads_in_progress to nil.
6817 (Fload): Show list of recursively loaded files, when signaling an
6818 error.
6819
7ee3bd7b
GM
6820 * lread.c (Vloads_in_progress): New variable.
6821 (record_load_unwind): New function.
6822 (Fload): Check for recursive loads.
6823 (syms_of_lread): Initialize Vloads_in_progress.
6824 (read_integer, read1): Avoid some compiler warnings.
6825
6826 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6827 compiler warnings.
6828
974e1e5b
MB
68292000-09-11 Miles Bader <miles@gnu.org>
6830
6831 * editfns.c (Fbuffer_string): Doc fix.
6832
9824c4e3
GM
68332000-09-10 Gerd Moellmann <gerd@gnu.org>
6834
6835 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6836
6a72fdd1
KR
68372000-09-09 Ken Raeburn <raeburn@gnu.org>
6838
6839 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6840 whether to include other header files.
6841
28e6fb66
GM
68422000-09-09 Gerd Moellmann <gerd@gnu.org>
6843
52283633 6844 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6845 by Fmemq as a boolean.
28e6fb66 6846
7f8b6551
SM
68472000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6848
6849 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6850
a8710abf
GM
68512000-09-08 Gerd Moellmann <gerd@gnu.org>
6852
d1a02881
GM
6853 * ralloc.c (mmap_fd): Remove initializer which can make it
6854 read-only in a dumped Emacs.
6855 (mmap_fd_1): New variable.
6856 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6857 restore it from there.
6858 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6859 unconditionally so that mmap_fd can be initialized there.
6860 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6861 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6862 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6863
c454aac1
GM
6864 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6865
6866 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6867 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6868
fc653ef2
GM
6869 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6870
3015eec0
GM
6871 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6872 inheritance.
6873
bfe0ee88
GM
6874 * xdisp.c (try_window_id): When trying to locate cursor in
6875 unchanged rows at the top, handle the case that we can't find it.
6876
a8710abf
GM
6877 * xterm.c (x_draw_glyphs): Handle case START and END are out
6878 of bounds more carefully.
6879
6b7d4ae4
DL
68802000-09-08 Dave Love <fx@gnu.org>
6881
423193c5
DL
6882 * s/sol2.h (REL_ALLOC_MMAP): Define.
6883 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6884
6885 * ralloc.c: Don't include string.h (redundant).
6886 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6887 [!MAP_ANON]: Include fcntl.h.
6888 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6889 (r_alloc, r_re_alloc, r_alloc_free)
6890 (mmap_enlarge, mmap_set_vars): Use it.
6891 (r_alloc_init_fd): New function.
6892 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6893 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6894 malloc type.
6895
6896 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6897 Remove vm-limit.o.
6898
6b7d4ae4
DL
6899 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6900 change to __NetBSD__.
6901
44d31981
KH
69022000-09-08 Kenichi Handa <handa@etl.go.jp>
6903
6904 * search.c (compile_pattern): Check the multibyteness of cached
6905 string and PATTERN.
6906
aad40737
MB
69072000-09-08 Miles Bader <miles@gnu.org>
6908
6909 * xfaces.c (default_face_vector): Function removed.
6910 (Finternal_merge_in_global_face): Restore old global/local
6911 attribute override order. Use inline loop instead of calling
6912 default_face_vector.
6913
91a211b5
GM
69142000-09-07 Gerd Moellmann <gerd@gnu.org>
6915
6916 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6917 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6918 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6919 where necessary, in case POINTER_TYPE is `void'.
6920
03419440
EZ
69212000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6922
6923 * frame.c (make_terminal_frame): Initialize frame foreground and
6924 background colors to unspecified, for the initial instance of an
6925 MSDOS frame.
6926
f46f845b
GM
69272000-09-07 Gerd Moellmann <gerd@gnu.org>
6928
24f76fbf
GM
6929 * ralloc.c (mmap_find): Fix overlap computation.
6930 (mmap_enlarge): Compute nbytes before trying to find an
6931 overlapping region.
6932
f46f845b
GM
6933 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6934 instead of `!='.
6935
6936 * lread.c (syms_of_lread): Change value of regexp
6937 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6938
6939 * xmenu.c (xdialog_show): When looking up the selection in
6940 menu_items, take `quote' boundaries into account; this corresponds
6941 to a nil ITEM in x-popup-dialog.
6942
3c014385
KH
69432000-09-07 Kenichi Handa <handa@etl.go.jp>
6944
fd6f711b
KH
6945 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6946 not 0x81.
6947 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6948
3c014385 6949 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6950 encoding, not decoding. Fix the handling of latin-jisx0201.
6951 Check for the charset katakana-jisx0201 too.
3c014385 6952 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6953 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6954
0da3ecef
GM
69552000-09-07 Gerd Moellmann <gerd@gnu.org>
6956
ab0ee409
GM
6957 * xfaces.c (Vparam_value_alist): New variable.
6958 (syms_of_xfaces): Initialize it.
6959 (Finternal_set_lisp_face_attribute): Avoid more consing.
6960
6961 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6962 specially.
6963 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6964 (Qbackground_mode): New variable.
6965 (syms_of_frame_1): Initialize Qbackground_mode.
6966
6967 * lisp.h (Qdisplay): Declare extern.
1091dd67 6968
0da3ecef
GM
6969 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6970 change face on all frames, and change the default for new frames.
6971
b14654b9
DL
69722000-09-07 Dave Love <fx@gnu.org>
6973
6974 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6975
d24fd56f
KH
69762000-09-07 Kenichi Handa <handa@etl.go.jp>
6977
794f3670
KH
6978 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6979
0fddd0dc
KH
6980 * charset.c: Include composite.h
6981 (lisp_string_width): New function.
6982 (Fstring_width): Call lisp_string_width instead of strwidth.
6983
6984 * Makefile.in (charset.o): Depends on composite.h.
6985
d24fd56f
KH
6986 * process.c (read_process_output): Before inserting the decoded
6987 text in the buffer, adjust the multibyteness.
6988
fa0b693c
GM
69892000-09-06 Gerd Moellmann <gerd@gnu.org>
6990
52283633 6991 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6992 buffer's text buffer is null, map new memory.
6993
0a58f946
GM
6994 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6995 POINTER_TYPE and size_t.
6996 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6997 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6998 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6999 [REL_ALLOC_MMAP]: New macros.
7000 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7001 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7002 [REL_ALLOC_MMAP]: New functions.
7003
7004 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7005 before and after unexec.
7006
7007 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7008 text buffers if necessary.
7009
7010 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7011 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7012 in prototypes.
7013
fa0b693c
GM
7014 * config.in (HAVE_MMAP): Add #undef.
7015
877055f6
GM
70162000-09-05 Gerd Moellmann <gerd@gnu.org>
7017
08ba3862
GM
7018 * frame.c (Qdisplay_type): New variable.
7019 (syms_of_frame_1): Initialize it.
7020 (Fframe_parameter): New function that avoids consing.
7021 (syms_of_frame): Defsubr it.
7022
66ffe51c
GM
7023 * buffer.c (Fother_buffer): Consider buffers as invisible when
7024 they are displayed in a window on an invisible frame.
7025
877055f6
GM
7026 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7027 get-largest-window always return nil.
7028
bb970e67
GM
70292000-09-04 Gerd Moellmann <gerd@gnu.org>
7030
7031 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7032 variable; recognize Emacs 19 elc files.
7033
7a3d0e0e
MB
70342000-09-04 Miles Bader <miles@gnu.org>
7035
7036 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7037 before initially popping up the menu, so the menu doesn't flash
52283633 7038 when the face settings are significantly different from the defaults.
7a3d0e0e 7039
14473664
SM
70402000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7041
7042 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7043 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7044 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7045 (BIT_UNIBYTE): Remove.
7046 (re_match_2_internal): Delete corresponding code and streamline the
7047 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7048 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7049 (re_wctype_t): New type.
7050 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7051 (regex_compile): Use them and fix handling of overly long char classes.
7052
c1174479
AI
70532000-09-03 Andrew Innes <andrewi@gnu.org>
7054
f8803e97
AI
7055 * makefile.w32-in: Change to DOS line endings.
7056
c1174479
AI
7057 * s/ms-w32.h (ORDINARY_LINK): New define.
7058
7059 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7060 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7061
7062 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7063 (distclean): Delete them here instead.
7064
44ef7cf6
AI
7065 * w32proc.c (compare_env): Convert to uppercase for comparison,
7066 not lowercase, to match how the native Windows shell works.
7067
49b3bd82
JR
70682000-09-03 Jason Rumney <jasonr@gnu.org>
7069
7070 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7071 CVS changes the line-ends when checking in/out on DOS/Windows.
7072
7073 * makefile.nt (emacs): Do not change directory to run temacs, as
7074 the load-path is set relative to current directory.
7075
a3d35a39
MB
70762000-09-03 Miles Bader <miles@gnu.org>
7077
7078 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7079
d276b0cf
GM
70802000-09-02 Gerd Moellmann <gerd@gnu.org>
7081
715e84c9
GM
7082 * xdisp.c (redisplay_mode_lines): New function.
7083 (display_mode_lines): Return number of mode lines displayed.
7084 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7085 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7086
8892f40b
GM
7087 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7088 string.h and strings.h.
7089 (index) [HAVE_INDEX]: Add prototype.
7090
d276b0cf
GM
7091 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7092 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7093
7094 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7095 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7096
38404229
GM
70972000-09-01 Gerd Moellmann <gerd@gnu.org>
7098
7099 * lread.c (read1): Accept `?' as symbol constituent, for
7100 compatiblity with XEmacs.
7101
c0f9ea08
SM
71022000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7103
7104 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7105 (struct re_pattern_buffer): Remove newline_anchor.
7106 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7107 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7108 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7109 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7110 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7111 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7112 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7113 Get rid of references to newline_anchor.
7114 (regcomp): Allocate and precompute a fastmap.
7115
8c0f83fe
GM
71162000-08-31 Gerd Moellmann <gerd@gnu.org>
7117
7118 * lread.c (openp): GCPRO local variable `filename'.
7119
4bb91c68
SM
71202000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7121
7122 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7123
7124 * regex.c: Merge some changes from GNU libc. Add prototypes.
7125 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7126 Use memcmp and memcpy instead of bcopy and bcmp.
7127 (init_syntax_once): Use ISALNUM.
7128 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7129 (REG_UNSET_VALUE): Remove. Use NULL instead.
7130 (REG_UNSET, re_match_2_internal): Use NULL.
7131 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7132 New macros.
7133 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7134 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7135 (regex_compile): In handle_interval, return an error rather than try to
7136 unfetch the interval if we can't find the closing brace.
7137 Obey the RE_NO_GNU_OPS syntax bit.
7138 (TOLOWER): New macro.
7139 (regcomp): Use it.
7140 (regexec): Allocate regs.start and regs.end as one block.
7141
5226a931
GM
71422000-08-30 Gerd Moellmann <gerd@gnu.org>
7143
868dd24b
GM
7144 * xdisp.c (echo_area_display): Check display_completed instead
7145 of calling detect_input_pending.
7146
7147 * dispnew.c (update_frame): Only set display_completed here; move
7148 the update_begin and update_end calls here from update_frame_1.
7149 (update_frame_1): Don't set display_completed here, don't call
7150 update_begin/update_end.
7151
5226a931
GM
7152 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7153 instead of store_frame_param.
7154
2a8bd25f
GM
71552000-08-29 Gerd Moellmann <gerd@gnu.org>
7156
7157 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7158 desired window matrix hasn't been displayed, use the current row
7159 instead. Make sure that only those frame rows are updated for
7160 which there exists a corresponding enabled desired row.
52283633 7161
ba3478d9
MB
71622000-08-29 Miles Bader <miles@gnu.org>
7163
7164 * xfaces.c (default_face_vector): New function.
7165 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7166
87d0f685
GM
71672000-08-29 Gerd Moellmann <gerd@gnu.org>
7168
7169 * lread.c (openp): Prevent temporary string passed to
7170 Ffile_readable_p from being garbage collected.
7171
6fa86045
DL
71722000-08-28 Dave Love <fx@gnu.org>
7173
7174 * keymap.c (store_in_keymap): Add `static' to declaration.
7175
bb17930d
GM
71762000-08-28 Gerd Moellmann <gerd@gnu.org>
7177
7178 * emacs.c, callint.c, doc.c, editfns.c
7179 (toplevel) [HAVE_STRING_H]: Include string.h.
7180 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7181 (index): Remove prototypes which might conflict with non-standard
7182 definitions of index/strchr.
7183
7184 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7185 (rindex): Define only if !HAVE_RINDEX.
7186
7187 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7188
7189 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7190
87188200
MB
71912000-08-28 Miles Bader <miles@gnu.org>
7192
7193 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7194 made inconsistent by a font-related attribute in FROM.
7195 (merge_face_inheritance): Add function comment.
7196
41a68aef
KH
71972000-08-28 Kenichi Handa <handa@etl.go.jp>
7198
7199 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7200 the 4th arg (PREV_EVENT) Qt to suppress input method.
7201
f7c436c1
SM
72022000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7203
0b32bf0e
SM
7204 * regex.c: Indent cpp directives and remove parens after `defined'.
7205 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7206 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7207 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7208 (re_compile_pattern): Use size_t for length.
7209 (init_syntax_once): Move to a better place.
7210 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7211 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7212
f7c436c1
SM
7213 * syntax.c (back_comment): Detect cases where a comment-starter is
7214 actually inside another comment as in: /* a // b */ c // d \n.
7215 Make it clear that `comstart_pos' is unused for nested comments.
7216
7217 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7218 (KEYMAPP): New macro.
7219 (Fkeymap_parent, Fset_keymap_parent): Use it.
7220 (fix_submap_inheritance): Mark it static.
7221 (define_as_prefix, describe_buffer_bindings, describe_command)
7222 (describe_translation, describe_map): Complete prototypes.
7223
7224 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7225
7226 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7227 to better match the key-lookup behavior.
7228
6288c62f
GM
72292000-08-27 Gerd Moellmann <gerd@gnu.org>
7230
7231 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7232 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7233
e931344e
EZ
72342000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7235
7236 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7237 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7238 (xterm.o): Depend on coding.h
7239
d10dfeef
KH
72402000-08-26 Kenichi Handa <handa@etl.go.jp>
7241
7242 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7243 the corresponding '#endif'.
7244
2d73e8d3
MB
72452000-08-26 Miles Bader <miles@gnu.org>
7246
7247 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7248 * xfaces.c (QCinherit): New variable.
7249 (syms_of_xfaces): Initialize it.
7250 (LFACE_INHERIT): New macro.
7251 (Finternal_get_lisp_face_attribute)
52283633 7252 (merge_face_vector_with_property)
2d73e8d3
MB
7253 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7254 (check_lface_attrs): Allow new types of face height. Check
7255 inherit attribute.
7256 (CYCLE_CHECK): New macro.
7257 (merge_face_inheritance): New function.
7258 (merge_face_vectors): Merge inherited faces too. Add F and
7259 CYCLE_CHECK arguments.
7260 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7261 (lookup_named_face, lookup_derived_face, realize_named_face)
7262 (face_at_string_position, face_at_buffer_position): Supply
7263 new F and CYCLE_CHECK arguments to merge_face_vectors.
7264 (merge_face_heights): New function.
52283633 7265 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7266 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7267 handle relative face heights.
7268 (lface_same_font_attributes_p): Compare heights using EQ.
7269
6ce974d4
KH
72702000-08-26 Kenichi Handa <handa@etl.go.jp>
7271
7272 * charset.c (char_to_string): Check the character validity.
52283633 7273 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7274
dc1e502d
SM
72752000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7276
7277 * regex.c (PUSH_FAILURE_COUNT): New macro.
7278 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7279 Handle popping of a register's or a counter's data.
7280 (POP_FAILURE_POINT): Use the new name.
7281 (re_match_2_internal): Push counter data on the stack for succeed_n,
7282 jump_n and set_number_at and remove misleading dead code in succeed_n.
7283
bd9d0f3f
GM
72842000-08-25 Gerd Moellmann <gerd@gnu.org>
7285
7286 * xdisp.c (redisplay_internal): If considering all windows on all
7287 frames, update the display for each frame as soon as possible,
7288 instead of first building all desired matrices for all frames, and
7289 then updating them all.
7290 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7291
aa5b8e15
GM
72922000-08-24 Gerd Moellmann <gerd@gnu.org>
7293
17494071
GM
7294 * bytecode.c (mark_byte_stack): Add a comment.
7295
52283633
SM
7296 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7297 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7298 a graphical frame.
7299
c543db81
KH
73002000-08-24 Kenichi Handa <handa@etl.go.jp>
7301
d246d5f5
KH
7302 * minibuf.c (do_completion): Always use compare-string, not
7303 string-equal because the latter doesn't pay attention to
7304 multibyteness of strings.
7305
c543db81
KH
7306 * process.c (create_process): Don't setup raw-text coding here.
7307 (Fopen_network_stream): Don't set coding->src_multibyte and
7308 coding->dst_multibyte here.
7309 (read_process_output): For process filter, return unibyte string
7310 if default-enable-multibyte-characters is nil.
7311 (send_process): If OBJECT is multibyte text, be sure to encoded it
7312 by the specified coding system for the process. Otherwise, setup
7313 raw-text coding.
52283633 7314 (init_process): Don't initialize default-process-coding-system here.
c543db81 7315
9b47cfe0
EZ
73162000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7317
7318 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7319 <scroll-down-aggressively>: Likewise.
7320
f5a36960
KH
73212000-08-23 Kenichi Handa <handa@etl.go.jp>
7322
7323 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7324 zero. Set coding->produced_char correctly.
7325
69a7ffa7
AI
73262000-08-22 Andrew Innes <andrewi@gnu.org>
7327
7328 * makefile.w32-in: New file.
7329
7330 * unexw32.c (unexec): Ignore old_name, and use the actual location
7331 of the current executable instead. Base new_name on this.
7332
7333 * w32proc.c (create_child): Remove reference to security
7334 descriptor, which isn't needed and doesn't compile with mingw32.
7335
7336 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7337 up dllimport attributes.
7338 (x_update_window_end): Update prototype.
7339
7340 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7341 extern, which screws up dllimport attributes.
7342
7343 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7344 up dllimport attributes.
7345
7346 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7347 screws up dllimport attributes.
7348
7349 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7350 up dllimport attributes.
7351 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7352 screws up dllimport attributes.
7353
7354 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7355 up dllimport attributes.
7356
7357 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7358 screws up dllimport attributes.
7359
7360 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7361 screws up dllimport attributes.
7362
7363 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7364 up dllimport attributes.
7365
7366 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7367 unnecessary extern, which screws up dllimport attributes.
7368 (main): Ditto.
7369
7370 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7371 up dllimport attributes.
7372
7373 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7374 unnecessary extern, which screws up dllimport attributes.
7375
7376 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7377 screws up dllimport attributes.
7378
7379 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7380 up dllimport attributes.
7381
7382 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7383
52283633
SM
7384 * w32bdf.c (search_file_line):
7385 (set_bdf_font_info):
7386 (seek_char):
7387 (w32_get_bdf_glyph):
69a7ffa7
AI
7388 (w32_BDF_to_x_font): Fix compile warnings.
7389
52283633 7390 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7391
7392 * w32select.c: Include keyboard.h before frame.h.
7393
7394 * w32fns.c (max): Define macro.
7395 (JOHAB_CHARSET): Define if not known.
7396 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7397 (Fx_show_tip): Synch with X version.
7398
7399 * w32xfns.c: Include keyboard.h before frame.h.
7400
7401 * w32fns.c: Include keyboard.h before frame.h.
7402
7403 * w32term.c: Include keyboard.h before frame.h.
7404
7405 * fontset.c: Include keyboard.h before frame.h.
7406
7407 * w32inevt.c: Include keyboard.h before frame.h.
7408 (MOUSE_MOVED): Define if not known.
7409
7410 * minibuf.c: Include keyboard.h before frame.h.
7411
7412 * keyboard.c: Include keyboard.h before frame.h.
7413
7414 * indent.c: Include keyboard.h before frame.h.
7415
7416 * dispnew.c: Include keyboard.h before frame.h.
7417
7418 * buffer.c: Include keyboard.h before frame.h.
7419
7420 * alloc.c: Include keyboard.h before frame.h.
7421
7422 * print.c: Include keyboard.h before frame.h.
7423
7424 * process.c: Include keyboard.h before frame.h.
7425
7426 * scroll.c: Include keyboard.h before frame.h.
7427
7428 * sysdep.c: Include keyboard.h before frame.h.
7429
7430 * term.c: Include keyboard.h before frame.h.
7431
7432 * window.c: Include keyboard.h before frame.h.
7433
7434 * xdisp.c: Include keyboard.h before frame.h.
7435 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7436
7437 * frame.c: Include keyboard.h before frame.h.
7438
7439 * w32heap.h: Undefine min, max.
7440
7441 * w32gui.h: Undefine min, max.
7442
7443 * unexw32.c: Change PUCHAR to PCHAR.
7444 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7445 (relocate_offset):
7446 (get_section_info):
69a7ffa7
AI
7447 (copy_executable_and_dump_data): Remove unnecessary static defs.
7448 (copy_executable_and_dump_data): Fix compile warnings.
7449
7450 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7451
7452 * w32console.c (min): Define macro.
7453 (clear_frame, write_glyphs): Fix compile warning.
7454
52283633 7455 * w32proc.c (compare_env):
69a7ffa7
AI
7456 (find_child_console): Fix compile warning.
7457
7458 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7459 sys_errlist instead of _sys_errlist.
7460 (get_emacs_configuration_options): New function.
7461
7462 * s/ms-w32.h (sys_nerr): Provide default definition.
7463 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7464 name with _ prepended.
7465 (NSIG): Define if not known.
7466 (get_emacs_configuration): Provide extern declaration.
7467 (get_emacs_configuration_options): Provide extern declaration.
7468 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7469
7470 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7471 (map_w32_filename):
69a7ffa7
AI
7472 (read_unc_volume): Fix compile warning.
7473
7474 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7475 definitions from being used.
7476
7477 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7478
52283633 7479 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7480 (open_unc_volume): Make arg const.
7481
7482 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7483 (read_input_waiting): Remove excess parameter.
7484
7485 * w32.c (init_environment): Call _access.
7486 (check_windows_init_file): Call _close.
7487 (init_user_info): Call _putenv.
7488 (init_environment): Call _putenv and _strdup.
7489 (init_ntproc): Reset volume info cache on startup.
7490
7491 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7492 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7493 cannot override the CRT malloc.
7494
7495 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7496 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7497
7498 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7499 unless we are linking with a static CRT.
7500 (RVA_TO_PTR): Cast result to unsigned char*.
7501
7502 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7503 (add_volume_info): Use xstrdup.
7504
25060080
SM
75052000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7506
7507 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7508 (do_completion, Fminibuffer_complete_word): Use it.
7509 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7510 var so it can take non-boolean values.
7511
6917e6bb
GM
75122000-08-21 Gerd Moellmann <gerd@gnu.org>
7513
acb7cc89 7514 * editfns.c (find_field): Formatting changes.
52283633 7515 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7516 changed to prototypes, some new protypes added, some functions
7517 made static.
7518
7519 * lisp.h (set_time_zone_rule): Add prototype.
7520 (use_dialog_box): External declaration.
7521
0bbfdc25
GM
7522 * keyboard.c (gen_help_event): Add parameter SIZE.
7523 (kbd_buffer_events_waiting): Slightly rewritten.
7524 (clear_event): New function.
7525 (kbd_buffer_get_event): Use it, and clear the input_events of
7526 HELP_EVENTs.
7527 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7528 don't fill the newly created array with nils.
7529 (toplevel): Convert some old-style function forward declarations
7530 to prototypes.
7531
7532 * keyboard.h (gen_help_event): Change prototype.
7533
7534 * xterm.c (XTread_socket): Change calls to gen_help_event.
7535
7536 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7537
6917e6bb
GM
7538 * eval.c (Fmacroexpand): Doc fix.
7539
e5cd3d11
JR
75402000-08-20 Jason Rumney <jasonr@gnu.org>
7541
7542 * w32term.h (x_display_info_for_display): Remove as this function
7543 does not exist on W32.
7544
7545 * w32term.c (help_echo_window): New variable.
7546 (syms_of_w32term): staticpro it.
7547 (note_mode_line_highlight): Set it.
7548 (XTextExtents16): Removed as there is no equivalent on W32.
7549 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7550 the X way of doing this will not work for W32.
7551 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7552 (x_draw_image_foreground): Avoid drawing outside of the clip area
7553 when image doesn't have a mask.
7554 (note_mouse_highlight): Process overlays in the right order of
7555 priority. Set help_echo_window.
7556 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7557 because that's more visible for large images.
7558
7559 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7560 name to single_keymap_panes.
7561 (w32_menu_show): Set wv->title when dealing with titles.
7562 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7563
6e69ab8c
MB
75642000-08-21 Miles Bader <miles@gnu.org>
7565
7566 * minibuf.c (do_completion): Try again if we rewrite the input
7567 string, but no completion was done, so that any completion message
7568 will be correct.
7569
511bd4eb
GM
75702000-08-20 Gerd Moellmann <gerd@gnu.org>
7571
7572 * xfaces.c (lface_equal_p): Compare strings differently.
7573 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7574 (realize_tty_face): Use them.
7575 (syms_of_xfaces): Initialize new variables.
7576 (map_tty_color): New function, extracted from realize_tty_face.
7577 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7578 foreground or background color, store the new color name in the
7579 realized face; previous code trying to do this had no effect.
7580 (realize_tty_face): Use map_tty_color.
7581 (Fclear_face_cache): Set face_change_count and ensure thorough
7582 redisplay.
7583
1433385f
GM
75842000-08-19 Gerd Moellmann <gerd@gnu.org>
7585
511bd4eb
GM
7586 * undo.c (record_first_change, record_marker_adjustment): Don't
7587 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7588
419ac0a2
KH
75892000-08-18 Kenichi Handa <handa@etl.go.jp>
7590
7591 * coding.c (decode_coding_string): Set members consumed,
7592 consumed_char, produced, produced_char of *coding correctly. If
7593 decode_coding doesn't consume any byte, don't try anymore.
7594 (encode_coding_string): Likewise.
7595
7eb9e30d
GM
75962000-08-18 Gerd Moellmann <gerd@gnu.org>
7597
511bd4eb
GM
7598 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7599 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7600
7601 * xdisp.c (redisplay_internal): Compare windows for equality with
7602 EQ, instead of applying XWINDOW to something that might not
7603 be a window.
52283633 7604
dd34a735
KH
76052000-08-18 Kenichi Handa <handa@etl.go.jp>
7606
7607 * fontset.c (Finternal_char_font): Search only the selected frame
7608 for a window of the current buffer.
7609
385ff9e3
GM
76102000-08-18 Gerd Moellmann <gerd@gnu.org>
7611
511bd4eb 7612 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7613 Lisp_Objects.
7614
385ff9e3
GM
7615 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7616 second half of a HELP_EVENT is found at the start of kbd_buffer.
7617
d6abb4c7
MB
76182000-08-18 Miles Bader <miles@gnu.org>
7619
4618074a
MB
7620 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7621
d6abb4c7
MB
7622 * editfns.c (save_restriction_save): Rewrite to use markers.
7623 (save_restriction_restore): Rewrite to understand new form of data
7624 saved by save_restriction_save.
7625 (Fsave_restriction): Remove cautionary note in doc-string.
7626
a7b28523
GM
76272000-08-17 Gerd Moellmann <gerd@gnu.org>
7628
7629 * fileio.c (build_annotations): Add a comment explaining the
7630 return value of format-annotate-function. Replace a spurious call
7631 to Flength with a CONSP test. Call format-annotate-function with
7632 a fifth arg specifying how many times the function is been called
7633 in a row, to let it choose temporary buffers appropriately.
7634
03c9ed77
DL
76352000-08-17 Dave Love <fx@gnu.org>
7636
7637 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7638 declare make_temp_name twice.
7639
52283633 7640 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7641 (unreadpure): Give it an arg.
7642
7643 * unexalpha.c: Prototype fatal_unexec, mark_x,
7644 update_dynamic_symbols. Declare unexec as void.
7645
7646 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7647 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7648
7649 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7650 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7651
7652 * alloca.c: Use #error.
7653 [POINTER_TYPE]: Use it.
7654
7655 * eval.c (Fdefvar): Doc fix.
7656
7657 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7658 INITIALIZE_INTERVAL.
7659
7660 * buffer.h: Avoid DECLARE_INTERVALS.
7661
7662 * config.in: Add size_t.
7663
aae41d97
EZ
76642000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7665
7666 * w16select.c (set_clipboard_data): If there's not enough memory
7667 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7668 expects. In case of other failures, return 3.
7669 (system_error_msg): New error message.
7670 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7671 system_error_msg.
7672
65aa5e85
GM
76732000-08-16 Gerd Moellmann <gerd@gnu.org>
7674
7675 * term.c (write_glyphs): Also turn off inverse video after turning
7676 off other appearances in case TS_exit_attribute_mode is not equal
7677 to TS_end_standout_mode.
7678 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7679 with the same face.
7680 (turn_off_face): Reset standout_mode only if
7681 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7682 is equal to TS_end_standout_mode.
7683
ece23901
KH
76842000-08-16 Kenichi Handa <handa@etl.go.jp>
7685
9d7bcb2e
KH
7686 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7687 sequence at the end of the source block.
7688
ece23901
KH
7689 * ccl.c (Fccl_program_p): Docstring modified.
7690 (Fccl_execute): Likewise.
7691 (Fccl_execute_on_string): Likewise.
7692
5e30eaa2
EZ
76932000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7694
7695 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7696
290602fd
KH
76972000-08-16 Kenichi Handa <handa@etl.go.jp>
7698
7699 The following changes are mainly to fix bugs of
7700 encode/decode-coding-string failing if encoding/decoding return
7701 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7702 variable conversion_buffer.
7703
7704 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7705 decrement dst_end to avoid buffer overflow in the later call of
7706 string_as_multibyte
7707
7708 * coding.h (conversion_buffer_size, conversion_buffer)
7709 (get_conversion_buffer): Extern deleted.
7710
7711 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7712 (conversion_buffer, conversion_buffer_size): Variables deleted.
7713 (get_conversion_buffer): Function deleted.
7714 (struct conversion_buffer): New structure.
7715 (MAX_ALLOCA): New macro.
7716 (allocate_conversion_buffer): New macro.
7717 (extend_conversion_buffer, free_conversion_buffer): New functions.
7718 (ccl_coding_driver): Set coding->result.
7719 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7720 this is the last block of source.
7721 (encode_coding): Likewise. Handle the source block as the last
7722 one only when the whole source text is consumed.
7723 (decode_coding_string): Handle the case that the output buffer is
7724 too small to decode the whole source text. Use
7725 allocate_conversion_buffer, extend_conversion_buffer and
7726 free_conversion_buffer, not get_conversion_buffer.
7727 (encode_coding_string): Likewise.
7728 (init_coding): Function deleted.
52283633 7729 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7730
7731 * emacs.c (main): Don't call init_coding.
7732
52283633 7733 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7734
7735 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7736 (insert_glyphs): Likewise.
7737
7738 * w32console.c (write_glyphs): Use a locally declared
7739 conversion_buffer.
7740
b9f80d41
EZ
77412000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7742
7743 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7744 member of display_info is NULL.
7745
32dc52f7
GM
77462000-08-15 Gerd Moellmann <gerd@gnu.org>
7747
52283633 7748 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7749
32dc52f7 7750 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7751 appearances with capability `me'.
32dc52f7
GM
7752 (write_glyphs): Switch on inverse video before each face change.
7753
4eb22d33
DL
77542000-08-14 Dave Love <fx@gnu.org>
7755
7756 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7757 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7758 (lisp_free): Declare and make static.
7759
7760 * window.c: Fix embedded comment.
7761 (syms_of_window): Fix doc string.
7762
90cbf47e
GM
77632000-08-14 Gerd Moellmann <gerd@gnu.org>
7764
52283633 7765 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7766 make sure to print `C-' before `M-', like in the manual.
7767
440fc135
GM
77682000-08-11 Gerd Moellmann <gerd@gnu.org>
7769
7770 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7771 since they aren't relocated anymore.
52283633 7772 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7773
7774 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7775 partially visible line which is smaller than the window's height.
440fc135 7776
6e264fad
KH
77772000-08-11 Kenichi Handa <handa@etl.go.jp>
7778
7779 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7780 the multibyte form of eight-bit-control characters.
6e264fad
KH
7781 (Fccl_execute_on_string): Initialize ccl->multibyte.
7782
7783 * ccl.h (struct ccl_program): New member multibyte.
7784
7785 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7786
c371f69a
KH
77872000-08-11 Kenichi Handa <handa@etl.go.jp>
7788
7789 * regex.c (regex_compile) <normal_char>: Pay attention to
7790 multibyteness.
7791 (analyse_first) <exactn>: Setup fastmap correctly for
7792 eight-bit-control characters.
7793
77942000-08-11 Kenichi Handa <handa@etl.go.jp>
7795
52283633 7796 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7797
7798 * keyboard.c (make_lispy_event): Handle the new event type
7799 multibyte_char_keystroke.
7800
7801 * xterm.c: Include coding.h.
7802 (XTread_socket): Work around a bug of XmbLookupString. If the
7803 input is from XIM, decode it according to the current locale. In
7804 that case, generate multibyte_char_keystroke events.
7805
b8ddbe71
KH
78062000-08-11 Kenichi Handa <handa@etl.go.jp>
7807
7808 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7809 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7810
47589c8c
GM
78112000-08-10 Gerd Moellmann <gerd@gnu.org>
7812
7813 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7814 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7815 (move_it_in_display_line_to): Record iterator's ascent and descent
7816 before producing glyphs, and restore them when we know the glyph
7817 doesn't fit on the line.
7818 (move_it_to): Restructured so that it's easier to debug. If
7819 moving to a vpos, and not moving to an x or character position,
7820 stop as soon as the specified vpos is reached; don't move further
7821 into that line because that might change the computed line height.
7822 (try_cursor_movement): New function, extracted from the cursor
7823 movement branch of redisplay_window. If ending on a partially
7824 visible line, don't try to scroll if the cursor line is taller
7825 than the window.
7826 (redisplay_window): Use try_cursor_movement.
7827
7828 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7829 because that function doesn't cope with variable-height lines.
7830
7831 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7832 box cursor because that's better visible for large images.
52283633 7833
c51bacd6
MB
78342000-08-10 Miles Bader <miles@gnu.org>
7835
7836 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7837
bea56df7
GM
78382000-08-10 Gerd Moellmann <gerd@gnu.org>
7839
7840 * xdisp.c (Vmessages_buffer_name): New variable.
7841 (message_dolog): Use it.
7842 (syms_of_xdisp): Initialize it.
7843
99cd7364
EZ
78442000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7845
52283633 7846 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7847 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7848 redundant now that keyboard.h is included.
7849
7d093d56
EZ
78502000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7851
7852 * keyboard.c (kbd_buffer_events_waiting): New function.
7853
7854 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7855
7856 * msdos.c: Include keyboard.h.
7857 (XMenuActivate): Empty no_event events from the event buffer. If
7858 no events are left after that, call clear_input_pending.
7859 (mouse_clear_clicks): New function, code moved from mouse_init.
7860 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7861 mouse driver to ``forget'' any past clicks.
7862
7863 * Makefile.in (msdos.o): Depend on keyboard.h.
7864
41e757a6
GM
78652000-08-09 Gerd Moellmann <gerd@gnu.org>
7866
8e7bd231
GM
7867 * lisp.h (input_pending): External declaration.
7868
7869 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7870
8e7bd231
GM
7871 * xdisp.c (echo_area_display): Display thoroughly if input is
7872 pending. Bind redisplay-dont-pause to t during the redisplay.
7873 in case input is pending.
7874
7875 * dispnew.c (Qredisplay_dont_pause): New variable.
7876 (syms_of_display): Initialize and staticpro it.
7877 (update_frame_1): Don't interrupt the display for pending input if
7878 redisplay_dont_pause is set.
52283633 7879
43028b7e
GM
7880 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7881
41e757a6
GM
7882 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7883
2f2174fa
KH
78842000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7885
7886 * callproc.c (Fcall_process): Terminate the unwind-protect around
7887 the post-read-conversion of coding system.
7888
0a6fd67e
MB
7889 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7890 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7891 * buffer.h (overlays_at): Update prototype.
7892 * xdisp.c (next_overlay_change): Update call to overlays_at.
7893 * xfaces.c (face_at_buffer_position): Likewise.
7894 * textprop.c (Fget_char_property): Likewise.
7895 * xterm.c (note_mouse_highlight): Likewise.
7896
0c80756e
MB
7897 * minibuf.c (do_completion): Don't consider a simple change of
7898 case as `completion'.
7899
975f250a
KR
79002000-08-08 Ken Raeburn <raeburn@gnu.org>
7901
52283633 7902 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7903 * undo.c (record_delete): Make sure last_point_position_buffer is
7904 a buffer before comparing pointers.
7905
7906 * coding.h (decode_coding_string): Declare.
7907
7908 * intervals.h (Fprevious_single_char_property_change): Declare.
7909
7910 * textprop.c (Fprevious_single_char_property_change): Don't do
7911 arithmetic directly on lisp objects.
7912
52283633 7913 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7914
7915 * keyboard.h (menu_item_eval_property): Declare.
7916
7917 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7918 reuse as buffer name, instead of recreating (and discarding) every
7919 time a message is logged.
7920 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7921 (current_message_1, truncate_message_1, set_message_1)
7922 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7923 (current_message, truncate_echo_area, display_echo_area)
7924 (resize_echo_area_axactly): Changed calls.
b347b3fd 7925
975f250a 7926 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7927 Lisp object.
975f250a 7928 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7929 must be an integer, not a Lisp object.
975f250a 7930
46dc9912
KH
79312000-08-08 Kenichi Handa <handa@etl.go.jp>
7932
7933 * charset.c (Fchar_width): Doc fix.
7934
9f6d1a6c
GM
79352000-08-08 Gerd Moellmann <gerd@gnu.org>
7936
7937 * charset.c (Fstring_width): Doc fix.
7938
ff3d9573
GM
79392000-08-07 Gerd Moellmann <gerd@gnu.org>
7940
41e757a6 7941 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7942 line, clear ascent and descent members of the iterator structure;
7943 the height of the continued line does not affect the height of the
7944 continuation line.
7945 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7946 line taller than the window.
7947 (redisplay_window) <forced window start>: Handle case that the
7948 middle of the window is not found in any row.
7949 (dump_glyph_row): Show more information.
7950 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7951 first text line in a glyph matrix.
7952
7953 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7954 of the clip area when image doesn't have a mask.
7955
70fc58b3
GM
7956 * fns.c (sweep_weak_table): Fix survival conditions for
7957 key-or-value and key-and-value weakness.
7958
7959 * .gdbinit (xhashtable): New command.
7960
ac0e96ee
GM
7961 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7962 tables out of the list of all weak hash tables.
7963
ff3d9573
GM
7964 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7965 a new buffer is created, make sure echo_area_buffer[] references
7966 the new buffer.
7967
e0d8827b
EZ
79682000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7969
7970 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7971 the doc string.
7972
c6f35378
KH
79732000-08-07 Kenichi Handa <handa@etl.go.jp>
7974
7975 * syntax.c (skip_chars): Fix previous change. Make the handling
7976 of unibyte string consistent with that of regex search.
7977
1fd4c450
GM
79782000-08-05 Gerd Moellmann <gerd@gnu.org>
7979
e49aa397
GM
7980 * xmenu.c (popup_get_selection): Use xfree instead of free.
7981
7982 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7983
7984 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7985
7986 * callproc.c (child_setup): Use xfree instead of free.
7987
7988 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7989 instead of malloc.
7990 (run_mac_command, closedir): Use `xfree' instead of `free'.
7991
7992 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7993
7994 * eval.c (error): Use xfree instead of free.
7995
1fd4c450
GM
7996 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7997
7998 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7999 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8000
82d497fc
KH
80012000-08-05 Kenichi Handa <handa@etl.go.jp>
8002
8003 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8004 conversion.
8005
59f953a2
NF
80062000-08-04 Noah Friedman <friedman@splode.com>
8007
8008 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8009 docstring.
8010
688351f2
GM
80112000-08-04 Gerd Moellmann <gerd@gnu.org>
8012
8013 * syntax.c (skip_chars): Fix typo in error message.
8014
2dad51cc
AS
80152000-08-04 Andreas Schwab <schwab@suse.de>
8016
8017 * m/ia64.h: Moved from s/ia64.h.
8018
99bb2c60
KH
80192000-08-04 Kenichi Handa <handa@etl.go.jp>
8020
082a1df2
KH
8021 * process.c (read_process_output): Big simplification. Handle
8022 composition and post-read-conversion of coding system correctly.
8023 (send_process): Handle composition correctly.
8024
8025 * callproc.c (Fcall_process): Handle post-read-conversion of
8026 coding system if any.
8027
99bb2c60
KH
8028 * coding.c (decode_coding_iso2022): More strict check for handling
8029 single shifting.
082a1df2
KH
8030 (coding_restore_composition): Pay attention to the case that
8031 cmp_data is not set properly (because of invalid code in the
8032 source text).
8033 (run_pre_post_conversion_on_str): Include text properties in the
8034 resulting string.
8035 (decode_coding_string): Set members of coding correctly.
99bb2c60 8036
f4988be7
GM
80372000-08-03 Gerd Moellmann <gerd@gnu.org>
8038
8039 * s/ia64.h: New file.
8040
8041 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8042 Use NULL instead of 0 at the end of variable argument list of
8043 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8044 sizeof (int) < sizeof (void *).
8045
8046 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8047 of variable argument lists of XtVaGetValues and XtVaSetValues.
8048
8049 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8050 variable argument lists of XtVaGetValues and XtVaSetValues.
8051
ead53494
GM
80522000-08-02 Gerd Moellmann <gerd@gnu.org>
8053
8054 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8055 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8056
8057 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8058 prototype.
8059
8060 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8061 in call to Fsingle_key_description.
8062
8063 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8064 Callers changed.
8065
80662000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8067
8068 * window.c (display_buffer_reuse_frames): New variable.
8069 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8070 frames displaying BUFFER.
52283633 8071 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8072
10b0f752
MB
80732000-08-01 Miles Bader <miles@gnu.org>
8074
8075 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8076 when to constrain NEW_POS (they were pretty screwed up before).
8077
16425c4a
EZ
80782000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8079
8080 * msdos.c (run_msdos_command): Save and restore the master
8081 environment, for the case that child_setup signals an error.
8082 When mirroring slashes in DOS shell commands, don't fail when
8083 argv[2] has embedded blanks.
da288c14
EZ
8084 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8085 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8086 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8087
8088 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8089 using alloca; free it after run_msdos_command returns.
8090
27f73852
DL
80912000-07-27 Dave Love <fx@gnu.org>
8092
52283633
SM
8093 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8094 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8095
8096 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8097
c0261b5e
EZ
80982000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8099
8100 * editfns.c (lisp_time_argument): Fix last change.
8101
b548072f
GM
81022000-07-27 Gerd Moellmann <gerd@gnu.org>
8103
3ab82477
GM
8104 * fns.c (Fdelete): Make it work on vectors and strings in addition
8105 to lists.
8106
b548072f
GM
8107 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8108 (syms_of_fns): Initialize new variables.
52283633 8109 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8110 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8111 weakness, with t meaning the same as `key-and-value'.
8112
91ae8751
KH
81132000-07-27 Kenichi Handa <handa@etl.go.jp>
8114
8115 * coding.h (struct coding_system): Member safe_charset deleted.
8116
8117 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8118 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8119 New variables.
91ae8751
KH
8120 (coding_safe_chars): New function.
8121 (CODING_SAFE_CHAR_P): New macro.
8122 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8123 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8124 (detect_coding_iso2022): New local variable safe_chars.
8125 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8126 safe_charsets member of the coding system.
8127 (decode_coding_iso2022): New local variable safe_chars.
8128 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8129 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8130 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8131 (ENCODE_UNSAFE_CHARACTER): New macro.
8132 (encode_coding_iso2022): New local variable safe_chars. Check
8133 unsafe chars.
8134 (setup_coding_system): Delete the code to initialize
8135 coding->safe_charses
8136 (intersection, find_safe_codings): New functions.
8137 (Ffind_coding_systems_region_internal): New function.
8138 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8139 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8140 variable and initialize it.
8141
8142 * fns.c (char_table_ref_and_index): New function.
8143
8144 * lisp.h (char_table_ref_and_index): Add prototype.
8145
34a7a267
SS
81462000-07-26 Sam Steingold <sds@gnu.org>
8147
8148 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8149 (Ffloat_time): New built-in Lisp function.
34a7a267 8150
a95cb10a
GM
81512000-07-26 Gerd Moellmann <gerd@gnu.org>
8152
3353ef5a
GM
8153 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8154 for the character code.
8155
8156 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8157 GNU/Linux.
8158
a95cb10a
GM
8159 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8160 if called for a popup menu.
8161 (xmenu_show): Store help string in widget values.
8162
b4a12321
DL
81632000-07-26 Dave Love <fx@gnu.org>
8164
8165 * syswait.h: Move some definitions.
8166 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8167 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8168 perspicuous definitions.
8169 (WTERMSIG): Fix bit pattern used.
8170
13f5ad37
KH
81712000-07-26 Kenichi Handa <handa@etl.go.jp>
8172
8173 * print.c (print_object): If vector printing is truncated, print
8174 "..." to indicate it as well as the case of list printing.
8175
070fe99c
GM
81762000-07-25 Gerd Moellmann <gerd@gnu.org>
8177
969065c3
GM
8178 * xdisp.c (next_element_from_display_vector): Improve comments.
8179
8180 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8181 for the character code, and the rest for the face id as in 20.x.
8182 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8183
8184 * window.c (window_display_table): Cleaned up.
8185
070fe99c
GM
8186 * syntax.c (Fforward_word): Add last arg nil in call of
8187 Fconstrain_to_field.
8188
bad77ef7
EZ
81892000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8190
969065c3 8191 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8192 identical but for the letter-case, don't call
8193 barf_or_query_if_file_exists.
bad77ef7 8194
c28da489
MB
81952000-07-25 Miles Bader <miles@gnu.org>
8196
8197 * editfns.c (find_field): Honor special `boundary' fields.
8198 (Qboundary): New variables.
8199 (syms_of_editfns): Initialize Qboundary.
8200 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8201 Use scan_buffer instead of find_before_next_newline, because it
8202 allows us to detect the boundary case where there's a newline at
8203 the search limit.
8204 * lisp.h (Fconstrain_to_field): Update external declaration.
8205
e3c31fd5
GM
82062000-07-24 Gerd Moellmann <gerd@gnu.org>
8207
8208 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8209 if that is nil.
c28da489 8210
c66c29a2
DL
82112000-07-24 Dave Love <fx@gnu.org>
8212
8213 * s/sunos4-0.h, s/sol2.h:
8214 (LIBS_TERMCAP): Move from m/sparc.h.
8215
8216 * m/sparc.h (TERMINFO): Moved to system files (probably only
8217 relevant for sunos4 judging by its vintage).
8218 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8219 __arch64__.
8220
fbe0a958
EZ
82212000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8222
8223 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8224 name to single_keymap_panes.
8225
7d88e5c9
AS
82262000-07-24 Andreas Schwab <schwab@suse.de>
8227
8228 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8229
e024b101
GM
82302000-07-24 Gerd Moellmann <gerd@gnu.org>
8231
8232 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8233 parameters instead of using int parameters. Expect FN to accept
8234 EMACS_INT parameters.
8235 (display_echo_area, resize_echo_area_axactly, current_message)
8236 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8237 with new argument list.
8238 (resize_mini_window_1): New callback function.
8239 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8240 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8241
25c1a9ce
KH
82422000-07-24 Kenichi Handa <handa@etl.go.jp>
8243
8244 * fontset.c (fontset_ref): Remove INLINE declaration.
8245 (fontset_ref_via_base): Likewise.
8246 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8247 to downcase.
8248
7f987ac0
EZ
82492000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8250
8251 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8252 correct order of priority. If help echo was found in an overlay,
8253 use that overlay as the object in which the help echo was found.
8254
e2db3069
MB
82552000-07-22 Miles Bader <miles@gnu.org>
8256
8257 * textprop.c (Fprevious_single_char_property_change): The initial
8258 property value should be from the position preceding POSITION, not
8259 following it.
8260
5e3203e4
EZ
82612000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8262
8263 * coding.c (syms_of_coding): Doc fix for
8264 inhibit-iso-escape-detection.
8265
62145073
GM
82662000-07-21 Gerd Moellmann <gerd@gnu.org>
8267
c20aeb83
GM
8268 * xterm.c (note_mouse_highlight): Process overlays in the right
8269 order of priority.
34a7a267 8270
743934db
GM
8271 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8272
8273 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8274 overlay, use that overlay as the object in which the help was found.
743934db 8275
d1dc7e43 8276 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8277
62145073
GM
8278 * window.c (foreach_window): Instead of a fake variable argument
8279 list, take one USER_DATA argument.
8280 (foreach_window_1): Likewise, and call callback functions with two
8281 args, the window and USER_DATA.
8282 (struct check_window_data): New struct.
8283 (check_window_containing): Use it.
8284 (window_from_coordinates): Set up a struct check_window_data for
8285 foreach_window.
8286 (add_window_to_list, freeze_window_start): Change parameters
8287 according to new calling convention.
8288
8289 * window.h (foreach_window): Change prototype.
8290
8291 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8292
82932000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8294
8295 * xmenu.c (menu_help_callback): Call show_help_echo with
8296 additional arguments OBJECT and POS.
8297
11270583
KH
82982000-07-21 Kenichi Handa <handa@etl.go.jp>
8299
07b14857
KH
8300 * data.c (Faset): Allow storing any multibyte character in a
8301 string. Convert unibyte string to multibyte if necessary.
8302
11270583
KH
8303 * xfns.c (x_encode_text): New function.
8304 (x_set_name): Use x_encode_text.
8305 (x_set_title): Likewise.
8306
8307 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8308
8309 * xterm.h (x_encode_text): Add prototype.
8310
bc75b4fd
DL
83112000-07-20 Dave Love <fx@gnu.org>
8312
8313 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8314 xfree, not free.
8315
48c14970
EZ
83162000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8317
8318 * msdos.c (help_echo_window): New variable.
8319 (syms_of_msdos): Initialize and staticpro it.
8320 (IT_note_mode_line_highlight): Set help_echo_window.
8321 (IT_note_mouse_highlight): Ditto.
8322 (dos_rawgetc): Store help_echo_window in the second event produced
8323 for HELP_EVENTs.
8324
8325 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8326 Record the object that generated the help echo and the position of
8327 that object in help_echo_object and help_echo_pos. Record that
8328 some glyphs in a row are displayed in mouse-face.
8329 (IT_update_begin): Don't clear mouse highlight unless one of the
8330 enabled glyph rows is marked as being displayed in mouse-face.
8331 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8332 and position recorded in help_echo_object and help_echo_pos to the
8333 event queue.
8334 (IT_menu_display): Accept a new argument PN: the pane number of
8335 the current menu pane. Record the pane number and the item
8336 number of the item which has associated help string.
8337 (XMenuActivate): Update the prototype for help_callback in
8338 function declaration. Call IT_menu_display with the current menu
8339 pane number as an additional argument. Call help_callback with
8340 two additional arguments: the pane number and the item number of
8341 the menu item associated with the help text.
8342 (help_echo_object, help_echo_pos): New variables.
8343 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8344
8345 * msdos.h (XMenuActivate): Update prototype.
8346
4279296d
GM
83472000-07-19 Gerd Moellmann <gerd@gnu.org>
8348
47db06aa
GM
8349 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8350 Add some more prototypes.
8351
8352 * xterm.c, xterm.h: Add some more prototypes.
8353
8354 * lisp.h (Fnext_single_char_property_change): Add prototype.
8355
8356 * dispnew.c (direct_output_for_insert): Remove confusing
8357 outer local variable mouse_face_overwritten_p.
8358 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8359
4279296d
GM
8360 * alloc.c (allocate_string_data): Don't copy old string contents.
8361
670acd62
KH
83622000-07-19 Kenichi Handa <handa@etl.go.jp>
8363
8364 * coding.c (code_convert_region): Delete text properties before
8365 shrinking the conversion region.
8366
7cea38bc
GM
83672000-07-18 Gerd Moellmann <gerd@gnu.org>
8368
dc1cac59
GM
8369 * dispnew.c (update_text_area): Write the whole row if it
8370 has mouse-face in it.
8371
85a8aca9
GM
8372 * xfaces.c (face-alternative-font-family-alist): Remove
8373 DEFVAR_LISP; staticpro instead.
8374
34a7a267 8375 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8376 new arguments.
8377
8378 * keyboard.c (show_help_echo): Add parameter WINDOW.
8379 (read_char): Call show_help_echo with window extracted from Lisp
8380 help event.
8381 (gen_help_event): Add parameter WINDOW.
8382
8383 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8384
8385 * xterm.c (help_echo_window): New variable.
52283633 8386 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8387 (XTread_socket): Pass help_echo_window to gen_help_event.
8388 (syms_of_xterm): Initialize and staticpro help_echo_window.
8389
f8276b77
DL
83902000-07-18 Dave Love <fx@gnu.org>
8391
52283633 8392 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8393
088831a6
GM
83942000-07-18 Gerd Moellmann <gerd@gnu.org>
8395
3d6cd763
GM
8396 * alloc.c (allocate_string_data): If string had already data
8397 assigned, copy old contents to new string data.
8398
8399 * coding.c (syms_of_coding): Fix typo in spelling of variable
8400 `inhibit-iso-escape-detection'.
8401
088831a6
GM
8402 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8403
8404 * Makefile.in: Add dependencies on dispextern.h.
8405 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8406 `free'; both can conflict with system header files.
8407
bc8a8d55
KH
84082000-07-18 Kenichi Handa <handa@etl.go.jp>
8409
8410 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8411 undefined.
8412
069f5950
DL
84132000-07-18 Dave Love <fx@gnu.org>
8414
8415 * window.c (Fwindow_list): Declare arg `window'.
8416
aa96c820
KH
84172000-07-18 Kenichi Handa <handa@etl.go.jp>
8418
8419 * coding.c (setup_coding_system): Don't override the explicitly
8420 specified designations.
8421
06be8d32
MB
84222000-07-15 Miles Bader <miles@gnu.org>
8423
8424 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8425 from `text_property_eq' and `text_property_stickiness', respectively.
8426 (find_field, Fconstrain_to_field, char_property_eq)
8427 (char_property_stickiness): Changed to call char-property functions
8428 instead of text-property-only ones.
8429
8430 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8431 `next_single_char_property_change'). Do more error checking, and
8432 cleanup limit behavior.
8433 (Fprevious_single_char_property_change): New function.
8434 (syms_of_textprop): Initialize new subrs.
8435
8436 * xdisp.c (display_prop_end, invisible_text_between_p):
8437 Call Fnext_single_char_property_change instead of
8438 next_single_char_property_change.
8439
3fddcdc3
JR
84402000-07-15 Jason Rumney <jasonr@gnu.org>
8441
8442 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8443 after menu is finished with.
8444 (add_menu_item): Only consider wv->title as a menu title.
8445 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8446
8447 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8448 null title.
8449 (FONT_REGEXP): Remove unused macro, and its sub-components.
8450 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8451
8452 * w32term.c (help_echo_object, help_echo_pos): New variables.
8453 (note_mode_line_highlight): Store additional information about the
8454 help-echo in help_echo_object and help_echo_pos. Check both
8455 `local-map' and `keymap' properties for changing the cursor
8456 (note_mouse_highlight): Store additional information about the
8457 help-echo in help_echo_object and help_echo_pos.
8458 (note_tool_bar_highlight): Set help_echo_object to nil and
8459 help_echo_pos to -1.
8460 (w32_read_socket): Use gen_help_event instead of filling
8461 input_events manually.
8462 (syms_of_w32term): Staticpro help_echo_object.
8463 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8464 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8465 (x_clear_mouse_face): New function.
8466 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8467 (x_update_window_begin): No need to turn off the mouse
8468 highlight here.
8469 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8470 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8471 (x_fill_stretch_glyph_string): Consume runs of stretch
8472 glyphs instead of a single one.
8473 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8474 with new argument list.
8475 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8476 (x_append_glyph, x_append_composite_glyph)
8477 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8478 changes in struct glyph starting 1999-12-27. See comments for
8479 xterm.c on 2000-07-05.
8480
178c5d9c
SS
84812000-07-14 Sam Steingold <sds@gnu.org>
8482
8483 * xfaces.c (realize_x_face): Fix the last patch:
8484 check `default_face' before dereferencing.
8485
6fe533f6
DL
84862000-07-14 Dave Love <fx@gnu.org>
8487
069f5950 8488 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8489
dd7b81cf
KH
84902000-07-14 Kenichi Handa <handa@etl.go.jp>
8491
0693904a 8492 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8493 default_face's fontset, not using the default fontset.
0693904a 8494
dd7b81cf
KH
8495 * coding.c (inhibit_iso_escape_detection): New variable.
8496 (syms_of_coding): Make it a Lisp variable.
8497 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8498 nonzero, ignore ISO2022's escape sequence.
8499
d5aa31d8
GM
85002000-07-14 Gerd Moellmann <gerd@gnu.org>
8501
e5acf0ca
GM
8502 * alloca.c (malloc) [emacs]: Define as xmalloc.
8503
bd23a692
GM
8504 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8505 use that instead of the mouse position. Add parameters DX and DY.
8506
8507 * dispextern.h (Fx_show_tip): Adjust number of parameters
8508 in prototype.
8509
9662da0b
GM
8510 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8511 if HELP is a function, call it with OBJECT and POS as parameters
8512 to get the help to display.
8513 (gen_help_event, kbd_buffer_store_help_event): New functions.
8514 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8515 (read_char): Call show_help_echo with new parameters.
8516
178c5d9c 8517 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8518 Add prototypes.
8519
8520 * xterm.c (help_echo_object, help_echo_pos): New variables.
8521 (note_mode_line_highlight): Store additional information about the
8522 help-echo in help_echo_object and help_echo_pos. Check both
8523 `local-map' and `keymap' properties for changing the cursor
8524 (note_mouse_highlight): Store additional information about the
8525 help-echo in help_echo_object and help_echo_pos.
8526 (note_tool_bar_highlight): Set help_echo_object to nil and
8527 help_echo_pos to -1.
8528 (XTread_socket): Use gen_help_event instead of filling
8529 input_events manually.
8530 (syms_of_xterm): Staticpro help_echo_object.
8531
8532 * xmenu.c (menu_highlight_callback): Use
8533 kbd_buffer_store_help_event instead of setting up and input_event
8534 structure manually.
8535
8536 * xdisp.c (eval_form): GCPRO argument sexpr.
8537 (call_function): New function.
8538 (handle_single_display_prop): Use call_function and FUNCTIONP
8539 instead of checking whether if font_height is a symbol and
8540 using eval_form.
8541
8542 * eval.c (internal_condition_case_2): New function.
8543
8544 * lisp.h (FUNCTIONP): New macro.
8545 (internal_condition_case_2, call_function): Add prototypes.
8546
d5aa31d8
GM
8547 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8548 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8549 Always set `arg' member of input_events.
8550 (construct_menu_click): Unused function removed.
8551
8552 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8553
8554 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8555 (construct_drag_n_drop, x_scroll_bar_handle_click)
8556 (w32_read_socket): Always set `arg' member of input_events.
8557
8558 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8559
8560 * lisp.h (eval_form): Add prototype.
8561
8562 * xdisp.c (eval_form): Make it externally visible.
8563
0f1a9b23
GM
85642000-07-13 Gerd Moellmann <gerd@gnu.org>
8565
8566 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8567 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8568 consing. For prefix events, store the frame in the `arg' slot of
8569 the event, otherwise store the key there.
8570 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8571 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8572
8573 * xmenu.c (menu_highlight_callback): Store help string in the
8574 `arg' member of the input event; don't cons.
8575 (menubar_selection_callback): Use the `arg' slot of input events
8576 to queue additional information, instead of consing.
8577
8578 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8579
8580 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8581 TOOL_BAR_EVENTs.
8582 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8583
8584 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8585 input events to queue additional information, instead of consing.
8586
8587 * keyboard.c (kbd_buffer_gcpro): Renamed from
8588 kbd_buffer_frame_or_window. Now used for all Lisp objects
8589 referenced from the input queue.
8590 (kbd_buffer_store_event): Always use structure assignment for
8591 copying input events. Record all Lisp objects referenced from
8592 events in kbd_buffer_gcpro.
8593 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8594 differently from input events. Test for prefix menu_bar_events
8595 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8596 event in kbd_buffer_gcpro to nil.
8597 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8598 frame_or_window is equal to its arg member as prefix events.
8599 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8600 used by an input event to nil.
8601 (init_keyboard): Use two times the size of the input queue
8602 for kbd_buffer_gcpro.
8603 (syms_of_keyboard): Likewise.
8604
52283633
SM
8605 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8606 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8607
8608 * termhooks.h (struct input_event): Add member `arg'.
8609 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8610 (USER_SIGNAL_EVENT): Renamed from user_signal.
8611
8612 * xfaces.c (ASET): Remove definition.
8613
8614 * lisp.h (AREF, ASET, ASIZE): New macros.
8615
8616 * fontset.c (AREF, ASIZE): Remove definitions.
8617
8618 * fns.c (AREF): Remove definition.
178c5d9c 8619
0f1a9b23
GM
8620 * composite.c (AREF): Remove definition.
8621
712eaef2
GM
86222000-07-12 Gerd Moellmann <gerd@gnu.org>
8623
d8ee7803
GM
8624 * dispnew.c (redraw_overlapped_rows): Add missing local.
8625 (scrolling_window): Remove debug code.
8626
712eaef2
GM
8627 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8628 Before scrolling, turn off a mouse-highlight in the window
8629 being scrolled.
8630
8631 * xterm.c (x_update_window_end): Add parameter
8632 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8633 redisplay in XTframe_up_to_date.
8634 (x_clear_mouse_face): New function.
8635 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8636
8637 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8638 current glyph row.
8639 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8640 it when any row is written to that contains glyphs highlighted in
8641 mouse-face.
8642 (update_window): Call the window update end hook with new
8643 parameter MOUSE_FACE_OVERWRITTEN_P.
8644 (direct_output_for_insert): Give up if row contains mouse-face.
8645
8646 * dispextern.h (struct redisplay_interface): Add parameter
8647 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8648 (clear_mouse_face): New function pointer member.
8649
02010917
SM
86502000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8651
8652 * syntax.c (back_comment): Use one switch rather than a few `if's.
8653 Obey open_paren_in_column_0_is_defun_start.
8654 When reverting to the `slow' method, try to nicely handle the case
8655 of nested comments by checking that the comment-starter we found
8656 does indeed match the comment-ender.
8657 (scan_sexps_forward, scan_sexps_forward):
8658 Ignore excessive opening parenthesis rather than throwing an error.
8659
d76c03ea
GM
86602000-07-11 Gerd Moellmann <gerd@gnu.org>
8661
8662 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8663 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8664
8665 * dispnew.c (direct_output_forward_char): Give up if currently
8666 displaying a message instead of the minibuffer contents.
8667
8668 * xterm.c (x_update_window_begin): No need to turn off the mouse
8669 highlight here.
8670 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8671 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8672
8673 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8674 compare the mouse_face_p flags of both rows.
8675
8676 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8677
d55ead18
EZ
86782000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8679
8680 * keyboard.c (show_help_echo): Accept additional parameter
8681 ok_to_overwrite_keystroke_echo.
8682 (read_char): Call show_help_echo with a zero
8683 ok_to_overwrite_keystroke_echo argument.
52283633 8684 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8685 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8686 ok_to_overwrite_keystroke_echo argument.
8687 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8688 non-zero ok_to_overwrite_keystroke_echo argument.
8689
df75b1a3
GM
86902000-07-10 Gerd Moellmann <gerd@gnu.org>
8691
4b92c49a
GM
8692 * xdisp.c (try_window_id): If changes are all below what is
8693 displayed in the window, and point is in the window, we still
8694 might have to find point on the display.
8695
8696 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8697 glyphs instead of a single one.
8698 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8699 with new argument list.
8700 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8701
df75b1a3
GM
8702 * keymap.c (get_keymap_1): Add comment that this function can GC.
8703 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8704 comment that functions can GC.
8705 (Fset_keymap_parent): GCPRO arg KEYMAP.
8706
4314cf3e
EZ
87072000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8708
8709 * msdos.c (XMenuActivate): After exiting the menu, restore the
8710 echo area message and erase it.
8711
ab49ce15
KH
87122000-07-10 Kenichi Handa <handa@etl.go.jp>
8713
8714 * fontset.c (Ffontset_info): Make the return value more compatible
8715 with that of Emacs 20.
8716
090a072f
GM
87172000-07-07 Gerd Moellmann <gerd@gnu.org>
8718
8719 * eval.c (Fsignal): Handle case that backtrace_list is null.
8720
f92de4a6
KH
87212000-07-07 Kenichi Handa <handa@etl.go.jp>
8722
8723 * ccl.c (Fccl_execute): Typo fixed.
8724
dd8888a1
GM
87252000-07-06 Gerd Moellmann <gerd@gnu.org>
8726
e5c81191 8727 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8728
dd8888a1
GM
8729 * window.c (Fwindow_list): Reverse list at the end.
8730 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8731 means allow windows on OWINDOW's frame, only.
8732 (window_loop): Simplified; use Fwindow_list.
8733
8734 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8735
485266d0
GM
87362000-07-05 Gerd Moellmann <gerd@gnu.org>
8737
8738 * xterm.c (XTread_socket): Increment handling_signal at the start,
8739 decrement it at the end.
8740
8741 * eval.c (handling_signal): New variable.
8742 (Fsignal): Abort if handling_signal is non-zero.
8743
8744 * lisp.h (handling_signal): External declaration.
178c5d9c 8745
485266d0
GM
8746 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8747
80fcd514
KR
87482000-07-05 Ken Raeburn <raeburn@gnu.org>
8749
8750 Sound support for NetBSD through "Linux emulation" support:
8751 * config.in (HAVE_SOUNDCARD_H): Undef.
8752 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8753 * Makefile.in (LIBSOUND): New variable.
8754 (LIBES): Include it.
52283633
SM
8755 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8756 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8757 (vox_open): Use DEFAULT_SOUND_DEVICE.
8758 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8759
d5c5cddd
GM
87602000-07-05 Gerd Moellmann <gerd@gnu.org>
8761
8762 * print.c (print_error_message): If Vsignaling_function is set,
8763 show it in *Messages*.
8764
8765 * lisp.h (Vsignaling_function): External declaration.
8766
8767 * eval.c (Vsignaling_function): New variable.
8768 (Fsignal): Compute it.
8769 (syms_of_eval): Staticpro it.
8770
65171e3a
DL
87712000-07-05 Dave Love <fx@gnu.org>
8772
8773 * syswait.h: Use the autoconf recommended approach. Old code
8774 #if'd out in case we need to revert.
8775
178c5d9c 8776 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8777
e2c46326
AI
87782000-07-05 Andrew Innes <andrewi@gnu.org>
8779
8780 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8781 when non-NULL instead of __morecore, to take account of buffer
8782 memory. This also solves a problem with spurious memory warnings
8783 on Windows.
8784
8785 * ralloc.c: Make real_morecore non-static.
8786
8787 * eval.c (internal_condition_case): Comment out abort if
8788 interrupt_input_blocked is not zero.
8789
8790 * makefile.nt: Add support for `bootstrap' and related targets.
8791 Include minimal debug info in emacs.exe in release build.
8792 Remove all dependencies on lisp.h, and fixup some others.
8793
8794 * w32.c (init_environment): Install code from 20.7 for providing
8795 default values for environment variables, based on the
8796 executable's own location.
52283633 8797 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8798 (sys_socket): Install socket inheritance bug fix from 20.7.
8799
8800 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8801 here via blockinput.h).
8802
a027a91b
SM
88032000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8804
e4b31601
SM
8805 * w32menu.c (w32_menu_display_help):
8806 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8807
8808 * keyboard.h (show_help_echo): Declare.
8809
8810 * keyboard.c (show_help_echo): New function, extracted from read_char.
8811 Feval its `msg' argument if it's a cons cell.
8812 (read_char): Use it.
4cf8d9d5 8813 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8814
178c5d9c 8815 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8816 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8817 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8818 (dos_rawgetc):
8819 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8820 (note_tool_bar_highlight, w32_read_socket):
8821 Do not gratuitously ignore non-string `help-echo' properties.
8822
88d75730
GM
88232000-07-05 Gerd Moellmann <gerd@gnu.org>
8824
969f7e79
GM
8825 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8826
71201b00
GM
8827 * window.c (delete_all_subwindows): Reset Vwindow_list.
8828
88d75730
GM
8829 * xterm.c (x_append_glyph, x_append_composite_glyph)
8830 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8831 changes in struct glyph starting 1999-12-27. Some bit-fields of
8832 struct glyph were not set, which made glyphs unequal when compared
8833 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8834 effects were the result. This also depended on the contents of
8835 memory returned by xmalloc. If flickering happens again, activate
8836 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8837 gone with that, chances are that it is caused by something similar.
88d75730
GM
8838
8839 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8840
88d75730
GM
8841 * dispextern.h: Add some comments.
8842
8843 * window.c (add_window_to_list): Add parameter LIST.
8844 (window_list): Order list so that, for each frame, windows are
8845 in canonical order, and so that frames appear in the list in
8846 the order given by Vframe_list.
8847 (next_window): Reverse the handling of NEXT_P.
8848
53654733
GM
88492000-07-04 Gerd Moellmann <gerd@gnu.org>
8850
87efd256
GM
8851 * window.c (Vwindow_list): New variable.
8852 (make_window, delete_window): Set Vwindow_list to nil.
8853 (check_window_containing): New function.
8854 (window_from_coordinates): Rewritten.
8855 (add_window_to_list, window_list, candidate_window_p)
8856 (decode_next_window_args, next_window): New functions.
52283633 8857 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8858 (Fwindow_list): New function.
8859 (Fother_window): Cleaned up.
8860 (foreach_window): Add a longer "variable argument list". Let
8861 callback function return 0 to indicate that cycling over windows
8862 should stop.
8863 (foreach_window_1): Likewise.
8864 (freeze_window_start): Return int.
8865 (init_window): New function.
8866 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8867
8868 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8869 input_event with bzero.
8870 (main): Call init_window.
8871
53654733
GM
8872 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8873 a menu filter.
8874
4a8c194f
KH
88752000-07-04 Kenichi Handa <handa@etl.go.jp>
8876
8877 * composite.h (make_composition_value_copy): Extern it.
8878
8879 * composite.c (make_composition_value_copy): New function.
8880
8881 * editfns.c (Fformat): While copying text properties, make each
8882 composition property value a copy.
8883
8884 * fns.c (concat): While copying text properties, make each
8885 composition property value a copy.
8886
831a6cb0
GM
88872000-07-03 Gerd Moellmann <gerd@gnu.org>
8888
2f516940
GM
8889 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8890
178c5d9c 8891 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8892 marked already.
8893
831a6cb0
GM
8894 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8895 include those frames as candidates which have their focus
8896 redirected to the minibuffer frame.
8897
d9c4f922
SM
88982000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8899
8900 * fns.c (Fputhash): Return `value' rather than nil.
8901
3780bc22
GM
89022000-06-30 Gerd Moellmann <gerd@gnu.org>
8903
97d176db
GM
8904 * frame.c (next_frame): Don't check focus redirection in case
8905 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8906 unless their focus is redirected, which contradicts the
8907 specification of next-frame, and leads to infinite loops in
8908 certain situations when cycling through windows with next-window.
8909
dca9961d
KH
89102000-06-30 Kenichi Handa <handa@etl.go.jp>
8911
8912 * coding.c (code_convert_region): Even if the length of text is
8913 zero, try to convert it if coding->type is coding_type_ccl.
8914 (decode_coding_string, encode_coding_string): Likewise.
8915
d5483ab1
GM
89162000-06-28 Gerd Moellmann <gerd@gnu.org>
8917
af5c25e1 8918 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8919 the display if windows_or_buffers_changed.
af5c25e1
GM
8920
8921 * dispnew.c (struct row_entry): New structure.
8922 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8923 (row_table_size, old_lines, new_lines, old_lines_size)
8924 (new_lines_size, run_pool, runs_size, runs): New variables.
8925 (add_row_entry): New function.
8926 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8927 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8928 holding them in local variables. Use a larger hash table whose
8929 size depends on glyph matrix sizes. Don't use bzero to clear the
8930 hash table; instead, clear used slots only.
8931
8932 * fns.c (next_almost_prime): Make it externally visible.
8933
8934 * lisp.h (next_almost_prime): Add prototype.
8935
d5483ab1
GM
8936 * s/isc4-0.h (sigunblock): Define.
8937
8938 * s/sco5.h (sigunblock): Define.
8939
93e40f40
DL
89402000-06-27 Dave Love <fx@gnu.org>
8941
8942 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8943 (moved to osf5-0.h).
8944 [!NOT_C_CODE]: Protect string.h stuff.
8945
8946 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8947 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8948
3c4b7685
GM
89492000-06-27 Gerd Moellmann <gerd@gnu.org>
8950
97d176db 8951 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8952 below the last line from the needed window height.
8953
32cad0aa
SM
89542000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8955
8956 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8957 (Fwidget_get): Use it.
8958 (syms_of_fns): Defsubr it.
8959
2c69ced2
GM
89602000-06-26 Gerd Moellmann <gerd@gnu.org>
8961
178c5d9c 8962 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8963 display info for XIM.
8964 (xim_open_dpy): Likewise.
8965 (xim_close_dpy): Don't free the display info's XIM.
8966
8967 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8968
8969 * config.in (USE_XIM): New define.
8970
3fc720e4
GM
8971 * keymap.c (get_keyelt): For menu-items containing a `:filter
8972 FILTER', apply FILTER to the menu-item's definition to get the
8973 real definition to use.
8974
8975 * lisp.h (QCfilter): External declaration.
8976
2c69ced2
GM
8977 * xfns.c (Fimage_size): New function.
8978 (syms_of_xfns): Defsubr it.
8979
f978b2a2
AS
89802000-06-26 Andreas Schwab <schwab@suse.de>
8981
8982 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8983 Fstring_as_unibyte.
8984
94cc7892
DL
89852000-06-25 Dave Love <fx@gnu.org>
8986
52283633 8987 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8988
8989 * Makefile.in (blockinput.h): Depend on atimer.h.
8990 (atimer.h): Depend on systime.h.
8991
52283633 8992 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8993
52283633 8994 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8995
8996 * lisp.h (swap_in_global_binding): Declare.
8997
b8c24556
KR
89982000-06-24 Ken Raeburn <raeburn@gnu.org>
8999
9000 * process.c (Fopen_network_stream): Turn off atimers for duration
9001 of call to connect. (Patch from Gerd.)
9002
8cf8560b
DL
90032000-06-23 Dave Love <fx@gnu.org>
9004
511c7541
DL
9005 * ralloc.c: Maybe include unistd.h
9006
8cf8560b
DL
9007 * emacs.c (setgrp): Undefine before defining.
9008 (malloc_warning, set_time_zone_rule, index): Prototype.
9009
9010 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9011 HAVE_STRUCT_TIMEZONE.
9012
9013 * s/osf1.h: Move string.h hack here from alpha.h and make it
9014 conditional.
9015 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9016 _XOPEN_SOURCE.
9017 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9018 (SOCKLEN_TYPE): Don't define.
9019
9020 * m/alpha.h: Remove string.h hack.
9021
9022 * s/osf5-0.h: New file.
9023
9024 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9025 include time.h, done by systime.h.
9026 [__FreeBSD__]: Remove redundant includes.
9027
3fc720e4 9028 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9029 (delete_temp_file): Return Qnil to avoid warning.
9030
9031 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9032
9033 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9034 HAVE_X_WINDOWS.
9035
9036 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9037
9038 * composite.h (compose_text): Declare.
9039
9040 * xterm.c: Don't include sys/types.h unconditionally. Don't
9041 protect its inclusion with !USG (following xmenu.c).
9042
ea055732
GM
90432000-06-23 Gerd Moellmann <gerd@gnu.org>
9044
9045 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9046 in x_create_frame.
9047
74b01b80
EZ
90482000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9049
9050 * coding.c (decode_eol_post_ccl): Special handling for undecided
9051 and inconsistent EOL types.
9052
64f3a166
GM
90532000-06-22 Gerd Moellmann <gerd@gnu.org>
9054
16cf31f7
GM
9055 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9056 trough color and main window's background color.
9057
52283633 9058 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9059
9060 * xterm.h (Xt_app_con): External declaration.
9061
9062 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9063
486a103d
GM
9064 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9065
64f3a166
GM
9066 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9067 (handle_invisible_prop): Record the start of invisible text in
9068 it->add_overlay_start.
9069 (struct overlay_entry): Add member `overlay'.
9070 (handle_overlay_change): Simplify.
9071 (next_overlay_string): After having processed overlay strings at the
9072 end of the buffer, record that fact in
9073 it->overlay_strings_at_end_processed_p.
9074 (compare_overlay_entries): If before- and after-strings come
9075 from the same overlay, let before-strings come first.
9076 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9077 (load_overlay_strings): Take it->add_overlay_start into account
9078 when adding overlay strings.
9079
9080 * dispextern.h (struct it): Add member add_overlay_start.
9081
bb746ea6
DL
90822000-06-22 Dave Love <fx@gnu.org>
9083
9084 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9085
9086 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9087
a8f573f3
KH
90882000-06-22 Kenichi Handa <handa@etl.go.jp>
9089
9090 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9091 is greater than 0.
9092
9f2bbc92
DL
90932000-06-21 Dave Love <fx@gnu.org>
9094
178c5d9c 9095 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9096
3ee5041c
SM
90972000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9098
9099 * syntax.c (back_comment): Simplify string-parity counting (with
9100 the added benefit of handling multiple string-styles as long as
9101 they are not intertwined).
9102 Jump to the slow code as soon as a comment starter is found in
9103 a "string_lossage" position. Fixes the case: " /* " /* " */.
9104
4c343001
DL
91052000-06-21 Dave Love <fx@gnu.org>
9106
9107 * Makefile.in: Use GETLOADAVG_LIBS.
9108
9109 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9110 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9111
e6365855
SM
91122000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9113
9114 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9115 (Fforward_comment, scan_lists):
9116 Check the comstyle of single-char comment-starters.
9117 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9118 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9119 Check the comstyle of single-char comment-starters.
9120 Clarify control-flow around the Scomment case.
e6365855 9121
5700d2cc
DL
91222000-06-20 Dave Love <fx@gnu.org>
9123
d355bd8a
SM
9124 * fns.c (make_hash_table, maybe_resize_hash_table):
9125 Cast arg of next_almost_prime.
5700d2cc 9126
178c5d9c 9127 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9128
9129 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9130 and unistd.h.
9131
4a27bdfb
GM
91322000-06-20 Gerd Moellmann <gerd@gnu.org>
9133
a61d762c 9134 * keyboard.c (adjust_point_for_property): Check if display
52283633 9135 property should be treated as intangible by looking at its value.
a61d762c 9136
178c5d9c 9137 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9138 (display_prop_intangible_p): New functions.
9139
9140 * dispextern.h (display_prop_intangible_p): Add prototype.
9141
9142 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9143
4a27bdfb
GM
9144 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9145 argument to sigprocmask.
9146
9147 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9148 argument to sigprocmask.
9149
9150 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9151 sigprocmask_set, and pass a pointer to it to sigprocmask.
9152
9153 * sysdep.c (sigprocmask_set): New variable.
9154
9155 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9156 report_file_error.
9157
427ec082
SS
91582000-06-20 Sam Steingold <sds@gnu.org>
9159
9160 * xrdb.c: Don't declare xmalloc, xrealloc.
9161
8972fe79 91622000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9163
9164 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9165 (re_comp): Cast gettext return value to avoid complaints when
9166 !HAVE_LIBINTL.
9167
074b6efe
DL
91682000-06-20 Dave Love <fx@gnu.org>
9169
52283633 9170 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9171
5700d2cc 9172 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9173
d355bd8a 9174 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9175
9176 * m/alpha.h: Don't declare xmalloc, xrealloc.
9177
0af4f205
DL
9178 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9179
9180 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9181
9182 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9183
9184 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9185 HAVE_GETWD.
9186
074b6efe
DL
9187 * keyboard.h (poll_for_input_1): Declare.
9188
9189 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9190
9191 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9192
9193 * doprnt.c: Don't declare xmalloc, xrealloc.
9194
9195 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9196 (getenv, ctime, getwd): Removed.
9197 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9198
9199 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9200 x_set_tool_bar_lines.
9201
9202 * config.in: Add HAVE_GETWD. Move some definitions above
9203 machine/system includes.
9204
68a5e97b
KH
92052000-06-20 Kenichi Handa <handa@etl.go.jp>
9206
95417e1e
KH
9207 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9208
68a5e97b
KH
9209 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9210 contain information about ENCODING.
9211
9212 * fontset.c (FONTSET_ASCII): Use the first element of char table
9213 for an ASCII font, not defalt slot.
9214 (fontset_ref_via_base): If FONTSET doesn't contain information for
9215 C, try the default fontset.
9216 (make_fontset): Don't copy the default fontset.
9217 (fontset_font_pattern): Likewise.
9218 (accumulate_font_info): If ELT is nil, use the corresponding
9219 element in the default fontset.
9220
3b4fa1b2
DL
92212000-06-19 Dave Love <fx@gnu.org>
9222
943e731c
DL
9223 * syntax.c (Fparse_partial_sexp): Doc fix.
9224
9225 * regex.h: Test PROTOTYPES as well as __STDC__.
9226
3b4fa1b2
DL
9227 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9228 errno, strerror. Put text after #endif in comment.
9229
52283633 9230 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9231
9232 * xterm.c (x_frame_of_widget): Likewise.
9233
cdf0357b
GM
92342000-06-19 Gerd Moellmann <gerd@gnu.org>
9235
9236 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9237 to Vfundamental_mode_abbrev_table.
9238
9239 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9240 bogus objects are marked. This slows down GC by ~80 percent, but
9241 it might be worth trying when debugging GC-related problems.
9242 This feature requires conservative stack marking to be enabled.
9243
9244 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9245 returns XLookupChars, reset `modifiers' to zero.
9246
998e9f8c
DL
92472000-06-19 Dave Love <fx@gnu.org>
9248
9249 * mktime.c: Unprotoized.
9250
18e21ce8 92512000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9252
9253 * data.c (set_internal): If variable is frame-local,
9254 store the new value immediately into the frame parameter alist.
9255
140c4ac6
KR
92562000-06-19 Ken Raeburn <raeburn@gnu.org>
9257
14358466
KR
9258 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9259 in the custom handler pointer.
9260
140c4ac6
KR
9261 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9262 value, or checks for CHAR_META can fail when Lisp_Object is a
9263 union type.
9264 * keymap.c (get_keyelt): Likewise.
9265
10d7bf84
KH
92662000-06-19 Kenichi Handa <handa@etl.go.jp>
9267
9268 * ccl.h (struct ccl_program): New member eol_type.
9269 (struct ccl_spec): New member cr_carryover.
9270
9271 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9272 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9273
9274 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9275 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9276 (decode_eol_post_ccl): New function.
9277 (decode_coding): Don't detect EOL format here for CCL based coding
9278 systems.
9279 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9280 decode_eol_post_ccl after running the CCL program.
9281 (code_convert_region): Don't detect EOL format here for CCL based
9282 coding systems.
9283 (decode_coding_string): Likewise.
9284
52e386c2
KR
92852000-06-18 Ken Raeburn <raeburn@gnu.org>
9286
9287 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9288 when treating it as an integer.
9289
9290 * coding.h (encode_coding_string): Declare.
9291
9292 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9293 it as an integer.
9294
9295 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9296 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9297 to be passed to get_local_map.
9298
9299 * sound.c (Fplay_sound): Don't call make_number on
9300 Frun_hook_with_args count argument.
9301
9302 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9303 for lisp objects in X event structure data field, when lisp
9304 objects are represented with unions.
9305 (x_scroll_bar_to_input_event): Ditto.
9306
b357b9d4
KR
93072000-06-16 Ken Raeburn <raeburn@gnu.org>
9308
9309 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9310 termination of string. Fix sense of test whether
9311 Vline_number_display_limit is an integer.
b357b9d4 9312
a871441d
GM
93132000-06-16 Gerd Moellmann <gerd@gnu.org>
9314
a9021acd
GM
9315 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9316 only if HAVE_X_WINDOWS.
9317
6344985d
GM
9318 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9319 of titles.
9320
427ec082 9321 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9322 out of bounds.
9323
228b083e
EZ
93242000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9325
9326 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9327 of its headers.
9328
c25b53a2
KH
93292000-06-15 Kenichi Handa <handa@etl.go.jp>
9330
9331 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9332 start of the while loop.
9333
a6981b11
GM
93342000-06-15 Gerd Moellmann <gerd@gnu.org>
9335
e9924e52
GM
9336 * atimer.c (alarm_signal_handler): Add forward declaration.
9337
a6981b11
GM
9338 * data.c (set_internal): Remove debug code.
9339
25fa6deb
GM
93402000-06-14 Gerd Moellmann <gerd@gnu.org>
9341
dce6b995
GM
9342 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9343
9f817ea4
GM
9344 * unexec.c (toplevel) [COFF]: Include coff.h.
9345
9346 * s/lynxos.h: New file.
9347
9348 * keymap.c (Fsingle_key_description): Enclose function key and
9349 event symbol names in angle brackets.
9350
8a4e3c0c
GM
9351 * xdisp.c (setup_echo_area_for_printing): Call
9352 message_log_maybe_newline if message_buf_print is not set.
9353
9354 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9355 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9356 function does something useful even when message_buf_print is
9357 already set.
9358
52283633
SM
9359 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9360 New variables.
25fa6deb
GM
9361 (ensure_echo_area_buffers): Initialize echo buffer's
9362 truncate lines setting to nil.
9363 (with_echo_area_buffer): Don't set the echo buffer's truncate
9364 lines setting here.
8a4e3c0c 9365 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9366 of message_truncate_lines.
9367 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9368 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9369 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9370
9371 * keyboard.c (read_char): Bind message-truncate-lines to t
9372 while displaying a help-echo.
9373
9374 * lisp.h (Qmessage_truncate_lines): External declaration.
9375
163dcff3
GM
93762000-06-13 Gerd Moellmann <gerd@gnu.org>
9377
1681ead6
GM
9378 * xdisp.c (Vline_number_display_limit): Renamed from
9379 line_number_display_limit.
9380 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9381 Extend documentation string. Initialize
9382 Vline_number_display_limit to nil meaning no limit.
9383 (decode_mode_spec): Use Vline_number_display_limit with its new
9384 meaning.
9385
163dcff3
GM
9386 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9387
18e21ce8 93882000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9389
9390 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9391
163dcff3
GM
9392 * xfns.c (x_set_frame_parameters): Comment fix.
9393
9394 * frame.c (store_frame_param): Call swap_in_global_binding if the
9395 variable's current binding was chosen based on this frame.
9396
9397 * data.c (swap_in_global_binding): New function.
9398
a704139d
EZ
93992000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9400
9401 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9402 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9403
9b6610db
EZ
94042000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9405
9406 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9407
c68833d2
JR
94082000-06-12 Jason Rumney <jasonr@gnu.org>
9409
9410 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9411
9412 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9413
9414 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9415
9416 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9417
ed1056b3
GM
94182000-06-12 Gerd Moellmann <gerd@gnu.org>
9419
9420 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9421 (syms_of_xfaces): Defsubr Sdump_colors.
9422 (x_free_colors): Don't treat b&w specially on default visual.
9423 (x_free_dpy_colors): New function.
9424 (free_face_colors): Don't check visual class; it's done
9425 in x_free_colors.
9426
9427 * xterm.c (x_frame_of_widget): New function.
9428 (x_alloc_nearest_color_for_widget): Use it.
9429 (x_copy_dpy_color): New function.
9430 (x_destroy_window): Free various colors.
9431
5050a2ef
KH
94322000-06-12 Kenichi Handa <handa@etl.go.jp>
9433
9434 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9435
9436 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9437
9438 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9439
9440 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9441
9442 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9443
fb1b041d
DL
94442000-06-11 Dave Love <fx@gnu.org>
9445
9446 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9447
ff96b5f4
EZ
94482000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9449
9450 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9451
db8eeecd
GM
94522000-06-11 Gerd Moellmann <gerd@gnu.org>
9453
ed1056b3 9454 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9455 to `XEvent *'.
9456
49b71c5f
KH
94572000-06-10 Kenichi Handa <handa@etl.go.jp>
9458
c479bd55
KH
9459 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9460 (regex_compile): Fix the code for handling the case of single byte
9461 char and multibyte char being mixed in a range within [...].
9462
ff6a65c2
KH
9463 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9464 and dst_multibyte members of coding.
9465
49b71c5f
KH
9466 * charset.c (update_charset_table): Update the table
9467 bytes_by_char_head.
9468 (init_charset_once): Initialize elements of bytes_by_char_head to
9469 1 except for leading codes for private charases.
9470
9471 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9472 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9473
9e80b57d
KR
94742000-06-09 Ken Raeburn <raeburn@gnu.org>
9475
9476 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9477 access the data it doesn't point to.
9478
f83fe4b4
GM
94792000-06-08 Gerd Moellmann <gerd@gnu.org>
9480
9481 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9482 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9483 event queue. This is necessary because Emacs otherwise won't
9484 perform a switch-frame to a new frame until some other event, for
9485 example a keystroke event, forces it to do so. This has various
9486 effects, one visible being that the cursor of a frame created with
9487 C-x 5 2 or switched to with a window manager key binding like
9488 A-TAB stays hollow because selected_window isn't on the newly
9489 focused frame until the switch-frame is performed.
9490
9491 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9492 generating a switch-frame event if necessary.
9493
9494 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9495
9496 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9497 it's an integer.
9498
0890801b
KH
94992000-06-08 Kenichi Handa <handa@etl.go.jp>
9500
52283633 9501 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9502
173cbca8
GM
95032000-06-07 Gerd Moellmann <gerd@gnu.org>
9504
3091c2a6
GM
9505 * window.c (displayed_window_lines): Take empty lines at
9506 the bottom of a window into account.
427ec082 9507
f38952fe
GM
9508 * window.c (displayed_window_lines): New function.
9509 (Fmove_to_window_line): Use displayed_window_lines to determine
9510 the number of lines to move, instead of using the window's height.
9511
9512 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9513 to stop reading, even if the form read sets point to a different
9514 value when evaluated.
9515
427ec082 9516 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9517 put the cursor.
9518
6ba6c818
KH
95192000-06-07 Kenichi Handa <handa@etl.go.jp>
9520
9521 * fileio.c (e_write): Free composition data if stored in
9522 coding->cmp_data.
9523
5f1aea9a
GM
95242000-06-06 Gerd Moellmann <gerd@gnu.org>
9525
666852af
GM
9526 * xdisp.c (display_line): Set row's and iterator's
9527 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9528 Set cursor even if row ends in the middle of a character.
9529 (dump_glyph_row): Print values of new flags.
9530 (redisplay_window) <cursor movement in unchanged window>: When
9531 point has been moved forward, and PT is at the end of the cursor
9532 row, don't place the cursor in the next row if the cursor row ends
9533 in the middle of a character or at ZV.
9534
9535 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9536 (struct glyph_row): Add starts_in_middle_of_char_p and
9537 ends_in_middle_of_char_p.
9538 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9539 ends_in_middle_of_char_p flag.
9540 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9541
d13f3e2e
GM
9542 * term.c (append_glyph): Revert change of 2000-06-06.
9543
9544 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9545 padding glyph not fitting on line as whole character not
9546 fitting on line.
9547
5f1aea9a
GM
9548 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9549 this isn't true for images with `:ascent 100'.
9550
10cda9b0
KH
95512000-06-06 Kenichi Handa <handa@etl.go.jp>
9552
ed00559d
KH
9553 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9554 as modified if it is originally unmodified.
9555
10cda9b0
KH
9556 * term.c (encode_terminal_code): Change the way to check if
9557 terminal coding does any conversion.
9558 (append_glyph): Set glyph->pixel_width correctly.
9559
9560 * xdisp.c (display_line): While checking line continuation, pay
9561 attention to a padding glyph.
9562
1969fae2
GM
95632000-06-05 Gerd Moellmann <gerd@gnu.org>
9564
9565 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9566
162ccef4
DL
95672000-06-05 Dave Love <fx@gnu.org>
9568
f19f32dd
DL
9569 * xdisp.c: Include fontset.h.
9570
9571 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9572
9573 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9574
9575 * dispnew.c: Conditionally include term.h.
9576
9577 * coding.h: Declare code_convert_string_norecord.
9578
9579 * frame.h (struct frame): Use volatile unconditionally.
9580
9581 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9582
9583 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9584
9585 * systime.h: Protect against multiple inclusion.
9586 (timezone) [USG5_4]: Define as time_t.
9587
9588 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9589 (Foptimize_char_table, make_temp_name): Declare.
9590
9591 * Makefile.in (xdisp.o): Depend on fontset.h.
9592
9593 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9594
9595 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9596 (Foptimize_char_table, make_temp_name): Declare.
9597
427ec082 9598 * s/irix4-0.h:
162ccef4
DL
9599 * s/irix5-0.h:
9600 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9601
2082fe81
DL
96022000-06-02 Dave Love <fx@gnu.org>
9603
9604 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9605
dcf671d2
GM
96062000-06-02 Gerd Moellmann <gerd@gnu.org>
9607
9608 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9609 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9610 be freed.
9611
9612 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9613 glyph, use the ASCII NUL character to determine the face.
9614
d42122a3
DL
96152000-06-02 Dave Love <fx@gnu.org>
9616
9617 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9618 (VFORK_RETURN_TYPE): Remove.
427ec082 9619
d42122a3
DL
9620 * config.in: Add NO_MATHERR.
9621
dd432f16
DL
96222000-06-01 Dave Love <fx@gnu.org>
9623
90aa4ea8
DL
9624 * cmds.c (internal_self_insert): Don't check
9625 Vbefore_change_function, Vafter_change_function.
9626
9627 * insdel.c (signal_before_change, signal_after_change): Likewise.
9628
9629 * buffer.c (Vbefore_change_function, Vafter_change_function):
9630 Variables and their initializations deleted.
9631
2330c9d4
DL
9632 * callint.c (Fcall_interactively): Doc fix.
9633
dd432f16
DL
9634 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9635
bf9e8804
DL
96362000-05-31 Dave Love <fx@gnu.org>
9637
9638 * textprop.c: Revert last change -- duplicated.
9639
3694b4ab
GM
96402000-05-31 Gerd Moellmann <gerd@gnu.org>
9641
9642 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9643 in #if 0.
9644
9645 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9646
f14156cd
JR
96472000-05-31 Jason Rumney <jasonr@gnu.org>
9648
8119aab8
JR
9649 * search.c (Fre_search_forward, Fre_search_backward)
9650 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9651
f14156cd
JR
9652 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9653
4aab9be3
JR
96542000-05-30 Jason Rumney <jasonr@gnu.org>
9655
9656 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9657 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9658
52283633 9659 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9660
9661 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9662 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9663 expand a nil default_filename.
9664
9665 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9666 pointer to glyph_to_pixel_coords, not a frame.
9667
9668 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9669 coding.h to dependencies.
9670
9671 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9672
9673 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9674 window pointer to be consistent with w32term.c and xterm.c.
9675
9676 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9677 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9678 (Qline_spacing, Qcenter): New variables.
9679 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9680 (x_set_line_spacing): New function.
52283633 9681 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9682 (x_specified_cursor_type): New function.
9683 (x_set_cursor_type): Use it.
9684 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9685 and icon strings.
9686 (validate_x_resource_name, x_get_resource_string): Measure lengths
9687 of external strings in bytes.
9688 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9689 GetTextExtentPoint32 with NULL title.
9690 (Fx_create_frame): Initialize Qline_spacing.
9691 (w32_load_system_font): Initialize font->double_byte_p.
9692 (x_to_w32_charset): Use Vw32_charset_info_alist.
9693 (Image, busy cursor, tooltip functions): Merged changes from
9694 xfns.c. Not yet functional on Windows.
9695
9696 * w32gui.h (W32FontStruct): Add double_byte_p member.
9697
9698 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9699 (emacs_button_translation): Use it.
9700 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9701 in `mask' to be set.
9702
9703 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9704 menu strings.
9705
9706 * w32term.c: Format and doc changes to bring closer to xterm.c.
9707 (w32_char_font_type): New enum.
9708 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9709 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9710 (w32_encode_char): New function.
9711 (x_encode_char): Removed.
9712 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9713 x_encode_char and w32_font_is_double_byte.
9714 (x_produce_image_glyph): Use image_ascent.
9715 (x_produce_glyphs): Use new version of w32_per_char_metric and
9716 handle NULL return value. Allow extra line spacing.
9717 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9718 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9719 w32_font_type member of glyph instead.
9720 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9721 (fast_find_position): Make sure not to consider rows not visible
9722 in the window.
9723 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9724 w32_menu_display_help with input blocked, as it can abort.
9725 (x_display_and_set_cursor): Choose cursor depending
9726 on buffer-local value of cursor_type.
9727 (x_draw_bar_cursor): Add parameter WIDTH.
9728
9729 * w32term.h (CP_DEFAULT): Define.
9730 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9731
10fc3187
GM
97322000-05-30 Gerd Moellmann <gerd@gnu.org>
9733
9734 * search.c (Fre_search_forward, Fre_search_backward)
9735 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9736
d0555360
KH
97372000-05-30 Kenichi Handa <handa@etl.go.jp>
9738
9739 * coding.c (detect_coding_iso2022): Fix code for checking
9740 CODING_CATEGORY_MASK_ISO_8_2.
9741
f1ad044f
SM
97422000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9743
9744 * regex.c (PREFETCH_NOLIMIT): New function.
9745 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9746
84ec3b4b
GM
97472000-05-29 Gerd Moellmann <gerd@gnu.org>
9748
66254a13
GM
9749 * syntax.c (find_defun_start): Move test for
9750 open_paren_in_column_0_is_defun_start outside of the loop.
9751
49e70dec
GM
9752 * xdisp.c (redisplay_window): Really switch buffers when
9753 displaying mode lines, and temporarily set selected_frame to the
9754 frame of the window that's redisplayed.
9755
84ec3b4b
GM
9756 * xfaces.c (free_realized_faces): Block/unblock input.
9757 (free_realized_multibyte_face): Ditto.
9758
869a3a14
DL
97592000-05-29 Dave Love <fx@gnu.org>
9760
9761 * textprop.c (Qkeymap): New variable.
9762 (syms_of_textprop): Intern it.
9763
9764 * keymap.c: Include intervals.h.
9765 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9766
9767 * Makefile.in (keymap.o): Depend on intervals.h.
9768
9769 * keyboard.c (menu_bar_items, tool_bar_items)
9770 (Fexecute_extended_command): Deal with `keymap' property.
9771 (read_key_sequence): Track map from `keymap' property as well as
9772 `local_map'.
9773
9774 * intervals.c (get_local_map): Extra arg to allow looking for
9775 `keymap' too.
9776
9777 * intervals.h (map_property): New enum.
9778 (get_local_map): Extra arg using it.
9779 (Qkeymap): Declare.
9780
84ec3b4b 9781 * lisp.h (get_local_map): Don't declare here.
869a3a14 9782
89d0c844
KH
97832000-05-29 Kenichi Handa <handa@etl.go.jp>
9784
9785 * Makefile.in (callproc.o): Depend on composite.h.
9786
9787 * callproc.c: Include composite.h.
9788 (Fcall_process): Handle composition correctly.
9789
9790 * coding.h (coding_allocate_composition_data): Extern it.
9791 (coding_restore_composition): Likewise.
9792
9793 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9794 yet allocated, finish decoding with result
9795 CODING_FINISH_INSUFFICIENT_CMP.
9796 (coding_allocate_composition_data): Make it non-static.
9797 (coding_restore_composition): Likewise.
9798
797a084a
EZ
97992000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9800
9801 * charset.c (syms_of_charset): Revert last change.
9802
cf872af5
EZ
98032000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9804
9805 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9806 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9807 Handa.
cf872af5 9808
5b1ae051
EZ
98092000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9810
9811 * charset.c (syms_of_charset): Set width of character sets
9812 eight-bit-control and eight-bit-graphic to 1 column.
9813
34ec9ebe
GM
98142000-05-26 Gerd Moellmann <gerd@gnu.org>
9815
9816 * config.in (HAVE_SPEED_T): New define.
9817
9818 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9819 `extern speed_t'.
9820
dd854dc2
DL
98212000-05-26 Dave Love <fx@gnu.org>
9822
9823 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9824
9825 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9826 (Fsubr_arity): New function.
9827 (syms_of_data): Install them.
9828
ba9f8f95
KH
98292000-05-26 Kenichi Handa <handa@etl.go.jp>
9830
0f3e0672
KH
9831 * charset.c (init_charset_once): Set the table bytes_by_char_head
9832 correctly.
9833
cebefb44
KH
9834 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9835 the default fontset to what Emacs uses by default.
0f3e0672
KH
9836 (check_registry_encoding): This function deleted.
9837 (Fset_fontset_font): Remove the adhoc condition for the default
9838 fontset. Allow cons in FONTNAME.
cebefb44 9839
0f3e0672
KH
9840 * fns.c (map_char_table): Ignore char-table entries for
9841 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9842
7a18af49
KR
98432000-05-25 Ken Raeburn <raeburn@gnu.org>
9844
9845 * emacs.c (main): Initialize keyboard syms before initializing
9846 window code, so face names are available.
9847
d2af47df
SM
98482000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9849
9850 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9851 of an anchor at the beginning of a shy-group.
9852
fc6a6a4e
GM
98532000-05-25 Gerd Moellmann <gerd@gnu.org>
9854
9855 * xdisp.c (handle_invisible_prop): Don't try to skip over
9856 invisible text if end of text is already reached.
9857
005f0d35
DL
98582000-05-25 Dave Love <fx@gnu.org>
9859
02513cdd
DL
9860 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9861
005f0d35
DL
9862 * coding.c (encode_eol): Add null statement after label.
9863
89f6ca4e
EZ
98642000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9865
9866 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9867 2000-05-20.
9868
a4e1759e
KH
98692000-05-25 Kenichi Handa <handa@etl.go.jp>
9870
9871 * ccl.c (ccl_driver): Fix previous change.
9872
eacfd7fe
KH
98732000-05-25 Kenichi Handa <handa@etl.go.jp>
9874
46ab33a9
KH
9875 * coding.c (run_pre_post_conversion_on_str): Set point to the
9876 beginning of buffer before calling coding->post_read_conversion.
9877 (decode_coding_string): Give correct args to
9878 run_pre_post_conversion_on_str.
9879 (encode_coding_string): Likewise.
9880
eacfd7fe
KH
9881 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9882 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9883 eight-bit-graphic correctly.
9884
f8569325
DL
98852000-05-24 Kenichi HANDA <handa@etl.go.jp>
9886
9887 * fileio.c (Finsert_file_contents): Even if a file is not found,
9888 execute codes for setting up coding system. Call
9889 after-insert-file-functions unconditionally.
9890
04545643
GM
98912000-05-24 Gerd Moellmann <gerd@gnu.org>
9892
9893 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9894 BSD_PGRPS are not defined.
9895
747d90ea
KH
98962000-05-24 Kenichi Handa <handa@etl.go.jp>
9897
9898 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9899 DESCRIPTION.
9900 (syms_of_charset): Avoid building same strings.
9901
716e3b88
GM
99022000-05-23 Gerd Moellmann <gerd@gnu.org>
9903
9904 * lread.c (Fload): Add a comment about the meaning of
9905 Vuser_init_file being t.
9906
9907 * puresize.h (BASE_PURESIZE): Increase to 675000.
9908
9909 * s/gnu-linux.h (setpgrp): Don't define it here because this
9910 prevents compilation on GNU/Linux systems with glib 2.2.
9911
9912 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9913 as setpgid.
427ec082 9914
9aeb39fa
EZ
99152000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9916
9917 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9918 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9919 version.
9920 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9921
29ced61b
KH
99222000-05-23 Kenichi Handa <handa@etl.go.jp>
9923
52283633 9924 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9925
3d80f24d
KH
9926 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9927
52283633 9928 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9929
29ced61b
KH
9930 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9931
d7e00792
KH
99322000-05-22 Kenichi Handa <handa@etl.go.jp>
9933
c9d80d38
KH
9934 * keyboard.c (read_char): Allow character codes 128..255 to be
9935 handled by input-method-function.
9936
d7e00792
KH
9937 * insdel.c (adjust_markers_for_replace): Fix previous change.
9938 (adjust_after_replace): If PREV_TEXT is nil, call
9939 adjust_markers_for_insert, not adjust_markers_for_replace.
9940
087121cc 99412000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9942
087121cc
GM
9943 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9944 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9945 [HAVE_GRANDPT]: Define.
9946 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9947
9948 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9949 like SYSV_PTYS.
9950
9951 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9952
9953 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9954
c9671f81
KH
99552000-05-20 Kenichi Handa <handa@etl.go.jp>
9956
9957 The following changes are to handle 8-bit characters in a
9958 multibyte buffer/string without facing with byte combining
9959 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9960 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9961
9962 * Makefile.in (fns.o): Depend on charset.h.
9963
9964 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9965 convert it to unibyte.
9966 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9967
9968 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9969 apparent char boundary.
9970 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9971 0x80..0x9F to/from multibyte form.
9972
9973 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9974 to unibyte.
9975
9976 * callproc.c (Fcall_process): Always encode an argument string if
9977 it is multibyte. Setup src_multibyte and dst_multibyte members of
9978 process_coding properly.
ce75fd23 9979
c9671f81
KH
9980 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9981 SPLIT_NON_ASCII_CHAR.
9982
9983 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9984 as is.
9985 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9986
52283633 9987 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9988 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9989 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9990 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9991 and eight-bit-graphic.
9992 (char_to_string): Likewise. Signal an error for too large
9993 character code.
9994 (char_printable_p): Return 0 for 8-bit characters.
9995 (update_charset_table): Update iso_charset_table only when a final
9996 character is non-negative.
9997 (find_charset_in_text): Renamed from find_charset_in_str.
9998 Arguments and return value changed. Callers changed.
9999 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10000 be -1 if CHARSET is used only internally.
10001 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10002 eight-bit-graphic.
10003 (Fcharset_after): Simplified.
10004 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10005 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10006 (multibyte_chars_in_text): Simplified by assuming there's no
10007 invalid multibyte sequence.
52283633
SM
10008 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10009 (str_as_unibyte): New functions.
10010 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10011 (init_charset_once): Initialization for
10012 LEADING_CODE_8_BIT_CONTROL.
10013 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10014 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10015 eight-bit-control and eight-bit-graphic.
10016
52283633
SM
10017 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10018 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10019 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10020 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10021 (CHARSET_REVERSE_CHARSET): Likewise.
10022 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10023 eight-bit-graphic.
10024 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10025 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10026 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10027 encounter an invalid multibyte sequence.
10028 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10029 sequence is always valid.
10030 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10031 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10032 (CHAR_STRING): For 8-bit characters, call char_to_string.
10033 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10034 multibyte sequence is always valid.
10035 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10036 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10037 (str_as_unibyte): Extern them.
c9671f81 10038 (BCOPY_SHORT): Fix a bug.
52283633 10039 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10040 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10041 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10042 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10043
bd4bde7f 10044 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10045 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10046 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10047 (EMIT_BYTES): New macros.
10048 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10049 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10050 macros deleted.
10051 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10052 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10053 check the validity of multibyte sequence.
10054 (decode_coding_emacs_mule): New function.
10055 (encode_coding_emacs_mule): New macro.
10056 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10057 the source.
10058 (DECODE_ISO_CHARACTER): Just return a character code.
10059 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10060 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10061 EMIT_CHAR to produced decoded characters. Exit the loop only by
10062 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10063 block here.
10064 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10065 only position codes for an invalid character.
10066 (encode_designation_at_bol): Return new destination pointer. 5th
10067 arg DSTP is changed to DST.
10068 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10069 from the source by ONE_MORE_CHAR. Don't handle the case of last
10070 block here.
10071 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10072 macros deleted.
52283633
SM
10073 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10074 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10075 TWO_MORE_BYTES to fetch a byte from the source.
10076 (encode_eol): Pay attention to coding->src_multibyte.
10077 (detect_coding, detect_eol): Preserve members src_multibyte and
10078 dst_multibyte.
10079 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10080 (encoding_buffer_size): Set magnification to 3 for all coding
10081 systems that require encoding.
10082 (ccl_coding_driver): For decoding, be sure that the result is
10083 valid multibyte sequence.
10084 (decode_coding): Initialize coding->errors and coding->result.
10085 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10086 and raw-text, always call decode_eol. Handle the case of last
10087 block here. If not coding->dst_multibyte, convert the resulting
10088 sequence to unibyte.
10089 (encode_coding): Initialize coding->errors and coding->result.
10090 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10091 and raw-text, always call encode_eol. Handle the case of last
10092 block here.
10093 (shrink_decoding_region, shrink_encoding_region): Detect cases
10094 that we can't skip data more rigidly.
10095 (code_convert_region): Setup src_multibyte and dst_multibyte
10096 members of coding. For decoding, if the buffer is multibyte,
10097 convert the source sequence to unibyte in advance. For encoding,
10098 if the buffer is multibyte, convert the resulting sequence to
10099 multibyte afterward.
10100 (run_pre_post_conversion_on_str): New function.
10101 (code_convert_string): Deleted and divided into the following two.
10102 (decode_coding_string, encode_coding_string): New functions.
10103 (code_convert_string1, code_convert_string_norecord): Call one of
10104 above.
10105 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10106 MAKE_NON_ASCII_CHAR.
52283633
SM
10107 (Fset_terminal_coding_system_internal)
10108 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10109 and dst_multibyte members.
10110 (init_coding_once): Initialize iso_code_class with new enum
10111 ISO_control_0 and ISO_control_1.
10112
10113 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10114 devided into ISO_control_0 and ISO_control_1.
10115 (struct coding_system): New members src_multibyte, dst_multibyte,
10116 errors, and result. Delete member fake_multibyte.
10117 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10118 nonzero.
10119 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10120 nonzero.
10121
10122 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10123 (Faset): Likewise.
10124
10125 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10126 multibyte form.
10127 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10128 combining occurs.
10129 (Ftranspose_region): Delete codes for handling byte combining.
10130
10131 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10132 dst_multibyte members of coding. On handling REPLACE on unibyte
10133 buffer, convert the result of decode_coding to unibyte. On
10134 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10135 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10136 multibyteness of the source (buffer or string).
10137
10138 * fns.c (concat): Handle 8-bit characters correctly.
10139 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10140 unibyte in the result.
10141 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10142 valid multibyte form in the result.
10143 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10144 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10145 return -1, signal an error.
10146 (base64_encode_1): New arg MULTIBYTE. Get each character by
10147 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10148 character is found, return -1.
10149 (Fbase64_decode_region): Delete codes for handling byte-combining.
10150 Treat each decoded byte as a unibyte character.
10151 (Fbase64_decode_string): Return unibyte string.
10152 (Fcompare_strings, concat, string_byte_to_char): Use
10153 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10154 FETCH_STRING_CHAR_ADVANCE.
10155 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10156 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10157
10158 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10159 SPLIT_NON_ASCII_CHAR.
10160 (fontset_ref_via_base, fontset_set): Likewise
10161
10162 * insdel.c (adjust_markers_for_record_delete): Deleted.
10163 (adjust_markers_for_insert): Argument changed. Caller changed.
10164 (adjust_markers_for_replace): Likewise.
52283633
SM
10165 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10166 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10167 (copy_text): Delete unused local varialbe c_save. For converting
10168 to multibyte, be sure to make all 8-bit characters in valid
10169 multibyte form.
10170 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10171 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10172 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10173 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10174 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10175 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10176 handling byte combining.
10177 (adjust_before_replace): Deleted.
427ec082 10178
c9671f81
KH
10179 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10180 SPLIT_NON_ASCII_CHAR.
10181 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10182 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10183 (Fkey_description): Likewise.
10184
10185 * lread.c (read1): On reading multibyte string, be sure to make
10186 all 8-bit chararacters in valid multibyte form.
10187 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10188
10189 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10190 unconditionally.
10191
10192 * process.c (Fstart_process): GCPRO current_dir before calling
10193 Ffind_operation_coding_system. Encode arguments here.
10194 (create_process): Don't encode arguments here. Setup
10195 src_multibyte and dst_multibyte members of struct coding.
10196 (read_process_output): Setup src_multibyte and dst_multibyte
10197 members of struct coding. If the output is to multibyte buffer,
10198 always decode the output of the process. Adjust the
52283633 10199 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10200 (send_process): Setup coding->src_multibyte according to the
10201 multibyteness of the source.
10202
52283633 10203 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10204 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10205 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10206
52283633 10207 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10208
10209 * w16select.c (Fw16_set_clipboard_data): Setup members
10210 src_multibyte and dst_multibyte of coding. Adjusted for the
10211 change for find_charset_in_str.
10212 (Fw16_get_clipboard_data): Likewise.
10213
10214 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10215 dst_multibyte of coding.
10216 (x_to_w32_font): Likewise.
10217
10218 * w32select.c (Fw32_set_clipboard_data): Setup members
10219 src_multibyte and dst_multibyte of coding. Adjusted for the
10220 change for find_charset_in_str.
10221 (Fw32_get_clipboard_data): Likewise.
10222
10223 * xdisp.c (get_next_display_element): Handle 8-bit characters
10224 correctly.
52283633
SM
10225 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10226 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10227
10228 * xselect.c (selection_data_to_lisp_data): Setup members
10229 src_multibyte and dst_multibyte of coding. Adjusted for the
10230 change for find_charset_in_str.
10231 (lisp_data_to_selection_data): Likewise.
10232
5f64c9e0
GM
102332000-05-19 Gerd Moellmann <gerd@gnu.org>
10234
52283633 10235 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10236
5f64c9e0
GM
10237 * dispextern.h (Vimage_types): Add extern declaration.
10238
10239 * xdisp.c (Vimage_types): Moved here from xfns.c.
10240 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10241
10242 * xfns.c (Vimages_types): Moved to xdisp.c.
10243 (syms_of_xfns): Move `image-types' to xdisp.c.
10244
10245 * w32fns.c (Vimage_types): Removed.
10246 (syms_of_w32fns): Remove `image-types'.
10247
813086ea
KH
102482000-05-18 Kenichi Handa <handa@etl.go.jp>
10249
10250 * fns.c (map_char_table): Pay attention to character number of
10251 charset. Check the validity of charset at the first level. For
10252 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10253 the default value.
10254
10255 * fontset.c: Include "buffer.h".
10256 (fs_load_font): If the face has fontset, record the face ID in
10257 that fontset.
10258 (Finternal_char_font): New function.
10259 (accumulate_font_info): New function.
10260 (Ffontset_info): Rewritten for the new fontset implementation.
10261 (syms_of_fontset): Register Vdefault_fontset in the first element
10262 of Vfontset_table. Include Vdefault_fontset in
10263 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10264 function.
10265
bdaebbf0
DL
102662000-05-16 Dave Love <fx@gnu.org>
10267
10268 * m/iris5d.h: Deleted -- unused.
10269
cb613bb8
GM
102702000-05-16 Gerd Moellmann <gerd@gnu.org>
10271
b15f3b77
GM
10272 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10273 `invalid' instead of `illegal'.
10274
10275 * indent.c (Fmove_to_column): When ending within a tab, insert
10276 spaces first so that markers at the end of the tab get adjusted.
10277
835c1b36
GM
10278 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10279 buffer list that wasn't selected in that frame.
10280
cb613bb8
GM
10281 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10282 is needed on mescaline, use a 2 char prefix, and call
10283 make_temp_name with second arg non-zero.
10284
10285 * fileio.c (make_temp_name): New function, extracted from
10286 Fmake_temp_name.
10287 (Fmake_temp_name): Use it.
10288
f685bea9
EZ
102892000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10290
52283633 10291 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10292
a1b8d58b
GM
102932000-05-15 Gerd Moellmann <gerd@gnu.org>
10294
10295 * Makefile.in (lisp): Add env.elc.
10296
10297 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10298
a265079f
GM
102992000-05-12 Gerd Moellmann <gerd@gnu.org>
10300
10301 * search.c (Freplace_match): Handle case of `\N' in the
10302 replacement when there's no group N.
10303
da4496b6
GM
103042000-05-11 Gerd Moellmann <gerd@gnu.org>
10305
0ace421a
GM
10306 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10307 of the message to message_dolog.
10308
1172eb8d
GM
10309 * keyboard.c (read_char): Don't clear current message for help
10310 events; let the code handling help events handle this. Change
10311 code detecting help events that should be ignored.
10312
da4496b6
GM
10313 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10314 we're interating over a string.
10315
0623e40f
DL
103162000-05-09 Dave Love <fx@gnu.org>
10317
10318 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10319 that offset before writing. Move gcpro region past call of
10320 Ffile_regular_p.
10321
bae2503b
DL
103222000-05-04 Dave Love <fx@gnu.org>
10323
10324 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10325
ec82fb2f
GM
103262000-05-04 Gerd Moellmann <gerd@gnu.org>
10327
10328 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10329 of inserted characters when BUF equals the current buffer, and PT
10330 is in front of or equal to FROM.
10331
cbf18892
GM
103322000-05-03 Gerd Moellmann <gerd@gnu.org>
10333
4ff40dd0
GM
10334 * xdisp.c (handle_single_display_prop): If display property value
10335 is invalid, or something not supported on the frame, restore
10336 iterator's position to what it was initially. Make sure to return
10337 0 for invalid and unsupported property values.
10338
cbf18892
GM
10339 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10340 that x_per_char_metric returns null.
10341
1b0672c3
GM
103422000-05-02 Gerd Moellmann <gerd@gnu.org>
10343
576da55d
GM
10344 * xterm.h (struct face): Add forward declaration.
10345 (struct image): Ditto.
10346 (image_ascent): Add prototype.
10347
10348 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10349 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10350 image_ascent instead of using IMAGE_ASCENT.
10351
10352 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10353 (IMAGE_ASCENT): Removed.
10354
10355 * xfns.c (Qcenter): New variable.
10356 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10357 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10358 (image_ascent): New function.
10359 (lookup_image): Recognize `:ascent center'.
10360 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10361 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10362 (xbm_load): Don't set image's ascent here.
10363 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10364 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10365 check ascent values here.
10366 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10367 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10368 (syms_of_xfns): Initialize Qcenter.
10369
1b0672c3
GM
10370 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10371 to the limits, increase the limits.
10372
0d7811ed
KH
103732000-05-01 Kenichi Handa <handa@etl.go.jp>
10374
10375 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10376 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10377
a943a5ca
GM
103782000-04-28 Gerd Moellmann <gerd@gnu.org>
10379
10380 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10381 taller than the window.
10382
5dba1e29
KH
103832000-04-28 Kenichi Handa <handa@etl.go.jp>
10384
10385 * xfaces.c (realize_x_face): Fix the argument of the second
10386 xassert. BASE_FACE may not be a face for ASCII.
10387
353964e3
GM
103882000-04-27 Gerd Moellmann <gerd@gnu.org>
10389
c76e04a8
GM
10390 * print.c (print_object): Treat print-length < 0 as nil.
10391
10392 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10393
10394 * s/freebsd.h (TERMCAP_OBJ): Removed.
10395 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10396
10397 * lread.c (read1): Don't treat period followed by certain
10398 characters as symbol start.
10399
10400 * xfns.c (slurp_file): New function.
10401 (xbm_image_p): Handle case of in-memory XBM files.
10402 (xbm_scan): Rewritten to work on memory buffers instead of files.
10403 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10404 Work on memory buffers instead of files. If DATA is null test
10405 if buffer looks like an in-memory XBM file.
10406 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10407 memory buffers instead of files.
10408 (xbm_file_p): New function.
10409 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10410
353964e3
GM
10411 * lread.c (end_of_file_error): New function.
10412 (read1): Call it instead of signaling `end-of-file' directly.
10413
427ec082 10414 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10415 with Fprinc instead of Fprin1.
10416
24d744ac
KR
104172000-04-26 Ken Raeburn <raeburn@gnu.org>
10418
10419 * window.c (freeze_window_start): Check that minibuffer scroll
10420 window isn't nil before extracting the window structure pointer
10421 from it.
10422
10423 * undo.c (record_delete): If we hit the end of the undo list, stop
10424 picking elements apart.
10425
7464346d
GM
104262000-04-26 Gerd Moellmann <gerd@gnu.org>
10427
10428 * xdisp.c (display_line): If lines are continued, restore
10429 iterator's ascent/descent information to the values before the
10430 first glyph not fitting on the line.
10431
612839b6
GM
104322000-04-25 Gerd Moellmann <gerd@gnu.org>
10433
10434 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10435 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10436
10437 * dispnew.c (increment_matrix_positions): Renamed from
10438 increment_glyph_matrix_buffer_positions.
10439 (increment_row_positions): Renamed from
10440 increment_glyph_row_buffer_positions.
10441
10442 * dispextern.h: Change names of renamed functions from dispnew.c
10443 in prototypes.
10444
cc181e95
GM
104452000-04-24 Gerd Moellmann <gerd@gnu.org>
10446
abfcc168
GM
10447 * fileio.c (Fdo_auto_save): Create directories for auto-save
10448 list file if necessary.
10449
cc181e95
GM
10450 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10451 from buffer or frame.
10452 (automatic_hscrolling_p): New variable.
10453 (hscroll_windows): Scroll windows horizontally only if automatic
10454 hscrolling is allowed.
10455 (syms_of_xdisp): New variable `automatic-hscrolling'.
10456
10457 * frame.h (struct frame): Add member extra_line_spacing.
10458
10459 * xfns.c (x_set_line_spacing): New function.
10460 (Fx_create_frame): Set line spacing from resources.
10461 (Qline_spacing): New variable.
10462 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10463
cc181e95
GM
10464 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10465
10466 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10467 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10468 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10469 extra_line_spacing from default value.
10470 (init_buffer_once): Initialize default value of extra_line_spacing.
10471
10472 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10473 and extra3.
10474
10475 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10476 prompt_width. Add extra line spacing.
10477
10478 * term.c (produce_glyphs): Remove reference to struct it's
10479 prompt_width.
10480
10481 * dispextern.h (struct it): Remove member prompt_width, add
10482 extra_line_spacing.
10483
58827478
GM
104842000-04-22 Gerd Moellmann <gerd@gnu.org>
10485
10486 * dispnew.c (update_frame_line): When writing a whole line, make
10487 sure cursor is in the right row afterwards, otherwise a use of
10488 capability `ch' in cmgoto might leave the cursor in the row below.
10489
25a87f42
GM
104902000-04-21 Gerd Moellmann <gerd@gnu.org>
10491
10492 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10493
10494 * keyboard.c (timer_check): Fix typo in comment.
10495
54edf5c2
KH
104962000-04-21 Kenichi Handa <handa@etl.go.jp>
10497
10498 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10499 name change: ch -> character.
10500
3a64eef5
GM
105012000-04-20 Gerd Moellmann <gerd@gnu.org>
10502
10503 * keyboard.c (echo_message_buffer): New variable.
10504 (echo_now): Set echo_message_buffer to the echo area buffer used
10505 to display the echo.
10506 (cancel_echoing): Reset echo_message_buffer to nil.
10507 (read_char): Code rewritten that handles canceling an echo or
10508 echoing a dash, respectively.
10509
10510 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10511 directory doesn't exist.
10512
6142fdcb
DL
105132000-04-19 Dave Love <fx@gnu.org>
10514
10515 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10516 (concat): Don't allow numeric args.
10517 (Fconcat): Doc change.
6142fdcb 10518
ac6b5352
SM
105192000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10520
10521 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10522 instead define end_match(1|2) more carefully.
10523 Use GET_CHAR_BEFORE_2 for `begline'.
10524
cb9215e4
GM
105252000-04-19 Gerd Moellmann <gerd@gnu.org>
10526
5e3dac3f
GM
10527 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10528 on 64-bit systems where NULL is defined as `0'.
10529
10530 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10531 the `variable argument list' to make it work on Alpha.
10532
cb9215e4
GM
10533 * m/alpha.h (_LP64) [!_LP64]: Define.
10534 (ORDINARY_LINK): Define for NetBSD.
10535
10536 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10537
f532dca0
DL
105382000-04-19 Dave Love <fx@gnu.org>
10539
c750667e
DL
10540 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10541 change.
10542
10543 * Makefile.in (LIBS): Don't use.
10544 (GETLOADAVG_OBJ): Define again.
10545 (otherobj): Add GETLOADAVG_OBJ.
10546
f532dca0
DL
10547 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10548
1c7e22fd
GM
105492000-04-18 Gerd Moellmann <gerd@gnu.org>
10550
f6d3257b
GM
10551 * lread.c (read_filtered_event): Cancel and start busy cursor.
10552
427ec082 10553 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10554 that the per-character metrics may be null.
10555
e10f64e7
GM
105562000-04-17 Gerd Moellmann <gerd@gnu.org>
10557
0daee095
GM
10558 * buffer.c (clone_per_buffer_values): New function.
10559 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10560 clone_per_buffer_values if CLONE is not nil.
10561
e10f64e7
GM
10562 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10563
38687d43
DL
105642000-04-16 Dave Love <fx@gnu.org>
10565
10566 * Makefile.in: Remove obsolete localcpp stuff.
10567 (GETLOADAVG_OBJ): Don't define.
10568 (obj): Move LIBOBJS...
10569 (otherobj): ... to here.
10570 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10571 whitespace-only lines after the continuation (Irix).
10572
c21c7262
GM
105732000-04-14 Gerd Moellmann <gerd@gnu.org>
10574
10575 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10576
10577 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10578
314767c0
DL
105792000-04-14 Dave Love <fx@gnu.org>
10580
10581 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10582 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10583 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10584 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10585 NLIST_STRUCT.
10586
10587 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10588 autoconfiscated HAVE_GETLOADAVG.
10589
10590 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10591 BROKEN_MKTIME.
10592
a2522dca
GM
105932000-04-14 Gerd Moellmann <gerd@gnu.org>
10594
10595 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10596 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10597
33744b5d
DL
105982000-04-14 Dave Love <fx@gnu.org>
10599
c21c7262 10600 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10601 (INTERVAL_SRC): Convert to make variable.
10602 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10603 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10604 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10605 add LIBOBJS.
10606 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10607 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10608 (shortlisp): Add facemenu, float-sup, frame.
10609 (SOME_MACHINE_LISP): Remove them from here.
10610 (LIBES): Change unused LDLIBS to autoconf LIBS.
10611
10612 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10613
9d3d5916
KH
106142000-04-14 Kenichi Handa <handa@etl.go.jp>
10615
10616 * composite.c (update_compositions): If FROM and TO are not in a
10617 valid range, do nothing.
10618
198e3c7a
GM
106192000-04-13 Gerd Moellmann <gerd@gnu.org>
10620
52283633 10621 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10622
52283633 10623 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10624
10625 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10626 as TERMCAP_OBJ.
10627
055a28c9
EZ
106282000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10629
10630 * fileio.c (a_write): Remove redundant semi-colons.
10631 (e_write): Return -1 if failed to write all the data.
10632 This fixes the changes made at 1999-12-15.
10633
f5c75033
DL
106342000-04-12 Dave Love <fx@gnu.org>
10635
10636 * fns.c (mapcar1): Test for null vals to support mapc.
10637 (Fmapc): New function.
10638
0c3cfc51
EZ
106392000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10640
10641 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10642 (IT_frame_up_to_date): Support the buffer local value of
10643 cursor-type, if defined.
10644
33465a31
DL
106452000-04-10 Dave Love <fx@gnu.org>
10646
10647 * editfns.c (preceding-char, following-char): Doc fix.
10648
6ed56568
KR
106492000-04-10 Ken Raeburn <raeburn@gnu.org>
10650
10651 * Makefile.in (temacs): Revert 2000-03-12 change.
10652
7cf80d4e
JR
106532000-04-10 Jason Rumney <jasonr@gnu.org>
10654
10655 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10656
34f3f342
GM
106572000-04-10 Gerd Moellmann <gerd@gnu.org>
10658
1a1b1895
GM
10659 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10660 area buffer, if it's not set up yet.
10661
34f3f342
GM
10662 * indent.c (compute_motion): Set immediate_quit.
10663
be0dbdab
GM
106642000-04-09 Gerd Moellmann <gerd@gnu.org>
10665
52283633 10666 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10667 (realize_tty_face): Suppress boldness if colors are the inverse of
10668 the default colors, and tty_suppress_bold_inverse_default_colors_p
10669 is set.
10670 (Ftty_suppress_bold_inverse_default_colors): New function.
10671 (syms_of_xfaces): Defsubr it.
10672
be0dbdab
GM
10673 * buffer.c (Frestore_buffer_modified_p): New function.
10674 (syms_of_buffer): Defsubr it.
10675
e8413c3b
KR
106762000-04-08 Ken Raeburn <raeburn@gnu.org>
10677
87f67317
KR
10678 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10679 charset id (int) argument, not a charset (Lisp_Object).
10680
e8413c3b
KR
10681 * coding.h (code_convert_string): Declare.
10682 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10683 object, as the fourth argument to code_convert_string.
10684
52283633 10685 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10686 (Fset_fontset_font): Use EQ to compare lisp objects.
10687
7c752c80
KR
106882000-04-05 Ken Raeburn <raeburn@gnu.org>
10689
c0333abc
KR
10690 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10691 a pointer that looks like a lisp object.
10692 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10693 zero, instead see whether it's an integer object, since they can't
10694 have intervals.
10695 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10696
52283633
SM
10697 * dispnew.c (allocate_matrices_for_frame_redisplay)
10698 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10699 to convert between (unsigned) int values and lisp integers.
10700 * keyboard.c (read_key_sequence): Likewise.
10701 * lread.c (substitute_object_recurse): Likewise.
10702 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10703 * minibuf.c (do_completion, Fminibuffer_complete_word)
10704 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10705 * term.c (produce_special_glyphs): Likewise.
10706
10707 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10708 * print.c (print_preprocess, print_object): Likewise.
10709
10710 * search.c (compile_pattern): Use NILP when checking for nil.
10711
74e49b38
KR
10712 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10713 __OPTIMIZE__]: Provide a GNU C macro version that handles
10714 lisp-object unions.
10715 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10716 field, to better cope with ENABLE_CHECKING and calls that modify a
10717 Lisp_Object using its old value.
10718
685e5ed2
GM
107192000-04-04 Gerd Moellmann <gerd@gnu.org>
10720
c407c570
GM
10721 * window.c (compare_window_configurations): Signal an error
10722 if parameters C1 or C2 aren't window configurations.
10723
685e5ed2
GM
10724 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10725 AFTER_POTENTIAL_GC calls around calls to functions that can
10726 signal an error and thus invoke the debugger.
10727
587a49ab
GM
107282000-04-03 Gerd Moellmann <gerd@gnu.org>
10729
62f20204
GM
10730 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10731 an error if decoding fails.
10732
587a49ab
GM
10733 * keyboard.c (lispy_mouse_names): Variable removed.
10734 (Vlispy_mouse_stem): New variable.
10735 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10736 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10737 for any mouse button number. Increase size of mouse_syms and
10738 button_down_location as needed. Call modify_event_symbol with
10739 different arguments.
10740 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10741 Call modify_event_symbol with different arguments.
10742 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10743 for any button number. Call modify_event_symbol with different
10744 arguments.
10745 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10746 Accept a string for NAME_ALIST_OR_STEM.
10747
10748 * lisp.h (larger_vector): Add prototype.
10749
10750 * fns.c (larger_vector): Make externally visible.
10751
10752 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10753
2d1675e4
SM
107542000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10755
10756 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10757 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10758 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10759 we are between str1 and str2.
10760 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10761 (PATFETCH): Use `TRANSLATE'.
10762 (PATFETCH_RAW): Fetch multibyte char if applicable.
10763 (PATUNFETCH): Remove.
10764 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10765 When writing a char, write it directly into the pattern buffer rather
10766 than going needlessly through a temp char-array.
10767 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10768 multibyte magic and remove the useless `#ifdef emacs'.
10769 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10770 buffer.
10771
10772 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10773 conditional on `emacs'.
10774
10775 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10776
cc2d8c6b
KR
107772000-04-01 Ken Raeburn <raeburn@gnu.org>
10778
10779 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10780 non-union-type versions of XMARK and friends here, because XMARK
10781 and friends won't work on an integer field if NO_UNION_TYPE is not
10782 defined.
52283633 10783 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10784
52283633 10785 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10786 (syms_of_composite): Delete local var NARGS, pass an int as first
10787 argument to Fmake_hash_table.
10788
2387b382
KR
10789 * editfns.c (text_property_stickiness): Use NILP to test
10790 Lisp_Object boolean value.
10791 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10792 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10793 problems reading from and changing the same lisp value in an
10794 XSETSTRING call.
10795
27660e89
GM
107962000-04-01 Gerd Moellmann <gerd@gnu.org>
10797
10798 * term.c (TN_no_color_video): New variable.
10799 (term_init): Intitialize TN_no_color_video.
10800 (enum no_color_bit): New enumeration.
10801 (MAY_USE_WITH_COLORS_P): New macro.
10802 (turn_on_face): Use it to determine if attributes may be used
10803 combined with colors.
10804
3578db3c
KR
108052000-04-01 Ken Raeburn <raeburn@gnu.org>
10806
10807 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10808 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10809 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10810 proper accessor macros.
10811 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10812 (grow_mini_window): Fix typo getting int value of root->height.
10813
6fc556fd
KR
10814 * xdisp.c (compute_string_pos): Fix order of arguments to
10815 string_pos_nchars_ahead.
10816 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10817 count arg to variable-arg routines like Frun_hook_with_args and
10818 Fformat.
587a49ab
GM
10819 (back_to_previous_visible_line_start)
10820 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10821 fixed-arg routines like Fget_char_property and Fmake_string.
10822 (reconsider_clip_changes): Use XINT when comparing integer lisp
10823 objects, or passing them as int arguments.
587a49ab
GM
10824 (mark_window_display_accurate, insert_left_trunc_glyphs)
10825 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10826 storing or passing integer values as lisp objects.
10827 (set_cursor_from_row, highlight_trailing_whitespace): Use
10828 INTEGERP, not implicit test against zero, for glyph object.
10829 (try_window_id): Don't use make_number when we want an int value.
10830
10831 * xfaces.c (xlfd_symbolic_value): Make last argument a
10832 Lisp_Object, to be consistent with callers.
10833 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10834 (lface_hash): Apply XFASTINT to lisp values before folding in.
10835
10836 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10837 fill in window width and height. Pass an int, not a lisp object,
10838 as first arg to Finsert.
10839
6e7b2457
GM
108402000-04-01 Gerd Moellmann <gerd@gnu.org>
10841
610d841e
GM
10842 * xfaces.c (realize_basic_faces): Block input while realizing
10843 the faces.
10844
6e7b2457
GM
10845 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10846
10847 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10848
aa110c0c
GM
108492000-03-31 Gerd Moellmann <gerd@gnu.org>
10850
10851 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10852 or ASCII, handle case that per-char metric is null.
aa110c0c 10853
8801a864
KR
108542000-03-30 Ken Raeburn <raeburn@gnu.org>
10855
c6129d7e
KR
10856 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10857
52283633
SM
10858 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10859 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10860 pointer, using eassert.
10861 * frame.h (XFRAME): Likewise.
10862
52283633
SM
10863 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10864 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10865 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10866 * data.c (set_internal): Likewise.
52283633
SM
10867 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10868 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10869 * fileio.c (auto_save_1): Likewise.
10870 * insdel.c (check_markers): Likewise.
10871 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10872 * undo.c (record_insert): Likewise.
10873 * vmsproc.c (child_sig): Likewise.
10874 * window.c (unshow_buffer, window_loop): Likewise.
10875 * xterm.c (x_erase_phys_cursor): Likewise.
10876
8e7af858
GM
108772000-03-30 Gerd Moellmann <gerd@gnu.org>
10878
10879 * xfns.c (free_image_cache): Free the cache structure itself
10880 last, after all its members have been freed.
10881
10882 * lisp.h (xstrdup): Add prototype.
10883
10884 * alloc.c (xstrdup): Moved here from xfaces.c.
10885 (allocating_for_lisp): Variable removed.
52283633 10886 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10887
10888 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10889 of Fsymbol_value.
10890 (xstrdup): Moved to alloc.c.
10891
e0b8c689
KR
108922000-03-29 Ken Raeburn <raeburn@gnu.org>
10893
b96f9fb7
KR
10894 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10895
10896 * emacs.c (main): Fix sense of no-loadup test.
10897
e0b8c689
KR
10898 * config.in (ENABLE_CHECKING): Undef.
10899
10900 * lisp.h (struct interval): Replace "parent" field with a union of
10901 interval pointer and Lisp_Object; add new bitfield to use as
10902 discriminant. Change other flag fields to bitfields.
10903 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10904 is defined and the supplied test fails, print a message and abort.
10905 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10906
10907 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10908 pointers; abort if the value looks like a lisp object.
52283633
SM
10909 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10910 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10911 Modify for new interval parent definition.
10912
52283633
SM
10913 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10914 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10915 addressable lisp object in the interval structure.
10916 (die): New function.
10917 (suppress_checking): New variable.
10918
10919 * intervals.c (interval_start_pos): Just return 0 if there's no
10920 parent object.
10921
f83c5440
GM
109222000-03-29 Gerd Moellmann <gerd@gnu.org>
10923
10924 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10925 and earlier Emacs versions.
10926
10927 * keyboard.c (Ftop_level): Cancel busy-cursor.
10928
10929 * eval.c (call_debugger): Cancel busy-cursor.
10930
fdce64ff
KH
109312000-03-29 Kenichi Handa <handa@etl.go.jp>
10932
10933 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10934 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10935
f6a3f532
SM
109362000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10937
10938 * regex.c (analyse_first): New function obtained by ripping out most
10939 of re_compile_fastmap and generalizing it a little bit so that it
10940 can also just return whether a given (sub)pattern can match the empty
10941 string or not.
10942 (regex_compile): Use `analyse_first' to decide whether the loop-check
10943 needs to be done or not for *, +, *? and +? (the loop check is costly
10944 for non-greedy repetition).
10945 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10946
e9b309ac
DL
109472000-03-28 Dave Love <fx@gnu.org>
10948
52283633 10949 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10950
e9b309ac
DL
10951 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10952
ed0767d8
SM
109532000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10954
10955 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10956 an expression.
10957 (enum re_opcode_t): Update description of succeed_n.
10958 (PATFETCH): Always define.
10959 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10960 operators, char classes, shy-groups and intervals).
10961 Optimize special cases of intervals so as to only use succeed_n and
10962 jump_n when really needed.
10963 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10964 that we don't have to handle the special cases any more.
10965 Simplify on_failure_jump handling as well.
10966
e11e7e46
JR
109672000-03-28 Jason Rumney <jasonr@gnu.org>
10968
10969 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10970
88faab89
GM
109712000-03-27 Gerd Moellmann <gerd@gnu.org>
10972
182ff242
GM
10973 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10974
10975 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10976
182ff242
GM
10977 * alloc.c (mark_maybe_object): New function.
10978 (mark_memory): Use it.
10979 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10980 (setjmp_tested_p, longjmp_done): New variables.
10981 (test_setjmp): New function.
10982 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10983 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10984
c1005d06
GM
10985 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10986 to DEC_TEXT_POS and INC_TEXT_POS.
10987
10988 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10989 with parameter MULTIBYTE_P.
10990
52283633 10991 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10992
7439e5b9 10993 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10994 buffers because it looks for multibyte character byte sequences
10995 which don't exist in unibyte text.
7439e5b9 10996
d9c545da
GM
10997 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10998
11fd416e 10999 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11000 [DEBUG_X_COLORS]: New functions.
11001 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11002
11003 * xfns.c (x_set_cursor_color): Get color reference counts right.
11004
11005 * xterm.c (x_copy_color): New function.
11006 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11007
11008 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11009 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11010 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11011 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11012 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11013 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11014 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11015 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11016 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11017 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11018
11fd416e
GM
11019 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11020 names for handling per-buffer variables.
d9c545da
GM
11021
11022 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11023 instead of MAX_BUFFER_LOCAL_VARS.
11024 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11025
11026 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11027
88faab89
GM
11028 * xfns.c (x_specified_cursor_type): New function.
11029 (x_set_cursor_type): Use it.
11030
11031 * buffer.h (struct buffer): Add cursor_type.
11032
d80f42b7
SM
110332000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11034
11035 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11036 (print_partial_compiled_pattern, re_compile_fastmap):
11037 Handle new opcode.
d80f42b7
SM
11038 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11039 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11040 executing it as well as when popping it off the stack to find infinite
11041 loops in non-greedy repetition operators.
11042
89e80928
GM
110432000-03-26 Gerd Moellmann <gerd@gnu.org>
11044
3d4ff2dd
GM
11045 * doc.c (Qfunction_documentation): New variable.
11046 (syms_of_doc): Initialize Qfunction_documentation.
11047 (Fdocumentation): If FUNCTION is a symbol with non-nil
11048 `function-documentation' property, return a documentation derived
11049 from that.
11050
bd96bd79
GM
11051 * buffer.c (syms_of_buffer): Add default-cursor-type.
11052 (init_buffer_once): Don't let cursor_type have a local value
11053 in every buffer.
11054
19d1bc27
GM
11055 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11056 on buffer-local value of cursor_type.
11057 (x_draw_bar_cursor): Add parameter WIDTH.
11058
11059 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11060 (init_buffer_once): Set default cursor_type value to t.
11061 Mark cursor_type as local everywhere.
11062 (syms_of_buffer): New per-buffer variable cursor-type.
11063
89e80928
GM
11064 * buffer.h (struct buffer): Remove member local_var_flags,
11065 add local_flags.
11066 (MAX_BUFFER_LOCAL_VARS): New macro.
11067 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11068 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11069 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11070 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11071
52283633 11072 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11073
11074 * category.c (Fset_category_table): Use new macros for per-buffer
11075 variables.
11076
11077 * buffer.c (buffer_permanent_local_flags): Make a char array.
11078 (max_buffer_local_idx): New variable.
11079 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11080 for new handling of per-buffer variables.
11081 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11082 (init_buffer_once): Initialize per-buffer vars differently.
11083 Set max_buffer_local_idx.
11084
11085 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11086 variables.
11087
52283633 11088 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11089
11090 * data.c (do_symval_forwarding, store_symval_forwarding)
11091 (find_symbol_value, set_internal, default_value, Fset_default)
11092 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11093 per-buffer variables.
11094
11095 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11096
9a0dd3dc
GM
110972000-03-24 Gerd Moellmann <gerd@gnu.org>
11098
b68c375f
GM
11099 * xterm.c (x_term_init): Unblock input around call1 of
11100 Qvendor_specific_keysyms.
11101
9a0dd3dc
GM
11102 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11103 (find_defun_start): Consider an open parenthesis in column 0
11104 a defun start only if open_paren_in_column_0_is_defun_start is set.
11105 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11106
7973e637
SM
111072000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11108
11109 * eval.c (Fautoload): Add entry in load-history (if after dump).
11110 * lread.c (load-history): Update docstring.
11111
39210e90
GM
111122000-03-24 Gerd Moellmann <gerd@gnu.org>
11113
11114 * indent.c (Fvertical_motion): Always use the current buffer.
11115 Temporarily change the window's buffer, if necessary.
11116
72db3ab5
GM
111172000-03-23 Gerd Moellmann <gerd@gnu.org>
11118
11119 * xterm.c (fast_find_position): Make sure not to consider rows
11120 not visible in the window.
11121
990b2375
SM
111222000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11123
11124 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11125 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11126
ff4df011
JR
111272000-03-22 Jason Rumney <jasonr@gnu.org>
11128
11129 * w32menu.c (single_submenu): Set help string to NULL if none.
11130 (w32_menu_show): Set help string correctly.
11131 (add-menu-item): Set help string in MIIM_DATA for menu item.
11132 Load SetMenuItemInfoA explicitly.
11133 (w32_menu_display_help): New function.
427ec082 11134
ff4df011
JR
11135 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11136 (QCdata): Moved to xdisp.c.
11137
11138 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11139 (Vw32_charset_to_codepage_alist): Removed.
11140 (Vw32_charset_info_alist): New variable.
52283633
SM
11141 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11142 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11143 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11144 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11145 with TODO comment.
11146 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11147 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11148 Define Vw32_charset_info_alist and w32_charset symbols.
11149
111502000-03-22 Jason Rumney <jasonr@gnu.org>
11151
11152 * makefile.nt (w32bdf.obj): Update dependencies.
11153
11154 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11155
11156 * w32fns.c: Include fontset.h after dispextern.h.
11157 (Fx_create_frame): Do not create fontset.
11158 (w32_load_system_font): Doc fix.
11159 (Fx_close_connection): Free full_name if it is not shared.
11160
11161 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11162 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11163 Callers updated.
ff4df011
JR
11164 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11165 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11166 (w32_font_is_double_byte): New function, needs body.
11167 (x_append_glyph): Set glyph->glyph_not_available_p.
11168 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11169 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11170 character, convert it to a unibyte character.
11171 (struct glyph_string): Delete member `charset'.
11172 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11173 calculating it is found.
11174 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11175 the case that per char metric is not available correctly.
11176 (x_fill_glyph_string): Handle the case that the specific glyph is
11177 not available correctly.
11178 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11179 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11180 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11181 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11182 fontset. Don't call FS_LOAD_FONT.
11183
439d5cb4
KR
111842000-03-22 Ken Raeburn <raeburn@gnu.org>
11185
11186 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11187 (INT_LISPLIKE): New macro.
11188 (NULL_INTERVAL_P): Use it.
52283633
SM
11189 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11190 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11191 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11192
11193 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11194 explicit references to "parent" field of struct interval and
11195 associated unclean type conversions.
52283633
SM
11196 * intervals.c (create_root_interval, root_interval, rotate_right)
11197 (rotate_left, balance_possible_root_interval, split_interval_right)
11198 (split_interval_left, interval_start_pos, find_interval)
11199 (next_interval, previous_interval, update_interval)
11200 (adjust_intervals_for_insertion, delete_node, delete_interval)
11201 (adjust_intervals_for_deletion, merge_interval_right)
11202 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11203 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11204 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11205 Likewise.
11206 * syntax.c (update_syntax_table): Likewise.
11207
11208 * intervals.c (reproduce_tree_obj): New function, like
11209 reproduce_tree but takes a Lisp_Object for the parent. Declare
11210 with prototype.
11211 (graft_intervals_into_buffer): Use it when appropriate.
11212 (reproduce_tree): Declare with prototype.
11213 (balance_possible_root_interval): Check that the parent is a lisp
11214 object before trying to examine its type.
11215
ee1c5b21
GM
112162000-03-22 Gerd Moellmann <gerd@gnu.org>
11217
11218 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11219 as strings only if both are known to be strings.
11220
11221 * s/openbsd.h (LIBS_TERMCAP): Undef.
11222
1fb352e0
SM
112232000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11224
11225 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11226 definitions for non-Emacs compilation.
11227 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11228 outside of `#ifdef emacs'.
11229 (print_partial_compiled_pattern): Update.
11230 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11231 (re_compile_fastmap): Merge handling of charset and charset_not (for
11232 emacs and non-emacs compilation as well).
11233 Similarly for (not)categoryspec and (not)syntaxspec.
11234 Don't use the fastmap when reaching `anychar' since the added
11235 complexity is not justified.
11236 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11237 and (not)syntaxspec. Merge (not)categoryspec.
11238
fdaa1f77
KH
112392000-03-22 Kenichi Handa <handa@etl.go.jp>
11240
52283633
SM
11241 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11242 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11243 --without-x.
fdaa1f77 11244
d152fb46
DL
112452000-03-21 Dave Love <fx@gnu.org>
11246
11247 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11248 doc string.
11249
d2cafc8c
GM
112502000-03-21 Gerd Moellmann <gerd@gnu.org>
11251
11252 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11253 (lface_fully_specified_p): Don't check contents of
11254 LFACE_FONT_INDEX because that attribute is optional.
11255 (realize_x_face): Remove now unwarranted xassert.
11256
9111d4b5
KH
112572000-03-21 Kenichi HANDA <handa@etl.go.jp>
11258
11259 The following changes are to make font selection based on
11260 characters, not charset. In addition, they recover fontset
11261 facilities while utilizing the new font selection mechanism.
11262
6c4bfdc0
KH
11263 * Makefile.in (fontset.o): Depend on dispextern.h.
11264
11265 * alloc.c (mark_face_cache): Don't mark face->registry.
11266
9111d4b5
KH
11267 * dispextern.h (struct glyph): New member glyph_not_available_p.
11268 Use 22 bits for face_id.
11269 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11270 (struct face): Delete member registry, new member ascii_face.
11271 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11272 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11273 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11274 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11275
11276 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11277 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11278 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11279 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11280 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11281 (fs_free_face_fontset, fontset_font_pattern)
11282 (face_suitable_for_char_p, face_for_char)
11283 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11284 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11285 (FS_LOAD_FACE_FONT): New macro.
11286
11287 * fontset.c: All codes rewritten or adjusted for the change of
11288 fontset implementation. Now fontset is represented by char table.
52283633
SM
11289 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11290 Variables removed.
9111d4b5 11291 (my_strcasecmp): Function removed.
52283633 11292 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11293 (AREF, ASIZE): New macros.
52283633
SM
11294 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11295 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11296 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11297 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11298 (fontset_id_valid_p, font_family_registry, fontset_name)
11299 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11300 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11301 New functions.
11302 (fs_load_font): New arg FACE. Caller changed.
11303 (fs_query_fontset): Argument changed. Caller changed.
11304 (Fquery_fontset): call fs_query_fontset.
11305 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11306 Functions removed.
52283633
SM
11307 (clear_fontset_elements, check_registry_encoding)
11308 (check_fontset_name): New functions.
9111d4b5
KH
11309 (syms_of_fontset): Set char-table-extra-slots property of fontset
11310 to 3. Staticpro and initialize Vfontset_table and
11311 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11312
11313 * frame.h (struct frame): Member `fontset_data' removed.
11314 (FRAME_FONTSET_DATA): Macro removed.
11315
11316 * frame.c (make_frame): Don't allocate f->fontset_data.
11317 (Fdelete_frame): Don't free f->fontset_data.
11318
6c4bfdc0
KH
11319 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11320
9111d4b5
KH
11321 * xdisp.c (charset_at_position): Function removed.
11322 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11323 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11324 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11325 Likewise.
11326 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11327 FACE_FOR_CHARSET.
52283633
SM
11328 (get_next_display_element, append_space)
11329 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11330
11331 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11332 Variables removed.
11333 (clear_font_table, frame_update_line_height, load_face_font):
11334 Adjusted for the change of fontset implementation.
11335 (load_face_fontset_font): Function removed.
11336 (pixel_point_size): New function.
11337 (font_list): Argument type changed. Caller changed.
11338 (LFACE_FONT): New macro.
11339 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11340 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11341 Lisp_Object. Determine the font name by actually loading a font
11342 by the specified pattern. Set LFACE_FONT (lface) to the specified
11343 pattern. Even if a font is not found, don't try alternatives.
11344 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11345 (set_font_frame_param): If `font' is specified in lface, use it.
11346 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11347 (lface_same_font_attributes_p): Likewise.
11348 (make_realized_face): Arguent changed. Caller changed. Set
11349 face->ascii_face to face itself.
11350 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11351 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11352 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11353 (free_realized_multibyte_face): New function.
11354 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11355 changed. Caller changed.
11356 (try_font_list): Argument type changed.
11357 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11358 (choose_face_font): Argument changed. Handle fontset properly.
11359 (choose_face_fontset_font): Function removed.
11360 (realize_default_face, realize_named_face): Don't remove the
11361 former face here.
11362 (realize_face): Argument changed. Caller changed. Remove face
52283633 11363 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11364 (realize_x_face): Argument changed. Caller changed. For a
11365 multibyte character, share fontset with base_face. For a single
52283633 11366 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11367 (realize_tty_face): Argument changed. Caller changed.
11368 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11369 (face_at_buffer_position): Don't check multibyte_p for returning
11370 DEFAULT_FACE_ID.
11371 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11372 FACE_SUITABLE_FOR_CHARSET_P.
11373 (syms_of_xfaces): Remove code for Qx_charset_registry and
11374 Vface_default_registry.
11375
6c4bfdc0
KH
11376 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11377 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11378 (x_per_char_metric): Don't try FONT->default_char. Even if
11379 pcm->width is zero, glyph bits may exist.
11380 (x_encode_char): Always initialize char2b->byte1.
11381 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11382 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11383 (x_append_glyph): Set glyph->glyph_not_available_p.
11384 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11385 it->charset. Handle the case that per char metric is not
11386 available. If it->multibyte_p is zero and it->c is a multibyte
11387 character, convert it to a unibyte character.
11388 (struct glyph_string): Delete member `charset'.
11389 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11390 the case that per char metric is not available correctly.
11391 (x_fill_glyph_string): Handle the case that the specific glyph is
11392 not available correctly.
11393 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11394 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11395 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11396 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11397 fontset. Don't call FS_LOAD_FONT.
11398
11399 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11400 (x_create_tip_frame): Likewise.
11401 (Fx_close_connection): Free full_name of font_info.
11402
11403 * fns.c (optimize_sub_char_table): New function.
11404 (Foptimize_char_table): New function.
11405 (syms_of_fns): Defsubr Soptimize_char_table.
11406
b33dd3b0
GM
114072000-03-20 Gerd Moellmann <gerd@gnu.org>
11408
11409 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11410 only if buffer is displayed in some window.
11411
11412 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11413 (try_window_reusing_current_matrix): Don't call scroll run
11414 function if run's current and desired position are the same;
11415 this prevents cursor flickering.
11416
4e8a9132
SM
114172000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11418
11419 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11420
11421 * regex.c (RE_STRING_CHAR): New macro.
11422 (GET_CHAR_AFER_2): Remove.
11423 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11424 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11425 (print_partial_compiled_pattern, re_compile_fastmap)
11426 (re_match_2_internal): Remove on_failure_jump_exclusive.
11427 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11428 optimization only need to work for * (ie. can use of_keep_string_jump).
11429 Remove the special case for .*\n since it is now covered by the general
11430 optimization.
11431 (re_search_2): Don't bother with `room'.
11432 (skip_one_char): New function.
11433 (skip_noops): Simplify since `memory' is not needed any more.
11434 (mutually_exclusive_p): Restructure slightly to use `switch' and
11435 add handling for "all" remaining cases.
11436 (re_match_2_internal): Change on_failure_jump_smart to use
11437 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11438 rather than on_failure_jump_exclusive.
11439
2136fdd4
GM
114402000-03-19 Gerd Moellmann <gerd@gnu.org>
11441
11442 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11443 number of bits per RGB because it's everywhere used as the depth
11444 of the visual.
11445
11446 * term.c (calculate_costs): Remove code dealing with X frames.
11447
18e21ce8 114482000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11449
11450 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11451
d7b511c4
GM
114522000-03-18 Gerd Moellmann <gerd@gnu.org>
11453
11454 * lread.c (read_integer): Unread the last char not consumed.
11455
16b5d424
GM
114562000-03-17 Gerd Moellmann <gerd@gnu.org>
11457
11458 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11459 which are in the process of being deleted.
16b5d424 11460
1fa28578
GM
114612000-03-16 Gerd Moellmann <gerd@gnu.org>
11462
83488cce
GM
11463 * Makefile.in (mostlyclean): Add `*.core'.
11464 (clean): Add `bootstrap-emacs'.
11465
1fa28578
GM
11466 * lread.c (read_integer): New function.
11467 (read1): Support read syntax #o, #x, #b, #r.
11468
99633e97
SM
114692000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11470
1fa28578
GM
11471 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11472 make sure POINTER_TO_OFFSET gives the same value before and after
11473 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11474 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11475 (debug): Now only active if > 0 rather than if != 0.
11476 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11477 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11478 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11479 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11480 (store_op1, store_op2, insert_op1, insert_op2)
11481 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11482 (group_in_compile_stack): Move to after its arg's types are
11483 declared and add a prototype.
99633e97 11484 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11485 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11486 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11487 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11488 indentation of the greedy-op and shy-group code.
99633e97
SM
11489 (at_(beg|end)line_loc_p): Fix argument's types.
11490 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11491 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11492 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11493 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11494 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11495 QUIT unconditionally.
99633e97 11496
699238d9
GM
114972000-03-15 Gerd Moellmann <gerd@gnu.org>
11498
11499 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11500 a sole completion.
11501
11502 * process.c (send_process): Add a hint that the function
11503 can call Lisp code to its comment.
11504
11505 * lread.c (load_dangerous_libraries): New variable.
11506 (Vbytecomp_version_regexp): New variable.
11507 (safe_to_load_p): New function.
11508 (Fload): Handle files not compiled with Emacs specially.
11509 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11510
34e23e5a
GM
115112000-03-14 Gerd Moellmann <gerd@gnu.org>
11512
9c763cca
GM
11513 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11514
11515 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11516 support functions only if HAVE_X11R6_XIM is defined.
11517 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11518
11519 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11520
11521 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11522 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11523 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11524
11525 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11526 (HAVE_X11R6_XIM): Define.
11527
11528 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11529
34e23e5a
GM
11530 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11531 If set, call XSynchronize.
11532
66f0296e
SM
115332000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11534
34e23e5a
GM
11535 * regex.c: Declare a new type `re_char' used throughout the code
11536 for the string char type. It's `const unsigned char' to match the
11537 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11538 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11539 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11540 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11541 code duplication.
66f0296e
SM
11542
11543 * charset.h (GET_CHAR_AFTER_2): Remove.
11544 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11545
854a025c
KR
115462000-03-12 Ken Raeburn <raeburn@gnu.org>
11547
11548 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11549 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11550 of them try to use backquotes.
11551
b9d2c7e2
DL
115522000-03-12 Dave Love <fx@gnu.org>
11553
11554 * unexelf.c: Restore changes of 1999-10-19.
11555 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11556 fix its type and alignment; copy it from current process.
11557
5e5dff44
GM
115582000-03-12 Gerd Moellmann <gerd@gnu.org>
11559
9b2f3c38
GM
11560 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11561 has been found. Fix bug not computing timer's predecessor.
11562
427ec082 11563 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11564 file name.
11565
e1cff360
GM
11566 * window.c (Fsave_window_excursion): Doc fix.
11567
52283633 11568 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11569
e411ce4b
EZ
115702000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11571
11572 * msdos.c (vga_installed): New function, code moved from
11573 dos_set_window_size.
11574 (Qbar, Qcursor_type, outside_cursor): New variables.
11575 (syms_of_msdos): Intern and staticpro them.
11576 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11577 shape used outside Emacs when called for the first time.
11578 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11579 cursor shape used outside Emacs.
11580 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11581 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11582 type has changed.
11583 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11584 parameters specify the cursor. Make qreverse a global
11585 variable (renamed to Qreverse).
11586
80460654
GM
115872000-03-09 Gerd Moellmann <gerd@gnu.org>
11588
11589 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11590
95cd4c40
SM
115912000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11592
11593 This is a big redesign of failure-stack and register handling, prompted
11594 by bugs revealed when trying to add shy-groups. Overall, what happened
11595 is that loops are now structured a little differently, groups can be
11596 shy and the code is a little simpler.
11597
11598 * regex.h: Update the copyright.
11599 (RE_SHY_GROUPS): New value.
11600 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11601 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11602
80460654
GM
11603 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11604 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11605 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11606 for (start|stop)_memory since they now only take one argument (the
11607 second has becomes unnecessary).
52283633 11608 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11609 (print_compiled_pattern): Use %ld to printf long ints and flush to
11610 make debugging a little easier.
95cd4c40
SM
11611 (union fail_stack_elt): Make the integer unsigned.
11612 (struct fail_stack_type): Add a `frame' element.
11613 (INIT_FAIL_STACK): Init `frame' as well.
11614 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11615 (DEBUG_PUSH, DEBUG_POP): Remove.
11616 (NUM_REG_ITEMS): Remove.
11617 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11618 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11619 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11620 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11621 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11622 New macros.
80460654
GM
11623 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11624 address pushed is not the destination of the jump but the source
11625 of it instead.
95cd4c40
SM
11626 (NUM_FAILURE_ITEMS): Remove.
11627 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11628 registers before the actual failure point). Don't hardcode any
11629 meaning for str==NULL anymore.
95cd4c40 11630 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11631 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11632 Remove.
95cd4c40
SM
11633 (REG_UNSET_VALUE): Use NULL (why not?).
11634 (compile_range): Remove declaration since it doesn't exist.
11635 (struct compile_stack_elt_t): Remove inner_group_offset.
11636 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11637 (regex_grow_registers): Remove dead code.
11638 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11639 (regex_compile): Add shy-groups Change loops to use
11640 on_failure_jump_smart&jump instead of
11641 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11642 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11643 variable to me). Use `jump' instead of `jump_past_alt' and don't
11644 bother with push_dummy_failure in alternatives since it is now
11645 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11646 emacs' for (re)allocating the stack.
11647 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11648 from loop when bufp->can_be_null rather than jumping to `done'.
11649 Avoid jumping backwards so as to ensure termination. Use
11650 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11651 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11652 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11653 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11654 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11655 (lowest_active_reg, highest_active_reg)
11656 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11657 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11658 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11659 variables. Push register (in `start_memory') on the stack rather
11660 than storing it in old_reg(start|end). Remove the cycle detection
11661 from `stop_memory', replaced by the use of on_failure_jump_loop
11662 for greedy loops. Add code for the new on_failure_jump_<foo>.
11663 Remove ad-hoc code in `on_failure_jump' to push more registers in
11664 the case of a loop. Take out code from `maybe_pop_jump' into
11665 separate functions and adapt it to the semantics of
11666 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11667 and push_dummy_failure. Remove dummy_failure handling and
11668 handling of `failures to jump to on_failure_jump' (this last one
11669 was already dead code, it seems).
11670 (group_match_null_string_p, alt_match_null_string_p)
11671 (common_op_match_null_string_p): Remove.
95cd4c40 11672
7397acc4
DL
116732000-03-08 Dave Love <fx@gnu.org>
11674
11675 * config.in: Don't depend on __STDC__ for volatile.
11676 Add POINTER_TYPE, PTR, PROTOTYPES.
11677
11678 * hftctl.c, strftime.c: Use PROTOTYPES.
11679 * eval.c (find_handler_clause): Likewise.
11680
11681 * mem-limits.h: Use POINTER_TYPE.
11682
11683 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11684 (memory_warnings): Declare using POINTER_TYPE.
11685
5e91ff9e
GM
116862000-03-08 Gerd Moellmann <gerd@gnu.org>
11687
feab4fba
GM
11688 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11689
52283633 11690 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11691
5e91ff9e
GM
11692 * xfns.c: Remove obsolete code in #if 0.
11693 (Fx_focus_frame): New function.
11694
a735b7e1
KH
116952000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11696
11697 * coding.c (coding_category_name): Add coding-category-utf-8,
11698 coding-category-utf-16-be, coding-category-utf-16-le.
11699 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11700 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11701 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11702 (detect_coding_utf_8): New function.
11703 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11704 UTF_16_LOW_SURROGATE_P): New macros.
11705 (detect_coding_utf_16): New function
11706 (detect_coding_mask): When priorities are specified, skip any
11707 categories that have `nil' coding-system. Fix bug of returning
11708 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11709 returns a mask not set in PRIORITIES.
11710 (detect_eol_type_in_2_octet_form): New function.
11711 (detect_eol): selects detect_eol_type_XXX to call according to
11712 cooding->category_idx.
11713 (detect_coding_system): Remove `nil' coding-system in the result.
11714 (Fupdate_coding_systems_internal): Update all coding-categories.
11715
52283633
SM
11716 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11717 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11718 New macros.
11719 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11720 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11721 (CODING_CATEGORY_IDX_UTF_16_LE)
11722 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11723 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11724 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11725 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11726
9994cc69
GM
117272000-03-07 Gerd Moellmann <gerd@gnu.org>
11728
e9b4e5ff
GM
11729 * doc.c (Fdocumentation_property): If value is not a string,
11730 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11731
f7daf1e1
GM
11732 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11733 close the display with XtCloseDisplay. This caused a bus error
11734 on OpenWindows.
11735
9994cc69
GM
11736 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11737 complete but not unique.
11738
4336c705
GM
117392000-03-06 Gerd Moellmann <gerd@gnu.org>
11740
18bb0684
GM
11741 * process.c (send_process): Remove local variable `procname' that
11742 might become invalid when a GC happens. Instead, access the
11743 process name slot directly.
11744
4336c705
GM
11745 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11746 orig_height if set.
11747
11748 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11749 orig_height if set.
11750
515d0d0e
EZ
117512000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11752
11753 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11754 glyph matrices have been freed.
11755
100b3cbb
GM
117562000-03-05 Gerd Moellmann <gerd@gnu.org>
11757
50df5e5a 11758 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11759 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11760
11761 * xfns.c (QCdata): Moved to xdisp.c.
11762
11763 * xdisp.c (QCdata): Moved here from xfns.c.
11764 (syms_of_xdisp): Initialize QCdata.
11765
11766 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11767
11768 * window.c (coordinates_in_window): Use
11769 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11770 FRAME_INTERNAL_BORDER_WIDTH.
11771
100b3cbb 11772 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11773 it is obviously invalid.
100b3cbb
GM
11774
11775 * xterm.c (x_term_init): Create a colormap if not using the
11776 default visual.
11777
11778 * xterm.h (select_visual): Change prototype.
11779
11780 * xfns.c (select_visual): Rewritten. Recognize user-specified
11781 visual classes.
11782 (visual_classes): New variable.
11783
64d739c4
GM
117842000-03-04 Gerd Moellmann <gerd@gnu.org>
11785
11786 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11787 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11788 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11789 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11790 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11791 XtNcolormap resources.
11792 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11793 (Fx_create_frame): Initialize color members of x_output structure.
11794 (xpm_load): Pass colormap to XPM lib.
11795
11796 * xfaces.c (x_free_colors): Access colormap of frame using
11797 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11798 when default colormap is used.
11799
11800 * xterm.c (x_term_init): Set Colormap member of x_display_info
11801 structure. Copy colormap if resource `privateColormap' is
11802 specified (PseudoColor only).
11803 (x_setup_relief_color): Access colormap of frame using
11804 FRAME_X_COLORMAP.
11805
11806 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11807 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11808
c3cee013
JR
118092000-03-04 Jason Rumney <jasonr@gnu.org>
11810
11811 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11812 other non-platform-specific equivalents.
64d739c4 11813 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11814 specific functions and macros as their w32 equivalents where
11815 non-platform-specifics are not available.
11816 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11817 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11818 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11819 (frame_update_line_height): Use macros to access f->output_data.
11820 (defined_color): Remove FIXME comments; fixed.
11821 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11822 into #ifdef blocks. Add WINDOWSNT blocks.
11823 (Fx_list_fonts): Use macros for accessing font data.
11824 (set_lface_from_font_name): Different default fonts for X and
11825 WINDOWSNT.
11826 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11827 scalable for backward compatibility.
64d739c4 11828 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11829 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11830
64d739c4 11831 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11832 syms_of_w32faces.
11833
11834 * makefile.nt (w32faces.obj): Remove.
11835 (xfaces.obj): Add.
11836
807cc41c
JR
118372000-03-03 Jason Rumney <jasonr@gnu.org>
11838
11839 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11840 correct parameters.
11841
0007072a
KR
118422000-03-03 Ken Raeburn <raeburn@gnu.org>
11843
11844 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11845 standard ELF definitions here if the system header does not.
11846
71a6ba55
GM
118472000-03-03 Gerd Moellmann <gerd@gnu.org>
11848
11849 * xterm.c (PER_CHAR_METRIC): Removed.
11850 (x_per_char_metric_1, x_default_char): New functions.
11851 (x_per_char_metric): If font's default char is invalid, return
11852 metrics of a suitably chosen usable default char.
11853 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11854 char, replace occurrences of unprintable chars with a suitably
11855 chosen usable default char.
71a6ba55 11856
900fa1f1
GM
118572000-03-02 Gerd Moellmann <gerd@gnu.org>
11858
42f55fe0
GM
11859 * xterm.c (note_mouse_highlight): Return quickly if frame's
11860 glyph matrices have been freed.
11861
11862 * dispnew.c (free_glyphs): Block input while freeing matrices.
11863
900fa1f1
GM
11864 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11865
52283633
SM
11866 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11867 Use x_free_colors.
900fa1f1
GM
11868
11869 * dispextern.h (x_free_colors): Add prototype.
11870
11871 * xfaces.c (x_free_colors): New function.
11872 (unload_color, free_face_colors): Use it.
11873
2f950292
EZ
118742000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11875
11876 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11877
11878 * window.c [MSDOS]: Include msdos.h.
11879
54d04320
DL
118802000-03-02 Dave Love <fx@gnu.org>
11881
11882 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11883
11884 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11885 set C_OPTIMIZE_SWITCH for gcc.
11886
0ba93ac4
KH
118872000-03-02 Kenichi Handa <handa@etl.go.jp>
11888
11889 * coding.c (coding_save_composition): Be sure to allocate
11890 composition data area in coding even if there's no composition in
11891 the current run.
11892
a2bc11d4
JR
118932000-03-01 Jason Rumney <jasonr@gnu.org>
11894
11895 * w32term.c: Equivalent changes to those made to xterm.c on
11896 2000-02-25 and 2000-02-24.
11897
11898 * w32fns.c: Equivalent changes to those made to xfns.c on
11899 2000-02-25 and 2000-02-21.
11900
11901 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11902 correct line-end convention is followed.
11903
11904 * w32menu.c [HAVE_BOXES]: Remove #undef.
11905 (single_keymap_panes): Remove code for simulating checkmarks.
11906 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11907 Remove code for drawing simulated checkmarks.
11908 (w32_menu_show): make unibyte help string correctly.
11909 (add_menu_item): draw standard Windows checkmarks. Draw radio
11910 buttons as radio buttons if possible.
11911
72d19d75
GM
119122000-03-01 Gerd Moellmann <gerd@gnu.org>
11913
2df636f4
GM
11914 * sysdep.c (start_of_text): Don't define this function for NetBSD
11915 with ELF.
11916
427ec082 11917 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11918 Don't define.
11919 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11920 (LINKER): Don't undef if __NetBSD__ is defined.
11921
11922 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11923
11924 * fileio.c [__NetBSD__]: Define `unix'.
11925
72d19d75
GM
11926 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11927
ed4d0512
GM
119282000-02-29 Gerd Moellmann <gerd@gnu.org>
11929
50b1039f
GM
11930 * atimer.c (start_atimer): Don't abort when timers are stopped.
11931 (append_atimer_lists): New function.
11932 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11933 arbitrary lists of stopped and running atimers.
11934
ed4d0512
GM
11935 * atimer.c (cancel_atimer): Handle canceling an atimer when
11936 some timers are stopped.
11937
11938 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11939 after canceling it.
11940
11941 * fns.c (maybe_resize_hash_table): Handle case of new size
11942 coming out as being the same as old size.
11943
387023ee
JR
119442000-02-27 Jason Rumney <jasonr@gnu.org>
11945
11946 * makefile.nt: Add atimer.h to dependencies.
11947 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11948 * w32console.c: Only disable window system features for dispextern.h
11949 (initialize_w32_display): Build a display info for the console.
11950 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11951 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11952 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11953 as 2 button mice.
11954 * w32gui.h (struct W32FontStruct): Revert last change after change
11955 to xdisp.c.
11956 * w32menu.c (single_submenu): Set up help string.
11957 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11958 (w32_dialog_show): Set up help string.
11959 * w32term.c (w32_display_info_for_display): Remove unused function.
11960 (w32_draw_bitmap): Use pre-built bitmaps.
11961 (w32_initialize_display_info): New function to initialize parts of
11962 display info that are common to both GUI and console frames.
11963 (w32_term_init): Use w32_initialize_display_info. Do not set
11964 Vw32_num_mouse_buttons here, as it is not called for console
11965 frames. Build bitmaps for indicating truncated lines etc.
11966 (x_delete_display): Destroy pre-built bitmaps.
11967 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11968 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11969
4516715a
DL
119702000-02-27 Dave Love <fx@gnu.org>
11971
11972 * lisp.h: Add a bunch of prototypes.
11973
171ca836
KH
119742000-02-26 Kenichi Handa <handa@etl.go.jp>
11975
11976 * keyboard.c (read_char): Set `usec' correctly.
11977
4013921d
KH
119782000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11979
11980 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11981 `lambda', set reg[RRR] to the map index.
11982 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11983 reg[RRR] to 0. Otherwise, set it to -1.
11984
9244a058
GM
119852000-02-25 Gerd Moellmann <gerd@gnu.org>
11986
2df636f4 11987 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11988
18e21ce8 119892000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11990
f43d79c1
GM
11991 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11992 and contains a `:', prepend `/:'.
11993
11994 * window.c (select_window_1): If selected_window is nil,
11995 don't "swap out" the buffer's point.
11996 (Fset_window_configuration): Set selected_window to nil
11997 before calling Fselect_window.
11998 (unshow_buffer): Don't set point in buffer from window's point
11999 if another more recently selected window also shows the buffer.
12000
bed0c171
GM
120012000-02-25 Gerd Moellmann <gerd@gnu.org>
12002
449c3c52
GM
12003 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12004
f5b58615
GM
12005 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12006 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12007 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12008 New variables.
f5b58615
GM
12009 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12010 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12011 (hide_busy_cursor): New functions.
12012 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12013
12014 * minibuf.c (read_minibuf): Cancel busy-cursor.
12015
12016 * keyboard.c (command_loop_1): Call start_busy_cursor before
12017 Fcommand_execute and cancel_busy_cursor after it.
12018 (timer_check): Remove busy-cursor code.
12019 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12020 cursor timer.
12021
12022 * process.c (wait_reading_process_input): Remove busy-cursor code.
12023
12024 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12025 Fx_hide_busy_cursor.
12026
12027 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12028 Remove prototyoes.
12029 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12030
12031 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12032
12033 * xterm.c (XTread_socket): Remove busy-cursor code.
12034
4eb8436f
GM
12035 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12036 (build_frame_matrix_from_leaf_window): Put code handling
12037 glyph row's not being a slice of a frame row in #if 0.
12038 (sync_window_with_frame_matrix_rows): New function.
12039 (frame_row_to_window): New function.
12040 (mirror_line_dance): Handle copies between windows.
12041
3cb65b0e
GM
12042 * lread.c (Fload): Use `xfree' instead of `free'.
12043 (init_obarray): Use `xmalloc' instead of `malloc'.
12044
bed0c171
GM
12045 * window.c (Fset_window_buffer): Set WINDOW to the window
12046 after decoding.
2add4349
GM
12047 (coordinates_in_window): Take frame's internal border width
12048 into account.
bed0c171 12049
42088c12
GM
120502000-02-24 Gerd Moellmann <gerd@gnu.org>
12051
12052 * xterm.c (x_display_and_set_cursor): Display cursor of
12053 non-selected windows depending on the setting of
12054 cursor_in_non_selected_windows.
12055
12056 * xdisp.c (cursor_in_non_selected_windows): New variable.
12057 (syms_of_xdisp): DEFVAR_BOOL it.
12058
d1e103b2
GM
120592000-02-23 Gerd Moellmann <gerd@gnu.org>
12060
723e779c
GM
12061 * data.c (Fstring_to_number): If number is greater than what
12062 fits into an integer, return a float.
12063
d1e103b2
GM
12064 * eval.c (specbind): Remove references to
12065 keyword_symbols_constant_flag.
12066
12067 * data.c (keyword_symbols_constant_flag): Removed.
12068 (Fmakunbound, set_internal, syms_of_data): Remove references to
12069 keyword_symbols_constant_flag.
12070
12071 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12072
214f877f
KH
120732000-02-23 Kenichi Handa <handa@etl.go.jp>
12074
12075 * syntax.c (multibyte_syntax_as_symbol): New variable.
12076 (syms_of_syntax): Declare it as a Lisp variable.
12077 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12078 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12079 nonzero, treat all multibyte characters as symbol.
52283633 12080 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12081
130adcb7
EZ
120822000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12083
3cb65b0e 12084 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12085 a deleted frame.
130adcb7 12086
17cbbf95
GM
120872000-02-21 Gerd Moellmann <gerd@gnu.org>
12088
12089 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12090
12091 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12092 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12093
beb0bc36
DL
120942000-02-21 Dave Love <fx@gnu.org>
12095
12096 * frame.c (Vmouse_position_function): New variable.
12097 (Fmouse_position): Use it.
12098 (syms_of_frame): Install it.
12099
12100 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12101
1d92afcd
GM
121022000-02-20 Gerd Moellmann <gerd@gnu.org>
12103
12104 * fileio.c (Finsert_file_contents): Unbind the binding of
12105 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12106
12107 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12108 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12109 (specbind, unbind_to): Handle most common case of non-constant
12110 symbol with trivial value specially.
12111
12112 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12113
18e21ce8 121142000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12115
12116 * data.c (Fmake_variable_buffer_local): Doc fix.
12117 Init found_for_buffer to 0.
12118 (Fmake_variable_frame_local): If the variable has already
12119 been buffer-local, set the check_frame field.
12120
1d4311c3
EZ
121212000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12122
12123 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12124 produced for CODING_MODE_LAST_BLOCK requires.
12125
2dc95ddd
DL
121262000-02-18 Dave Love <fx@gnu.org>
12127
12128 * keyboard.c (echo_keystrokes): Remove declaration.
12129 (Vecho_keystrokes) New variable.
12130 (read_char, record_menu_key, read_key_sequence): Use it to allow
12131 use of float value.
12132 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12133
12134 * lread.c: Undef feature selection macros before defining.
12135
f0930f35
GM
121362000-02-18 Gerd Moellmann <gerd@gnu.org>
12137
12138 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12139 for symbols other than the symbol in question.
12140
e3d4de90
DL
121412000-02-17 Dave Love <fx@gnu.org>
12142
12143 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12144
0b378936
GM
121452000-02-17 Gerd Moellmann <gerd@gnu.org>
12146
d621caf7
GM
12147 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12148
0b378936
GM
12149 * alloc.c (enum mem_type): Compile unconditionally.
12150
3b451f74
EZ
121512000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12152
12153 * xfaces.c (tty_defined_color): Don't return faulire indication
12154 for unspecified-fg and unspecified-bg pseudo-colors.
12155
10689a01
GM
121562000-02-17 Gerd Moellmann <gerd@gnu.org>
12157
1216f5e4
GM
12158 * alloc.c (mark_object): Don't mark symbol names in pure space.
12159 (gc_sweep): Don't unmark symbol names in pure space.
12160
12161 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12162 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12163 [GC_MARK_STACK]: New defines.
427ec082 12164 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12165 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12166
12167 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12168
12169 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12170 allocate_buffer instead of xmalloc.
12171
12172 * alloc.c (toplevel): Include setjmp.h.
12173 (PURE_POINTER_P): New define.
12174 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12175 (Vdead) [GC_MARK_STACK]: New variable.
12176 (lisp_malloc): Add parameter TYPE, call mem_insert if
12177 GC_MARK_STACK is defined.
12178 (allocate_buffer): New function.
427ec082 12179 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12180 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12181 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12182 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12183 (MEM_NIL) [GC_MARK_STACK]: New define.
12184 (struct mem_node) [GC_MARK_STACK]: New structure.
12185 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12186 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12187 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12188 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12189 (mark_stack) [GC_MARK_STACK]: New functions.
12190 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12191 (clear_marks): Removed.
12192 (gc_sweep): Set free conses' car, free floats' type, free
12193 symbols' function to Vdead. Use lisp_free to free buffers.
12194 (init_alloc_once): Initialize Vdead.
12195 (survives_gc_p): Return non-zero for pure objects.
12196
12197 * alloc.c: Add comments throughout the file.
12198
2503c8b1
GM
12199 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12200 that unblocks alarms.
12201
8389e1e2
GM
12202 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12203 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12204 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12205
10689a01 12206 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12207
bfc17d18
KH
122082000-02-17 Kenichi Handa <handa@etl.go.jp>
12209
4a09dee0
KH
12210 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12211 avoid infinite error signaling. Allocate sufficient memory for
12212 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12213
2b927d02
SM
122142000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12215
12216 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12217 depends on the previous behavior.
12218
b49cb764
GM
122192000-02-16 Gerd Moellmann <gerd@gnu.org>
12220
12221 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12222
99e95407
GM
122232000-02-15 Gerd Moellmann <gerd@gnu.org>
12224
12225 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12226
12227 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12228 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12229 write(2).
12230
6ffd3cf7
RS
122312000-02-15 Richard M. Stallman <rms@gnu.org>
12232
12233 * data.c (set_internal): Don't make variable buffer-local
12234 if within a let-binding for the same buffer.
12235 (let_shadows_buffer_binding_p): New function.
12236
12237 * eval.c (specbind): For buffer-local value,
12238 record the current buffer also.
12239 (unbind_to): Cope with that change.
12240
cad53475
GM
122412000-02-15 Gerd Moellmann <gerd@gnu.org>
12242
12243 * window.c (Fsave_window_excursion): Doc fix.
12244
1aa963c8
SM
122452000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12246
12247 * syntax.c (back_comment): Make sure we only consider comment-starters
12248 of the relevant style and return -1 in case of a failure to find the
12249 beginning of the comment.
12250 (Fforward_comment): If back_comment fails, go back to the position just
12251 after the comment-end.
12252 (scan_lists): Add comment describing a very minor bug.
12253
b9b84fd3
SM
122542000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12255
12256 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12257 `completion-regexp-list' in the docstring.
12258
3a28db80
DL
122592000-02-14 Dave Love <fx@gnu.org>
12260
12261 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12262
fb4a568d
SM
122632000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12264
12265 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12266 to Emacs' syntax. Also fix the comment about set/not-set meanings
12267 since Emacs syntax is not the value 0 any more.
12268 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12269 since it's now part of RE_SYNTAX_EMACS.
12270
1063ebb5
DL
122712000-02-12 Dave Love <fx@gnu.org>
12272
52283633 12273 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12274
fb07a302
GM
122752000-02-12 Gerd Moellmann <gerd@gnu.org>
12276
12277 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12278
aaf2320c
DL
122792000-02-12 Dave Love <fx@gnu.org>
12280
12281 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12282
12283 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12284 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12285 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12286
12287 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12288
12289 * s/nextstep.h: Don't define HAVE_ALLOCA.
12290
12291 * config.in: Add vfork bits.
12292
eedf8bde
GM
122932000-02-12 Gerd Moellmann <gerd@gnu.org>
12294
12295 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12296 unwind function to undo the effect of stopping atimers.
12297
52283633 12298 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12299
12300 * atimer.c (stopped_atimers): New variable.
12301 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12302 New functions.
12303
12304 * atimer.h (stop_other_atimers, run_all_atimers)
12305 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12306
eedf8bde
GM
12307 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12308
8476c2f8
KR
123092000-02-11 Ken Raeburn <raeburn@gnu.org>
12310
12311 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12312 library may depend on jpeg.
12313 (atimer.o): Depends on atimer.c.
12314
0e85e4a3
KH
123152000-02-11 Kenichi Handa <handa@etl.go.jp>
12316
12317 * insdel.c (del_range_1): Call update_compositions.
12318 (del_range_both): Call update_compositions just once..
12319
97fa0cc8
DL
123202000-02-10 Dave Love <fx@gnu.org>
12321
12322 * xfns.c (create_frame_xic): Fix initialization of automatic
12323 aggregates for pcc.
12324
25566a3c
KH
123252000-02-09 Kenichi Handa <handa@etl.go.jp>
12326
12327 * ccl.c (CCL_MAKE_CHAR): New macro.
12328 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12329 registers by CCL_MAKE_CHAR before calling translate_char.
12330 <CCL_TranslateCharacterConstTbl> Likewise.
12331
69da54ba
DL
123322000-02-08 Dave Love <fx@gnu.org>
12333
12334 * lread.c (__EXTENSIONS__): Define.
12335
f7136ee8
GM
123362000-02-08 Gerd Moellmann <gerd@gnu.org>
12337
12338 * puresize.h (BASE_PURESIZE): Increase to 650000.
12339
7768790b
EZ
123402000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12341
12342 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12343 the help message.
12344
38fd211b
EZ
123452000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12346
12347 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12348 md, mh, mb, mr, and me to the fake termcap entry.
12349
66e4690f
KR
123502000-02-06 Ken Raeburn <raeburn@gnu.org>
12351
12352 * sound.c (sound_cleanup): Don't call device close routine if the
12353 function pointer is null.
12354
a75dfea0
AI
123552000-02-06 Andrew Innes <andrewi@gnu.org>
12356
12357 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12358 around image definitions and prototypes.
12359 (gamma_correct) [WINDOWSNT]: New prototype.
12360
12361 * w32term.c (x_make_frame_visible): Replace call to
12362 input_poll_signal with poll_for_input.
12363
12364 * window.c [WINDOWSNT]: Include w32term.h.
12365
12366 * xdisp.c [WINDOWSNT]: Include w32term.h.
12367
12368 * makefile.nt: Add dependencies on w32gui.h.
12369 (OBJ1): Include atimer.obj.
12370 ($(BLD)\atimer.obj): New dependency rule.
12371
12372 * w32.c (sigmask): New function (does nothing).
12373 (sigunblock): Ditto.
12374
12375 * frame.c [WINDOWSNT]: Include w32term.h.
12376
12377 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12378
12379 * lread.c (syms_of_lread): Fix literal newlines.
12380
12381 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12382 the string constant limit (2048 bytes) in MSVC.
12383 (main): Ditto.
12384
59ddecde
GM
123852000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12386
52283633 12387 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12388 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12389 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12390 dispatch the event.
12391
07590973
DL
123922000-02-04 Dave Love <fx@gnu.org>
12393
12394 * fileio.c: Remove some unused vars.
12395 (_GNU_SOURCE): Define (for euidaccess).
12396
12397 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12398
12399 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12400 gcpro1, gcpro2.
12401 (read_minibuf): Deal with allow_props correctly.
12402
649351f9
EZ
124032000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12404
12405 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12406
66e4690f 124072000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12408
12409 * search.c (compile_pattern): If a cache entry has a nil regexp,
12410 fill in that entry instead of clobbering a previously cached
12411 string regexp.
12412
66e4690f 124132000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12414
12415 * puresize.h (BASE_PURESIZE): Increase to 610000.
12416
d240a249
GM
124172000-02-02 Gerd Moellmann <gerd@gnu.org>
12418
12419 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12420 can GC.
12421
ca91fb26
KH
124222000-02-02 Kenichi Handa <handa@etl.go.jp>
12423
25660570
KH
12424 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12425 instead of incrementing ic directly.
12426 <CCL_WriteExprConst> Likewise.
12427 <ccl_set_expr>: Set ic to jump_address.
12428
ca91fb26
KH
12429 * fileio.c (e_write): Fix the handling of
12430 CODING_FINISH_INSUFFICIENT_SRC.
12431
2ede9689
DL
124322000-02-01 Dave Love <fx@gnu.org>
12433
12434 * editfns.c (Fpropertize): Doc fix.
12435
12436 * process.c (Fstart_process): Doc fix.
12437
12438 * eval.c: Fix various doc strings not to duplicate information
12439 from help-manyarg-func-alist.
12440
52283633 12441 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12442
12443 * doc.c (Vhelp_manyarg_func_alist): New variable.
12444 (Fdocumentation): Use it.
12445 (syms_of_doc): Define it.
12446
b6680a0e
GM
124472000-01-31 Gerd Moellmann <gerd@gnu.org>
12448
2cb750ba
GM
12449 * xterm.c (xim_open_dpy): Remove unused local variable.
12450
52283633 12451 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12452
12453 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12454 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12455
b6680a0e
GM
12456 * fns.c (sweep_weak_table): New function.
12457 (sweep_weak_hash_tables): Use it. Keep on marking until there
12458 is no more change.
12459
994c5afe
GM
124602000-01-30 Gerd Moellmann <gerd@gnu.org>
12461
12462 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12463 that XTread_socket does not crash by trying to call XNoOp on a
12464 closed display.
427ec082 12465
f00276e3
JR
124662000-01-30 Jason Rumney <jasonr@gnu.org>
12467
12468 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12469 Change selected_frame to SELECTED_FRAME ().
12470 (w32_console_mouse_position): Remove #ifndef MULE from around
12471 `insist' parameter.
12472
12473 * makefile.nt: Remove dosfns.obj.
12474
12475 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12476
12477 * w32fns.c (w32_defined_color): Check for valid frame before
12478 applying gamma correction. Eliminate dependency on frame elsewhere.
12479 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12480 (w32_to_x_font): Use resx and resy not height_in and width_in.
12481 (x_to_w32_font): Doc fix.
12482 (xlfd_strip_height): New function to strip and return font height.
12483 (w32_font_match): Compare height separately from rest of xlfd
12484 spec, using xlfd_strip_height.
12485
12486 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12487 width_in. Use w32_defined_color in place of defined_color.
12488
12489 * w32faces.c: Merge more of DOS and X specifics in preparation for
12490 merge with xfaces.c.
12491 (defined_color): Remove FIXME comment.
12492 (tty_color_name): Provide w32-specific function.
12493 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12494
12495 * w32console.c (turn_on_face, turn_off_face): Removed.
12496 (w32_face_attributes): New function.
12497 (Global_variables): Reduce scope where possible.
12498 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12499 fill attribute.
12500 (hl_mode): Don't modify text attributes.
12501 (write_glyphs): Don't do anything if len <= 0. Use
12502 w32_face_attributes to get attributes for drawing. Write
12503 terminating codes using char_attr_normal.
12504 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12505 (update_begin, update_end): Likewise.
12506 (vga_stdcolor_name): New function.
12507 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12508 (Fset_screen_color): Remove char_attr_reverse.
12509
b08e8bb2
GM
125102000-01-29 Gerd Moellmann <gerd@gnu.org>
12511
12512 * xfns.c (xic_set_preeditarea): Take window parameter and
12513 window-relative pixel-positions.
12514
12515 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12516 is its frame's selected window.
12517 (xim_instantiate_callback): Likewise.
12518
12519 * xfns.c (x_create_im): Removed.
12520 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12521 (supported_xim_styles): Renamed from supported_styles.
12522 (best_xim_style): Renamed from best_style.
12523 (create_frame_xic): Renamed from xic_create_frame.
12524 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12525
b08e8bb2
GM
125262000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12527
12528 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12529 our frames, call XFilterEvent with 2nd parameter `None'.
12530 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12531 returning XBufferOverflow.
52283633 12532 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12533 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12534 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12535 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12536 (xim_initialize, xim_close)
12537 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12538 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12539 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12540 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12541
12542 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12543 and `xim_styles'.
12544 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12545 `xic_style' and `xic_xfs'.
12546 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12547 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12548 (FRAME_XIM): Removed.
12549
12550 * xfns.c (supported_styles): New variable.
12551 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12552 (xic_create_xfontset, best_style, xic_create_frame)
12553 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12554 (xic_set_xfontset): New functions.
12555
142e109c
DL
125562000-01-28 Dave Love <fx@gnu.org>
12557
12558 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12559
12560 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12561
b02786f9
GM
125622000-01-28 Gerd Moellmann <gerd@gnu.org>
12563
d060bc9f
GM
12564 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12565 for *scratch* if it already existed.
12566
b02786f9
GM
12567 * emacs.c (USAGE): New macro.
12568 (main): Use it to display usage information.
12569
2c52d7e4
EZ
125702000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12571
12572 Support for the menu-help feature:
12573
52283633 12574 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12575
12576 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12577 part of the line to the termscript file.
12578 (IT_clear_to_end): Clear the entire line, not just its beginning.
12579 (menu_help_message, prev_menu_help_message): New variables.
12580 (IT_menu_make_room): Make room for the help_text member.
12581 (IT_menu_display): New argument disp_help; all callers changed.
12582 If disp_help is non-zero, store the help text of the active menu
12583 item in menu_help_message.
12584 (XMenuAddPane): Initialize the help_text member to NULL.
12585 (XMenuAddSelection): New argument help_text. Store it in the
12586 XMenu structure.
12587 (XMenuActivate): New argument help_callback. If the value of
12588 menu_help_message has changed since the last time, display the
12589 menu help message text while waiting for the mouse to move. Clear
12590 the echo area before exiting.
12591 (XMenuDestroy): Free the help_text member.
12592
ffe0bcd1
GM
125932000-01-27 Gerd Moellmann <gerd@gnu.org>
12594
12595 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12596 XMenuAddSelection. Pass help callback to XMenuActivate.
12597 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12598
50dbd23f
EZ
125992000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12600
12601 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12602 and EMACS_SET_USECS.
12603
f5941bf8
GM
126042000-01-26 Dave Love <fx@gnu.org>
12605
6c67ddee
DL
12606 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12607
f5941bf8
GM
12608 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12609 an error may be signalled.
12610
9e49c990
GM
126112000-01-26 Gerd Moellmann <gerd@gnu.org>
12612
fc3cb460
GM
12613 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12614 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12615
9e49c990
GM
12616 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12617
d0c037d8
GM
126182000-01-25 Gerd Moellmann <gerd@gnu.org>
12619
12620 * charset.c (Fstring): If there is a multibyte char among
12621 the args, always return a multibyte string.
12622
e12489f9
GM
126232000-01-25 Gerd Moellmann <gerd@gnu.org>
12624
12625 * sysdep.c (sys_select): Turn atimers off and on instead of
12626 recording and restoring old alarm handler
12627
12628 * process.c (toplevel): Include atimer.h.
12629 (create_process_1): Rewritten.
12630 (create_process): Use atimers instead of alarm.
12631 (wait_reading_process_input) [hpux]: Turn atimers off instead
12632 of turning off SIGALRM.
12633 (wait_reading_process_input): Turn off atimers instead off
12634 calling stop_polling.
12635
12636 * emacs.c (main): Call init_atimer.
12637
12638 * keyboard.c (toplevel): Include systime.h and atimer.h.
12639 (polling_for_input): Removed because unused.
12640 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12641 (poll_timer): New variable.
12642 (poll_for_input, poll_for_input_1): New functions.
12643 (start_polling, stop_polling): Rewritten.
12644
12645 * keyboard.h (polling_for_input): Removed.
427ec082 12646
e12489f9
GM
12647 * atimer.h, atimer.c: New files.
12648
12649 * Makefile.in (obj): Add atimer.o.
12650 (atimer.o): New target.
12651
12652 * blockinput.h (pending_atimers): Add extern declaration.
12653 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12654
12655 * lisp.h (popup_activated_flag): Add extern declaration.
12656
12657 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12658 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12659 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12660
12661 * xterm.c (toplevel): Include atimer.h.
12662 (toolkit_scroll_bar_interaction): New variable.
12663 (Fxt_process_timeouts): Removed.
12664 (x_process_timeouts): New function.
12665 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12666 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12667 (x_make_frame_visible): Call poll_for_input_1 instead of
12668 input_poll_signal. Don't call alarm.
12669 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12670
1e5279b9
DL
126712000-01-24 Dave Love <fx@gnu.org>
12672
6c67ddee 12673 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12674 Don't use -cckr -- apparently not now necessary.
12675
edf6aeb8
EZ
126762000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12677
12678 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12679 screen boundary.
12680
9badad41
JR
126812000-01-23 Jason Rumney <jasonr@gnu.org>
12682
12683 * w32fns.c (w32_defined_color): Apply gamma correction before
12684 trying to map to the palette.
12685 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12686 to w32_clear_rect.
12687
12688 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12689 here. Callers changed to always pass real device context.
12690 (w32_draw_bitmap): Likewise.
12691 (w32_get_glyph_overhangs): Likewise.
52283633 12692 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12693 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12694 pfnSetScrollInfo and SetScrollRange.
12695 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12696 back into MULE characters after decoding them.
12697 (x_get_glyph_face_and_encoding): Likewise.
12698 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12699 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12700 (x_produce_glyphs): Calculate per char metrics for a character
12701 that we know exists in default font when font_not_found_p is true.
12702
63bd786b
JR
127032000-01-22 Jason Rumney <jasonr@gnu.org>
12704
12705 * makefile.nt (intervals.obj, composite.obj): New modules.
12706 (composite.h): Added as dependency where appropriate.
12707
12708 * w32gui.h (XGCValue): New struct for emulating X GCs.
12709
12710 * w32term.h (XCharStruct): New struct for emulating X.
12711
12712 * w32console.c (turn_on_face, turn_off_face): New functions.
12713 (change_line_highlight): New prototype for new redisplay.
12714 (write_glyphs): Support multibyte text. Support faces.
12715
52283633 12716 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12717
12718 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12719 throughout. struct frame * in place of FRAME_PTR.
12720 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12721 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12722 (w32_get_arg): Renamed from x_get_arg.
12723 (Fx_file_dialog): New function.
12724 (w32_list_fonts): Check cache before asking system.
12725 (Vw32_enable_synthesized_fonts): New variable.
12726 (Vw32_enable_italics): Obsolete, removed.
12727
12728 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12729 Use SELECTED_FRAME macro.
12730
12731 * w32menu.c: Add skeleton support for help strings on menus.
12732 (add_menu_item): Native checkbox and radio support added, but not
12733 yet enabled due to bugs.
12734 (push_menu_item): Add parameters type, selection and help.
12735 Callers updated.
12736 Formatting changes to reduce unnecessary diffs with xmenu.c.
12737
12738 * w32select.c (Fw32_set_clipboard_data): Update call to
12739 find_charset_in_str.
12740
12741 * w32term.c: Complete rewrite for new redisplay based on new
12742 xterm.c with necessary sections merged back in from old w32term.c.
12743
6ffd3cf7 127442000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12745
12746 * data.c (set_internal): Further fix in same criterion.
12747
6ffd3cf7 127482000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12749
12750 * data.c (set_internal): Fix the criteria for whether
12751 to swap out the old cached binding.
12752
60af03f1
DL
127532000-01-19 Dave Love <fx@gnu.org>
12754
12755 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12756
f9be074f
KH
127572000-01-18 Kenichi Handa <handa@etl.go.jp>
12758
12759 * regex.c (re_compile_fastmap): While checking a range table for
12760 `charset', skip flag bits for a character class correctly.
12761
52b8dbf9
GM
127622000-01-17 Gerd Moellmann <gerd@gnu.org>
12763
d36100c9
GM
12764 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12765
52283633 12766 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12767
12768 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12769 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12770
12771 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12772 MENU_ITEMS_ITEM_.*.
12773 (MENU_ITEMS_ITEM_HELP): New enumerator.
12774 (push_menu_item): Add parameter HELP. Record help in menu_items.
12775 (single_menu_item, single_submenu, list_of_items): Call
12776 push_menu_item with new parameter.
12777 (single_submenu): Set help string in widget value.
12778 (menu_highlight_callback): New function.
12779 (set_frame_menubar): Call lw_create_widget with new
12780 parameter list.
12781 (xmenu_show, xdialog_show): Ditto.
12782
3139018f
GM
127832000-01-13 Gerd Moellmann <gerd@gnu.org>
12784
12785 * sound.c (Fplay_sound): Improve doc string.
12786
83c8f461
RS
127872000-01-11 Richard M. Stallman <rms@gnu.org>
12788
12789 * lisp.h (set_internal): Enter the new arg.
12790
12791 * eval.c (specbind): Record buffer-local variables specially,
12792 indicating which buffer's binding was saved.
12793 (unbind_to): Restore buffer-local variables specially
12794 in the proper buffer.
12795
12796 * data.c (set_internal): New arg BUF.
427ec082 12797
83c8f461
RS
12798 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12799 * data.c (Fset): Pass new arg to set_internal.
12800 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12801
1fab1775
GM
128022000-01-11 Gerd Moellmann <gerd@gnu.org>
12803
52283633 12804 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12805
83c8f461 128062000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12807
12808 * minibuf.c (Ftry_completion): Doc fix.
12809
7a85e4df
GM
128102000-01-11 Gerd Moellmann <gerd@gnu.org>
12811
12812 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12813 vector, too.
12814
a970dae4
AS
128152000-01-11 Andreas Schwab <schwab@suse.de>
12816
12817 * coding.c (code_convert_region): Initialize total_skip.
12818
c65d14ee
DL
128192000-01-08 Dave Love <fx@gnu.org>
12820
12821 * eval.c (Fuser_variable_p): Check customizability too.
12822
834938d2
GM
128232000-01-07 Gerd Moellmann <gerd@gnu.org>
12824
12825 * minibuf.c (Fcompleting_read): Doc fix.
12826
e0303cd6
GM
128272000-01-05 Gerd Moellmann <gerd@gnu.org>
12828
8a26744b
GM
12829 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12830 -L /usr/local/lib.
12831
e0303cd6
GM
12832 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12833 Check that input style is supported before trying to create an
12834 IC for it.
12835 (x_window): Call x_create_im.
427ec082 12836
2e471eb5
GM
128372000-01-04 Gerd Moellmann <gerd@gnu.org>
12838
560a7bd2
GM
12839 * xfns.c (current_gif_memory_src): New variable.
12840 (gif_load): Record the address of the current memory source
12841 in current_gif_memory_src.
12842 (gif_read_from_memory): Use current_gif_memory_src.
12843
f9ee84a3
GM
12844 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12845 macros statement form.
12846
d1299cde
GM
12847 * sound.c (struct sound): Renamed from struct sound_file.
12848 (struct sound): Add members `data' and `header_size'.
12849 (enum sound_attr): Add SOUND_DATA.
12850 (current_sound, current_sound_device): Variables renamed from
12851 sound_file and sound_device.
12852 (parse_sound): Parse :data.
12853 (parse_sound): Handle sound data in strings.
12854 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12855 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12856 needed header size.
12857 (wav_play, au_play): Play sounds from string data.
12858
2e471eb5
GM
12859 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12860
12861 * lisp.h: Add prototype for allocate_string_data.
12862
52283633 12863 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12864
12865 * alloc.c (mark_buffer): Remove code in #if 0.
12866 (gc_sweep): Ditto.
12867 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12868 (strings_consed): New variable.
12869 (allocate_string): Set it.
12870 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12871 (Fmemory_use_counts): Return strings_consed. Use Flist.
12872
12873 * alloc.c: General cleanup in comments etc. Remove conditional
12874 compilation for `standalone'.
12875
12876 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12877
12878 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12879 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12880 (DONT_COPY_FLAG): Removed.
12881 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12882 (struct sdata, struct sblock): New
12883 (struct string_block): Rewritten.
12884 (STRINGS_IN_STRING_BLOCK): New macro.
12885 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12886 (large_sblocks, string_blocks, string_free_list): New variables.
12887 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12888 (init_strings): Rewritten.
12889 (allocate_string, allocate_string_data, compact_small_strings)
12890 (free_large_strings, sweep_strings): New functions.
12891 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12892 (struct string_block_head, current_string_block)
12893 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12894 (STRING_PAD): Removed.
12895 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12896 (Fgarbage_collect): Don't set mark bit in large strings.
12897 (mark_object): Mark strings differently. Mark symbol names
12898 differently.
12899 (survives_gc_p): Test marked strings differently.
427ec082 12900 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12901 symbol names.
12902 (compact_strings): Removed.
12903
42608ba8
EZ
129042000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12905
12906 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12907 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12908
e0a09e1a
KH
129092000-01-04 Kenichi Handa <handa@etl.go.jp>
12910
dd9f0750 12911 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12912 in a non-empty buffer.
dd9f0750 12913
3c0f3b15 12914 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12915
44cd3ae5
GM
129162000-01-03 Gerd Moellmann <gerd@gnu.org>
12917
12918 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12919 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12920
12921 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12922
c182a70f
EZ
129232000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12924
12925 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12926 need to test for MSDOS frames.
12927
24480d5b
EZ
129282000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12929
12930 * dosfns.c (unspecified_colors): Remove.
12931 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12932 unspecified_bg.
12933 (msdos_stdcolor_name): Return strings for unspecified fore- and
12934 back-ground colors.
12935
12936 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12937 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12938 (tty_color_name): Return Lisp strings for unspecified fore- and
12939 back-ground colors.
12940 (Finternal_set_lisp_face_attribute): Remove the special treatment
12941 for Qunspecified_{f,b}g.
52283633 12942 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12943
047f434a
GM
129442000-01-03 Gerd Moellmann <gerd@gnu.org>
12945
12946 * xdisp.c (reseat_at_next_visible_line_start): Position before
12947 newline only if ending up on a newline.
12948 (next_element_from_ellipsis): Return success. Handle case of
52283633 12949 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12950 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12951 returns 0.
12952
d684c676
EZ
129532000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12954
12955 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12956 (Fcolor_supported_p): Renamed from face-color-supported-p.
12957
5fe1d139
EZ
129582000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12959
12960 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12961 list of colors renamed to tty-defined-color-alist.
12962 (tty_color_name): Pass the frame to tty-color-by-index.
12963 (realize_tty_face): tty-color-alist is now a function which
12964 accepts the frame as argument.
12965
52283633 12966 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12967
816be8b8
EZ
129682000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12969
12970 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12971 encode_terminal_code.
12972
b635321e
EZ
129732000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12974
12975 * dispnew.c (mode_line_string): Support termcap frames as well.
12976
9b784e96
GM
129772000-01-01 Gerd Moellmann <gerd@gnu.org>
12978
27189709
GM
12979 * syntax.c (Fforward_word): Undo previous change.
12980
12981 * editfns.c (Fconstrain_to_field): Don't constrain if
12982 inhibit-field-text-motion is non-nil.
12983 (Fline_beginning_position): Undo previous change.
12984 (Fline_end_position): Ditto.
12985
12986 * syntax.c (Fforward_word): Notice field boundaries only if
12987 inhibit-field-text-motion is nil.
12988
12989 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12990
12991 * editfns.c (Vinhibit_field_text_motion): New variable.
12992 (inhibit-field-text-motion): New DEFVAR_LISP.
12993 (Fline_beginning_position, Fline_end_position): Notice field
12994 boundaries only if inhibit-field-text-motion is nil.
12995
45158a91
GM
12996 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12997 All calls adjusted.
12998 (x_build_heuristic_mask): Likewise.
12999 (xbm_load_image_from_file): Change error output.
13000 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13001 (gif_load, gs_load, x_kill_gs_process): Ditto.
13002
9b784e96
GM
13003 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13004 color indices when accessing raster pixels.
63cec32f
GM
13005 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13006 one of :file or :data.
13007 (enum pbm_keyword_index): Add PBM_DATA.
13008 (pbm_format): Add :data.
13009 (pbm_image_p): Allow either :file or :data.
13010 (pbm_read_file): New function.
13011 (pbm_scan_number): Rewritten to read from string.
13012 (pbm_load): Support :data.
9b784e96 13013
2cb085db 13014See ChangeLog.8 for earlier changes.
6922b018
KH
13015
13016;; Local Variables:
49b3bd82 13017;; coding: iso-2022-7bit
6922b018 13018;; End:
2a34a036
GM
13019
13020 Copyright (C) 2001 Free Software Foundation, Inc.
13021 Copying and distribution of this file, with or without modification,
13022 are permitted provided the copyright notice and this notice are preserved.