Put doc strings in comments.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
aa601ad0
GM
12001-10-15 Gerd Moellmann <gerd@gnu.org>
2
3 * window.c (window_loop): Don't check for Fother_buffer returning
4 nil.
5
6 * window.c (select_window_1): Unfreeze window start. Remove a
7 doubled test for WINDOW being live.
8
288148a1
PJ
92001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
10
dd8d1e71
PJ
11 * fns.c (Fmapconcat): Fix typo in a doc string.
12
288148a1
PJ
13 * dispnew.c (Fsleep_for): Fix typo in a doc string.
14
9f5eb4a3
GM
152001-10-15 Gerd Moellmann <gerd@gnu.org>
16
17 * xterm.c (x_draw_glyph_string): Restore clipping after
18 drawing box.
19
dbae44c8
PJ
202001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
21
22 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc
23 string.
24
0c88c937
SM
252001-10-14 Stefan Monnier <monnier@cs.yale.edu>
26
56378db4
GM
27 * indent.c (skip_invisible): Use new retval of
28 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 29
845e4cf4
SM
30 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
31 If a parent is reached and noinherit is set, exit immediately.
32 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
33
0c88c937
SM
34 * s/ms-w32.h (EXEC_SUFFIXES):
35 * s/msdos.h (EXEC_SUFFIXES):
36 * process.h (EXEC_SUFFIXES): Remove.
37
38 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
39 (decode_suffixes): Remove.
40
41 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
42 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
43 (invisible_ellipsis_p): Remove.
0c88c937
SM
44
45 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
46 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
47 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
48 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
49 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 50
d19be8a9
PJ
512001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
52
04d7d066
PJ
53 * lisp.h (Ftop_level): Add prototype.
54
d624284c
PJ
55 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
56 (XTread_socket): Improve style of comments to follow other
57 comments.
58
a87414f9
PJ
59 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
60 is already prototyped in included lisp.h).
61
d19be8a9
PJ
62 * frame.c (Fset_mouse_position): Improve style of comment to
63 follow other comments.
64 (Fset_mouse_pixel_position): Improve style of comment to follow
65 other comments.
66 (Fmake_frame_visible): Doc fix and typo in comment.
67 (Fmake_frame_invisible): Doc fix and typo in comment.
68 (Ficonify_frame): Fix typo in comment.
69
c061c855
GM
702001-10-14 Gerd Moellmann <gerd@gnu.org>
71
37f6b5b6 72 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 73 * term.c, alloc.c: Put doc strings in comments.
c061c855 74
e641b454
GM
752001-10-13 Gerd Moellmann <gerd@gnu.org>
76
77 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
78 Provide definitions for doc strings in comments.
79
80 * fns.c: Put doc strings in comments.
81
51724e26
EZ
822001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
83
84 * dired.c (file_name_completion): Ignore a candidate directory if
85 it matches an element in completion-ignored-extensions that ends
86 in a slash.
87 (syms_of_dired) <completion-ignored-extensions>: Mention the above
88 feature in the doc string.
89 (Ffile_name_completion): Ditto.
90
be5fc59b
SM
912001-10-12 Stefan Monnier <monnier@cs.yale.edu>
92
5a1373f3
SM
93 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
94
95 * xfns.c (syms_of_xfns): Update calls to Fprovide.
96
97 * lisp.h (Fprovide): Update prototype.
98 (Ffeaturep, invisible_p): Remove.
99
bbc4a3d3 100 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
101 (DOLIST, LOOP_PROPVAL): New macros.
102 (invisible_p, invisible_ellipsis_p): Use them.
103 (invisible_noellipsis_p): New function.
104 (syms_of_xdisp): Use empty_string.
105
106 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
107
108 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
109 (syms_of_lread) <Vafter_load_alist>: Update docstring.
110
111 * print.c (Fwith_output_to_temp_buffer): Align with
112 internal_with_output_to_temp_buffer.
113 (print_preprocess): Use traverse_intervals_noorder.
114 (print_object): Update call to traverse_intervals.
115
116 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
117 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
118
119 * intervals.c (traverse_intervals_noorder): New function.
120 (search_for_interval, count_intervals): Use it.
121 (traverse_intervals): Use less stack space and drop `depth' arg.
122
123 * fns.c (Ffeaturep): Add new `subfeature' arg.
124 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
125 (Qsubfeatures): New var.
126 (syms_of_fns): Initialize it.
127
026f408d
SM
128 * keymap.c (Fkey_description): Use empty_string.
129 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
130 (syms_of_keymap): Setup inheritance between maps.
131 Don't export Sdescribe_bindings_internal any more.
132
be5fc59b
SM
133 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
134
3365175e
GM
1352001-10-12 Gerd Moellmann <gerd@gnu.org>
136
137 * xterm.c (notice_overwritten_cursor): Renamed from
138 note_overwritten_text_cursor. Rewritten to take glyph widths into
139 account.
140
2ab7765c
EZ
1412001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
142
143 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
144 multi-line strings without a trailing "\n\".
145
311346bb
PJ
1462001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
147
148 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
149 defined.
150
2168e04d
SM
1512001-10-11 Stefan Monnier <monnier@cs.yale.edu>
152
026f408d
SM
153 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
154
c0ec53ad
SM
155 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
156 * w32proc.c (sys_spawnve):
157 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
158 * w32.c (check_windows_init_file):
159 * sound.c (Fplay_sound):
026f408d 160 * emacs.c (init_cmdargs):
c0ec53ad
SM
161 * process.c (Fstart_process): Update calls to openp.
162
163 * callproc.c (Vexec_suffixes): New var.
164 (Fcall_process): Update call to openp.
165 (decode_suffixes): New function.
166 (syms_of_callproc): Init exec-suffixes.
167
168 * lread.c (Vload_suffixes, default_suffixes): New vars.
169 (openp): Take a lisp list of suffixes.
170 Check for file-name-handlers even if the file was absolute already.
171 (syms_of_lread): Declare load-suffixes.
172 (Fload): Fix up call to openp.
173 Don't bother checking for file-name-handler at the very beginning.
174
f6333468
SM
175 * keymap.h (Fcopy_keymap): Don't export.
176
177 * lisp.h (empty_string): Declare.
c0ec53ad
SM
178 (Vload_suffixes, Vexec_suffixes): Declare.
179 (openp): Update prototype.
f6333468
SM
180
181 * emacs.c (empty_string): New var.
182 (syms_of_emacs): Initialize it.
183
184 * search.c (wordify): Use it.
185
186 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
187 selected window if it's not displayed there. Handle the case
188 when the window is dedicated.
189 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
190
191 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
192
2168e04d
SM
193 * syntax.h (struct gl_state_s): Change the meaning of b_property.
194 Remove left_ok and right_ok.
195 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
196 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
197 new meaning of b_property.
198
199 * syntax.c (update_syntax_table): Simplify.
200 (Fforward_comment): Don't skip quoted chars when going backward.
201
13d95cc0
GM
2022001-10-11 Gerd Moellmann <gerd@gnu.org>
203
beb0990f
GM
204 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
205 in case I is of some unsigned type, in which case
206 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
207 comparison becomes bogus.
208
cb938d46
GM
209 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
210 (Fuser_full_name): Fix bug treating a float as a fixnum.
211
212 * data.c (Fstring_to_number): Use make_fixnum_or_float.
213
214 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 215
13d95cc0
GM
216 * lisp.h (circular_list_error): Add prototype.
217
218 * data.c (Qcircular_list): New variable.
219 (circular_list_error): New function.
220 (syms_of_data): Initialize it Qcircular_list.
221
e35f6ff7
SM
2222001-10-10 Stefan Monnier <monnier@cs.yale.edu>
223
224 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
225 casefiddle.c, buffer.c: Include keymap.h.
226
619632ac
GM
2272001-10-10 Gerd Moellmann <gerd@gnu.org>
228
229 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
230 options. From Dave Love <d.love@dl.ac.uk>.
231
5e5388f6
GM
2322001-10-09 Gerd Moellmann <gerd@gnu.org>
233
234 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
235 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
236
14a3dff7
GM
237 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
238 unsigned char.
239 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 240
76ba8daf
AI
2412001-10-08 Andrew Innes <andrewi@gnu.org>
242
243 * lisp.h [max]: Undef min and max before redefining them.
244
245 * w32gui.h: Do not undef min and max.
246
247 * w32heap.h: Do not undef min and max.
248
249 * s/ms-w32.h: Do not undef min and max.
250
166253cb
SM
2512001-10-08 Stefan Monnier <monnier@cs.yale.edu>
252
253 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
254
0c4d9527
SS
2552001-10-08 Sam Steingold <sds@gnu.org>
256
257 * keymap.c (current-active-maps): Quote newlines (compilation error).
258
14bfa771
EZ
2592001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
260
261 * Makefile.in (lisp, shortlisp): Replace bindings.el with
262 bindings.elc, since otherwise doc strings in bindings.el get wrong
263 offsets in etc/DOC.
264
bdb7aa47
SM
2652001-10-08 Stefan Monnier <monnier@cs.yale.edu>
266
9985827f
SM
267 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
268
269 * keyboard.h (map_prompt): Remove.
270
271 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 272 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 273
bdb7aa47
SM
274 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
275
276 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
277
278 * keyboard.c (map_prompt): Remove.
279 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
280 Use Fkeymap_prompt.
281
282 * keymap.h: New file. Extracted from lisp.h.
283
9985827f
SM
284 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
285 (accessible_keymaps_1): New function.
286 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
287 (Fwhere_is_internal): Use Fcurrent_active_maps.
288 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
289 Insert in current buffer rather than standard-output.
290 Don't call `help-mode'. Export to elisp.
291 (describe_buffer_bindings): New wrapper.
292 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
293 and Sdescribe_buffer_bindings.
294
402c9a51
GM
2952001-10-08 Gerd Moellmann <gerd@gnu.org>
296
9985827f 297 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
298 Remove code setting signal handler.
299
9985827f 300 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
301 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
302
3fe81fdf
PJ
3032001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
304
305 * keyboard.c: Don't define min/max.
306
55fa7820
GM
3072001-10-08 Gerd Moellmann <gerd@gnu.org>
308
9985827f 309 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 310 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 311 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 312 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 313 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
314 Don't define min/max.
315
316 * lisp.h (min, max): New macros.
317
55fa7820
GM
318 * puresize.h (BASE_PURESIZE): Increase to 725000.
319
1aad31e4
PJ
3202001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
321
9180dc8c
PJ
322 * xfaces.c (free_frame_menubar): Add prototype.
323
01f67d2c
PJ
324 * lisp.h (init_window): Add prototype.
325
326 * editfns.c: Include ctype.h.
327
328 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 329 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
330 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
331 variable `sb'.
332
5f351ff1
PJ
333 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
334 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
335 `popup_activated_flag' and `title'.
336
479dfe87
PJ
337 * doc.c (Fdocumentation_property): Fix typo in a doc string.
338
dff49fc8
PJ
339 * emacs.c (main): Remove extra `;'.
340
248ac615
PJ
341 * atimer.h (struct atimer): Fix typos in a comment.
342
343 * atimer.c: Fix typo.
344
af232c7d
PJ
345 * Makefile.in: Fix typo.
346
347 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 348
d876f455
MB
3492001-10-07 Miles Bader <miles@gnu.org>
350
351 * Makefile.in (lisp, shortlisp): Add `button.elc'.
352
0037e2f2
KR
3532001-10-07 Ken Raeburn <raeburn@gnu.org>
354
b056f36d
KR
355 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
356 Lisp_Object.
357
0037e2f2
KR
358 * lisp.h (Ffield_end): Declare.
359
1a4372ef
GM
3602001-10-07 Gerd Moellmann <gerd@gnu.org>
361
a4a74e8c
GM
362 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
363
364 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
365
366 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
367
368 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
369
1a4372ef
GM
370 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
371 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
372
373 * alloc.c (inhibit_garbage_collection): Simplify.
374 (Fmemory_use_counts): Ditto.
375
9985827f 376 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
377 (syms_of_data): DEFVAR_INT most-positive-fixnum and
378 most-negative-fixnum.
379
9985827f 380 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
381 (FIXNUM_OVERFLOW_P): New macros.
382
4650e362
MB
3832001-10-06 Miles Bader <miles@gnu.org>
384
385 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
386 scroll_bar_bottom_shadow_pixel fields.
387 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
388 for the shadows, and tell the toolkit about them if we succeed.
389 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
390 Free scroll-bar shadow colors.
391 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
392 Free scroll-bar shadow colors when the background color changes.
393 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
394 Initialize scroll-bar shadow-color fields.
395
ace64e0a
GM
3962001-10-05 Gerd Moellmann <gerd@gnu.org>
397
398 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
399
ec66bdc7
MB
4002001-10-05 Miles Bader <miles@gnu.org>
401
9985827f
SM
402 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
403 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 404 New functions (were in simple.el).
9985827f 405 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
406 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
407 (syms_of_minibuf): Initialize them.
408
a0fb4492
GM
4092001-10-05 Gerd Moellmann <gerd@gnu.org>
410
411 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
412 (tiff_load): Install them as error and warning handler.
413
0bcf87c1
AI
4142001-10-04 Andrew Innes <andrewi@gnu.org>
415
416 * w32fns.c (x_to_w32_color): Fix argument to alloca.
417 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 418 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
419 (x_to_w32_charset): Handle private format for unknown charsets.
420 Handle wildcards in charset spec, by ignoring them.
421 (w32_codepage_for_font): Fix argument to alloca. Don't remove
422 "*-" prefix from charset.
423 (x_to_w32_font): Enlarge remainder array for safety. Specifically
424 handle the truncated font spec form constructed by font_list_1, so
425 that we correctly identify the charset fields. Don't remove "*-"
426 prefix from charset.
427 (w32_list_synthesized_fonts): Fix argument to alloca.
428
c89e4bc5
GM
4292001-10-04 Stefan Monnier <monnier@cs.yale.edu>
430
431 * window.h (MINI_WINDOW_P): Use NILP.
432
433 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
434
435 * termhooks.h (struct input_event): Use proper type for `kind'.
436
4372001-10-04 Gerd Moellmann <gerd@gnu.org>
438
439 This handles unknown keysyms better than before. For example,
440 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
441 Emacs formerly completely ignored F5. With the change, it derives
442 a key symbol from the name of the X keysym, `ccaron' in this case.
443 Reported by Martin Buchholz.
444
445 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
446 unknown keysyms.
447
448 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
449 that EVENT->code isn't a function key, use the keysym's name.
450
4512001-10-04 Gerd Moellmann <gerd@gnu.org>
452
453 FOREACH is a macro that should make it easier to loop over Lisp
454 lists with checks for cycles and proper lists.
455
456 * lisp.h (LIST_END_P, FOREACH): New macros.
457
4582001-10-04 Gerd Moellmann <gerd@gnu.org>
459
460 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
461 called for a lost connection. Prevent dumping core in this case.
462 Instead print the X error, and exit. On user request.
463
464 * xterm.c (error_msg): New variable.
465 (x_fatal_error_signal): New function.
466 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
467 as fatal_error_signal_hook around the call to XtCloseDisplay.
468
469 * emacs.c (fatal_error_signal_hook): New variable.
470 (fatal_error_signal): Call that function.
471
4722001-10-04 Gerd Moellmann <gerd@gnu.org>
473
474 With this, Emacs prints how much pure storage it will
475 approximately need in case pure storage overflows while dumping.
476
477 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
478 New variables.
479 (init_alloc_once): Initialize new variables.
480 (PURE_POINTER_P): Use new variables.
481 (pure_alloc): If pure storage overflows, allocate from the heap.
482 (check_pure_size): New function.
483 (Fgarbage_collect): Don't GC if pure storage has overflowed.
484
485 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
486 (check_pure_size): Add prototype.
487
488 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
489
4902001-10-04 Gerd Moellmann <gerd@gnu.org>
491
492 This adds a post-gc-hook that's run with GC inhibited.
493 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
494
495 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
496 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
497 (Fgarbage_collect): Run post-gc-hook.
498
4992001-10-04 Gerd Moellmann <gerd@gnu.org>
500
501 This adds `defvaralias' and `indirect-variable'. Changes not
502 directly related to this feature are there to gain the same
503 performance again as before variable aliases.
504
505 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
506 code to get and set symbol values, to take defvaralias into account.
507
508 (Note: the new `constant' bit-flag in symbols would make it
509 possible to define arbitrary read-only variables, e.g. with
510 `defconst'.)
511
512 Documentation is in lispref/variables.texi. Added to NEWS.
513
514 * lisp.h (enum symbol_interned): New enumeration.
515 (struct Lisp_Symbol): Remove member `obarray', add
516 `indirect_variable', `constant', and `interned'.
517 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
518 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
519 (indirect_variable): Add prototype.
520
521 * print.c (print_preprocess, print_object): Test internedness of
522 symbols differently.
523
524 * lread.c (Fintern, Funintern): Set symbol's interned and constant
525 bit-fields.
526 (init_obarray): Likewise for t and nil.
527
528 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
529 (Fdefvaralias): New function.
530 (specbind): Simplify the test if symbol is a constant.
531 (syms_of_eval): Defsubr Fdefvaralias.
532
533 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
534 (Qcyclic_variable_indirection): New variable.
535 (Fkeywordp): Check for internedness differently.
536 (Fmakunbound): Simplify the test if symbol is a constant.
537 (indirect_variable, Findirect_variable): New functions.
538 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
539 aliased symbol.
540 (let_shadows_buffer_binding_p): Check for variable aliases.
541 (set_internal): Simplify the test if SYMBOL is a constant.
542 If SYMBOL has a buffer-local value and is an alias, use the aliased
543 symbol instead.
544 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
545 Sindirect_variable.
546
547 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
548 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
549 set directly.
550
551 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
552
553 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
554 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
555 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
556
ab952a4f
GM
5572001-10-04 Gerd Moellmann <gerd@gnu.org>
558
559 * Branch for 21.1.
560
ba88ff28
MB
5612001-10-03 Miles Bader <miles@gnu.org>
562
563 * callproc.c (syms_of_callproc): Explicitly state in the
564 documentation for `process-environment' that earlier entries take
565 precedence over later ones.
566
ae1a9581
MB
5672001-10-02 Miles Bader <miles@gnu.org>
568
569 * textprop.c (Fnext_char_property_change)
570 (Fprevious_char_property_change): Remove reference to non-existant
571 argument OBJECT from doc-string.
572
257e3f57
GM
5732001-10-01 Gerd Moellmann <gerd@gnu.org>
574
575 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
576 (try_window_id): Skip back over lines ending in a newline from a
577 string.
578
579 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
580 New bit flag
581
c1f29759
RS
5822001-10-01 Richard M. Stallman <rms@gnu.org>
583
584 * search.c (Freplace_match): Doc fix.
585
c30dce3d
AI
5862001-09-28 Andrew Innes <andrewi@gnu.org>
587
588 * w32menu.c (set_frame_menubar): Take into account that
589 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
590 <raeburn@gnu.org>.
591
03be5931
EZ
5922001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
593
594 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
595
75bec752
PJ
5962001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
597
598 * s/gnu-linux.h: Fix a typo in comment.
599
83100e0a
AS
6002001-09-28 Andreas Schwab <schwab@suse.de>
601
602 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
603 nocombreloc, in case -z combreloc is the default.
604
a74b48cf
GM
6052001-09-28 Gerd Moellmann <gerd@gnu.org>
606
607 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
608 really going on here.
609
09c4719e
SM
6102001-09-27 Stefan Monnier <monnier@cs.yale.edu>
611
612 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
613
f7d5d963
EZ
6142001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
615
616 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
617 utf-8, menu-bar, and latin-N.
618 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
619 unconditionally now.
620 (lisp): Add latin-N, since they are preloaded.
621
9240e746
GM
6222001-09-27 Gerd Moellmann <gerd@gnu.org>
623
14531065
GM
624 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
625 to the left. Some cleanup.
626
9240e746
GM
627 * xdisp.c (display_mode_element): One more case where a string's
628 multibyteness should be used for display.
629
edd1e654
GM
6302001-09-26 Gerd Moellmann <gerd@gnu.org>
631
b02439c8
GM
632 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
633 reading at EOF.
634
032906b1 635 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 636 of the only temporarily set echoing flag for deciding when
032906b1
GM
637 the cancel echoing.
638
639 * keyboard.c (echo_kboard): Make externally visible.
640
641 * lisp.h (echo_kboard): Declare extern.
642
cb617e7c 643 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 644 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
645 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
646 this round of redisplay if make_cursor_line_fully_visible fails.
647 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 648 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
649
650 * dispextern.h (required_matrix_width, required_matrix_height):
651 Add prototypes.
652
09c4719e
SM
653 * dispnew.c (required_matrix_width, required_matrix_height):
654 New functions.
cb617e7c 655 (allocate_matrices_for_window_redisplay)
09c4719e
SM
656 (allocate_matrices_for_frame_redisplay: Use them.
657 Remove parameters CH_DIM.
cb617e7c 658
edd1e654
GM
659 * xdisp.c (display_mode_lines): Temporarily set selected_frame
660 and selected_window to the frame of the window whose mode-lines
661 are displayed, and to the window itself.
662 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 663 here.
edd1e654 664
924b604c
GM
6652001-09-25 Gerd Moellmann <gerd@gnu.org>
666
daba7643
GM
667 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
668 the image cache under us.
669
b7a22712 670 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 671 with a string value, use that string's multibyteness for displaying.
b7a22712 672
ad648212
GM
673 * keyboard.c (read_char): Don't clear a message for a switch-frame
674 event. From Stefan Monnier <monnier@cs.yale.edu>.
675
9f8531e5
GM
676 * xterm.c (fast_find_position) [0]: Add a presumably more correct
677 version for after 21.1.
678
679 * xdisp.c (row_containing_pos): Make externally visible.
680
681 * dispextern.h (row_containing_pos): Add prototype.
682
924b604c
GM
683 * process.c (send_process): Disable composition if from_byte < 0.
684 From Kenichi Handa <handa@etl.go.jp>.
685
6f3f0db4
GM
6862001-09-24 Gerd Moellmann <gerd@gnu.org>
687
c69c0ebc
GM
688 * xterm.c (refreshicon): Function removed.
689
d1182bc4
GM
690 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
691
692 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
693
694 * xterm.c (toplevel): Remove includes in #if 0.
695
6f3f0db4
GM
696 * process.c (sigchld_handler) [LINUX]: Don't return from
697 the signal handler at the end of the loop.
698
59957f85
GM
6992001-09-21 Gerd Moellmann <gerd@gnu.org>
700
09c4719e
SM
701 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
702 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 703
a0528984
EZ
7042001-09-21 Markus Rost <rost@math.ohio-state.edu>
705
706 * Makefile.in (shortlisp): Add ../lisp/env.elc.
707
db92b288
GM
7082001-09-20 Gerd Moellmann <gerd@gnu.org>
709
3fed8ad5
GM
710 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
711 since this function can be called during GC.
712
db92b288
GM
713 * callproc.c (Fcall_process): Handle errors from pipe(2).
714 (child_setup): Delete code in #ifdef vipc.
715
7121b85a
GM
7162001-09-19 Gerd Moellmann <gerd@gnu.org>
717
72f62cb5
GM
718 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
719 (display_mode_element): Display the string from decode_mode_spec
720 depending on its multibyteness.
721
a2697022
GM
722 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
723
7121b85a
GM
724 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
725
bfc97351
GM
7262001-09-18 Gerd Moellmann <gerd@gnu.org>
727
c9063433
GM
728 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
729 recursive_edit_unwind.
730 (recursive_edit_unwind): Set kboard state according to
731 SINGLE-KBOARD.
732
3fbdba3e
GM
733 * buffer.c (modify_overlay): Don't do nothing if START == END;
734 This can still be a modification, for example when an overlay has
735 a before-string or after-string.
736 (Fdelete_overlay): Prevent redisplay optimizations when deleting
737 an overlay with before-string or after-string.
738
1270031d
GM
739 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
740 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
741
bfc97351
GM
742 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
743 first_unchanged_at_end_row is in front of
744 last_unchanged_at_beg_row. This code should be removed after the
745 release of 21.1.
746
d8a973aa
GM
7472001-09-17 Gerd Moellmann <gerd@gnu.org>
748
e18c8b8d
GM
749 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
750 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
751
d8a973aa
GM
752 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
753 versions >= 2.95.
754
ed7d6ba4
EZ
7552001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
756
757 * dired.c (Ffile_attributes): Doc fix.
758
551629f9
GM
7592001-09-14 Gerd Moellmann <gerd@gnu.org>
760
761 * fileio.c (Ffile_symlink_p): Fix last change.
762
763 * filelock.c (current_lock_owner): Fix last change.
764
4c8c7926
GM
7652001-09-13 Gerd Moellmann <gerd@gnu.org>
766
620c4704
GM
767 * filelock.c (current_lock_owner): If readlink returns ERANGE,
768 take that to mean that the buffer is too small.
769
81c3310d
GM
770 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
771 that to mean that the buffer is too small.
772
06fd3792
GM
773 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
774 current buffer's multibyteness when discarding the iterator's
775 stack.
776
4c8c7926
GM
777 * xfns.c (Fx_window_property): Handle case that property gets
778 deleted between the two calls to XGetWindowProperty.
779
9a72e4c1
GM
7802001-09-11 Gerd Moellmann <gerd@gnu.org>
781
bd819d14
GM
782 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
783
a41edd99
GM
784 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
785 in addition to read-only.
786
787 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
788 to t in addition to read-only.
789
790 * lisp.h (Qinhibit_modification_hooks): Declare.
791
792 * insdel.c (Qinhibit_modification_hooks): New variable.
793 (syms_of_insdel): Initialize and staticpro it.
794
d4881c6a
GM
795 * textprop.c (verify_interval_modification): Don't run
796 modification-hooks if inhibit_modification_hooks.
797
798 * dispnew.c (set_window_cursor_after_update): Fix code
799 finding glyph row containing cursor when cursor_in_echo_area
800 is >= 0.
801
9a72e4c1
GM
802 * xdisp.c (init_from_display_pos): Put some code in #if 0.
803 (add_to_log): Use bcopy instead of strcpy.
804 (init_from_display_pos): Use an explicit loop over bytes in
805 overlay strings instead of calling index.
806
f4a374a1
GM
8072001-09-10 Gerd Moellmann <gerd@gnu.org>
808
300e57bd
GM
809 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
810
811 * dispnew.c (direct_output_for_insert): Don't change IT's
812 stop_charpos to something in front of its current position.
813
f4a374a1
GM
814 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
815 `format'.
816
7e4cbc91
RS
8172001-09-10 Richard M. Stallman <rms@gnu.org>
818
819 * frame.c (Fmouse_position): Doc fix.
820
6afad91e
GM
8212001-09-07 Gerd Moellmann <gerd@gnu.org>
822
823 * xdisp.c (init_from_display_pos): Don't compare the result
824 of calling index with NULL.
825
f76e0368
GM
8262001-09-06 Gerd Moellmann <gerd@gnu.org>
827
828 * xfns.c (x_set_background_color): Don't change the colors
829 of the X window of scroll bar widgets.
830
9ead1b60
AI
8312001-09-05 Andrew Innes <andrewi@gnu.org>
832
833 * w32fns.c (w32_createwindow): Undo last change.
834
c3b497b3
GM
8352001-09-05 Gerd Moellmann <gerd@gnu.org>
836
08e1d6df
GM
837 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
838
c3b497b3
GM
839 * xdisp.c (string_buffer_position): Use *single_char_property*
840 functions instead of the *single_property* functions.
841
8f860180
AI
8422001-09-04 Andrew Innes <andrewi@gnu.org>
843
9a72e4c1
GM
844 * w32term.c (w32_read_socket): Add more information to debugging
845 output.
8f860180
AI
846
847 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
848 from Emacs frames, so that calls to GetClipBox in w32term.c
849 correctly report when part of a frame is visible (including
850 scrollbars, etc). This prevents repeated redrawing of frames when
851 only a scrollbar is visible.
852 (w32_wnd_proc): Add more frame information to debugging output.
853
2ee1aa00
SM
8542001-09-03 Stefan Monnier <monnier@cs.yale.edu>
855
856 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
857
e3b22517
GM
8582001-09-03 Gerd Moellmann <gerd@gnu.org>
859
7e376260
GM
860 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
861 help-echo for a string which doesn't have help-echo itself, use
862 get-char-property to obtain the help-echo from the string's buffer
863 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
864 have mouse-face, look ``under'' the string for mouse-face from an
865 overlay.
866 (fast_find_position): Add parameter STOP. In the final row, stop
867 before glyphs having STOP as object. Don't consider glyphs that
868 are not from a buffer.
869
e3b22517
GM
870 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
871
9a249bba
EZ
8722001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
873
874 * fns.c (Fmd5): Doc fix.
875
c9979669
GM
8762001-08-31 Gerd Moellmann <gerd@gnu.org>
877
878 * composite.c (update_compositions): Do nothing if
879 inhibit-modification-hooks is set.
880
9584e63a
GM
8812001-08-30 Gerd Moellmann <gerd@gnu.org>
882
986ec8f2 883 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 884 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
885 glyph matrices etc. in a core dump.
886
92a25631
GM
887 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
888 (syms_of_xdisp): Initialize them.
889 (handle_single_display_prop): Don't change point, bind `object',
890 `position', and `buffer-position' instead to the object having the
2ee1aa00 891 `display' property, position in the object and position in the buffer.
92a25631 892
9584e63a
GM
893 * fileio.c (Finsert_file_contents): Don't change the multibyteness
894 of the buffer if REPLACE is non-nil.
895
d38633a3
GM
8962001-08-29 Gerd Moellmann <gerd@gnu.org>
897
898 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
899
f4fccc1e
EZ
9002001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
901
902 * w32term.c (x_set_glyph_string_background_width)
903 (show_mouse_face): Track the last changes in xterm.c.
904
eaaa65b0
GM
9052001-08-28 Gerd Moellmann <gerd@gnu.org>
906
7b0870b2
GM
907 * xterm.c (x_set_glyph_string_background_width): Set the glyph
908 string's background width so that multi-line mouse-face is drawn
909 to the right edge of the window.
910 (show_mouse_face): Set the row's mouse_face_p flag after drawing
911 glyphs.
912
6b6e2422 913 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 914 before inserting/writing glyphs.
6b6e2422 915
eaaa65b0
GM
916 * xdisp.c (display_mode_element): Use string_byte_to_char to
917 determine character positions in strings, use chars_in_text
918 instead of strwidth.
919 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
920 a matrix as parameter; this is easier to use from GDB.
921
9ad62cf8
MB
9222001-08-28 Miles Bader <miles@gnu.org>
923
2ee1aa00
SM
924 * textprop.c (Fprevious_single_char_property_change)
925 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 926
32171635
GM
9272001-08-27 Gerd Moellmann <gerd@gnu.org>
928
47d57b22
GM
929 * fileio.c (Finsert_file_contents): Allocate, restore, and
930 free composition data in the case of REPLACE not being nil.
931
932 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
933 there exist overlay strings with newlines at POS.
934 (text_outside_line_unchanged_p): Return 0 if changes start at
935 START and overlays exist at START. Likewise for END.
936 (try_window_id): Give up if init_to_row_end returns 0.
937
32171635
GM
938 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
939 unconditionally.
940
e1249666
GM
9412001-08-24 Gerd Moellmann <gerd@gnu.org>
942
33954c45
GM
943 * keymap.c (access_keymap): Return the cdr of the binding of
944 a generic character instead of its definition (KEY . BINDING).
945
e1249666
GM
946 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
947 to 0 also in the REPLACE case.
948
fb4c6c96
AC
9492001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
950
951 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
952 open to determine whether file is readable (as for DOS_NT).
953
59ecf80b
GM
9542001-08-23 Gerd Moellmann <gerd@gnu.org>
955
956 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
957 coding.type is coding_type_no_conversion or coding_type_raw_text,
958 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
959 non-nil instead of just setting enable_multibyte_characters in the
960 buffer to nil.
961
40e33037
GM
9622001-08-22 Gerd Moellmann <gerd@gnu.org>
963
374388c3
GM
964 * dispextern.h (struct face_cache): Add member
965 menu_face_changed_p.
966
967 * xfaces.c (menu_face_changed_default): New variable.
968 (menu_face_changed_count): Variable removed.
969 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
970 the menu_face_changed_default flag, otherwise set the FRAME's
971 menu_face_changed_p flag if the `menu' face has been changed.
972 Prevent calling set_font_frame_param if FRAME is t.
973 (make_face_cache): Initialize cache's menu_face_changed_p
974 from menu_face_changed_default.
975 (realize_basic_faces): Look into the frame's face cache to
976 determine if the menu appearance needs updating.
977
40e33037
GM
978 * keymap.c (access_keymap): Fix last change to not consider
979 IDX when it has modifiers.
980
859ea4b8
GM
9812001-08-21 Gerd Moellmann <gerd@gnu.org>
982
983 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
984 . BINDING) exists, where GENERIC-CHAR is the generic character of
985 the charset of IDX, return BINDING unless there exists a binding
986 for IDX itself.
987
e8660d73
GM
9882001-08-16 Gerd Moellmann <gerd@gnu.org>
989
cca1b1d7
GM
990 * xrdb.c (SYSV): Don't define on Solaris 2.
991 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
992
e8660d73 993 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 994 of the screen line, not text line, containing IT's current position.
e8660d73 995
93aba6fc
GM
9962001-08-15 Gerd Moellmann <gerd@gnu.org>
997
288d4e06
GM
998 * window.c (window_scroll_pixel_based): Don't recenter if
999 PT is partially visible in the window.
1000
3452efc2
SM
1001 * xterm.c (expose_window_tree, expose_window, expose_line):
1002 Return 1 when overwriting mouse-face.
82f053ab
GM
1003 (expose_frame): If mouse-face was overwritten, redo it.
1004
93aba6fc
GM
1005 * xfaces.c (x_update_menu_appearance): Don't call
1006 set_frame_menubar, let the next redisplay do it.
1007
858a55c1
AI
10082001-08-14 Andrew Innes <andrewi@gnu.org>
1009
1010 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1011 drawing glyph string.
1012
3a990b67
EZ
10132001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1014
1015 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1016 running HI-UX/MPP.
1017
04386463
GM
10182001-08-14 Gerd Moellmann <gerd@gnu.org>
1019
1020 * xfaces.c (x_update_menu_appearance): Save and restore value of
1021 interrupt_input_blocked.
1022
3e6385a4
GM
10232001-08-13 Gerd Moellmann <gerd@gnu.org>
1024
b0e619b4
GM
1025 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1026 a line start, move back to the line start.
3452efc2 1027
0de73d5a
GM
1028 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1029 exactly when a mini-buffer is active.
1030
3e6385a4
GM
1031 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1032 in units of 1/8 character on non window-system frames.
1033 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1034
d1b5f629
EZ
10352001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1036
1037 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1038 a doc string.
1039
eaa2319f
GM
10402001-08-09 Gerd Moellmann <gerd@gnu.org>
1041
8e3189f0
GM
1042 * keyboard.c (Vpre_help_message): New variable.
1043 (syms_of_keyboard): Initialize and staticpro it.
1044 (show_help_echo): Record current message before displaying a
1045 help-echo, and restore that message when clearing the help.
1046
eaa2319f
GM
1047 * xfns.c (x_create_im): Remove prototype.
1048
1049 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1050
1051 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1052
eaa2319f
GM
10532001-08-08 Gerd Moellmann <gerd@gnu.org>
1054
1055 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1056 windows whose height has changed, disable partially visible lines.
eaa2319f 1057
17fdcfc8
GM
10582001-08-07 Gerd Moellmann <gerd@gnu.org>
1059
22d01aed 1060 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1061 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1062
17fdcfc8
GM
1063 * xdisp.c (start_display): Don't try to determine the continuation
1064 lines width if lines are truncated. It's superfluous and leads to
1065 incorrect results if POS is not visible in the window after
1066 reseating the iterator at the previous line start.
1067
8e3fe78e
GM
10682001-08-06 Gerd Moellmann <gerd@gnu.org>
1069
1070 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1071
98a8938c
GM
10722001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1073
1074 * alloc.c (init_stack): Remove declaration.
1075
18f9986a
GM
10762001-08-03 Gerd Moellmann <gerd@gnu.org>
1077
5e1f85e0
GM
1078 * keyboard.c (read_key_sequence): Check that key is an integer
1079 before comparing it with quit_char.
1080 (add_command_key): Use larger_vector.
1081 (read_char_x_menu_prompt): Instead of converting symbol and
1082 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1083 which cannot be confused with valid events.
5e1f85e0
GM
1084 (read_char): When reading from Vunread_command_events, check for
1085 events of the form (EVENT . disabled) instead of
1086 (EVENT . nil).
1087
18f9986a
GM
1088 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1089 a float, determine the max height from the frame's height.
1090
fbc7f2a6
GM
10912001-08-02 Gerd Moellmann <gerd@gnu.org>
1092
1093 * xdisp.c (redisplay_internal): Take message_cleared_p into
1094 account only if minibuf_level == 0.
1095
81b1a79d
GM
10962001-08-01 Gerd Moellmann <gerd@gnu.org>
1097
e5c60873
GM
1098 * xdisp.c (redisplay_internal): Add a check for the last
1099 displayed message.
3452efc2 1100
6e019995
GM
1101 * xdisp.c (message_cleared_p): New variable.
1102 (clear_message): Set message_cleared_p when clearing the current
1103 message.
1104 (redisplay_internal): Look at message_cleared_p to capture
1105 the case that the echo area should be cleared.
1106
308a74d8
GM
1107 * keyboard.c (command_loop_1): Fix spelling of
1108 resize_echo_area_exactly.
1109
3452efc2 1110 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1111
1112 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1113
81b1a79d
GM
1114 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1115 current matrix when the window gets smaller.
1116
ada329e6
EZ
11172001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1118
1119 * print.c (strout): Cast the character passed to insert_char to
1120 unsigned char, to avoid sign extension when it is promoted to int.
1121
ed86208c
GM
11222001-07-31 Gerd Moellmann <gerd@gnu.org>
1123
1124 * fileio.c (Finsert_file_contents): Don't treat a return value
1125 of 0 from emacs_read as an IO error.
1126
6594ac22
GM
11272001-07-30 Gerd Moellmann <gerd@gnu.org>
1128
cef68af5
GM
1129 * keyboard.c (abs): New macro.
1130 (double_click_fuzz): New variable.
1131 (make_lispy_event): Use it to determine what makes a double-click.
1132 (syms_of_keyboard): DEFVAR_INT it.
1133
6594ac22
GM
1134 * xmenu.c (set_frame_menubar): Take into account that
1135 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1136 <raeburn@gnu.org>.
1137
75c5350a
GM
11382001-07-27 Gerd Moellmann <gerd@gnu.org>
1139
1140 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1141
1142 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1143 of row's visible height.
1144
1145 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1146 deal with the first overlay string having an image `display' property.
1147 (try_window_reusing_current_matrix, compute_line_metrics):
1148 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1149 row is invisible above and part of the row is at the same time
1150 invisible below the window.
1151
ac49effe
GM
11522001-07-26 Gerd Moellmann <gerd@gnu.org>
1153
1154 * xfns.c (x-show-tip): Doc fix.
3452efc2 1155
ac49effe
GM
1156 * xfns.c (Vx_max_tooltip_size): New variable.
1157 (syms_of_xfns): DEFVAR_LISP it.
1158 (Fx_show_tip): Set frame's window_width to the width of the
1159 window. Use a maximum tooltip size specified by
1160 Vx_max_tooltip_size, if that has valid contents.
1161 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1162
8c3b00cb
AI
11632001-07-26 Andrew Innes <andrewi@gnu.org>
1164
1165 * w32term.c (x_display_list): New variable.
1166 (w32_term_init): Set it.
1167
1168 * w32term.h (x_display_list): New extern.
1169
16098288
GM
11702001-07-26 Gerd Moellmann <gerd@gnu.org>
1171
1172 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1173 is non-nil, instead of when redisplaying_p is non-zero.
1174 See comment there.
16098288
GM
1175 (mark_window_display_accurate_1): Add an assertion.
1176
64c5be50
GM
11772001-07-25 Gerd Moellmann <gerd@gnu.org>
1178
e743f599
GM
1179 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1180
563b384d
GM
1181 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1182 events so that we get a chance of processing expose events.
1183
64c5be50
GM
1184 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1185
296808a5
GM
11862001-07-24 Gerd Moellmann <gerd@gnu.org>
1187
1188 * xfns.c (valid_image_p): Protect better against invalid image
1189 specifications. Previous code could signal an error.
1190
5247262a
GM
11912001-07-23 Gerd Moellmann <gerd@gnu.org>
1192
3452efc2 1193 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1194 presence of display table entries.
1195 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1196
dd42b31a
GM
1197 * dispnew.c (adjust_glyph_matrix): In the optimization for
1198 windows whose height has changed, use the new window height
1199 to compute which rows to invalidate.
1200
9e5a7f2a
GM
1201 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1202 (MAX_10_EXP): New macro.
1203 (Fformat): Use it.
1204
5247262a
GM
1205 * coding.c (code_convert_region): Handle the multibyte case if
1206 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1207
177ab8ce
GM
12082001-07-20 Gerd Moellmann <gerd@gnu.org>
1209
6e07c0a5
GM
1210 * dispextern.h (struct face): Change type of `stipple' to
1211 int; it's an ID.
1212
177ab8ce
GM
1213 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1214
b5b80599
GM
12152001-07-19 Gerd Moellmann <gerd@gnu.org>
1216
4e2a256b
GM
1217 * dispnew.c (update_window): Don't set the cursor at the end
1218 of the update if display update has been paused.
1219
3452efc2 1220 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1221
c1fd9232
KR
12222001-07-18 Ken Raeburn <raeburn@gnu.org>
1223
1224 * fns.c (Fset_char_table_default): Check that a charset is defined
1225 before checking its dimension.
1226
928a85c1
KR
12272001-07-17 Ken Raeburn <raeburn@gnu.org>
1228
1229 * coding.c (setup_coding_system): Don't do any designation based
1230 on reg_bits if charset is not yet defined.
1231
fb4c6c96 1232 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1233 pointer, using eassert.
1234
de11c1ea
GM
12352001-07-17 Gerd Moellmann <gerd@gnu.org>
1236
3452efc2
SM
1237 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1238 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1239
467f1209
GM
12402001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1241
1242 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1243
c3d6be34
GM
12442001-07-16 Gerd Moellmann <gerd@gnu.org>
1245
c1d61a7d
GM
1246 * fileio.c (unwind_read): Function removed.
1247 (read_non_regular, read_non_regular_quit): New functions.
1248 (Finsert_file_contents): When reading from non-regular files,
1249 arrange to catch a `quit' and terminate the loop. Rearrange
1250 code so that a `quit' when reading from a regular file doesn't
1251 insert text in the buffer.
1252
c3d6be34
GM
1253 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1254 Clear faces afterwards.
1255 (clear_font_table): Take a x_display_info parameter. Don't free
1256 fonts being the default font of any frame on the given display.
1257
e06aa1f9
GM
12582001-07-13 Gerd Moellmann <gerd@gnu.org>
1259
1260 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1261 instead of CHAR_STRING which can signal an error.
1262
1263 * charset.c (char_to_string_1): Extracted from char_to_string.
1264 Return -1 instead of signaling an error.
1265 (char_to_string): Use it.
1266
1267 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1268
176c92e6
SM
12692001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1270
1271 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1272 is t, don't try to append anything to it.
1273
1c56232f
EZ
12742001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1275
1276 * dired.c (file_name_completion): Pass dp->d_name to
1277 Fstring_match, not elt, which is always nil here.
1278
1d2b2268
GM
12792001-07-12 Gerd Moellmann <gerd@gnu.org>
1280
1281 * xselect.c (x_decline_selection_request): Handle errors
1282 caused by receivers that have vanished.
1283
1284 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1285 ignoring events on foreign windows in #if 0. Always dispatch
1286 the event after checking it with x_handle_property_notify.
1287
1288 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1289 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1290 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1291 (toplevel): Add prototypes for file-local functions.
1292 (x_atom_to_symbol): Remove DPYINFO parameter.
1293
fe5a0162
SM
12942001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1295
1296 * w32menu.c (menubar_selection_callback, w32_menu_show):
1297 Initialize `entry' to nil.
1298 (w32_dialog_show): Remove unused `save_wv' variable.
1299 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1300
a777242c
GM
13012001-07-11 Gerd Moellmann <gerd@gnu.org>
1302
8ee5b6a3
GM
1303 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1304
d0e2444e
GM
1305 * fileio.c (unwind_read): Print a message when discarding inserted
1306 text or switching the buffer to unibyte. Change parameter.
1307 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1308
a777242c
GM
1309 * fileio.c (unwind_read): New function.
1310 (Finsert_file_contents): Record it as unwind-function for
1311 the case that reading is interrupted by C-g.
1312
ae794295
GM
13132001-07-10 Gerd Moellmann <gerd@gnu.org>
1314
fe5a0162 1315 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1316 update when scrolling_window returns 0.
1317
6b05fae3
GM
1318 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1319
1320 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1321 for the case that x_decode_color signals an error.
6b05fae3 1322
ae794295
GM
1323 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1324
bb6e8cee
GM
13252001-07-09 Gerd Moellmann <gerd@gnu.org>
1326
1327 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1328 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1329 around ioctls.
1330
36b40a8a
EZ
13312001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1332
24b97d4b
EZ
1333 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1334 doc string line for dos-timezone-offset.
1335
36b40a8a
EZ
1336 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1337 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1338 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1339 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1340
1341 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1342
0967b4b0
GM
13432001-07-05 Gerd Moellmann <gerd@gnu.org>
1344
f25cfe53
GM
1345 * sound.c: Include Emacs' header files with #include "...".
1346
0967b4b0
GM
1347 * eval.c (specbind): Additionally record the buffer that was
1348 current when a buffer-local or frame-local variable was bound.
1349
c347a1c3
GM
13502001-07-04 Gerd Moellmann <gerd@gnu.org>
1351
1352 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1353 to unibyte characters in unibyte buffers.
1354
6332ca8a
GM
13552001-07-03 Gerd Moellmann <gerd@gnu.org>
1356
38472d44
GM
1357 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1358 the frame on the binding stack. Change format of entries for
1359 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1360 (unbind_to): Handle unbinding a frame-local variable.
1361
6332ca8a 1362 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1363 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1364 (dump_glyph_row): Print row's continuation_lines_width.
1365 (try_window_id): Take the shortcut if ZV is visible in the
1366 window, but there are actually no changes at ZV.
1367
63d1b174
GM
13682001-07-02 Gerd Moellmann <gerd@gnu.org>
1369
4c175203
GM
1370 * xterm.h (x_free_dpy_colors): Add prototype.
1371
1372 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1373 right number of arguments.
1374
0b54ce28
GM
1375 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1376 ($(lwlibdir)TAGS): New target.
4c175203 1377 (TAGS): Fix dependency list.
0b54ce28 1378
63d1b174
GM
1379 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1380 with input blocked.
1381
d827466c
GM
13822001-06-30 Gerd Moellmann <gerd@gnu.org>
1383
1384 * emacs.c (main): Remove extern declaration for sys_nerr, which
1385 isn't used and causes a compilation error with GCC 3.0 on
1386 FreeBSD 4.3.
1387
b5cb1ada
GM
13882001-06-27 Gerd Moellmann <gerd@gnu.org>
1389
a5d3ec3f 1390 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1391 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1392 (toplevel): Include <signal.h> and syssignal.h.
1393
b5cb1ada
GM
1394 * sound.c (vox_configure, vox_close): Turn off atimers
1395 around ioctls.
1396
d9bad487
GM
13972001-06-26 Gerd Moellmann <gerd@gnu.org>
1398
fdbb67fe
GM
1399 * keyboard.c (read_char) <non_reread>: Record the previous idle
1400 start time before calling timer_stop_idle.
1401 (read_char) <reread_first>: After processing a help-echo event,
1402 restore the previous idle start time.
1403
d9bad487
GM
1404 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1405 the start of invisible text.
1406 (setup_for_ellipsis): New function.
1407 (next_overlay_string): After all overlay strings have been
1408 processed, display an ellipsis if necessary.
1409 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1410 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1411
1412 * dispextern.h (struct iterator_stack_entry): Add member
1413 display_ellipsis_p.
1414
2b9c25e0
GM
14152001-06-25 Gerd Moellmann <gerd@gnu.org>
1416
80de57df
GM
1417 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1418 on the value of the wait-for-wm frame parameter.
1419
1420 * xterm.h (struct x_output): Add member wait_for_wm.
1421
1422 * xfns.c (Qwait_for_wm): New variable.
1423 (x_frame_parms): Add entry for `wait-for-wm".
1424 (x_set_wait_for_wm): New function.
1425 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1426 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1427
2b9c25e0
GM
1428 * xdisp.c (try_window_id) <all changes below window end>: Don't
1429 take this shortcut if ZV is visible in the window.
1430 (try_window_id): When checking for window start being in changed
1431 text, don't check that the buffer's size has changed.
1432
f772775c
RS
14332001-06-23 Richard M. Stallman <rms@gnu.org>
1434
1435 * minibuf.c (Fcompleting_read): Doc fix.
1436
fa9090b8
GM
14372001-06-19 Gerd Moellmann <gerd@gnu.org>
1438
1439 * composite.c (Ffind_composition_internal): Accept ZV
1440 and a string's end position as POS.
1441
f6f1beba
GM
14422001-06-18 Gerd Moellmann <gerd@gnu.org>
1443
1444 * composite.c (Ffind_composition_internal): Check POS
1445 for validity.
1446
0ae83348
EZ
14472001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1448
1449 * editfns.c (Fmessage_box): If the frame is not under a window
1450 system, output the message in the echo area.
1451
e4cdc335
RS
14522001-06-14 Richard M. Stallman <rms@gnu.org>
1453
1454 * xdisp.c (try_window_id): When EOB is visible, don't treat
1455 insertion at EOB as if it were "off the bottom of the screen."
1456
a55a5f3c
AI
14572001-06-11 Andrew Innes <andrewi@gnu.org>
1458
1459 * w32proc.c (create_child): Add new parameter is_gui_app.
1460 (w32_executable_type): Add new parameter is_gui_app.
1461 (sys_spawnve): Use it.
1462 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1463 SIGQUIT. This matches better how the signals are interpreted by
1464 MSVC compiled programs.
1465 (syms_of_ntproc): Update docstring.
1466
1b85dc1c
SM
14672001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1468
1469 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1470 well otherwise note_mouse_highlight might optimize away highlighting
1471 if we pass over that same overlay again.
1472
b75f8eab
EZ
14732001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1474
1475 * lread.c (Fload): Document that the argument is run via
1476 substitute-in-file-name.
1477
94843cc1
GM
14782001-05-31 Gerd Moellmann <gerd@gnu.org>
1479
b14659e6
GM
1480 * Makefile.in (bootstrap-doc): New target.
1481 (bootstrap-emacs): Depend on it.
1482
0894672f
GM
1483 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1484 auto-save-list-file-name when shutting down Emacs, because
1485 creating the directory might signal an error, and leaves
1486 Emacs in a strange state.
1487
94843cc1
GM
1488 * term.c: (tty_cursor_hidden): New variable.
1489 (update_begin): Don't call tty_hide_cursor. Clean up.
1490 (update_end, set_terminal_window, set_scroll_region): Clean up.
1491 (ring_bell, reset_terminal_modes): Clean up.
1492 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1493 on tty_cursor_hidden.
1494 (write_glyphs): Call tty_hide_cursor.
1495
db3a49a6
SM
14962001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1497
1498 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1499
8bd189fb
GM
15002001-05-30 Gerd Moellmann <gerd@gnu.org>
1501
6f1be3b9
GM
1502 * xfns.c (enum image_value_type): New enumerator
1503 IMAGE_STRING_OR_NIL_VALUE.
1504 (parse_image_spec): Handle it.
1505 (xbm_format, pbm_format): Use it for :foreground and :background.
1506 (xbm_load, pbm_load): Check for nil color names.
1507
8bd189fb
GM
1508 * xterm.c (note_mouse_highlight): If an overlapping overlay
1509 exists, but we find that we highlight the same overlay as before,
1510 don't do the highlighting again.
1511
7bdba03c
GM
15122001-05-29 Gerd Moellmann <gerd@gnu.org>
1513
4c329aa8
GM
1514 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1515 Protect unibyte strings created by replacing their multibyte
1516 equivalents in menu_items.
1517
e15e2828
GM
1518 * keymap.c (Fsingle_key_description): NUL-terminate the string
1519 buffer before calling build_string.
1520
7bdba03c
GM
1521 * callproc.c (Fcall_process): Deal with decode_coding returning
1522 CODING_FINISH_INCONSISTENT_EOL.
1523
89c8dc6c
GM
15242001-05-28 Gerd Moellmann <gerd@gnu.org>
1525
db3a49a6 1526 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1527 an item's name with its key description in case the description
1528 is a multibyte string.
1529
1530 * keymap.c (Fsingle_key_description): Create a multibyte string
1531 only if necessary.
1532
eb04d6cd
GM
1533 * macros.c (Fstart_kbd_macro): Doc fix.
1534
8bd6307f
GM
1535 * xterm.c (cursor_in_mouse_face_p): New function.
1536 (x_draw_stretch_glyph_string): Use it to choose a different GC
1537 when drawing a cursor within highlighted text.
1538
e26c4089
GM
1539 * editfns.c (char_property_eq): Put in #if 0.
1540
1541 * indent.c (string_display_width): Put in #if 0.
1542
1543 * lread.c (Fload): Remove unused label.
1544
89c8dc6c
GM
1545 * termcap.c (speeds): Put in #if 0.
1546
9a1211f2
GM
15472001-05-18 Gerd Moellmann <gerd@gnu.org>
1548
29148a3f
GM
1549 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1550
9a1211f2
GM
1551 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1552 transformation matrix by 10.
1553
09393d07
GM
15542001-05-16 Gerd Moellmann <gerd@gnu.org>
1555
1556 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1557 only if it's equal to the former foreground pixel color.
db3a49a6 1558 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1559 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1560
460e6bae
GM
15612001-05-16 Dave Love <fx@gnu.org>
1562
1563 * insdel.c (signal_before_change, signal_after_change): Consider a
1564 local change hook which changes the buffer.
99c78ce8
GM
1565
1566 * process.c (read_process_output): Don't call signal_after_change
1567 and update_compositions after insert_from_string_before_markers.
1568
dbcf3c03
GM
15692001-05-16 Gerd Moellmann <gerd@gnu.org>
1570
a90b3d3c
GM
1571 * xfaces.c (split_font_name): Use the right field when
1572 checking for `[...]' syntax.
1573
1b7818b4
GM
1574 * buffer.c (copy_overlays): New function.
1575 (clone_per_buffer_values): Use it.
1576
1577 * buffer.h (OVERLAY_PLIST): New macro.
1578
9bae8781
GM
1579 * keymap.c (Fsingle_key_description): Replace a build_string with
1580 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1581
dbcf3c03
GM
1582 * fontset.c (Ffontset_info): Check that face is non-null
1583 before accessing its fields.
1584
8a1ae4dd
GM
15852001-05-15 Gerd Moellmann <gerd@gnu.org>
1586
18a0a39e
GM
1587 * keyboard.c (read_key_sequence): Prevent generating a fake
1588 prefix key twice.
1589
e335b66a
GM
1590 * xfaces.c (split_font_name): Handle `[...]' for the right
1591 font name fields.
1592
8a1ae4dd
GM
1593 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1594 of CCL_STAT_INVALID_CMD.
1595
3cf80731
SM
15962001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1597
33568849
SM
1598 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1599 in <var> has no default value yet.
1600
3cf80731
SM
1601 * xfaces.c (try_alternative_families): First try the FAMILY.
1602 And if nothing is found in the end, try again with scalable fonts.
1603 (try_font_list): Let try_alternative_families do a bit more of
1604 the work. Only use FAMILY if it is not nil.
1605 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1606
933b0249
GM
16072001-05-14 Gerd Moellmann <gerd@gnu.org>
1608
58e5af83
GM
1609 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1610 pointer shape when show_mouse_face has already done it.
33568849 1611
58e5af83 1612 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1613 full-width rows.
1614
7b16a6bf
GM
1615 * xfaces.c (split_font_name): Make sure to leave the loop
1616 with the right value of `i'.
3cf80731 1617
933b0249
GM
1618 * xfaces.c (split_font_name): Handle matrix transformations
1619 in the pixel and point size fields of XLFD font names.
1620 (xlfd_point_size): Likewise.
1621
dddcbf00
EZ
16222001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1623
3cf80731 1624 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1625 (x_to_w32_font): Add prototype.
1626
7689ef0b
EZ
1627 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1628 redefining, to avoid compiler warnings.
1629
e7c15bba
EZ
1630 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1631
dddcbf00
EZ
1632 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1633 (w32_get_bdf_glyph): Cast between unsigned char and char when
1634 passing arguments to subroutines, to shut up compiler warnings.
1635 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1636 GET_HEX_VAL.
1637
1638 * xfaces.c: Include keyboard.h before frame.h, not after it.
1639
1640 * widget.c: Include keyboard.h before frame.h.
1641
1642 * w32term.h (struct image, struct face): Forward declaration, to
1643 avoid compiler warnings.
1644
7bd2d083
GM
16452001-05-11 Gerd Moellmann <gerd@gnu.org>
1646
47e72862
GM
1647 * keyboard.c (read_key_sequence): Don't modify events when
1648 generating fake prefix keys (mode-line, scroll-bar, ...) since
1649 this prevents proper processing of such events when pushed back
1650 into unread-command-events.
1651
dd5f324b
GM
1652 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1653 actually redrawn. Make the function static.
1654 (note_mouse_highlight): Fix a case where the mouse cursor
1655 was changed back to the text cursor.
1656
1657 * xterm.h (clear_mouse_face): Remove prototype.
1658
d88a79d4
GM
1659 * xdisp.c (try_window_id): Fix the fix and set the right
1660 window_end_vpos.
1661
1662 * xdisp.c (try_window_id): Fix computation of window end in the
1663 case that lines were deleted at the end of the window. Add some
1664 more debug_method_adds.
0416532f 1665
7bd2d083
GM
1666 * xfaces.c (try_alternative_families): New function.
1667 (try_font_list): Use it. If ATTRS specifies a family, check
1668 fonts from that family first.
1669 (choose_face_font): Remove code setting the family part of
1670 the pattern to nil.
1671
23fca891
GM
16722001-05-10 Gerd Moellmann <gerd@gnu.org>
1673
ff9aa2ca
GM
1674 * xdisp.c (try_window_id): Fix case of all changes before
1675 the window start.
7b2654b5 1676
23fca891
GM
1677 * xdisp.c (try_window_id): Add some xasserts.
1678
e9726794
GM
16792001-05-09 Gerd Moellmann <gerd@gnu.org>
1680
1681 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1682
9e53a675
GM
16832001-05-09 Dave Love <fx@gnu.org>
1684
1685 * xdisp.c (GIVE_UP): Fix for K&R C.
1686
0d487c52
GM
16872001-05-09 Gerd Moellmann <gerd@gnu.org>
1688
fe88d421
GM
1689 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1690
0d487c52
GM
1691 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1692 back to the text cursor shape without need.
1693
1e9fc92e
GM
16942001-05-07 Gerd Moellmann <gerd@gnu.org>
1695
a2a6232e
GM
1696 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1697
1698 * dispextern.h (inverse_video): Declare extern.
1699
1e9fc92e
GM
1700 * keyboard.c (delete_kboard): Handle the case that selected_frame
1701 has been deleted in the course of x_connection_closed.
1702
12949a7f
EZ
17032001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1704
7b2654b5
SM
1705 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1706 Fix the change from 2001-04-30.
12949a7f 1707
2fa2f461
GM
17082001-05-03 Gerd Moellmann <gerd@gnu.org>
1709
a779d213
GM
1710 * xfns.c (file_dialog_unmap_cb): New function.
1711 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1712 where a dialog is closed via the window manager.
1713
7b2654b5 1714 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1715 the window start or all below the window end mostly rewritten.
1716 (redisplay_window): Move the tests if try_window_id is
1717 applicable to try_window_id.
1718 (GIVE_UP): New macro.
1719
3356df63
GM
17202001-05-02 Gerd Moellmann <gerd@gnu.org>
1721
a39202f6 1722 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1723 currently being updated, mark the frame garbaged.
1724 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1725 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1726
3356df63
GM
1727 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1728 again if it has already been drawn.
1729
a9d2fd1d
SM
17302001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1731
1732 * syntax.c (update_syntax_table): Check that oldi has the same
1733 properties as old_prop before deciding not to invalidate.
1734
c95fc5f1
GM
17352001-04-30 Gerd Moellmann <gerd@gnu.org>
1736
a9793e45
GM
1737 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1738 read-only text that is so because of text properties.
1739
c95fc5f1 1740 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1741 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1742 windows that are components of a Lucid menu bar.
1743
5a5d9185
GM
17442001-04-27 Gerd Moellmann <gerd@gnu.org>
1745
1746 * term.c (turn_on_face): Fix reverse video handling on terminals
1747 that don't support colors.
1748
ba973f7a
GM
17492001-04-26 Gerd Moellmann <gerd@gnu.org>
1750
1751 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1752 a non-buffer.
1753
8c56a983
GM
17542001-04-25 Gerd Moellmann <gerd@gnu.org>
1755
a728644c
GM
1756 * term.c (toggle_highlight): New function.
1757 (turn_on_face): Change handling of reverse video.
1758
7b2654b5
SM
1759 * process.c (wait_reading_process_input):
1760 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1761
bfd8410f
GM
1762 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1763 of the number of overlays to check.
1764
be2488ca
GM
1765 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1766
8c56a983
GM
1767 * xdisp.c (try_window_id): Fix a case where window_end_pos
1768 and window_end_bytepos were not adjusted.
1769
522d42f7
GM
17702001-04-23 Gerd Moellmann <gerd@gnu.org>
1771
1772 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1773 zero instead of -1.
1774
78c1afb6
EZ
17752001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1776
a9d2fd1d
SM
1777 * process.c (wait_reading_process_input) [!subprocesses]:
1778 Don't reference waiting_for_user_input_p, it's not defined in the
1779 branch without async subprocesses support.
78c1afb6 1780
a2fab450
GM
17812001-04-19 Gerd Moellmann <gerd@gnu.org>
1782
a122a38e
GM
1783 * keyboard.c (delete_kboard): Prevent a dangling reference
1784 from current_kboard to KB, which is freed.
1785
a9d2fd1d
SM
1786 * process.c (wait_reading_process_input):
1787 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1788 read_key_sequence aware of buffer changes from under it.
1789
0f8d6dc7
GM
17902001-04-18 Gerd Moellmann <gerd@gnu.org>
1791
eeffb293
GM
1792 * xfaces.c (Qscalable_fonts_allowed): New variable.
1793 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1794 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1795 removed.
eeffb293 1796 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1797 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1798 for scalable-fonts-allowed to t.
eeffb293 1799
0f8d6dc7
GM
1800 * fileio.c (Finsert_file_contents): If the file size returned from
1801 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1802 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1803
eec2d1de
EZ
18042001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1805
1806 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1807 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1808 (__memalign_hook): Make the two prototypes consistent.
1809
f4f480bd
GM
18102001-04-17 Gerd Moellmann <gerd@gnu.org>
1811
1812 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1813 matrix of mini-windows.
1814
52283633
SM
18152001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1816
1817 * intervals.c (find_interval): Don't rebalance during signal handling.
1818
ec2423c9
GM
18192001-04-11 Gerd Moellmann <gerd@gnu.org>
1820
30cb0001 1821 * fns.c: Include blockinput.h.
52283633 1822
ec2423c9
GM
1823 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1824
719d83ad
GM
18252001-04-10 Gerd Moellmann <gerd@gnu.org>
1826
60f8d735
GM
1827 * fns.c (Fcompare_strings): Fix return values.
1828
afffeb57
GM
1829 * window.c (window_scroll): Change the meaning of N to mean
1830 N screen-fulls or N lines.
1831 (window_scroll_pixel_based, window_scroll_line_based)
1832 (scroll_command, Fscroll_other_window): Change accordingly.
1833
52283633
SM
1834 * window.c (window_scroll_pixel_based, Frecenter):
1835 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1836 height of the window.
1837
1838 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1839 instead of using it.last_visible_y for the height of the window.
52283633 1840
719d83ad 1841 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1842 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1843
1844 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1845 able to write to hidden and system files. From Dan Holmsand
1846 <dan@eyebee.com>.
719d83ad 1847
8ddf3ee1
GM
1848 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1849 Holmsand <dan@eyebee.com>.
719d83ad 1850
522ed7fb
GM
18512001-04-09 Gerd Moellmann <gerd@gnu.org>
1852
9170e5d4
GM
1853 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1854
522ed7fb
GM
1855 * window.c (window_internal_height): Return 1 less if the
1856 window has a header line.
1857
1858 * xdisp.c (try_window_id): When scrolling on a terminal, take
1859 the change of window_internal_height into account.
1860
ceeb3d7d
EZ
18612001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1862
1863 * gmalloc.c (align): If the argument SIZE would overflow
1864 __malloc_ptrdiff_t, fail right away.
1865
63685b9d
GM
18662001-04-06 Gerd Moellmann <gerd@gnu.org>
1867
1868 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1869 Make sure the tooltip is completely visible.
1870 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1871
1872 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1873
1874 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1875
3ffb33bb
DL
18762001-04-06 Dave Love <fx@gnu.org>
1877
52283633
SM
1878 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1879 Fix test of `from'.
3ffb33bb 1880
869fb12c
GM
18812001-04-06 Gerd Moellmann <gerd@gnu.org>
1882
52283633 1883 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1884
869fb12c
GM
1885 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1886
441bf856
GM
18872001-04-05 Gerd Moellmann <gerd@gnu.org>
1888
4d664b04
GM
1889 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1890
52283633 1891 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1892
30ca89f5
GM
1893 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1894 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1895
1896 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1897 shell widget's position only if it is non-null.
1898
52283633
SM
1899 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1900 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1901
81a81c0f
GM
1902 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1903 FILENAME to bring it in synch with the documentation.
1904
441bf856
GM
1905 * xfaces.c (realizing_basic_faces_p): Renamed from
1906 realize_default_face_p.
1907 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1908 (realize_default_face): Don't set the flag.
1909
702a1e8e
GM
19102001-04-04 Gerd Moellmann <gerd@gnu.org>
1911
1013f4e3
GM
1912 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1913
52283633
SM
1914 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1915
1013f4e3
GM
1916 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1917 the buffer that was used for echoing.
1918
702a1e8e
GM
1919 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1920 (first_font_matching): Removed unused function.
1921 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1922 (may_use_scalable_font_p): Remove parameter FONT; rename
1923 parameter NAME to FONT.
1924 (x_face_list_fonts): Fix missing bounds check.
1925 (realizing_default_face_p): New variable.
1926 (realize_default_face): Set and clear that flag.
1927 (x_face_list_fonts): When called during the realization of the
1928 default face, and no matching fonts are found when ignoring
1929 scalable fonts and fonts matching a regexp from
1930 face-ignored-fonts, try without ignoring fonts.
1931
f9dbcda4
GM
19322001-04-03 Gerd Moellmann <gerd@gnu.org>
1933
ad18ffb1
GM
1934 * xfns.c (postprocess_image): New function.
1935 (lookup_image): Call it for all image types except PostScript.
1936 (x_kill_gs_process): Call postprocess_image.
1937
f9dbcda4
GM
1938 * xterm.c (x_use_underline_position_properties): New variable.
1939 (x_draw_glyph_string): Use it.
1940 (syms_of_xterm): DEFVAR_BOOL it.
1941
651f03b6
GM
19422001-04-02 Gerd Moellmann <gerd@gnu.org>
1943
1944 * xterm.c (x_alloc_nearest_color_1): New function.
1945 (x_alloc_nearest_color): Use it.
1946 (x_color_cells): Take a Display as argument, instead of a frame.
1947 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1948 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1949 (x_initialize): Register cvt_string_to_pixel as resource converter
1950 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1951
73d75a62
GM
19522001-03-30 Gerd Moellmann <gerd@gnu.org>
1953
b2046df8
GM
1954 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1955 (set_iterator_to_next): If a string from a display property ends,
1956 consider the case that this might also be the end of an
1957 overlay string having the display property.
1958
52283633 1959 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1960
87d8eba4
GM
1961 * xdisp.c (reseat_to_string): Undo last change.
1962
73d75a62
GM
1963 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1964 matrix of a window when the header line changes, when
1965 new rows are allocated, or when the width changes.
1966
911a2406
EZ
19672001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1968
52283633 1969 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1970
aea51abe
EZ
19712001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1972
1973 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1974 deprecated.
1975
176bc847
GM
19762001-03-29 Gerd Moellmann <gerd@gnu.org>
1977
ed31fabf
GM
1978 * data.c (Fsubr_interactive_form): New function.
1979 (syms_of_data): Defsubr it.
1980
176bc847
GM
1981 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1982 (live_float_p, live_misc_p): Return 1 only if the offset of the
1983 pointer in its block is >= 0.
1984
e59d0e9d
GM
19852001-03-28 Paul Eggert <eggert@twinsun.com>
1986
1987 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1988 microseconds calcuation. Avoid double-rounding problem.
1989 In doc string, warn that the result is approximate.
1990
f827b862
GM
19912001-03-28 Gerd Moellmann <gerd@gnu.org>
1992
30a3f61c
GM
1993 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1994 bind `inhibit-eval-during-redisplay' to t.
1995
1996 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1997
1998 * xdisp.c (inhibit_eval_during_redisplay)
1999 (Qinhibit_eval_during_redisplay): New variables.
2000 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2001 don't eval, return nil instead.
2002 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2003 Initialize Qinhibit_eval_during_redisplay.
2004
e719f5ae
GM
2005 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2006 the iterator's multibyte_p flag.
2007
deb2613a
GM
2008 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2009 instead of setting it to zero; it's incremented for each frame
2010 where the menu face is changed.
2011
52283633
SM
2012 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2013 change bottom shadow accordingly.
2014
2015 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2016 intersections here.
2017 (expose_window): Do it here instead.
52283633 2018 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2019
f827b862
GM
2020 * bytecode.c (BYTE_CODE_QUIT): New macro.
2021 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2022
4bde0ebb
GM
20232001-03-27 Gerd Moellmann <gerd@gnu.org>
2024
607ec83c
GM
2025 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2026 Give up if matrix starts in an ellipsis.
2027 (init_from_display_pos): Do nothing if POS doesn't specify
2028 a dpvec_index but the iterator has such a position.
2029
0245398f
GM
2030 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2031
aba25348
GM
2032 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2033 x/y position is (0, 0) after destroying the menu bar, restore
2034 its original position.
2035
4bde0ebb
GM
2036 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2037 (init_from_display_pos): Use it.
2038 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2039
8cdb267e
GM
20402001-03-26 Gerd Moellmann <gerd@gnu.org>
2041
2042 * xdisp.c (try_window_id): Undo last change.
2043
9948db79
EZ
20442001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2045
2046 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2047
2048 * buffer.c (syms_of_buffer): Doc fix.
2049
2eddf899
GM
20502001-03-26 Gerd Moellmann <gerd@gnu.org>
2051
2052 * xfaces.c (x_update_menu_appearance): Use local variable
2053 popup_path for setting font resources.
2054
6c145d35
EZ
20552001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2056
6a65b1b5
EZ
2057 * frame.c (Fframe_list): Don't reference tip_frame if
2058 HAVE_WINDOW_SYSTEM is not defined.
2059
6c145d35
EZ
2060 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2061 <wl@gnu.org>.
2062
d74c1900
GM
20632001-03-25 Gerd Moellmann <gerd@gnu.org>
2064
20fbd925
GM
2065 * xdisp.c (init_from_display_pos): Test invisible property
2066 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2067
927c5b3b
GM
2068 * xdisp.c (redisplay_internal) <update one window>: Make sure
2069 last_arrow_position and last_arrow_string are set.
2070
d74c1900
GM
2071 * frame.c (Fframe_list): Don't return a tooltip frame.
2072
091f8878
GM
20732001-03-23 Gerd Moellmann <gerd@gnu.org>
2074
52283633
SM
2075 * xdisp.c (mark_window_display_accurate_1): New function,
2076 extracted from mark_window_display_accurate.
2077 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2078 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2079 (mark_window_display_accurate): Use it.
2080 (redisplay_internal): Use it for the selected window.
2081 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2082 for the selected frame.
2083
ac90c44f
GM
2084 * xdisp.c Use make_number, for readability.
2085 (try_window_id): Disable rows below the window end.
2086 (try_window_reusing_current_matrix): Use cursor_row_p.
2087 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2088 of rows.
2089 (init_from_display_pos): If POS specifies a position in a display
2090 vector, maybe get the iterator set up for that ellipsis.
43c09969 2091
091f8878
GM
2092 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2093
991786dd
EZ
20942001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2095
2096 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2097
6c29b43c
GM
20982001-03-23 Gerd Moellmann <gerd@gnu.org>
2099
2100 * xfaces.c (x_update_menu_appearance): Use a different path
2101 for Lucid popup menus.
2102
d8731202
SM
21032001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2104
2105 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2106
2107 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2108 (string_buffer_position): Use `make_number'.
2109
f61a541b
GM
21102001-03-22 Gerd Moellmann <gerd@gnu.org>
2111
3c9e997b
GM
2112 * xfaces.c (x_update_menu_appearance): Renamed from
2113 x_set_menu_face_resources. Use different resources for popups.
2114
2115 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2116 (GC_CHECK_STRING_BYTES): Don't define.
2117
364cd450
GM
2118 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2119 Removed, together with subroutines.
2120 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2121 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2122
d8731202
SM
2123 * dispextern.h (x_set_menu_resources_from_menu_face):
2124 Remove prototype.
364cd450 2125
d8731202 2126 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2127 Remove calls to x_set_menu_resources_from_menu_face.
2128
d8731202
SM
2129 * xfaces.c (xm_set_menu_resources_from_menu_face):
2130 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2131
2132 * xmenu.c: Include widget.h.
2133 (single_submenu): Return int. Some cleanup.
2134 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2135
140330de
GM
21362001-03-21 Gerd Moellmann <gerd@gnu.org>
2137
2138 * xterm.c (x_update_window_end): Handle overwritten mouse face
2139 also for tool bar windows.
2140 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2141 DRAW is DRAW_IMAGE_RAISED.
2142
1741905c
GM
21432001-03-20 Gerd Moellmann <gerd@gnu.org>
2144
fa88947e
GM
2145 * print.c (syms_of_print): Doc fixes.
2146
1741905c
GM
2147 * fns.c (Fmd5): Doc fix.
2148
ade0bee1
GM
21492001-03-19 Gerd Moellmann <gerd@gnu.org>
2150
357e7376
GM
2151 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2152 Clear area of the frame not occupied by the scroll bar.
2153
c2c097cc
GM
2154 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2155 tip frame's root window buffer to *tip* right after creating
2156 the frame.
2157
ade0bee1
GM
2158 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2159 is an integer don't have to be for space characters.
2160
88c6e37e
GM
21612001-03-16 Gerd Moellmann <gerd@gnu.org>
2162
52283633
SM
2163 * indent.c (current_column, current_column_1, Fmove_to_column)
2164 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2165
c62eed76
KH
21662001-03-15 Kenichi Handa <handa@etl.go.jp>
2167
2168 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2169 drawing glyph string.
2170
c899e7e6
GM
21712001-03-15 Gerd Moellmann <gerd@gnu.org>
2172
d0bbfc99
GM
2173 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2174 (command_loop_1): Undo last change.
2175
03d1a189
GM
2176 * xterm.c (fast_find_position): Return the correct vpos.
2177
c899e7e6 2178 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2179 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2180 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2181 Call store_symval_forwarding with BUF null.
2182 (set_internal): Call store_symval_forwarding with the BUF
2183 parameter passed to set_internal. Formerly, the value was always
2184 set in the current buffer; the buffer recorded in specbind for
2185 this case wasn't used.
2186 (arith_driver): Reindent.
2187
52283633
SM
2188 * buffer.c (swap_out_buffer_local_variables):
2189 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2190
2191 * lisp.h (store_symval_forwarding): Change prototype.
2192
2193 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2194
57ac7c81
GM
21952001-03-14 Gerd Moellmann <gerd@gnu.org>
2196
697617d9
GM
2197 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2198 FOR_DELETION. Avoid resizing the mini-window of the selected
2199 frame if FOR_DELETION is set.
2200 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2201 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2202 signature.
2203
2204 * window.c (Fset_window_configuration): Change call to
2205 do_switch_frame to new format.
2206
2207 * keyboard.c (quit_throw_to_read_char): Change call to
2208 do_switch_frame to new format.
2209
2210 * lisp.h (do_switch_frame): Change prototype.
2211
819dce0f
GM
2212 * frame.c (Fframe_parameters): In the `buffer-list' frame
2213 parameter, store the buffer list of FRAME, not the list of the
2214 selected frame.
2215
57ac7c81
GM
2216 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2217 box just because the glyph row's full_width_p flag is set.
2218
65008712
GM
22192001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2220
2221 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2222 skip the padding blanks inserted in extend_face_to_end_of_line,
2223 before checking for trailing whitespace.
2224
159cf431
GM
22252001-03-13 Gerd Moellmann <gerd@gnu.org>
2226
52283633 2227 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2228 Remove special handling for LessTif/Motif.
2229 (toplevel): Don't include Xm/Xm.h.
2230
52283633
SM
2231 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2232 Remove workaround code for LessTif; it doesn't work anymore.
2233
2564ea1b 2234 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2235 Xm/ScrollBarP.h.
afcdc0a1 2236
52283633
SM
2237 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2238 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2239 contemporary LessTif.
2240
52283633
SM
2241 * xfaces.c (xm_set_menu_resources_from_menu_face):
2242 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2243
159cf431
GM
2244 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2245 removing button grabs.
2246
c6f7429a
KH
22472001-03-13 Kenichi Handa <handa@etl.go.jp>
2248
cb82d767
KH
2249 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2250 and clip-large-size-font as obsolete.
2251
c6f7429a
KH
2252 * lread.c (read_multibyte): Check the validity of multibyte
2253 sequence. If invalid, return the first byte.
2254
760cefb5
GM
22552001-03-12 Gerd Moellmann <gerd@gnu.org>
2256
2257 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2258 before running the command; timer functions or process
2259 filters may have set it.
2260
5141f9d0
EZ
22612001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2262
2263 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2264 Doc fix.
2265
b6a15240
GM
22662001-03-12 Gerd Moellmann <gerd@gnu.org>
2267
2268 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2269 to sprintf.
2270
95522746
GM
22712001-03-09 Gerd Moellmann <gerd@gnu.org>
2272
db14cfc5
GM
2273 * dispextern.h (string_buffer_position): Add prototype.
2274
52283633 2275 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2276 (single_display_prop_string_p): New functions.
2277
2278 * xterm.c (note_mouse_highlight): If there's no help-echo on
2279 a string, look at the buffer text ``under'' it.
2280
2281 * keyboard.c (make_lispy_event): Add string info to the event,
2282 analogous to what's done on mode lines.
2283 (read_key_sequence): For a click on a string, consider `local-map'
2284 and `keymap' of that string.
2285
52283633
SM
2286 * keyboard.c (make_lispy_event, make_lispy_movement):
2287 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2288
2289 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2290
2291 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2292 POS; return void.
2293
95522746
GM
2294 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2295 flags argument to emacs_open; it seems to conflict with O_EXCL.
2296
898a399d
KH
22972001-03-09 Kenichi Handa <handa@etl.go.jp>
2298
28cd4910
KH
2299 * composite.h (struct composition): Change types of members;
2300 glyph_len to unsigned, width to unsigned short.
898a399d 2301
4cdf6a6c
AI
23022001-03-08 Andrew Innes <andrewi@gnu.org>
2303
2304 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2305 menu titles.
2306
129004d3
GM
23072001-03-08 Gerd Moellmann <gerd@gnu.org>
2308
221dd3e7
GM
2309 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2310 instead of nil.
2311
52283633 2312 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2313 help-echo in strings.
2314 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2315 (fast_find_string_pos): New function.
2316
52283633
SM
2317 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2318 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2319
2320 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2321 Handle `mouse-face'.
2322
2323 * dispextern.h (face_at_string_position): Change prototype.
2324
52283633 2325 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2326
129004d3
GM
2327 * keyboard.c (make_lispy_event): Avoid generating drag events
2328 if the mouse hasn't actually moved to another buffer position.
52283633 2329
80c8ab8c
DL
23302001-03-08 Dave Love <fx@gnu.org>
2331
129004d3 2332 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2333
989521fd
GM
23342001-03-08 Gerd Moellmann <gerd@gnu.org>
2335
2336 * process.c (Fset_process_window_size): Fix a typo.
2337
bb5c338d
KH
23382001-03-08 Kenichi Handa <handa@etl.go.jp>
2339
2340 * coding.c (detect_coding_sjis): Do more rigid check.
2341 (detect_coding_big5): Likewise.
2342 (decode_coding_sjis_big5): Likewise.
2343 (Fdetect_coding_region): Call detect_coding_system with tailing
2344 anchor byte `\0' for more rigid detection.
52283633 2345 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2346 (Fdetect_coding_string): Likewise.
2347
8b8f9197
SM
23482001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2349
2350 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2351 a string before extracting its data.
2352
3bdf2660
GM
23532001-03-07 Gerd Moellmann <gerd@gnu.org>
2354
2355 * window.c (Frecenter): Rewrite code handling negative values
2356 of ARG on graphical frames.
2357
23582001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2359
2360 * window.c (displayed_window_lines): If W->start is outside the
2361 accessible portion of the buffer, call start_display with BEGV or
2362 ZV instead of W->start.
2363
471f86b9
GM
23642001-03-07 Gerd Moellmann <gerd@gnu.org>
2365
2ab62c6c
GM
2366 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2367
471f86b9
GM
2368 * process.c (Fset_process_filter): Don't crash if the input
2369 file descriptor of PROCESS is closed.
2370 (Fset_process_window_size): Likewise.
2371
101922c3
GM
23722001-03-06 Kenichi Handa <handa@etl.go.jp>
2373
2374 * xterm.c (XTflash): Make the timeout of select shorter, and call
2375 select repeatedly until the desired time expires.
2376
45d051a7
GM
23772001-03-06 Gerd Moellmann <gerd@gnu.org>
2378
2379 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2380
2381 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2382
2383 * lisp.h (Vwindow_list): Declare extern.
2384
8f372c46
EZ
23852001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2386
2387 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2388
f16a7aa5
GM
23892001-03-06 Gerd Moellmann <gerd@gnu.org>
2390
157ae273
GM
2391 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2392 to detect a case where we have to highlight a different region
2393 despite not having left the currently highlighted region.
2394 Set mouse_face_overlay in the x_display_info.
45d051a7 2395 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2396
2397 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2398
2399 * buffer.c (mouse_face_overlay_overlaps): New function.
2400
2401 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2402 (Qmouse_face): Declare extern.
2403
f16a7aa5
GM
2404 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2405 if face_change_count is non-zero.
2406
827afcac
KH
24072001-03-06 Kenichi Handa <handa@etl.go.jp>
2408
2409 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2410 that the source is unibyte.
2411
14c7242e
DL
24122001-03-05 Dave Love <fx@gnu.org>
2413
827afcac 2414 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2415
c28b847b
GM
24162001-03-05 Gerd Moellmann <gerd@gnu.org>
2417
2418 * minibuf.c (read_minibuf): Clean up the binding stack if
2419 called noninteractively.
2420
b86644f2
KH
24212001-03-05 Kenichi Handa <handa@etl.go.jp>
2422
2423 * coding.c (syms_of_coding): Docstring modified.
2424
203682cc 24252001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2426
2427 * charset.c (char_to_string): If a single byte char has modifier
2428 bits that can't be reflected to the character code, ignore them
45d051a7 2429 instead of signaling an error.
b86644f2 2430
e30bd7b7
EZ
24312001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2432
2433 * s/msdos.h: Update copyright notice.
2434
2435 * dosfns.h: Update copyright notice.
2436
2437 * dosfns.c: Update copyright notice.
2438
2439 * msdos.c: Update copyright notice.
2440
b52b65bd
GM
24412001-03-02 Gerd Moellmann <gerd@gnu.org>
2442
2443 * xterm.c (glyph_rect): New function.
2444 (XTmouse_position): Use it to raise the threshold for mouse
2445 movement event generation.
2446
53c4b1e6
EZ
24472001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2448
2449 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2450 specifies (reverse . t), reverse the initial screen colors.
2451 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2452 but we are reversing the colors, set bg_set, not fg_set.
2453 Likewise for setting background-color and reversing: set fg_set.
2454 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2455 in effect.
2456
2457 * xfaces.c (Finternal_set_lisp_face_attribute)
2458 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2459 parameters alist.
2460
f964b4d7
GM
24612001-03-02 Gerd Moellmann <gerd@gnu.org>
2462
ef53d75e
GM
2463 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2464 to a single slash in the middle of file names.
2465
52283633 2466 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2467 Accept only alphanumeric time zone names.
2468
f964b4d7
GM
2469 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2470 or width area.
2471 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2472 a widget to zero height.
52283633 2473
c3c45f65
GM
24742001-03-01 Gerd Moellmann <gerd@gnu.org>
2475
2476 * window.c (Fwindow_end): Call move_it_past_eol only if
2477 ending up on a partially visible line.
2478
028d739a
DL
24792001-03-01 Dave Love <fx@gnu.org>
2480
2481 * ccl.c (Fccl_execute): Doc fix.
2482
57c5889c
GM
24832001-03-01 Gerd Moellmann <gerd@gnu.org>
2484
35f59f6b
GM
2485 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2486 of the tool bar before calling x_figure_window_size.
2487
f84ff02c
GM
2488 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2489 NULL after destroying it, otherwise XTread_socket can access a
2490 destroyed widget when input is unblocked.
2491
8b8f9197 2492 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2493
57c5889c
GM
2494 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2495 same name as before, although there was a change in fontsets.
2496
224227d1
KR
24972001-02-28 Ken Raeburn <raeburn@gnu.org>
2498
4560730a
KR
2499 * lisp.h (Fframe_parameter): Declare.
2500
224227d1 2501 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2502 Lisp_Object.
224227d1 2503
ece93c02
GM
25042001-02-28 Gerd Moellmann <gerd@gnu.org>
2505
11ef99b9
GM
2506 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2507 NULL instead.
2508
2509 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2510 NULL instead.
2511
ece93c02
GM
2512 * alloc.c (toplevel): Include process.h.
2513 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2514 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2515 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2516 (allocate_vector, allocate_hash_table, allocate_window)
2517 (allocate_frame, allocate_process, allocate_other_vector):
2518 New functions.
ece93c02
GM
2519 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2520 (mark_maybe_pointer): New function.
52283633 2521 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2522 remain and not Lisp_Objects.
2523 (min_heap_address, max_heap_address): New variables.
2524 (mem_find): Return MEM_NIL if START is below min_heap_address or
2525 above max_heap_address.
2526 (mem_insert): Compute min_heap_address and max_heap_address.
2527
2528 * process.c (make_process): Use allocate_process.
2529
2530 * frame.c (make_frame): Use allocate_frame.
2531
2532 * window.c (make_window, make_dummy_parent): Use allocate_window.
2533 (Fcurrent_window_configuration): Use allocate_other_vector.
2534
2535 * lisp.h (allocate_vectorlike): Remove prototype.
2536 (allocate_vector, allocate_other_vector, allocate_frame)
2537 (allocate_window, allocate_process, allocate_hash_table):
2538 Add prototypes.
2539
2540 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2541 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2542
063af457
KH
25432001-02-27 Kenichi Handa <handa@etl.go.jp>
2544
2545 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2546 treat the produced bytes as a valid multibyte sequence.
2547
2548 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2549 (ccl_driver) <CCL_WriteMultibyteChar2>:
2550 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2551 <ccl_finish>: Set ccl->eight_bit_control properly.
2552
2553 * ccl.h (struct ccl_program): New member eight_bit_control.
2554
f58c6494
SM
25552001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2556
2557 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2558 accessible_keymaps_char_table.
2559 (accessible_keymaps_char_table): Obey `is_metized'.
2560 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2561 Lisp_Object.
2562
c596c392
GM
25632001-02-26 Gerd Moellmann <gerd@gnu.org>
2564
2565 * dispnew.c: Check HAVE_TERM_H before including term.h.
2566
425de386
AI
25672001-02-24 Andrew Innes <andrewi@gnu.org>
2568
2569 * makefile.w32-in: Update copyright notice.
2570
2ba11bbd
SM
25712001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2572
2573 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2574
66c56ed1
KH
25752001-02-24 Kenichi Handa <handa@etl.go.jp>
2576
4c1593ce
KH
2577 * Makefile.in (lisp): Add international/utf-8.elc.
2578
66c56ed1
KH
2579 * fontset.c (Fnew_fontset): Fix handling of the case that an
2580 element of FONTLIST is a cons of family and registry.
2581
796ead7e
JR
25822001-02-23 Jason Rumney <jasonr@gnu.org>
2583
2584 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2585 to height unconditionally.
2586
2587 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2588 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2589 (x_insert_glyphs): Call window_box_left to obtain the left
2590 x-coordinate of the area to shift.
2591
2592 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2593 safe_run_hooks.
2594
f6839838
AI
25952001-02-22 Andrew Innes <andrewi@gnu.org>
2596
52283633 2597 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2598 ($(BLD)\dispnew.obj):
2599 ($(BLD)\editfns.obj):
2600 ($(BLD)\fileio.obj):
2601 ($(BLD)\filelock.obj):
2602 ($(BLD)\keyboard.obj):
2603 ($(BLD)\w32proc.obj):
2604 ($(BLD)\process.obj):
2605 ($(BLD)\sysdep.obj): Ditto.
2606
2607 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2608 header files.
52283633
SM
2609 ($(BLD)/dispnew.$(O)):
2610 ($(BLD)/editfns.$(O)):
2611 ($(BLD)/fileio.$(O)):
2612 ($(BLD)/filelock.$(O)):
2613 ($(BLD)/keyboard.$(O)):
2614 ($(BLD)/w32proc.$(O)):
2615 ($(BLD)/process.$(O)):
f6839838
AI
2616 ($(BLD)/sysdep.$(O)): Ditto.
2617
c224f70b
GM
26182001-02-22 Gerd Moellmann <gerd@gnu.org>
2619
51695746
GM
2620 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2621 at the start of the function, check that the \n in it->c is
2622 from the iterator's current position.
52283633 2623
a61b7058
GM
2624 * xdisp.c (handle_single_display_prop): Add parameter
2625 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2626 properties which replace the display of text with something else.
2627 (handle_display_prop): Call handle_single_display_prop with
2628 additional argument saying if we already replaced text display
2629 with something else. Use AREF.
52283633 2630 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2631 (decode_mode_spec_coding): Use AREF and ASIZE.
2632
3473f362
GM
2633 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2634 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2635 * vmstime.h: Files removed.
52283633 2636
2bb58df3
GM
2637 * unexencap.c, unexfx2800.c: Files removed.
2638
c224f70b
GM
2639 * dispnew.c (direct_output_for_insert): Give up if we are showing
2640 a message or just cleared the message because we might need to
2641 resize the echo area window or display an empty echo area.
2642
ffc9ff0c
GM
26432001-02-21 Gerd Moellmann <gerd@gnu.org>
2644
0528abe1
GM
2645 * xdisp.c (redisplay_internal): Do the
2646 mark_window_display_accurate after all windows have been
2647 redisplayed because this call resets flags in buffers which are
2648 needed for proper redisplay.
2649
52283633
SM
2650 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2651 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2652 the old names.
2653
52283633
SM
2654 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2655 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2656
2657 * msdos.h (struct x_output): Rename busy_window to
2658 hourglass_window, busy_p to hourglass_p.
2659
52283633
SM
2660 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2661 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2662
2663 * xfns.c: Rename everything containing *busy_cursor* and similar
2664 to *hourglass*.
2665 (syms_of_w32fns): Rename x-busy-pointer-shape to
2666 x-hourglass-pointer-shape, display-busy-cursor to
2667 display-hourglass, busy-cursor-delay to hourglass-delay.
2668
2669 * w32fns.c: Rename everything containing *busy_cursor* and similar
2670 to *hourglass*.
2671 (syms_of_w32fns): Rename x-busy-pointer-shape to
2672 x-hourglass-pointer-shape, display-busy-cursor to
2673 display-hourglass, busy-cursor-delay to hourglass-delay.
2674
2675 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2676 of its busy_p flag.
2677
2678 * dispextern.h (start_hourglass, cancel_hourglass)
2679 (display_hourglass_p): Renamed from *busy_cursor*.
2680
ab2c5f0a
GM
26812001-02-20 Gerd Moellmann <gerd@gnu.org>
2682
d17e49a8
GM
2683 * keyboard.c (read_char): When an event from unread-command-events
2684 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2685
fa97adf6
GM
2686 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2687 equal to the current buffer.
2688
ab2c5f0a
GM
2689 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2690 nil, otherwise we're left with truncate_lines t when a message
2691 is printed with message-truncate-lines bound to t.
2692
aeac019e
GM
26932001-02-19 Gerd Moellmann <gerd@gnu.org>
2694
c8bc6f65
GM
2695 * window.c (Fmove_to_window_line): Undo last change.
2696 (displayed_window_lines): Call line_bottom_y to determine
2697 the line's bottom position.
2698
2699 * dispextern.h (line_bottom_y): Add prototype.
2700
52283633 2701 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2702 (pos_visible_p): Use it.
2703
980a2d69
GM
2704 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2705 set redisplaying_p to 0 here instead of in Frecursive_edit.
2706 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2707 set redisplaying_p.
2708
52283633 2709 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2710 New variables.
2711 (syms_of_xdisp): Initialize new variables.
2712 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2713 Specbind `inhibit-menubar-update' when updating the menu bar.
2714
65048e97
GM
2715 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2716 safe_run_hooks.
2717
2718 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2719 safe_run_hooks.
2720
a57c4026
GM
2721 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2722 is null.
2723
aeac019e
GM
2724 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2725 to the start of the file.
2726
76846b31
GM
27272001-02-16 Gerd Moellmann <gerd@gnu.org>
2728
f3f053f3 2729 * window.c (set_window_buffer): Fix last change.
52283633 2730
f3f053f3
GM
2731 * window.c (set_window_buffer): Set window's vscroll to 0.
2732
dad75588
GM
2733 * window.c (coordinates_in_window): Increase width of area
2734 where the vertical line can be dragged.
2735
c220b753
GM
2736 * xterm.c (x_set_glyph_string_background_width): Extend the
2737 background face to the end of the drawing area in the text
2738 area, only.
2739
c56b1c1b
GM
2740 * xdisp.c (handle_single_display_prop): Set iterator's position
2741 to where the `display' property starts, like for images.
2742 (dump_glyph): New function.
2743 (dump_glyph_row): Use it. Dump info about marginal areas.
2744
2745 * dispnew.c (direct_output_for_insert): Recognize more cases where
2746 glyphs can be written instead of being inserted.
2747
2748 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2749 the left x-coordinate of the area to shift.
2750
76846b31
GM
2751 * dired.c (directory_files_internal): Set result list to nil
2752 before retrying.
2753
0fc71a77
KH
27542001-02-15 Kenichi Handa <handa@etl.go.jp>
2755
2756 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2757 invalid multibyte sequence, treat *SRC as a character of
2758 eight-bit-graphic.
2759
25078b54
EZ
27602001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2761
2762 * textprop.c (Fset_text_properties): Doc fix.
2763
8399f8a0
GM
27642001-02-15 Gerd Moellmann <gerd@gnu.org>
2765
2766 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2767
9a2a6f73
DL
27682001-02-14 Dave Love <fx@gnu.org>
2769
2770 * coding.c: Doc and message fixes.
2771
bf853fee
AI
27722001-02-14 Andrew Innes <andrewi@gnu.org>
2773
2774 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2775 Emacs frame above the screen size.
2776
78c663d8
GM
27772001-02-14 Gerd Moellmann <gerd@gnu.org>
2778
2779 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2780
7cc9f69f
GM
27812001-02-13 Gerd Moellmann <gerd@gnu.org>
2782
0a411995
GM
2783 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2784 case that TO ends up beyond ZV after running before-change-functions.
2785
5ddc1b75
GM
2786 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2787 the selected window if it is showing the buffer in question.
2788
7cc9f69f
GM
2789 * dired.c (directory_files_internal): Initialize errno.
2790 (toplevel): Include errno.h.
2791
2e6621ca
GM
27922001-02-13 Kenichi Handa <handa@etl.go.jp>
2793
2794 * xfaces.c (best_matching_font): New parameter width_ratio.
2795 Multiply avgwidth by width_ratio.
2796 (choose_face_font): Call best_matching_font with width_ratio
2797 calculated from the column width of C.
2798
60222d69
AI
27992001-02-12 Andrew Innes <andrewi@gnu.org>
2800
2801 The following changes are to draw box lines inside characters area
2802 if line-width is negative.
52283633 2803
60222d69
AI
2804 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2805 face->box_line_width is negative.
2806 (x_produce_stretch_glyph): Likewise.
2807 (x_produce_glyphs): Likewise.
2808 (x_estimate_mode_line_height): Likewise.
2809 (x_draw_glyph_string_background): Likewise.
2810 (x_draw_glyph_string_foreground): Likewise.
2811 (x_draw_composite_glyph_string_foreground): Likewise.
2812 (x_draw_glyph_string_box): Likewise.
2813 (x_draw_image_foreground): Likewise.
2814 (x_draw_image_relief): Likewise.
2815 (x_draw_image_foreground_1): Likewise.
2816 (x_draw_image_glyph_string): Likewise.
2817
9804b846
KH
28182001-02-09 Kenichi Handa <handa@etl.go.jp>
2819
2820 The following changes are to draw box lines inside characters area
2821 if line-width is negative.
52283633 2822
9804b846
KH
2823 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2824 face->box_line_width is negative.
2825 (x_produce_stretch_glyph): Likewise.
2826 (x_produce_glyphs): Likewise.
2827 (x_estimate_mode_line_height): Likewise.
2828 (x_draw_glyph_string_background): Likewise.
2829 (x_draw_glyph_string_foreground): Likewise.
2830 (x_draw_composite_glyph_string_foreground): Likewise.
2831 (x_draw_glyph_string_box): Likewise.
2832 (x_draw_image_foreground): Likewise.
2833 (x_draw_image_relief): Likewise.
2834 (x_draw_image_foreground_1): Likewise.
2835 (x_draw_image_glyph_string): Likewise.
2836
2837 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2838 and :line-width can be negative.
52283633 2839 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2840
49be9f70
JR
28412001-02-09 Jason Rumney <jasonr@gnu.org>
2842
2843 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2844 characters the same as ASCII and latin-1.
2845 (x_display_and_set_cursor): Check for the focus frame's selected
2846 window instead of selected_window.
2847 (x_after_update_window_line): Don't clear if frame's internal
2848 border width is zero.
2849 (x_new_font): Don't change a tooltip's size.
2850 (w32_initialize): Set char_ins_del_ok to 1.
2851
2852 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2853 (x_set_font): If font hasn't changed, avoid recomputing
2854 faces and other things.
52283633
SM
2855 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2856 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2857 (x_create_tip_frame): Prevent changing the tooltip's
2858 background color by specifying a color for the default font
2859 in .Xdefaults.
2860 (Qcancel_timer): New variable.
2861 (syms_of_w32fns): Initialize and staticpro it.
2862 (Fx_hide_tip, Fx_show_tip): Use it.
2863 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2864 the timer.
2865 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2866
2867 * w32.c (init_environment): Duplicate local string before putenv.
2868
555e35d2
SZ
28692001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2870
2871 * charset.c (Fstring): A typo.
2872
19c92c94
KH
28732001-02-09 Kenichi Handa <handa@etl.go.jp>
2874
e47a1c33
KH
2875 * charset.c (Fstring): If all arguments are less than 256, return
2876 a unibyte string.
2877
2878 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2879 return a unibyte string.
2880
19c92c94
KH
2881 * coding.c (code_convert_region): After detecting a coding, if
2882 nothing found, set coding->composing to COMPOSITION_NO.
2883 (decode_coding_string): Likewise.
2884
d8e675f5
SM
28852001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2886
2887 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2888 to avoid overflow.
2889
bd503487
KH
28902001-02-07 Kenichi Handa <handa@etl.go.jp>
2891
2892 * charset.c (parse_str_to_multibyte): New function.
2893
2894 * charset.h (parse_str_to_multibyte): Extern it.
2895
2896 * print.c (print_string): If we are going to print a unibyte
2897 string into a multibyte buffer, convert the string to multibyte by
2898 str_to_multibyte.
2899
a8370d72
AI
29002001-02-06 Andrew Innes <andrewi@gnu.org>
2901
2902 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2903 been created. It seems we can get sent window messages such as
2904 WM_ERASEBKGND before we properly update a frame.
2905
c363a1d6
GM
29062001-02-06 Gerd Moellmann <gerd@gnu.org>
2907
2908 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2909 Avoid some unnecessary cursor positioning.
2910
a08332c0
GM
29112001-02-05 Gerd Moellmann <gerd@gnu.org>
2912
52283633 2913 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2914 (LFACE_AVGWIDTH): New macro.
2915 (LFACEP): Use AREF.
2916 (check_lface_attrs): Check LFACE_AVGWIDTH.
2917 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2918 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2919 (merge_face_vectors): Check LFACE_AVGWIDTH.
2920 (Finternal_make_lisp_face): Use AREF.
2921 (xm_set_menu_resources_from_menu_face)
2922 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2923 (Finternal_lisp_face_empty_p): Use AREF.
2924 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2925 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2926 Compare average widths..
2927 (best_matching_font): Arrange for comparing average widths.
2928
52283633
SM
2929 * dispextern.h (enum lface_attribute_index):
2930 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2931
5cb3c8d4
DL
29322001-02-05 Dave Love <fx@gnu.org>
2933
2934 * puresize.h: Revert last change following loadup.el change.
2935
193fba87
AI
29362001-02-05 Andrew Innes <andrewi@gnu.org>
2937
2938 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2939 invocation of temacs, to work with Windows 2000.
2940 (bootstrap-emacs): Ditto.
2941
e16f52ce
GM
29422001-02-05 Gerd Moellmann <gerd@gnu.org>
2943
7a58ab59
GM
2944 * xterm.c (x_display_and_set_cursor): Check for the focus
2945 frame's selected window instead of selected_window.
2946
e89aaabd
GM
2947 * xdisp.c (try_scrolling): If point is in the line below the
2948 window, make sure to move the iterator at least a canonical
2949 char height down.
2950
52283633 2951 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2952
789ce875
KH
29532001-02-05 Kenichi Handa <handa@etl.go.jp>
2954
52283633
SM
2955 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2956 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2957 (ccl_driver): If the CCL program is terminated because of
2958 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2959 destination instead of throwing them away.
2960
20b28f82
GM
29612001-02-02 Gerd Moellmann <gerd@gnu.org>
2962
79fb38c0
GM
2963 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2964 faces and other things.
2965
20b28f82
GM
2966 * xdisp.c (get_next_display_element): Fix case of empty
2967 display table entry.
2968
5a72551e
EZ
29692001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2970
eb24d0bf
EZ
2971 * editfns.c (Fconstrain_to_field): Doc fix.
2972
6a3f48c7
EZ
2973 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2974 into `thoroughly', to make it consistent with the doc string.
2975
5a72551e
EZ
2976 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2977
01acdb05
GM
29782001-02-01 Gerd Moellmann <gerd@gnu.org>
2979
0353b28f
GM
2980 * search.c (search_buffer): Call set_search_regs with a byte
2981 position, not a character position.
2982
01acdb05
GM
2983 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2984 minibuffer-only,
2985
e86b5133
EZ
29862001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2987
2988 * frame.c (Fmodify_frame_parameters): Doc fix.
2989
7442878f
GM
29902001-01-31 Gerd Moellmann <gerd@gnu.org>
2991
01acdb05
GM
2992 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2993 identifier which is not reserved by Standard C.
52283633 2994
7442878f
GM
2995 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2996
2997 * window.c (enum window_part): New enumeration.
2998 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2999 Qright_bitmap_area.
3000 (coordinates_in_window): Return an enumerator from enum
3001 window_part. Fix handling of right scroll bar.
3002 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3003 `right-fringe' instead of `left-bitmap-area' and
3004 `right-bitmap-area'. Use enumerators from enum window_part
3005 instead of hard-coded integers.
52283633
SM
3006 (check_window_containing, window_from_coordinates):
3007 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3008 (syms_of_window): Replace Qleft_bitmap_area and
3009 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3010
7c132cba
EZ
30112001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3012
3013 * editfns.c (Fformat_time_string): Doc fix.
3014
c359dd9e
SM
30152001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3016
3017 * keymap.c (Fwhere_is_internal): Use the first valid binding
3018 if no ascii binding is found (when firstonly is t).
3019
ce070307
GM
30202001-01-31 Gerd Moellmann <gerd@gnu.org>
3021
b4f30ec5
GM
3022 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3023 instead of Finteractive_p.
3024
3025 * lisp.h (interactive_p): Add prototype.
3026
3027 * eval.c (interactive_p): New function.
3028 (Finteractive_p): Use it.
3029
ce070307
GM
3030 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3031
f57b6e64
DL
30322001-01-31 Dave Love <fx@gnu.org>
3033
d61c7afe
DL
3034 * .gdbinit (hook-run): Define to run xreload.
3035
f57b6e64
DL
3036 * textprop.c (Fset_text_properties): Fix newline in doc string.
3037
eef93f99
GM
30382001-01-30 Gerd Moellmann <gerd@gnu.org>
3039
52283633
SM
3040 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3041 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3042
3043 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3044 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3045 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3046
3047 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3048 height.
3049
d9c1f6f9
DL
30502001-01-30 Dave Love <fx@gnu.org>
3051
3052 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3053 AFTER_POTENTIAL_GC.
3054
e8f044a0
GM
30552001-01-29 Gerd Moellmann <gerd@gnu.org>
3056
52283633
SM
3057 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3058 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3059
8e1db7b3
EZ
30602001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3061
3062 * textprop.c (Fset_text_properties): Doc fix.
3063
4eefd9d2
GM
30642001-01-29 Gerd Moellmann <gerd@gnu.org>
3065
3066 * xdisp.c (forward_to_next_line_start): Remove xassert.
3067
fccb8288
EZ
30682001-01-29 Jason Rumney <jasonr@gnu.org>
3069
4eefd9d2 3070 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3071 returning without releasing it.
3072
76581eab
KH
30732001-01-29 Kenichi Handa <handa@etl.go.jp>
3074
3075 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3076 for '^', '$', and '\0'.
3077
83a96b4d
AC
30782001-01-28 Andrew Choi <akochoi@i-cable.com>
3079
5604ec34
AC
3080 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3081 regex for '^', '$', and '\0'.
3082
83a96b4d
AC
3083 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3084 only if current_sblock has been initialized.
3085
3086 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3087 terminal frame even if it is the only visible frame.
3088
c09a6440
KH
30892001-01-28 Kenichi Handa <handa@etl.go.jp>
3090
3091 * fontset.c (font_family_registry): Even if FONTNAME conform to
3092 XLFD, if it specifies other fields than family and registry,
52283633 3093 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3094 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3095 a signle byte character. Don't set FAMILY part to nil here.
3096 It is handled by the caller choose_face_font.
c09a6440
KH
3097 (Fnew_fontset): Call font_family_registry with FORCE 0.
3098 (Fset_fontset_font): Likewise.
3099
4dcd74e6
GM
31002001-01-27 Gerd Moellmann <gerd@gnu.org>
3101
3102 * xdisp.c (display_line): Don't treat a newline as fitting
3103 on the line.
3104
d2906bf8
GM
31052001-01-26 Gerd Moellmann <gerd@gnu.org>
3106
0130fe1a
GM
3107 * window.c (size_window): Set the window's orig_top to nil when
3108 changing heights, so that a future shrink_mini_window won't
3109 restore a bogus height.
3110
550f0e6a
GM
3111 * frame.c (do_switch_frame): If selected frame has a mini-window,
3112 resize that to exact size.
3113
b7b20fbd
GM
3114 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3115
a47b7816
GM
3116 * xdisp.c (display_line): Simplify check for glyphs fitting
3117 entirely in the line.
3118
d2906bf8
GM
3119 * xfns.c (xic_style): New variable.
3120 (create_frame_xic): Move static variable to global scope for
550f0e6a 3121 the case that `static' gets defined away.
d2906bf8 3122
73df2b1e
KH
31232001-01-26 Kenichi Handa <handa@etl.go.jp>
3124
3125 * coding.c (decode_coding): Set a flag for inhibiting
3126 inconsistent eol.
3127 (code_convert_region): Always set saved_coding_symbol.
3128 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3129 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3130
6613cfc4
GM
31312001-01-25 Gerd Moellmann <gerd@gnu.org>
3132
c5e6e06b
GM
3133 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3134 XClearArea.
3135
3136 * xterm.c (x_after_update_window_line): Don't clear if frame's
3137 internal border width is zero.
3138 (x_clear_area): New function.
3139 (x_after_update_window_line, x_clear_end_of_line)
3140 (x_scroll_bar_create, x_scroll_bar_set_handle)
3141 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3142 instead of XClearArea.
3143
3144 * xterm.h (x_clear_area): Add prototype.
3145
6613cfc4
GM
3146 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3147 which doesn't seem necessary anymore with Lesstif 0.92.
3148
650cc6cc
DL
31492001-01-25 Dave Love <fx@gnu.org>
3150
34ac3367
DL
3151 * puresize.h (BASE_PURESIZE): Up to 720000.
3152
650cc6cc
DL
3153 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3154
5e37dc22
GM
31552001-01-25 Gerd Moellmann <gerd@gnu.org>
3156
e1e441f9
GM
3157 * xdisp.c (echo_area_display): Don't call redisplay_internal
3158 when Emacs is shutting down. We can't run hooks etc. that
3159 would be necessary to do a redisplay.
3160
5e37dc22
GM
3161 * lread.c (read_integer): Use type EMACS_INT instead of int.
3162
0fb94c7f
EZ
31632001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3164
3165 * ccl.c (ccl_driver): Fix last change.
3166
e3778624
KH
31672001-01-25 Kenichi Handa <handa@etl.go.jp>
3168
3169 * ccl.h (sturct ccl_program): New member suppress_error.
3170
bb264518 3171 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3172 insert error message to the output.
3173 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3174
3175 * coding.h (struct coding_system): New member suppress_error.
3176
3177 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3178 (Fset_terminal_coding_system_internal): Set the member
3179 suppress_error to 1.
3180 (Fset_safe_terminal_coding_system_internal): Likewise.
3181
245ed2b1
SM
31822001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3183
3184 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3185 as if it was a `charset'.
3186
f9aaedb6
GM
31872001-01-24 Gerd Moellmann <gerd@gnu.org>
3188
3189 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3190 value in where_is_cache; the next lookup in the cache returns
3191 something bogus if we do.
3192
c3902c3e
EZ
31932001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3194
3195 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3196 if HAVE_WINDOW_SYSTEM isn't defined.
3197
3497f73e
GM
31982001-01-24 Gerd Moellmann <gerd@gnu.org>
3199
e7e41584
GM
3200 * fns.c (sweep_weak_table): Fix code taking items out of
3201 the hash collision chain. Some cleanup.
3202
3497f73e
GM
3203 * xterm.c (x_new_font): Don't change a tooltip's size.
3204
3205 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3206 background color by specifying a color for the default font
3207 in .Xdefaults.
3208
3d48e687
KH
32092001-01-24 Kenichi Handa <handa@etl.go.jp>
3210
96531b20
KH
3211 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3212 a workaround for SunOS 4's cc.
3213 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3214 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3215 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3216 statement.
3d48e687 3217
a30629d2
GM
32182001-01-23 Gerd Moellmann <gerd@gnu.org>
3219
3220 * xterm.c (x_set_window_size_1): New function extracted from
3221 x_set_window_size.
3222 (x_set_window_size): Use it.
3223 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3224 doesn't have a widget, like tooltips.
3225
5a43decf
EZ
32262001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3227
52283633 3228 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3229
b0e98867
KH
32302001-01-23 Kenichi Handa <handa@etl.go.jp>
3231
3232 * fns.c (Fset_char_table_default): Fix to make sub char-table
3233 correctly.
3234
50606b4c
GM
32352001-01-22 Gerd Moellmann <gerd@gnu.org>
3236
cb2ddc53 3237 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3238 a desired tool bar string, even if there are no tool bar items.
3239
57c28064
GM
3240 * xdisp.c (Ftool_bar_lines_needed): New function.
3241 (syms_of_xdisp): Defsubr it.
3242
50606b4c
GM
3243 * editfns.c (Fformat): Don't extend text properties from arguments
3244 to padding chars in the result.
3245
2f169c38
EZ
32462001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3247
3248 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3249
0f32f023
AI
32502001-01-20 Andrew Innes <andrewi@gnu.org>
3251
52283633 3252 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3253 (w32_initialize): Don't set term hooks that aren't actually needed
3254 in windowed mode.
3255
3256 * xfaces.c (realize_default_face):
3257 (realize_face):
3258 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3259
3260 * xdisp.c (handle_single_display_prop): Remove references to
3261 FRAME_W32_CONSOLE_P.
3262
52283633 3263 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3264
3265 * frame.h (output_method): Remove output_w32_console method.
3266 (FRAME_W32_CONSOLE_P): Remove macro.
3267
3268 * frame.c (Qw32_console): Remove variable.
3269 (Fframep): Remove references to it.
3270 (syms_of_frame): Ditto.
3271 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3272
3273 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3274 redefinition.
3275
7173eada
KH
32762001-01-20 Kenichi Handa <handa@etl.go.jp>
3277
3278 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3279
755b45ce
AI
32802001-01-19 Andrew Innes <andrewi@gnu.org>
3281
3282 * w32.c (init_environment): Add a version-independent site-lisp
3283 directory to EMACSLOADPATH, after the version dependent one.
3284
0a949811
GM
32852001-01-19 Gerd Moellmann <gerd@gnu.org>
3286
8501998a
GM
3287 * editfns.c (Fbuffer_substring): Doc fix.
3288
52283633
SM
3289 * xdisp.c (message_dolog, message2, message2_nolog):
3290 Rename parameter LEN to NBYTES.
0a949811 3291
e6ebcbbe
KH
32922001-01-19 Kenichi Handa <handa@etl.go.jp>
3293
200ecca2
KH
3294 * charset.c (strwidth): Use c_string_width.
3295 (c_string_width): New function.
3296 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3297 Caller changed.
3298
3299 * charset.h (c_string_width, lisp_string_width): Extern them.
3300
52283633 3301 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3302
e6ebcbbe
KH
3303 * indent.c (check_composition): Check validity of composition.
3304
200ecca2
KH
3305 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3306 characters by calling c_string_width.
3307 (x_consider_frame_title): Get byte length of frame tile string
3308 correctly.
3309 (display_mode_element): Pay attention to width of non-ASCII
3310 characters by calling strwidth.
3311
8692ca92
GM
33122001-01-18 Gerd Moellmann <gerd@gnu.org>
3313
8962e303
GM
3314 * xfns.c (Qcancel_timer): New variable.
3315 (syms_of_xfns): Initialize and staticpro it.
3316 (Fx_hide_tip, Fx_show_tip): Use it.
3317 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3318 the timer.
3319 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3320
91523be9
GM
3321 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3322
3323 * window.h (WINDOW_LIVE_P): New macro.
3324
b0b7ed0e
GM
3325 * window.c (window_size_fixed): New variable.
3326 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3327 the doc string.
3328
06bccf8e
GM
3329 * eval.c (specbind): If binding a per-buffer variable which
3330 doesn't have a buffer-local value in the current buffer, change
3331 the global value by changing the value of the symbol bound in all
3332 buffers not having their own value, to make it consistent with
3333 what happens with other buffer-local variables.
3334
8692ca92
GM
3335 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3336
3337 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3338 when searching for a newline.
3339
bb3a3b50
KH
33402001-01-18 Kenichi Handa <handa@etl.go.jp>
3341
3342 * xdisp.c (display_string): Fix previous change.
3343
c2cc16fa
JR
33442001-01-18 Jason Rumney <jasonr@gnu.org>
3345
3346 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3347 GLYPH_DEBUG is defined.
3348 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3349 true for images with `:ascent 100'.
3350 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3351 meantime, use face MOUSE_FACE_ID.
3352 If first glyph isn't a character glyph, use the ASCII NUL
3353 character to determine the face.
3354 (expose_area): Do not treat left margin specially.
3355 (note_mode_line_highlight): If no local_map, check global keymap.
3356 (note_mouse_highlight): Initialize overlay.
52283633 3357 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3358 (show_scroll_bars): Remove unused function.
3359 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3360 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3361 Clip to row.
52283633 3362 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3363 (x_free_frame_resources): Unload relief colors.
3364
9c11f79e
GM
33652001-01-17 Gerd Moellmann <gerd@gnu.org>
3366
3aec8722 3367 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3368 get_next_display_element when the newline is already found.
3369 This may change the iterator's position, when its current position is
3aec8722
GM
3370 equal to the iterator's stop_charpos.
3371
f3ffc2c3
GM
3372 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3373 zero, use this method only at the end of a line.
3374
52283633 3375 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3376 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3377 if SCALABLE_FONTS_P is set.
52283633 3378
d26d6fd9
GM
3379 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3380 so that scalable fonts are included.
3381
9c11f79e
GM
3382 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3383 In the cache, use a key containing the information if scalable
3384 fonts are included.
3385 (x_load_font): Adapt to change of keys in the font cache.
3386
33872001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3388
d26d6fd9
GM
3389 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3390 XListFonts to take advantage of font caching.
3391
9c11f79e
GM
3392 * xterm.c (x_list_fonts): Ensure caching font information when
3393 called for a null frame, which is the case frequently when Emacs
3394 starts.
3395
51446987
GM
33962001-01-17 Gerd Moellmann <gerd@gnu.org>
3397
f864120f
GM
3398 * xfns.c (QCconversion): Replaces QCalgorithm.
3399
3400 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3401
3402 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3403 of :algorithm.
52283633 3404
e37d1417
GM
3405 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3406 not everything could be displayed.
3407
51446987
GM
3408 * line.h, x-list-font.c: Files removed because unused.
3409
9ad4f3e5
AI
34102001-01-17 Andrew Innes <andrewi@gnu.org>
3411
3412 * dired.c (directory_files_internal): Convert result from readdir
3413 to a unibyte string initially, to avoid possible misinterpretation
3414 of some bytes as the internal form of Emacs characters.
3415
2eda09b5
KH
34162001-01-17 Kenichi Handa <handa@etl.go.jp>
3417
3418 * fns.c (concat): Be sure to avoid putting the same `composition'
3419 property on the adjacent regions.
3420
826f3788
GM
34212001-01-16 Gerd Moellmann <gerd@gnu.org>
3422
52283633 3423 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3424 (Fscroll_right, Fscroll_left): Set it here instead, if called
3425 interactively.
3426
d57b83b3
GM
3427 * buffer.c (Fset_buffer_modified_p): Set buffer's
3428 prevent_redisplay_optimizations_p flag.
3429
826f3788 3430 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3431 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3432 with additional arg.
3433
3434 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3435 Change prototype.
826f3788 3436
826f3788
GM
3437 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3438 FROM_WHERE, for debugging.
3439
261d788b
KH
34402001-01-16 Kenichi Handa <handa@etl.go.jp>
3441
3442 * ccl.c (Fregister_ccl_program): Handle the return value of
3443 resolve_symbol_ccl_program correctly.
52283633 3444 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3445
bccee4f2
GM
34462001-01-15 Gerd Moellmann <gerd@gnu.org>
3447
e4ded23c
GM
3448 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3449 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3450
3451 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3452 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3453 the display; we didn't open it.
3454
bccee4f2
GM
3455 * dispnew.c (save_or_restore_current_matrices): Function removed.
3456 (save_current_matrix, restore_current_matrix): New functions.
3457 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3458 restore the frame's current matrix. Due to the glyph pointer
3459 setup done in adjust_glyph_matrix, there is no easy way to make
3460 saving the current matrix in the desired matrix generally correct,
3461 so don't try it.
3462
ebeccffa
KH
34632001-01-15 Kenichi Handa <handa@etl.go.jp>
3464
3465 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3466 truncation glyphs.
3467 (display_line): Optimize for wide characters.
e4ded23c 3468 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3469 partially. On ttys, produce more than one truncation glyph for
3470 multi-column characters that don't fit on the line.
3471
64388126
KH
34722001-01-13 Kenichi Handa <handa@etl.go.jp>
3473
52283633
SM
3474 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3475 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3476
8edb0a6f
JR
34772001-01-13 Jason Rumney <jasonr@gnu.org>
3478
3479 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3480 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3481 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3482 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3483
52283633
SM
3484 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3485 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3486 (x_draw_image_glyph_string): Adapt to change of image margins.
3487
3488 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3489 variables.
3490
3491 * w32bdf.c (search_file_line, get_cached_font_char)
3492 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3493
3494 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3495
3496 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3497 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3498 (Fw32_send_sys_command): Remove unused variables.
3499 (w32_msg_pump): Add parentheses.
3500
3501 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3502 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3503 Add parentheses.
3504
4956d1ef
GM
35052001-01-12 Gerd Moellmann <gerd@gnu.org>
3506
b30623be
GM
3507 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3508 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3509 being a pair of margins.
3510 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3511 to DEFVAR_LISP. Extend doc.
3512
3513 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3514 margins.
3515 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3516 pair of integers `(X . Y)', use X for the horizontal and Y for the
3517 vertical margin.
3518 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3519 (parse_image_spec): Check it.
52283633
SM
3520 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3521 (tiff_format, gif_format, gs_format):
3522 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3523
52283633
SM
3524 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3525 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3526 (x_draw_image_glyph_string): Adapt to the change of image margins.
3527
3528 * dispextern.h (struct image): Replace member `margin' with
3529 `hmargin' and `vmargin'.
3530
4554cc79
GM
3531 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3532 and GLYPHS.
3533
3534 * dispnew.c (update_text_area): Put code which decrements the
3535 stop position when the row's face extends to the end of the
3bffc665 3536 line in #if 0.
4554cc79 3537
3cccce8d
GM
3538 * xfns.c (x_set_mouse_color): Fix color allocation.
3539
4956d1ef
GM
3540 * keyboard.c: Call get_local_map with new argument list.
3541
3542 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3543
3544 * intervals.h (enum map_property): Removed.
3545 (get_local_map): Change prototype.
3546
3547 * keymap.c: Call get_local_map with new argument list.
3548 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3549
2c2ff7f2
GM
35502001-01-11 Gerd Moellmann <gerd@gnu.org>
3551
a23887b9
GM
3552 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3553 of the size needed for the tool bar string. For the last image,
3554 use a `display' property that reaches to the end of the string.
3555
a7ee2d2e
GM
3556 * xselect.c (selection_request_dpyinfo): New variable.
3557 (x_handle_selection_request): Set it.
3558 (x_selection_request_lisp_error): Don't call
3559 x_decline_selection_request if selection request's display has
3560 been closed.
3561
52283633
SM
3562 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3563 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3564
457b792c
GM
35652001-01-10 Dave Love <fx@gnu.org>
3566
3567 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3568 ${SOME_MACHINE_LISP}, not ${lisp}.
3569
c1efd260
GM
35702001-01-10 Gerd Moellmann <gerd@gnu.org>
3571
52283633
SM
3572 * xdisp.c (display_line): On ttys, produce more than one truncation
3573 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3574
ac95a621
GM
3575 * xselect.c (x_reply_selection_request): Add a comment.
3576
c1efd260
GM
3577 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3578 XkbGetNames instead of XkbGetKeyboard.
3579
1bfb1345
DL
35802001-01-10 Dave Love <fx@gnu.org>
3581
3582 * sysdep.c (random): Revert the declaration.
3583
38119822
GM
35842001-01-09 Gerd Moellmann <gerd@gnu.org>
3585
52283633
SM
3586 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3587 Call function string_bytes.
35f464a7
GM
3588 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3589
3590 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3591 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3592 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3593 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3594 the current sblock.
3595 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3596 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3597 after sweeping strings, and at the end.
3598 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3599
38119822
GM
3600 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3601 ensure that pop_message is called.
3602
3603 * keyboard.c (Fexecute_extended_command): Use a
3604 record_unwind_protect to ensure that pop_message is called.
3605
3606 * lisp.h (push_message_unwind): Add prototype.
3607
3608 * xdisp.c (push_message_unwind): New function.
3609
3610 * fileio.c (do_auto_save_unwind): Do the pop_message here
3611 instead of in Fdo_auto_save.
3612 (Fdo_auto_save): Don't call pop_message.
3613
f47a9ec4
KR
36142001-01-08 Ken Raeburn <raeburn@gnu.org>
3615
3616 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3617 in inner block.
3618
a758f97d
GM
36192001-01-08 Gerd Moellmann <gerd@gnu.org>
3620
6d0afc03
GM
3621 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3622 when increasing window's vscroll.
3623
a758f97d
GM
3624 * macros.c (Qkbd_macro_termination_hook): New variable.
3625 (syms_of_macros): Initialize and staticpro it.
3626 (pop_kbd_macro): Run kbd-macro-termination-hook.
3627
3628 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3629
1bfb1345 36302001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3631
3632 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3633 arglist, for documentation's sake.
3634
0dac6924
AI
36352001-01-06 Andrew Innes <andrewi@gnu.org>
3636
3637 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3638 of *.pdb.
3639
8182406a
AI
36402001-01-05 Andrew Innes <andrewi@gnu.org>
3641
3642 * term.c (update_end): Don't check updating_frame; for some reason
3643 this can be 0 sometimes, such as after dismissing a popup menu,
3644 and isn't necessary given the explicit frame argument.
3645
3828218c
GM
36462001-01-05 Gerd Moellmann <gerd@gnu.org>
3647
3648 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3649 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3650
2f5ded21
GM
36512001-01-04 Gerd Moellmann <gerd@gnu.org>
3652
52283633 3653 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3654
3655 * xfns.c (x_create_tip_frame): Preserve the value of
3656 face_change_count around the creation of the tip frame.
52283633 3657
2f5ded21
GM
3658 * xfns.c (last_show_tip_args): New variable.
3659 (compute_tip_xy): New function.
3660 (Fx_show_tip): Reuse an existing tip frame, if possible.
3661 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3662
dfad65fa
DL
36632001-01-04 Dave Love <fx@gnu.org>
3664
64d4ec0f
DL
3665 * editfns.c (Fformat): Doc fix.
3666
dfad65fa
DL
3667 * systime.h (set_file_times): Prototype.
3668
3669 * widget.h (EmacsFrameSetCharSize_): Prototype.
3670
3671 * sysdep.c (random, srandom): Declare explicitly.
3672
3673 * dispextern.h (move_it_vertically_backward): Declare.
3674
85fe3b5e
GM
36752001-01-04 Gerd Moellmann <gerd@gnu.org>
3676
0f2ac578
GM
3677 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3678 like in Fx_create_frame.
3679
482cca61
GM
3680 * xfaces.c (set_font_frame_param): Don't do anything for
3681 non-graphical frames.
3682
85fe3b5e
GM
3683 * window.c (Fdelete_other_windows): Set window's window_end_valid
3684 to nil when changing the window's start. Don't change the
3685 window's start when its top position hasn't changed. If we do,
3686 this will set the window's optional_new_start, which act's like a
3687 force_start during redisplay with C-x 1 M-> under particular
3688 circumstances (see report from Per Starback to emacs-pretest-bug
3689 from 2000-12-13.).
3690
3e99d3b4
GM
36912001-01-03 Gerd Moellmann <gerd@gnu.org>
3692
a77dc1ec
GM
3693 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3694 short cut at the start of the function. Add an assertion.
3695 (reseat_at_next_visible_line_start): Add an assertion.
3696
2f3cad6c
GM
3697 * window.c (Frecenter): When changing the window start, set the
3698 window's window_end_valid to nil.
3699 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3700
3701 * dispextern.h (move_it_past_eol): Add prototype.
3702
3703 * xdisp.c (move_it_past_eol): New function.
3704
3e99d3b4
GM
3705 * window.c (Fwindow_end): Doc fix.
3706
37072001-01-03 Dave Love <fx@gnu.org>
3708
52283633 3709 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3710
bafb434c
GM
37112001-01-03 Gerd Moellmann <gerd@gnu.org>
3712
3713 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3714 the enabled_p flag of the glyph row at window_end_vpos to 0.
3715 (handle_single_display_prop): Fix last change.
3716
5297fb00
RS
37172001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3718
3719 * window.c (Frecenter): Doc fix.
3720
13d6a61c
AI
37212001-01-02 Andrew Innes <andrewi@gnu.org>
3722
3723 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3724
3725 * frame.h (output_method): Add output_w32_console method.
3726 (FRAME_W32_CONSOLE_P): New macro.
3727
3728 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3729 use output_w32_console method.
3730 (Qw32_console): New Lisp_Object.
3731 (Fframep): Return it.
3732 (syms_of_frame): Init it.
52283633 3733 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3734
3735 * xfaces.c (realize_default_face): Set face foreground and
3736 background to unspecified for w32_console frames.
3737 (realize_face): Realize face cache for w32_console frames.
3738 (realize_tty_face): Accept w32_console frames.
3739
52283633 3740 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3741 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3742 necessary, even if running interactively.
3743
3744 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3745 w32_console frames.
3746
52283633
SM
3747 * w32term.c (x_update_begin):
3748 (x_update_end):
3749 (x_clear_frame):
3750 (x_ins_del_lines):
3751 (x_change_line_highlight):
3752 (x_delete_glyphs):
3753 (w32_ring_bell):
3754 (x_update_begin):
3755 (x_update_end):
3756 (w32_reassert_line_highlight):
3757 (w32_frame_rehighlight):
13d6a61c
AI
3758 (w32_frame_raise_lower): Do nothing if not w32 frame.
3759
3760 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3761
3762 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3763 system doesn't tell us directly.
3764 (Fx_display_visual_class): Implement properly.
3765
d6bb0c0d
GM
37662001-01-02 Gerd Moellmann <gerd@gnu.org>
3767
3768 * window.c (Frecenter): Handle centering in graphical frames
3769 specially. Centering on the basis of line counts doesn't work
3770 reliably with variable-height lines.
52283633 3771
315f5865
EZ
37722001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3773
3774 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3775 and al[].
3776
52283633 3777 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3778 (update_compositions): Remove unused variable `hook'.
3779
3780 * intervals.c (get_local_map): Remove unused variable `tem'.
3781
3782 * doprnt.c (doprnt1): Remove unused variable `size'.
3783
3784 * fns.c (Flength): Remove unused variable `tail'.
3785 (Fdelete): Remove unused variable `size'.
3786
3787 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3788 and `gcpro2'.
3789
52283633 3790 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3791
3792 * data.c (find_symbol_value): Remove extra 3rd argument in the
3793 call to swap_in_symval_forwarding.
3794
52283633 3795 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3796
3797 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3798 (trivial_regexp_p): Remove unused variable `c'.
3799 (boyer_moore): Remove unused variable `k'.
3800
3801 * indent.c (current_column): Remove unused variable `stopchar'.
3802 (Fcompute_motion): Remove unused variable `contin'.
3803
3804 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3805
3806 * dired.c (directory_files_internal): Fix a typo in a comment.
3807 Remove an unused variable `handler'.
52283633 3808 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3809 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3810 on BSD4_2.
3811
52283633 3812 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3813
3814 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3815 and `buf'.
3816 (Fmarker_insertion_type): Remove unused variable `buf'.
3817
3818 * insdel.c (make_gap): Remove unused variable `result'.
3819
52283633 3820 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3821 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3822 (menu_bar_items): Remove unused function-scope variable `tem'.
3823
3824 * fontset.c (fontset_ref): Remove unused variable `i'.
3825 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3826 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3827 (make_fontset_for_ascii_face): Remove unused variable `name'.
3828 (fs_load_font): Remove unused variable `font_idx'.
52283633 3829 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3830 (list_fontsets): Remove unused variable `tail'.
3831 (Fnew_fontset): Remove unused variables `family' and `registry'.
3832 (accumulate_font_info): Remove unused variable `tmp'.
3833 (Ffontset_font): Remove unused variable `id'.
3834 (syms_of_fontset): Remove unused variable `i'.
3835
3836 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3837 to x_term_init.
3838 (lookup_image): Remove unused variable `file'.
3839 (xbm_load): Remove unused variables `bitmap_data', `height', and
3840 `width'. Remove function-local variable `i', leave the
3841 block-local one.
3842 (gif_load): Remove unused variable `inc'.
3843
52283633 3844 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3845 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3846 leave only the one in the inner block.
3847
3848 * xfaces.c (face_fontset, realize_default_face): Remove unused
3849 variable `fontset'.
3850 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3851
3852 * term.c (encode_terminal_code): Remove unused variable `c'.
3853
3854 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3855 char *' instead of `char *'.
3856
3857 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3858 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3859 (Fchar_category_set): Remove unused variables `val', `charset',
3860 `c1' and `c2'.
3861
52283633
SM
3862 * coding.c (detect_coding_iso2022, setup_coding_system):
3863 Remove unused variable `i'.
315f5865
EZ
3864 (detect_coding_mask): Remove unused variable `idx'.
3865 (detect_coding): Remove unused variable `i'.
3866 (ccl_coding_driver): Remove unused variable `result'.
3867 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3868 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3869 (encode_coding_string): Remove unused variables `gcpro1' and
3870 `saved_coding_symbol'.
3871 (Ffind_coding_systems_region_internal): Remove function-local
3872 variable args[], leave only the block-local one.
3873 (code_convert_region1): Remove unused variable `len'.
3874
3875 * charset.c (char_printable_p): Remove unused variable `chars'.
3876 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3877 (str_to_multibyte): Remove unused variable `c'.
3878
3879 * window.c (size_window): Remove block-local variable `min_size'.
3880
3881 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3882 `header_line_height'.
3883 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3884 enum display_element_type.
3885
1a8a9daf
GM
38862001-01-02 Gerd Moellmann <gerd@gnu.org>
3887
6dde6abc 3888 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3889 statements that call X. Save away the error message in a local copy.
3890
1883b2c6
GM
3891 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3892 the start.
3893
a13be207
GM
3894 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3895 in or at the start of invisible text.
3896
1a8a9daf
GM
3897 * dispnew.c (update_window): Don't check_current_matrix_flags.
3898
3608c0f9
JR
38992001-01-01 Jason Rumney <jasonr@gnu.org>
3900
3901 * w32fns.c (x_figure_window_size): Do not allow new_height and
3902 new_width of frame to override specified values.
3903
abb1acc4
KH
39042000-12-30 Kenichi Handa <handa@etl.go.jp>
3905
52283633 3906 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3907
762a68ec
GM
39082000-12-29 Gerd Moellmann <gerd@gnu.org>
3909
52283633 3910 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3911 (update_window) [GLYPH_DEBUG]: Call it.
3912 (scrolling_window): Prevent including current rows which are below
3913 what's displayed in the window.
3914
3915 * xdisp.c (try_window_reusing_current_matrix)
3916 <new start <= old start>: Disable rows in the current matrix
3917 which are below the window after scrolling.
52283633 3918
762a68ec
GM
3919 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3920 is zero. It's not worth the complexity.
3921 (invisible_text_between_p): Put in #if 0 because unused.
3922
2d5912c1
GM
39232000-12-28 Gerd Moellmann <gerd@gnu.org>
3924
46f6a258
GM
3925 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3926 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3927
89f93679
GM
3928 * keyboard.c (echo_char): If C is an integer, always call
3929 push_key_description. Former code could signal an invalid
3930 character error.
3931
3932 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3933 If set, print multibyte text.
3934 (Fsingle_key_description): Call push_key_description with
3935 FORCE_MULTIBYTE set.
3936 (describe_buffer_bindings): Likewise.
3937
3938 * lisp.h (push_key_description): Add prototype.
3939
c06017fb
GM
3940 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3941 around the call to redisplay_internal.
3942
f1d2ce7f
GM
3943 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3944
2d5912c1
GM
3945 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3946
9371f831
KH
39472000-12-28 Kenichi Handa <handa@etl.go.jp>
3948
3949 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3950 (ccl_driver): New local variable `extra_bytes'.
3951
3952 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3953
52283633
SM
3954 * coding.c (setup_coding_system):
3955 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3956 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3957
0c80628a
KH
39582000-12-28 Kenichi Handa <handa@etl.go.jp>
3959
3960 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3961 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3962 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3963 (decode_composition_emacs_mule): New function.
3964 (decode_coding_emacs_mule): Decode composition sequence by calling
3965 decode_composition_emacs_mule.
3966 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3967 (encode_coding_emacs_mule): Changed from macro to function.
3968 If a text contains compositions, encode them correctly.
0c80628a
KH
3969 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3970 that decoding and encoding are required.
3971
3e32cc27
GM
39722000-12-27 Gerd Moellmann <gerd@gnu.org>
3973
5e25feee
GM
3974 * xfaces.c (PT_PER_INCH): New macro.
3975 (xlfd_point_size): Compute real point size from font's pixel size.
3976 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3977 instead of 72.
3978
892d8fcd
GM
3979 * .gdbinit: Comment out the line pointing to the Lesstif source
3980 directory.
3981
12c8b416
GM
3982 * window.c (Frecenter): Use displayed_window_lines instead
3983 of window_internal_height.
3984
6061fbf0
GM
3985 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3986 instead of x-toolkit-scroll-bars-p.
3987 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3988
3989 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3990 instead of x-toolkit-scroll-bars-p.
3991 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3992
3e32cc27
GM
3993 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3994 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3995 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3996 New variables.
3997 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3998 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3999 (build_frame_matrix_from_leaf_window): Remove unused code.
4000 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4001 redisplay history.
4002 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4003 (update_window) [GLYPH_DEBUG]: Likewise.
4004 (syms_of_display): Defsubr dump-redisplay-history.
4005
31798cfe
GM
40062000-12-23 Gerd Moellmann <gerd@gnu.org>
4007
f717c2ba
GM
4008 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4009 the end of the prompt. Set echo_after_prompt to the offset
4010 of echoptr in echobuf.
4011
aeb2b8fc
GM
4012 * xdisp.c (init_from_display_pos): Pop until the iterator's
4013 stack is empty; there may be frames for stretch or images
4014 on the stack.
4015
31798cfe
GM
4016 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4017 (save_or_restore_current_matrix): New function for the same
4018 purpose, but more efficient.
4019 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4020
f8156156
EZ
40212000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4022
4023 * xdisp.c (syms_of_xdisp): Fix last change.
4024
bdd6d4e8
GM
40252000-12-23 Gerd Moellmann <gerd@gnu.org>
4026
4027 * xdisp.c (syms_of_xdisp): Doc fix.
4028
4029 * xdisp.c (redisplay_window): Remove label restore_buffers;
4030 use finish_scroll_bars instead to make sure that scroll bars
4031 are redeemed. If we don't do this, flickering can result from
4032 scroll bars being destroyed and recreated.
4033
9436cdf9
JR
40342000-12-22 Jason Rumney <jasonr@gnu.org>
4035
4036 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4037 in the wrong colors when the foreground is not black.
4038 (expose_window): Don't redraw the window that's currently being
4039 updated.
4040
951f9df5
GM
40412000-12-22 Gerd Moellmann <gerd@gnu.org>
4042
856ff7a7
GM
4043 * window.c (size_window): When setting the window's too_small_ok
4044 flag, compare old size with minimum size depending on WIDTH_P,
4045 don't compare with window_min_width.
52283633 4046
951f9df5
GM
4047 * window.c (delete_window): Simplify somewhat.
4048 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4049 freeing window matrices. The flag windows_or_buffers_changed is
4050 set, so the next redisplay will consider all windows; this should
4051 suffice.
4052
886bc933
KH
40532000-12-22 Kenichi Handa <handa@etl.go.jp>
4054
4055 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4056
4057 * ccl.h (struct ccl_program): New member cr_consumed.
4058
4059 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4060 (CCL_READ_CHAR): Handle EOL conversion here.
4061 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4062
177f4e88
GM
40632000-12-21 Gerd Moellmann <gerd@gnu.org>
4064
52283633 4065 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4066
4067 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4068 otherwise tabs of different size compare equal.
4069
4070 * callint.c (Fcall_interactively): Prevent a compiler warning.
4071
4072 * print.c (print_unwind): Return nil.
4073 (PRINTDECLARE): Initialize all local variables.
4074 (print_preprocess): Add a default case.
4075
8e15274f
GM
4076 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4077
4078 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4079
52283633 4080 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4081 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4082
4083 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4084
4085 * dispnew.c (ensure_frame_matrix): Removed.
4086 (save_frame_matrix, restore_frame_matrix): New functions.
4087 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4088
4089 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4090 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4091
99012074
AI
40922000-12-21 Andrew Innes <andrewi@gnu.org>
4093
4094 * w32term.c (x_update_begin): Regenerate the palette here, rather
4095 than for each window.
4096
4097 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4098 palette is NULL, since this corrupts memory! Also get
4099 display_info reference from frame.
4100
29ef7d2d
JR
41012000-12-21 Jason Rumney <jasonr@gnu.org>
4102
4103 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4104
4105 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4106 to avoid returning without releasing it.
3e27fa1f 4107
3f9d67a6
KH
41082000-12-21 Kenichi Handa <handa@etl.go.jp>
4109
587fc3f9
KH
4110 * keymap.c (push_key_description): Don't convert eight-bit-control
4111 and eight-bit-graphic to multibyte character.
4112
3f9d67a6
KH
4113 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4114 generic character and CODE1 is nil, return the smallest character
4115 in CHARSET.
4116
774ba8c9
DL
41172000-12-20 Dave Love <fx@gnu.org>
4118
4119 * s/osf5-0.h (NSIG): Don't redefine.
4120
88416888
SM
41212000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4122
4123 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4124 excluding menu-bar and tool-bar.
4125 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4126 (menu_item_p): Remove.
4127 (where_is_internal_1): Don't ignore menu-items.
4128
a6426c6f
GM
41292000-12-20 Gerd Moellmann <gerd@gnu.org>
4130
03ff8aab
GM
4131 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4132 into account.
4133
4134 * window.c (make_window): Initialize window's min_hscroll.
4135 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4136 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4137 to zero.
4138 (struct saved_window): New member min_hscroll.
4139 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4140 (Fset_window_configuration): Set window's min_hscroll.
4141 (save_window_save): Save window's min_hscroll.
4142 (compare_window_configurations): Compare min_hscroll values.
4143
4144 * window.h (struct window): New member min_hscroll.
4145
4146 * keyboard.c (echo_prompt): Prevent a compiler warning.
4147
8de4aaf8
GM
4148 * xdisp.c (try_cursor_movement): Fix last change. The real
4149 condition is that PT is at the end of the row, and should
4150 be displayed at the start of the next row.
52283633 4151
3f7e3031
GM
4152 * xdisp.c (try_cursor_movement): If we end on a partially
4153 visible line, end we already decided to scroll, return -1.
4154
a6426c6f
GM
4155 * dispextern.h (ensure_frame_matrix): Add prototype.
4156
4157 * window.c (delete_window, Fsplit_window)
4158 (Fset_window_configuration): Call ensure_frame_matrix.
4159
52283633
SM
4160 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4161 New functions.
a6426c6f
GM
4162 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4163 completed, call fake_current_matrices instead of marking frame
4164 garbaged.
4165
57fa2774
JR
41662000-12-20 Jason Rumney <jasonr@gnu.org>
4167
4168 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4169
d925df90
EZ
41702000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4171
4172 * fns.c (Frequire): Doc fix.
4173
7b93a85b
GM
41742000-12-19 Gerd Moellmann <gerd@gnu.org>
4175
52283633 4176 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4177
c74e645b
GM
4178 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4179 currently displaying a message.
4180
7b93a85b
GM
4181 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4182 xterm.h.
4183 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4184
90d97e64
AI
41852000-12-18 Andrew Innes <andrewi@gnu.org>
4186
4187 * w32.c (w32_strerror): New function.
4188
4189 * w32.h (w32_strerror): New extern.
4190
4191 * w32fns.c (Fw32_shell_execute): Use it.
4192
91c9e6ce
GM
41932000-12-18 Gerd Moellmann <gerd@gnu.org>
4194
4195 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4196
6f4745e2
EZ
41972000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4198
4199 * msdos.c (IT_set_face): Obey inverse_video.
4200
c9e088ce
KH
42012000-12-18 Kenichi Handa <handa@etl.go.jp>
4202
4203 * dired.c (directory_files_internal): Always return decoded filenames.
4204
c3695f5f
GM
42052000-12-18 Gerd Moellmann <gerd@gnu.org>
4206
52d8e4ff
GM
4207 * xterm.c (x_connection_closed): Prevent being called recursively
4208 because of an error condition in XtCloseDisplay.
52283633 4209
62be9979
GM
4210 * xdisp.c (init_iterator): If noninteractive, and the frame's
4211 face cache is null, make one.
4212
52283633 4213 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4214
c3695f5f
GM
4215 * process.c (wait_reading_process_input): Check for pending
4216 input when running timers.
4217
78555fbe
EZ
42182000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4219
52283633 4220 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4221
b2b36264
KH
42222000-12-18 Kenichi Handa <handa@etl.go.jp>
4223
4224 * process.c (read_process_output): Don't run a filter if the code
4225 decoder produces nothing but carryover.
4226
9c543fbf
AI
42272000-12-17 Andrew Innes <andrewi@gnu.org>
4228
4229 * w32.c (sys_rename): Only check errno against EEXIST, and not
4230 EACCES, when determining whether rename failed because the target
4231 exists. This was resulting in indefinite looping on Windows 9x if
4232 the source file was locked by another process.
4233
4234 * w32fns.c (Ffile_system_info): New function.
4235 (syms_of_w32fns): Defsubr it.
4236
10c2b5a8
GM
42372000-12-17 Gerd Moellmann <gerd@gnu.org>
4238
b0228ace
GM
4239 * window.c (coordinates_in_window): Fix computation for
4240 position on vertical line between mode lines.
4241
10c2b5a8
GM
4242 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4243 Don't alter tip_frame or tip_window.
4244 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4245 was deleted.
4246
c844a81a
GM
4247 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4248 Don't alter tip_frame or tip_window.
4249 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4250 was deleted.
4251
6c825f8e
EZ
42522000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4253
4254 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4255 be consistent with the doc string. Reported by NAKAJIMA Mikio
4256 <minakaji@osaka.email.ne.jp>.
4257
af4bb4c8
KH
42582000-12-16 Kenichi Handa <handa@etl.go.jp>
4259
4260 * xfaces.c (Vface_ignored_fonts): New variable.
4261 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4262 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4263
8062e53a
GM
42642000-12-15 Gerd Moellmann <gerd@gnu.org>
4265
e87b8809
GM
4266 * dispnew.c (update_window): Detect pending input every nth line
4267 updated, i.e. do it depending on real work done, and not on the
4268 vpos of the line.
4269
4270 * xterm.c (expose_window): Don't redraw the window that's
4271 currently being updated.
4272
a6768cc5
GM
4273 * window.c (Fset_window_point): Remove test for
4274 cursor_in_non_selected_windows.
4275
4ea7fdca
GM
4276 * lread.c (read1): Recognize end of file after `\\'.
4277
8062e53a
GM
4278 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4279 not unwind_create_frame.
4280
bb7959c1
GM
42812000-12-15 Dave Love <fx@gnu.org>
4282
4283 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4284 bcopy & al.
4285
4286 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4287
ced04c42
KH
42882000-12-15 Kenichi Handa <handa@etl.go.jp>
4289
c5443913
KH
4290 * coding.c (setup_coding_system): Clear all members of the struct
4291 coding_system at first.
bc137305
KH
4292 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4293 argument.
4294 (code_convert_region): Don't override coding->src_multibyte and
4295 coding->dst_multibyte.
c5443913 4296
ced04c42
KH
4297 * fns.c (Fmd5): Docstring improved.
4298
c2d7f289
MB
42992000-12-15 Miles Bader <miles@gnu.org>
4300
4301 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4302 are actually marked as mode-lines; otherwise use
4303 estimate_mode_line_height.
4304
9d7d9263
GM
43052000-12-14 Gerd Moellmann <gerd@gnu.org>
4306
4307 * editfns.c (Fformat): Prevent a buffer overrun when the format
4308 specifies a precision.
4309
7cf0153a
EZ
43102000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4311
4312 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4313 argument is outside the range [2..3].
4314
1de0f662
AI
43152000-12-14 Andrew Innes <andrewi@gnu.org>
4316
4317 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4318 nothing to do. Bind inhibit-quit.
4319 (tip_frame): Make it a Lisp_Object.
4320 (x_create_tip_frame): Set tip_frame after it has been added to
4321 Vframe_list.
4322 (Fx_show_tip): Don't set tip_frame here.
52283633 4323 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4324 (unwind_create_frame, unwind_create_tip_frame): New functions.
4325 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4326 while a frame is only partially constructed.
4327
4328 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4329 (x_free_frame_resources): New function.
4330 (x_destroy_window): Use it.
4331
02387dcc
GM
43322000-12-14 Gerd Moellmann <gerd@gnu.org>
4333
4334 * xfns.c (Fx_backspace_delete_keys_p): New function.
4335 (syms_of_xfns): Defsubr it.
4336
4337 * config.in (HAVE_XKBGETKEYBOARD): Add.
4338
0544ef49
KH
43392000-12-14 Kenichi Handa <handa@etl.go.jp>
4340
98d62747
KH
4341 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4342 Always store string in multibyte representation in echobuf.
4343 (echo_char): Always store string in multibyte representation in
4344 echobuf.
4345 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4346 (read_key_sequence): Adjusted for the change of echo_prompt.
4347
a20193cd
KH
4348 * fns.c (Fmd5): Docstring improved.
4349
191b83b6
KH
4350 * lisp.h (detect_coding_system): Prototype adjusted.
4351
0544ef49
KH
4352 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4353 (detect_coding_emacs_mule, detect_coding_iso2022,)
4354 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4355 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4356 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4357 (detect_coding_mask, detect_coding_system): New argument
4358 MULTIBYTEP. Callers changed.
1da1bb05
KH
4359 (decode_coding_string): Set coding->src_multibyte and
4360 coding->dst_multibyte before calling detect_coding and detect_eol.
4361 Update them after some coding system is detected.
52283633 4362
d5b3eb1b
SM
43632000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4364
4365 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4366
4367 * keyboard.c (menu_bar_items, tool_bar_items):
4368 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4369
f7f8bb69
GM
43702000-12-13 Gerd Moellmann <gerd@gnu.org>
4371
52283633 4372 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4373 New variables.
4374 (unwind_create_frame, unwind_create_tip_frame): New functions.
4375 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4376 while a frame is only partially constructed.
4377
4378 * xterm.h (x_free_frame_resources): Declare.
4379
4380 * xterm.c (x_free_frame_resources): New function.
4381 (x_destroy_window): Use it.
4382
e10da507
GM
4383 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4384 don't interrupt the update for pending input initially, i.e.
4385 update at least some lines.
4386
4387 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4388
d5b3eb1b 4389 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4390
4391 * xfns.c (gray_bitmap_bits): Declare `char *'.
4392
90aa2856
GM
43932000-12-12 Gerd Moellmann <gerd@gnu.org>
4394
4395 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4396 lines start with a relief line.
4397
a308c9cd
DL
43982000-12-12 Dave Love <fx@gnu.org>
4399
4400 * window.c (Fdisplay_buffer): Doc fix.
4401 (Fwindow_list): Remove unused var.
4402
4403 * buffer.h (mmap_set_vars): Declare.
4404
4405 * window.h (Fset_window_point): Declare.
4406
d575011f
EZ
44072000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4408
bf6282d2 4409 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4410 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4411 variable `area'. When looking for a row under (X,Y), give up if some
4412 of the previous rows is not enabled.
d575011f 4413
ecf4d726
GM
44142000-12-12 Gerd Moellmann <gerd@gnu.org>
4415
2ebf6139
GM
4416 * window.c (Fset_window_point): If displaying cursors in windows
4417 other than the selected window, make sure redisplay updates
4418 other windows to show the new value of point in the window.
4419
4420 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4421
bfdb75ee
GM
4422 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4423 the buffer is the sole visible buffer when in the mini-buffer.
4424
52283633 4425 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4426 Bind `inhibit-read-only' to t.
4427 (unwind_with_echo_area_buffer): Use AREF.
4428
c0006262
GM
4429 * xfns.c (Fx_hide_tip): Simplified.
4430
52283633
SM
4431 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4432 instead of `1'.
e9a59cad 4433
ecf4d726
GM
4434 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4435
e5959a9a
GM
44362000-12-11 Gerd Moellmann <gerd@gnu.org>
4437
a3642e49 4438 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4439
44b5a125
GM
4440 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4441 nothing to do. Bind inhibit-quit.
4442 (tip_frame): Make it a Lisp_Object.
4443 (x_create_tip_frame): Set tip_frame after it has been added to
4444 Vframe_list.
4445 (Fx_show_tip): Don't set tip_frame here.
4446
4447 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4448
4449 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4450 Lisp_Object.
4451
4452 * dispextern.h: Change external declaration of tip_frame.
4453
d990421f
GM
4454 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4455 return an empty string.
4456
4db87380
GM
4457 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4458 of the window's update_mode_line flag, since the former is set by
4459 force-mode-line-update, not the latter. This makes
4460 column-number-mode slightly faster.
52283633 4461
e5959a9a
GM
4462 * xdisp.c (try_window_id) <all changes above window start>:
4463 Set the cursor.
4464
169fe44e
GM
44652000-12-11 Paul Eggert <eggert@twinsun.com>
4466
4467 * config.in (HAVE_FTELLO): Remove.
4468 (HAVE_FSEEKO): Add.
4469 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4470 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4471 HAVE_FTELLO.
4472 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4473 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4474
59ec59ae
MB
44752000-12-11 Miles Bader <miles@gnu.org>
4476
4477 * window.c (displayed_window_lines): Don't round up when
4478 converting empty space at bottom to lines.
ff904dd6
MB
4479 Handle non-newline-terminated final lines properly.
4480 (Fwindow_text_height): New function (used to be in lisp).
4481 (syms_of_window): Initialize it.
59ec59ae 4482
42ebfa31
SM
44832000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4484
4485 * syntax.c (scan_lists): Check that the right quote char has the
4486 right Sstring syntax when jumping over strings.
4487 (init_syntax_once): Use Smax rather than 13.
4488
5cdb3cf3
MB
44892000-12-09 Miles Bader <miles@gnu.org>
4490
4491 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4492 with PARTIALLY, inverting the sense.
4493 (window_scroll_pixel_based): Scroll partially visible lines into
4494 place if we hit the beginning or end of the buffer.
a12167c5
MB
4495 (displayed_window_lines): Don't include partially visible lines.
4496 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4497
842b2a94
GM
44982000-12-08 Gerd Moellmann <gerd@gnu.org>
4499
4500 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4501
4502 * tparam.c (tparam1): Change the way buffers are reallocated to be
4503 portable and less obfuscated.
4504
4505 * termcap.c (tgetent): Change the way buffers are reallocated to
4506 be portable and less obfuscated.
4507
4508 * macros.c (store_kbd_macro_char): Change the way buffers are
4509 reallocated to be portable and less obfuscated.
4510
4511 * lread.c (read1): Change the way buffers are reallocated to be
4512 portable and less obfuscated.
4513
4514 * doc.c (Fsubstitute_command_keys): Change the way buffers
4515 are reallocated so that it is portable.
4516
137cad7c
EZ
45172000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4518
4519 * dosfns.c (Ffile_system_info): New function.
4520 (syms_of_dosfns): Defsubr it.
4521
5c7f629c
SM
45222000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4523
4524 * alloc.c (gc_sweep): Add comment.
4525
959e647d
GM
45262000-12-07 Gerd Moellmann <gerd@gnu.org>
4527
52283633
SM
4528 * sound.c (vox_configure): Change order of ioctls.
4529 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4530 Ignore errors when changing volume.
4531 (vox_close): Don't reset the device.
4532
926b7e5e
GM
4533 * process.c (read_process_output): Make sure the process marker's
4534 position is valid when the process buffer is changed in
4535 after-change functions. W3 does that.
52283633 4536
959e647d
GM
4537 * xfns.c (x_free_gcs): New function.
4538
4539 * xterm.h (x_free_gcs): Add prototype.
4540
4541 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4542 freeing GCs here.
4543
4544 * xterm.c (x_destroy_window): Call x_free_gcs so that
4545 resources of non-toolkit X windows will be freed.
4546
478ea067
AI
45472000-12-07 Andrew Innes <andrewi@gnu.org>
4548
4549 * w32fns.c (xlfd_charset_of_font): Fix last change.
4550
fbee3231
DL
45512000-12-06 Dave Love <fx@gnu.org>
4552
67292061
DL
4553 * md5.h (__P): Don't define -- it comes from config.h.
4554
fbee3231
DL
4555 * strftime.c: Change some #if foo to #ifdef foo.
4556
4ee87dbb
AI
45572000-12-06 Andrew Innes <andrewi@gnu.org>
4558
4559 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4560
52283633 4561 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4562 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4563 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4564
9765b4a4
GM
45652000-12-06 Gerd Moellmann <gerd@gnu.org>
4566
d285b373
GM
4567 * alloc.c (gc_sweep): Prevent symbols read during loadup
4568 from being freed.
4569
384333ee
GM
4570 * xdisp.c (underlying_face_id): New function.
4571 (handle_face_prop, face_before_or_after_it_pos): Use it
4572 to determine the face ``under'' a string. Let strings inherit
4573 the face of the buffer under them.
4574
4575 * xfaces.c (face_at_string_position): Update function comment.
52283633 4576
d4b72d58
GM
4577 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4578 matrix if the window's left position has changed; we need to
4579 redraw it in this case.
4580
4581 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4582
e1d05387
GM
4583 * window.c (coordinates_in_window): Check mouse on mode-line or
4584 header-line first.
4585
eb1b0c74
GM
4586 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4587 advertized by the function documentation.
4588
d94d636f
GM
4589 * window.c (syms_of_window): Doc fix.
4590
3887b449
GM
4591 * sound.c (vox_configure): Set volume for left and right channel.
4592 (sound_cleanup): Return nil.
4593
efc8f57a
GM
4594 * xdisp.c (move_it_by_lines): Fix paren typo.
4595
9765b4a4
GM
4596 * xterm.c (x_load_font): Don't use the font's max_bounds for
4597 computing the height of the font. If max_bounds' ascent or
4598 descent are greater than the font's ascent or descent, this means
4599 glyphs overlap, which should be handled now by redisplay.
4600
6529ed87
GM
4601 * window.c (Veven_window_heights): New variable.
4602 (syms_of_window): DEFVAR_LISP it.
4603 (Fdisplay_buffer): Check Veven_window_heights before evening the
4604 window heights.
52283633 4605
0eb2ecde
MB
46062000-12-06 Miles Bader <miles@gnu.org>
4607
4608 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4609 update `default-frame-alist' instead of setting no frame parameters.
4610
03d7a167
KH
46112000-12-06 Kenichi Handa <handa@etl.go.jp>
4612
4613 * composite.c (update_compositions): Fix typo (use the correct
4614 variable).
4615
5f8803c2
JR
46162000-12-05 Jason Rumney <jasonr@gnu.org>
4617
4618 * md5.h: Remove underscores from function declarations.
4619 (__attribute__, __alignof__) [!__GNUC__]: Define.
4620
4621 * md5.c: Delay include of md5.h until after namespace cleaning.
4622
c28a075b
JR
4623 * makefile.w32-in (fns.o): Depend on md5.h
4624 (md5.o): New target.
4625 (sunfns.o): Remove.
4626
4627 * makefile.nt: Likewise.
4628
ff3c7056
JR
46292000-12-05 Jason Rumney <jasonr@altavista.net>
4630
4631 * w32term.c (expose_area): Complete last change.
4632
0c21eeeb
KR
46332000-12-05 Ken Raeburn <raeburn@gnu.org>
4634
4635 * minibuf.c: Include intervals.h.
4636
f201d732
JR
46372000-12-05 Jason Rumney <jasonr@gnu.org>
4638
4639 * w32term.c (x_produce_glyphs): If a font for a component of
4640 a composition is not found, use 1 pixel dot ascent and 0 dot
4641 descent value to avoid displaying terribly tall empty boxes.
4642 (expose_area): Pass x-coordinate relative to the exposed
4643 area to x_draw_glyphs instead of a window-relative coordinate.
4644
21999ab9
GM
46452000-12-05 Gerd Moellmann <gerd@gnu.org>
4646
4d2036e4
GM
4647 * xdisp.c (next_element_from_ellipsis): Save face before selective
4648 display in saved_face_id, and set face_before_selective_p.
4649 (reseat_1): Reset face_before_selective_p.
4650 (append_space, extend_face_to_end_of_line): If iterator's
4651 face_before_selective_p is set, use the face from saved_face_id.
4652 (extend_face_to_end_of_line): For tty frames, make sure to
4653 use the right face id when producing spaces at the end of
4654 the line.
4655
4656 * dispextern.h (struct it): Add face_before_selective_p.
4657
52be17cc
GM
4658 * keyboard.c (record_char): Don't record identical help-echo
4659 events in recent_keys.
4660
8a4f36cc
GM
4661 * xterm.c [USE_X_TOOLKIT]: Close the display.
4662 (xim_close_dpy): Handle case that the display has been closed.
4663
57d6e381
GM
4664 * xterm.c (x_destroy_window): Reset the frame's X window after
4665 destroying it.
4666
21999ab9
GM
4667 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4668 variable window_width.
4669 (line_draw_cost): Fix code skipping over spaces at the end of the
4670 line when must_write_spaces is not set.
4671 (scrolling_window): Fix code inserting runs in list of all runs.
4672
91372bb7
KH
46732000-12-05 Kenichi Handa <handa@etl.go.jp>
4674
4675 * coding.c (setup_coding_system): Be sure to initialize
4676 coding->category_idx.
4677
6c083b4c
GM
46782000-12-04 Gerd Moellmann <gerd@gnu.org>
4679
0c68ce6f 4680 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4681
6452929e
GM
4682 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4683 area to x_draw_glyphs instead of a window-relative coordinate.
4684
d7f31e22
GM
4685 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4686 error in the message.
4687
ae18aa3b
GM
4688 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4689 timer after having read a key. It's not good for code reading
4690 several keys in a loop, like an input method.
4691
caa15ef7
GM
4692 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4693 record undo information for format-decode.
4694
4695 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4696 current buffer is read-only, not if it isn't.
4697
6c083b4c
GM
4698 * keyboard.c (record_char): Record `help-echo' input events
4699 in recent_keys only if they display some help. Don't record
4700 `help-echo' events as macro char.
4701
caa15ef7
GM
47022000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4703
4704 * editfns.c (save_excursion_restore): Don't move point
4705 in another window if it is showing the wrong buffer.
4706 Avoid the call to Fwindow_live_p, for speed.
4707
5a13529b
KH
47082000-12-04 Kenichi Handa <handa@etl.go.jp>
4709
e225faa7
KH
4710 * xfaces.c (struct font_name): New member registry_priority.
4711 (split_font_name): Initialize the above member to zero.
4712 (concat_font_list): New function.
4713 (font_list): Include fonts of all alternative registries.
4714 (FONT_POINT_SIZE_QUANTUM): New macro.
4715 (better_font_p): Ignore point size difference less than
4716 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4717
e89648b4
KH
4718 * xterm.c (x_produce_glyphs): If a font for a component of
4719 a composition is not found, use 1 pixel dot ascent and 0 dot
4720 descent value to avoid displaying terribly tall empty boxes.
4721
5a13529b
KH
4722 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4723
d7935eb6
KR
47242000-12-03 Ken Raeburn <raeburn@gnu.org>
4725
4726 * coding.h (code_convert_string1): Declare.
4727
4728 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4729
52283633 4730 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4731
0dd5e255
JR
47322000-12-02 Jason Rumney <jasonr@gnu.org>
4733
4734 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4735 correctly for single byte character case.
4736 (w32_per_char_metric): Do not try to make any assumptions about
4737 the metrics of BDF fonts.
250cfece 4738 (x_estimate_mode_line_height): If `mode-line' face
52283633 4739 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4740 (note_mouse_highlight): Change the cursor shape on the vertical
4741 border between windows [not enabled].
4742
4743 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4744
4745 * w32fns.c (Fx_create_frame): Reintroduce the call to
4746 face-set-after-frame-defaults.
4747 (Vx_window_horizontal_drag_shape): New variable.
4748 (syms_of_xfns): DEFVAR_LISP it.
4749 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4750 enabled].
0dd5e255 4751
b5d8d2ca
GM
47522000-12-02 Simon Josefsson <simon@josefsson.org>
4753
4754 * fns.c (Fmd5): Use a different logic to decide the coding system
4755 to use.
4756
4757 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4758
fbb87147
EZ
47592000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4760
52283633 4761 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4762
447e9da0
GM
47632000-12-01 Gerd Moellmann <gerd@gnu.org>
4764
7708ced0
GM
4765 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4766 height for YNegative.
4767 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4768 height; also see comment there.
4769
447e9da0
GM
4770 * window.c (coordinates_in_window): Handle computations for
4771 positions on the vertical bar and fringes differently for
4772 window-system frames. Consider some pixels near the vertical bar
4773 as on the bar if the frame doesn't have vertical scroll bars.
4774 Associate positions between mode or header lines with the
4775 right window, the left one.
4776
86d1db20
JR
47772000-12-01 Jason Rumney <jasonr@gnu.org>
4778
4779 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4780
4781 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4782 invalid frame.
4783
a1d58e5b
GM
47842000-12-01 Gerd Moellmann <gerd@gnu.org>
4785
52283633 4786 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4787 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4788 (save_window_save, Fset_window_configuration): Save/restore
4789 window's orig_top and orig_height.
4790
89c609af
JR
47912000-12-01 Jason Rumney <jasonr@gnu.org>
4792
4d177746 4793 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4794
89c609af
JR
4795 * w32fns.c (x_set_cursor_color): Fix last change.
4796
eccc05db
GM
47972000-11-30 Gerd Moellmann <gerd@gnu.org>
4798
31b6671b
GM
4799 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4800 sure that the next redisplay displays the minibuffer, so that
4801 the cursor will be replaced with what the minibuffer wants.
4802
eccc05db
GM
4803 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4804 #ifndef instead of using #if.
4805 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4806 USE_TOOLKIT_SCROLL_BARS is defined.
4807
162de750
JR
48082000-11-30 Jason Rumney <jasonr@gnu.org>
4809
4810 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4811 x_display_cursor.
4812
693c4692
GM
48132000-11-30 Gerd Moellmann <gerd@gnu.org>
4814
4815 * fns.c (Fmd5): Doc fix.
4816
b5d8d2ca 48172000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4818
4819 * fns.c (Fmd5): New function.
4820 (syms_of_fns): Defsubr md5.
4821
4822 * Makefile.in (obj): Add md5.o
4823
b02cd40b
GM
48242000-11-30 Gerd Moellmann <gerd@gnu.org>
4825
edfb795e
GM
4826 * md5.h, md5.c: New files, taken from glibc.
4827
df3aedcf
GM
4828 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4829
b02cd40b 4830 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4831 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4832
8b5176cd
SM
48332000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4834
4835 * eval.c (Frun_hooks): Allow 0 arguments.
4836
346598f1
GM
48372000-11-29 Gerd Moellmann <gerd@gnu.org>
4838
f9396e03
GM
4839 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4840 is over the menu bar widget, say it's not on the frame.
4841
4a967a9b
GM
4842 * xfns.c (Fx_create_frame): Reintroduce the call to
4843 face-set-after-frame-defaults.
4844
346598f1
GM
4845 * eval.c (Fsignal): Reset handling_signal.
4846
222456a1
JR
48472000-11-28 Jason Rumney <jasonr@gnu.org>
4848
4849 * w32menu.c (add_menu_item): Reset menu item text when changing
4850 type to radio button.
4851
8049ddc0
GM
48522000-11-28 Gerd Moellmann <gerd@gnu.org>
4853
346598f1 4854 * xselect.c: Update copyright.
f4f4ee4d 4855
bebe4a2c
GM
4856 * window.c (coordinates_in_window): If on a mode or header line,
4857 but sufficiently close to its start, return ``on vertical
4858 border''. This gives us a way to drag windows horizontally when
4859 using toolkit scroll bars.
4860
4861 * xterm.c (note_mouse_highlight): Change the cursor shape
4862 on the vertical border between windows.
4863
4864 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4865
4866 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4867 (syms_of_xfns): DEFVAR_LISP it.
4868 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4869
8d2c2642
GM
4870 * textprop.c (text_read_only): New function.
4871 (verify_interval_modification): Use it instead of signaling
4872 `text-read-only'. This makes it easier to catch this error
52283633 4873 with a breakpoint.:
8d2c2642 4874
52283633 4875 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4876 not end of line, which includes CR.
4877
5a2bae6c
KH
48782000-11-28 Kenichi Handa <handa@etl.go.jp>
4879
4880 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4881 include no-conversion.
4882
ae31f84d
JR
48832000-11-27 Jason Rumney <jasonr@gnu.org>
4884
4885 * w32fns.c (w32_load_system_font): Always mark font as double byte
4886 if codepage is unicode.
4887
67f1cf4c
GM
48882000-11-27 Gerd Moellmann <gerd@gnu.org>
4889
4a74d071 4890 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4891 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4892
902ae620
GM
4893 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4894 `vertical-line', `mode-line' and `header-line' events.
4895
4896 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4897 of a character, a TAB for instance. This is easier than to set
4898 up the iterator exactly, and it's not a frequent case, so the
4899 additional effort wouldn't really pay off.
4900
c1e279c2
AC
49012000-11-26 Andrew Choi <akochoi@i-cable.com>
4902
67f1cf4c 4903 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4904 init_window_once.
4905
a609568a
JR
49062000-11-25 Jason Rumney <jasonr@gnu.org>
4907
52283633
SM
4908 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4909 Args to window_from_coordinates should be pixel coordinates.
48b21762 4910
a609568a
JR
4911 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4912 redisplay handles them properly.
4913
a658d039
MB
49142000-11-25 Miles Bader <miles@gnu.org>
4915
4916 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4917
d3416cca
JR
49182000-11-24 Jason Rumney <jasonr@gnu.org>
4919
4920 * w32.c (init_environment): Set LANG environment variable based on
4921 locale settings, if not set.
4922
4923 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4924 making tool bar smaller. When clearing the frame, also
4925 clear current matrices. Clear frame when tool bar disappears.
4926 Don't use more lines for the tool-bar than is available.
4927 (x_change_window_heights): New function.
4928
ba193890
GM
49292000-11-24 Gerd Moellmann <gerd@gnu.org>
4930
2be8f184
GM
4931 * xdisp.c (init_from_display_pos): If POS says we're already after
4932 an overlay string ending at POS, make sure to pop the iterator
4933 because it will be in front of that overlay string. When POS is
4934 ZV, we've thereby also ``processed'' overlay strings at ZV.
4935
ba193890
GM
4936 * xfaces.c (lface_from_face_name): Function comment fix.
4937
1862a24e
MB
49382000-11-24 Miles Bader <miles@gnu.org>
4939
4940 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4941 apply `mode-line-inverse-video' -- zero means force display using
4942 the default face, non-zero means display using the specialized face.
4943 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4944
f07fa1b8
KH
49452000-11-23 Kenichi Handa <handa@etl.go.jp>
4946
4947 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4948 hard coded `4'.
4949
2bcdf662
EZ
49502000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4951
4952 * coding.c (decode_coding_emacs_mule): Fix the case of
4953 CODING_EOL_LF, which used uninitialized value of c.
4954
ba8299ff
SM
49552000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4956
4957 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4958
f4117c4d
GM
49592000-11-22 Gerd Moellmann <gerd@gnu.org>
4960
03e757c1
GM
4961 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4962 buffer object.
4963
f4117c4d
GM
4964 * frame.h (struct frame): Replace desired_tool_bar_items,
4965 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4966 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4967
4968 * frame.c (make_frame): Change initialization of tool bar
4969 items accordingly.
4970
4971 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4972 Change references to members deleted from struct frame to use the
f4117c4d
GM
4973 new ones.
4974
4975 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4976 references to members deleted from struct frame to use the new ones.
f4117c4d 4977
52283633 4978 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4979
4980 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4981
4982 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4983 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4984 from struct frame to use the new ones.
4985
f8e2f3f2
MB
49862000-11-23 Miles Bader <miles@gnu.org>
4987
4988 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4989 the face's inverse-video attribute, rather than overriding it.
4990
60e8e0a5
GM
49912000-11-22 Gerd Moellmann <gerd@gnu.org>
4992
4993 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4994 making tool bar smaller.
4995
92dd1b29
DL
49962000-11-22 Dave Love <fx@gnu.org>
4997
4998 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4999
e672fdce
MB
50002000-11-22 Miles Bader <miles@gnu.org>
5001
3a17d6cc
MB
5002 * keyboard.c (Vminibuffer_message_timeout): New variable.
5003 (command_loop_1): Use it to determine message timeout.
5004 (syms_of_keyboard): Initialize it.
5005
60e8e0a5 5006 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5007
e9655d81
KH
50082000-11-22 Kenichi Handa <handa@etl.go.jp>
5009
5010 * sysdep.c: Move the code for declaring h_errno after #include
5011 <netdb.h>.
5012
77270fac
GM
50132000-11-21 Gerd Moellmann <gerd@gnu.org>
5014
cd913aae
GM
5015 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5016 the menu bar when the tooltip is unmapped.
5017
77270fac
GM
5018 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5019 sole visible buffer when we're currently in the mini-buffer, and
5020 give up if so.
52283633 5021
556635d6
JR
50222000-11-21 Jason Rumney <jasonr@gnu.org>
5023
5024 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5025 put on the clipboard.
5026 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5027 copy of what Emacs last put there. If they are the same, do not
52283633 5028 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5029
5b7bde64
MB
50302000-11-22 Miles Bader <miles@gnu.org>
5031
5032 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5033 (syms_of_minibuf): Initialize it.
5034 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5035 to prompt, don't make read-only.
5036
ff23e1dd
GM
50372000-11-21 Gerd Moellmann <gerd@gnu.org>
5038
52283633
SM
5039 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5040 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5041
7aaf4388
GM
5042 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5043
f5f47add 5044 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5045
ff23e1dd
GM
5046 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5047
37c35586
KH
50482000-11-21 Kenichi Handa <handa@etl.go.jp>
5049
5050 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5051 ... #endif scope.
5052
ff9ab414
GM
50532000-11-20 Gerd Moellmann <gerd@gnu.org>
5054
52283633 5055 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5056 screen supports it.
5057
29a01b72
GM
5058 * s/gnu-linux.h: Don't use `#cpu'.
5059
09dfdf85
GM
5060 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5061 not defined in mman.h.
5062
52283633 5063 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5064 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5065 and store an index in the XClientMessageEvent. Storing a
5066 Lisp_Object or pointer can fail on a 64 bit system, since X only
5067 transfers 32 bits.
52283633
SM
5068 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5069
81459ac9
DL
50702000-11-20 Dave Love <fx@gnu.org>
5071
5072 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5073
56c13ae6
GM
50742000-11-20 Gerd Moellmann <gerd@gnu.org>
5075
5076 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5077
495a6df3
KH
50782000-11-20 Kenichi Handa <handa@etl.go.jp>
5079
2bcf3714
KH
5080 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5081 by WIDTH.
5082
495a6df3
KH
5083 * alloc.c (make_string): Fix previous change. Be sure to make
5084 unibyte string correctly.
5085
6d950f4c
GM
50862000-11-19 Gerd Moellmann <gerd@gnu.org>
5087
39b39373
GM
5088 * window.c (Fwindow_list): Change parameter list to be XEmacs
5089 compatible.
5090 (window_list_1): New function.
5091 (window_loop): Use it instead of Fwindow_list.
5092
b95b34e5
GM
5093 * sysdep.c (emacs_ospeed): New variable.
5094 (toplevel): Don't declare ospeed extern.
5095 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5096
5097 * termcap.c (ospeed): Remove.
5098 (tputs) [!emacs]: Remove unused code.
5099 (tgetent): Avoid a compiler warning.
5100
e83dc917
GM
5101 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5102 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5103 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5104
5105 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5106 removed.
5107 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5108 Take the X display as additional argument.
5109 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5110 `Widget' is a pointer type that's not easily stored in Lisp_Object
5111 form in a portable way.
52283633 5112
6d950f4c
GM
5113 * dispnew.c (update_text_area): Fix last change.
5114
e47306e6
GM
51152000-11-18 Gerd Moellmann <gerd@gnu.org>
5116
fb3cd89b
GM
5117 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5118
5119 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5120 clear current matrices.
5121
edaa9aed
GM
5122 * buffer.c (mmap_enlarge): Don't print a message on stderr
5123 if mapping new memory at the end of the existing region fails.
5124
e47306e6
GM
5125 * dispnew.c (update_text_area): Don't skip over equal glyphs
5126 when the last current glyph overlaps the glyph to its right.
5127
509633e3
MB
51282000-11-18 Miles Bader <miles@gnu.org>
5129
5130 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5131 lines that *end* with "..." too (that's the most common case!).
5132
d392e9c5
GM
51332000-11-18 Gerd Moellmann <gerd@gnu.org>
5134
67988445
GM
5135 * xdisp.c (resize_mini_window): Temporarily change to the
5136 mini-window's buffer if necessary.
1bfdbe43 5137
d392e9c5
GM
5138 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5139 the tooltip obscures less text under it.
5140
51412000-11-17 Gerd Moellmann <gerd@gnu.org>
5142
5143 * puresize.h (BASE_PURESIZE): Increase to 700000.
5144
92bb977f
JR
51452000-11-18 Jason Rumney <jasonr@gnu.org>
5146
5147 * w32term.c (w32_draw_bitmap): Use face to set colors.
5148
26fbf20b
DL
51492000-11-17 Dave Love <fx@gnu.org>
5150
5151 * lread.c (Fload): Fix #ifdef for pcc.
5152
100b593b
GM
51532000-11-17 Gerd Moellmann <gerd@gnu.org>
5154
5155 * xdisp.c (pos_visible_p): Compute the default character height
5156 differently.
5157
a288d0d1
GM
51582000-11-16 Gerd Moellmann <gerd@gnu.org>
5159
cac94de6 5160 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5161 knowing the line's height; use the default font's height in that case.
cac94de6 5162
a288d0d1
GM
5163 * xfaces.c (weight_table): Add `demi' with the same meaning as
5164 `demibold'.
5165
981fb6f6
KH
51662000-11-16 Kenichi Handa <handa@etl.go.jp>
5167
2cca872d 5168 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5169 (clear_glyph_row): Delete local static variable null_row.
5170
e5fa381b
JR
51712000-11-15 Jason Rumney <jasonr@gnu.org>
5172
5173 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5174 (w32_alloc_lighter_color): Use new brightness calculations from
5175 xterm.c. Scale delta to be in the range expected by W32.
5176 (w32_draw_relief_rect): Use frame relief colors.
5177
8e42f043
GM
51782000-11-15 Gerd Moellmann <gerd@gnu.org>
5179
6d133d1f
GM
5180 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5181 (Qinhibit_default_face_x_resources): New variable.
5182 (syms_of_frame): Initialize it.
5183 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5184
5185 * xdisp.c (pos_visible_p): Improve function comment.
5186
5187 * lisp.h (BINDING_STACK_SIZE): New macro.
5188
8e42f043
GM
5189 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5190 reading the directory if readdir returns null and errno is EAGAIN
5191 or EINTR.
5192
e8c87124
SM
51932000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5194
5195 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5196 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5197 Set amount_to_scroll to max of dx and scroll_step so that
5198 scroll-conservatively doesn't defeat scroll-step>1.
5199 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5200 scroll-conservatively for line-at-a-time scrolling.
5201
5f0c971d
GM
52022000-11-14 Gerd Moellmann <gerd@gnu.org>
5203
5204 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5205 extra argument.
5206
5207 * xdisp.c (current_mode_line_height, current_header_line_height):
5208 New variables.
5209 (init_xdisp): Initialize them.
5210 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5211 and use exact mode line heights if it is set.
5212
5213 * lisp.h (pos_visible_p): Change prototype.
5214
5215 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5216 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5217 and current_header_line_height first.
52283633
SM
5218 (current_mode_line_height, current_header_line_height):
5219 Declare extern.
5f0c971d 5220
d7361edf
MB
52212000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5222
5223 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5224 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5225 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5226
ee5e440a
MB
52272000-11-14 Miles Bader <miles@gnu.org>
5228
5229 * xterm.c (x_alloc_lighter_color): Include an additive component
5230 too for dark colors, because FACTOR isn't enough.
5231 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5232 New macros.
5233
5ca020fc
GM
52342000-11-13 Gerd Moellmann <gerd@gnu.org>
5235
5236 * keyboard.c (show_help_echo): Call message3_nolog with number of
5237 bytes in the help string as 2nd parameter, instead of the number
5238 of characters.
5239
9d348294
MB
52402000-11-13 Miles Bader <miles@gnu.org>
5241
5242 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5243 (Fload): Use new openp return protocol.
5244 Don't try to use Vload_source_file_function to load .elc files.
5245 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5246 openp return protocol.
5247 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5248
1729bb9a
KH
52492000-11-11 Kenichi Handa <handa@etl.go.jp>
5250
4e677396
KH
5251 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5252
5253 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5254 Defined these macros.
5255 (NLIST_STRUCT): Avoid re-defining it.
5256
1729bb9a
KH
5257 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5258 -I/usr/contrib/X11R6/include.
5259 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5260
a82fe213
JR
52612000-11-10 Jason Rumney <jasonr@gnu.org>
5262
5263 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5264
5265 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5266 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5267
5268 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5269 (Qw32_charset_vietnamese): New symbol.
5270 (xlfd_charset_of_font): New function.
5271 (w32_load_system_font): Use it.
5272 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5273 when Vw32_charset_info_alist is nil to ensure default face always
5274 has font. Use Fcar and Fcdr for safety.
5275 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5276 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5277 pseudo-codepages for special cases.
5278 (w32_to_x_font): New parameter to allow charset portion to be
5279 specified where there is many to one mapping. Callers changed.
5280 (w32_list_fonts): Avoid listing fonts that won't display.
5281
52d89894
GM
52822000-11-10 Gerd Moellmann <gerd@gnu.org>
5283
5284 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5285 (font_list_1): Renamed from font_list.
5286 (font_list): New function, trying alternative registries from
5287 Vface_alternative_font_registry_alist.
5288 (Finternal_set_alternative_font_registry_alist): New function.
5289 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5290 Vface_alternative_font_registry_alist.
5291 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5292
651cd3da
KR
52932000-11-09 Ken Raeburn <raeburn@gnu.org>
5294
5295 * lisp.h (Flooking_at): Declare.
5296
388ac098
GM
52972000-11-09 Gerd Moellmann <gerd@gnu.org>
5298
778fbc46 5299 * dired.c (directory_files_internal): Fix a braino.
52283633 5300
388ac098
GM
5301 * dired.c (directory_files_internal): Add missing GCPRO's.
5302 Some cleanup.
5303
ecaedde1
GM
53042000-11-08 Gerd Moellmann <gerd@gnu.org>
5305
f7eb32aa
GM
5306 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5307 (resize_mini_window): Return quickly if Vresize_mini_window is
5308 nil. Don't return if Vmax_mini_window_height is nil.
5309
5310 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5311 (syms_of_xdisp): Initialize them.
5312 (resize_mini_window): Act according to the setting of
5313 Vresize_mini_window.
5314 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5315
ecaedde1
GM
5316 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5317 scroll bar widget after configuring it, so that it will appear at
5318 the right position from the start.
5319 (XTredeem_scroll_bar): Cleaned up.
5320
3747ef2c
KH
53212000-11-08 Kenichi Handa <handa@etl.go.jp>
5322
5323 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5324 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5325 division by two.
5326
5327 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5328
03391420
DL
53292000-11-07 Dave Love <fx@gnu.org>
5330
7758f1c1 5331 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5332
5333 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5334
b5de343d
GM
53352000-11-07 Gerd Moellmann <gerd@gnu.org>
5336
acad3c0b
GM
5337 * window.c (Fset_window_configuration): Don't try to preserve
5338 point in the current buffer, if that buffer is displayed in more
5339 than one window.
5340
b5de343d
GM
5341 * xfaces.c (lookup_named_face): If default face isn't realized,
5342 try to realize it. Return -1 if not successful.
5343 (Fx_list_fonts): Handle case that face cannot be determined.
5344 (Fface_font): Likewise.
5345
cdb1fe49
GM
53462000-11-06 Gerd Moellmann <gerd@gnu.org>
5347
5348 * window.c (displayed_window_lines): Detect partially
5349 visible lines at the bottom correctly.
5350
d3a67486
SM
53512000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5352
5353 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5354 when ensuring we don't do visit in indirect buffer.
5355
ff8dd5d5
KH
53562000-11-06 Kenichi Handa <handa@etl.go.jp>
5357
5358 * composite.h (compose_chars_in_text): Add prototype.
5359
5360 * composite.c (Vcomposition_function_table): New variable.
5361 (Qcomposition_function_table): New variable.
5362 (run_composition_function): Call
5363 Vcompose_chars_after_function with three arguments.
5364 (compose_chars_in_text): New function.
5365 (syms_of_composite): Modified the doc-string of
5366 Vcompose_chars_after_function. Declare composition-function-table
5367 as a lisp variable, and initialize it.
5368
5369 * xfns.c (x_encode_text): Suppress producing escape sequences for
5370 composition.
5371
5372 * xselect.c: Include composite.h.
5373 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5374
d1145f85
AI
53752000-11-05 Andrew Innes <andrewi@gnu.org>
5376
5377 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5378
5379 * sysdep.c (read_input_waiting): Remove extraneous argument to
5380 read_socket_hook.
5381
5382 * w32fns.c (Fx_server_version): Include w32_build_number in the
5383 return list.
5384
5385 * w32heap.c (w32_build_number): New variable.
5386 (cache_system_info): Set it.
5387
5388 * w32heap.h (w32_build_number): Add extern.
5389
5390 * emacs.c (syms_of_emacs): Update docstring for
5391 system-configuration, to reflect the actual usage on MS-Windows.
5392
e85ee976
GM
53932000-10-31 Gerd Moellmann <gerd@gnu.org>
5394
26dcb81b
GM
5395 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5396 process idle timers while waiting for another event.
5397
52283633 5398 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5399 the default face are colored.
5400
e85ee976
GM
5401 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5402 window height hasn't changed.
5403
01b220b6
JR
54042000-10-31 Jason Rumney <jasonr@gnu.org>
5405
5406 * w32term.c (x_produce_glyphs): Handle composite characters.
5407 (x_draw_glyph_string_foreground)
5408 (x_draw_composite_glyph_string_foreground): Restore old font.
5409
4e6b7204
MB
54102000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5411
5412 * minibuf.c (read_minibuf): Reset the undo history just before
5413 starting the recursive-edit.
5414
d4358b37
GM
54152000-10-30 Gerd Moellmann <gerd@gnu.org>
5416
563f68f1
GM
5417 * xfaces.c (menu_face_change_count): New variable.
5418 (Finternal_set_lisp_face_attribute): Increment it for changes
5419 of the `menu' face.
5420 (realize_basic_faces): Reflect changes in the `menu' faces
5421 in menu bars.
5422
82e274d1
GM
5423 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5424 dy obtained from the iterator's y-position after moving from
5425 scroll_margin_pos to PT; see comment there.
52283633 5426
0dbf9fd2
GM
5427 * xdisp.c (safe_eval_handler): Call add_to_log.
5428
906b3b14
GM
5429 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5430 is not a symbol or string.
5431
d4358b37
GM
5432 * xdisp.c (echo_area_display): Don't perform a display update from
5433 inside redisplay. The update will happen anyway at the end of
5434 redisplay, and it can confuse redisplay (GC messages while
5435 redisplaying, for instance.)
5436
70c825df
SM
54372000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5438
cf9b4b0b
SM
5439 * xrdb.c (x_load_resources): Use the class name in the defaults.
5440
70c825df
SM
5441 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5442 (regex_compile): Catch bogus \(\1\).
5443
a1d34b1e
GM
54442000-10-30 Gerd Moellmann <gerd@gnu.org>
5445
cae71efe
GM
5446 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5447 RGB values.
52283633 5448
35efe0a1
GM
5449 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5450 we have a color cache, check that the cached color equals the
5451 allocated color. If not, clear the color cache.
5452
1d3baf74
GM
5453 * window.c (displayed_window_lines): Change buffers if necessary.
5454 Fix computation of displayed lines.
5455
a1d34b1e
GM
5456 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5457 update_menu_bindings to DEFVAR_BOOL.
5458
70737ea9
KH
54592000-10-30 Kenichi Handa <handa@etl.go.jp>
5460
70c825df 5461 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5462
fa0cb51d
KH
5463 * puresize.h (BASE_PURESIZE): Increase to 680000.
5464
70737ea9
KH
5465 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5466
0e4c08e8
JR
54672000-10-29 Jason Rumney <jasonr@gnu.org>
5468
5469 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5470
5471 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5472 (w32_cache_char_metrics): Handle possibility that 'x' does not
5473 exist in a BDF font.
5474 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5475
5476 * w32bdf.h (bdffont): Add nchars.
5477
5478 * w32bdf.c (set_bdf_font_info): Set it.
5479 (w32_BDF_TextOut): Swap byte order of double byte characters.
5480 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5481
45b84006
EZ
54822000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5483
5484 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5485 don't override the colors in frame's param_alist, unless they are
5486 unspecified.
5487
5488 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5489 reverse the effect of the highlight flag.
5490
caf9deee
KR
54912000-10-27 Ken Raeburn <raeburn@gnu.org>
5492
5493 * window.h (Fwindow_live_p): Declare.
5494
ae0b9b46
KR
5495 * undo.c (record_delete): Check that last_undo_buffer is really a
5496 buffer before applying XBUFFER to it.
5497
5498 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5499 Faref.
5500
02067692
SM
55012000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5502
5503 * lisp.h (KEYMAPP): New macro.
5504 (get_keymap): Remove.
5505 (get_keymap_1): Rename get_keymap.
5506
5507 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5508
5509 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5510
5511 * xmenu.c (single_submenu): Use KEYMAPP.
5512 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5513 Use KEYMAPP rather than Fkeymapp.
5514
5515 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5516
5517 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5518 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5519 Use KEYMAPP rather than Fkeymapp.
5520 (single_submenu): Use KEYMAPP.
5521 (w32_menu_show, w32_dialog_show): Use TRUE.
5522
5523 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5524
5525 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5526 (Fkeymapp): Use KEYMAPP.
5527 (get_keymap): Rename from get_keymap_1. Remove old def.
5528 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5529 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5530 (Fminor_mode_key_binding): Don't raise an error if the binding
5531 is not a keymap.
5532 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5533 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5534
5535 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5536 Allow Vspecial_event_map to be autoloaded.
5537 (menu_bar_items): Fetch the keymap rather than using keymapp.
5538 (menu_bar_one_keymap): No need to follow func-indirect any more.
5539 (parse_menu_item): get_keymap_1 -> get_keymap.
5540 (tool_bar_items): Fetch the keymap rather than using keymapp.
5541 (read_key_sequence): Use KEYMAPP.
5542
5543 * intervals.c (get_local_map): Use get_keymap rather than following
5544 function-indirections explicitly.
5545
5546 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5547
f9d80af3
JR
55482000-10-27 Jason Rumney <jasonr@gnu.org>
5549
5550 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5551 point, as Windows has oversized fonts.
5552
5553 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5554
a3ba27da
GM
55552000-10-27 Gerd Moellmann <gerd@gnu.org>
5556
5557 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5558 (freehook, reallochook): Handle null pointer arguments.
5559 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5560
aa3b80cc
SM
55612000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5562
5563 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5564 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5565 Giving in to popular pressure to shut up the compiler with casts.
5566
e24e84cc
GM
55672000-10-27 Gerd Moellmann <gerd@gnu.org>
5568
5569 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5570 signed value, and use a default value computed from the font's
5571 maximum descent.
5572
05ea7ef2
MB
55732000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5574
5575 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5576 that specify a negative underline position can still use underlines.
5577
5578 * window.c (Fpos_visible_in_window_p): Make POS default to
5579 WINDOW's point, not the current buffer's point.
5580
0b95284b
DL
55812000-10-26 Dave Love <fx@gnu.org>
5582
5583 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5584 when it's necessary.
5585
6c5b90af
GM
55862000-10-26 Gerd Moellmann <gerd@gnu.org>
5587
8b6d9dc9
GM
5588 * window.c (size_window): Compute size difference from sum of old
5589 child window sizes instead of from parent's size.
5590
6bc92b2e
GM
5591 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5592 Handle obscured lines at the top of the window.
5593
5594 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5595 down after the last error condition check.
5596
6c5b90af
GM
5597 * frame.c (Fdelete_frame): Run delete-frame-hook.
5598
42f92d4d
KH
55992000-10-26 Kenichi Handa <handa@etl.go.jp>
5600
5601 * coding.c (decode_coding): Fix previous change (check also
5602 CODING_MODE_LAST_BLOCK).
5603
d97151cb
SM
56042000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5605
e7efc503
SM
5606 * regex.c: More `unsigned char' -> `re_char' changes.
5607 Also change several `int' into `re_wchar_t'.
5608 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5609 (PUSH_FAILURE_POINTER): Don't cast any more.
5610 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5611 We want GCC to complain, since this piece of code makes
5612 re_match non-reentrant, which *should* be fixed.
5613 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5614 (EXTEND_BUFFER): Use RETALLOC.
5615 (SET_LIST_BIT): Don't cast.
5616 (re_wchar_t): New type.
5617 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5618 that those two functions will always properly return.
5619 (IMMEDIATE_QUIT_CHECK): Cast to void.
5620 (analyse_first): Use recursion rather than an explicit stack.
5621 (re_compile_fastmap): Can't fail anymore.
5622 (re_search_2): Don't check re_compile_fastmap for failure.
5623 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5624 Now also sets the new value (passed in a new argument).
5625 (re_match_2_internal): Use it.
5626 Also, use a new var `reg' of type size_t when looping through regs
5627 rather than reuse the inappropriate `mcnt'.
5628
d97151cb
SM
5629 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5630 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5631 (where_is_internal): Renamed from Fwhere_is_internal.
5632 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5633 (Fwhere_is_internal): New function wrapping where_is_internal.
5634 (where_is_internal_1): Handle the case where we're filling the cache.
5635 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5636
d5789b65
MB
56372000-10-25 Miles Bader <miles@gnu.org>
5638
5639 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5640
4ecda532
GM
56412000-10-25 Gerd Moellmann <gerd@gnu.org>
5642
5643 * window.c (pos_fully_visible_p): Removed.
5644 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5645 if position is visible and/or fully visible.
5646
5647 * lisp.h (pos_visible_p): Add prototype.
5648
5649 * xdisp.c (pos_visible_p): New function.
5650
68c3a137
KH
56512000-10-25 Kenichi Handa <handa@etl.go.jp>
5652
5653 * process.c (send_process): If OBJECT is t, it means that the data
5654 is from C string, but we should encode it. Before calling
5655 setup_raw_text_coding_system, be sure to flush out data by the
5656 previous coding system.
5657
7ae1c032
MB
56582000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5659
ff4dcd4b
MB
5660 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5661 assignment of startpos to prev when startpos == pos.
5662
7ae1c032
MB
5663 * editfns.c (find_field): Set the field stickiness correctly from
5664 overlay fields. Use renamed `text_property_stickiness'.
5665 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5666 Only check text properties, not overlays.
7ae1c032
MB
5667 * textprop.c (get_char_property_and_overlay): New function.
5668 (Fget_char_property): Use it.
5669 * intervals.h (get_char_property_and_overlay): Add declaration.
5670
49801145
SM
56712000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5672
5673 * keymap.c: Use AREF, ASET and ASIZE macros.
5674 (Fmake_sparse_keymap): Docstring fix.
5675 (synkey): Remove.
5676 (shadow_lookup): Move up.
5677 Handle the case where lookup-key returns an integer.
5678 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5679 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5680 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5681 Simplify/rewrite the keymap-finding code.
5682 Add check for command shadowing, using shadow_lookup.
5683
39e776cd
SM
56842000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5685
5686 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5687 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5688 a symbol.
5689
2488aba5
AI
56902000-10-24 Andrew Innes <andrewi@gnu.org>
5691
5692 * dired.c (directory_files_internal_unwind): New function.
5693 (directory_files_internal): Use it to ensure closedir is called
5694 even if expand-file-name or file-attributes throw, eg. because of
5695 a user interrupt. Also enable immediate_quit while calling
5696 re_search, so that matching can be interrupted as well.
5697
b94fdf61
AI
56982000-10-24 Andrew Innes <andrewi@gnu.org>
5699
5700 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5701 NT-Emacs only.
5702 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5703 so that re_search functions only quit when callers expect them to.
5704
57052000-10-24 Kenichi Handa <handa@etl.go.jp>
5706
5707 * regex.c (regex_compile): Change the way of handling a range from
5708 a char less than 256 to a char not less than 256.
5709
1946f901
GM
57102000-10-24 Gerd Moellmann <gerd@gnu.org>
5711
7ae2f10f
GM
5712 * window.c (size_window): Prevent setting window's width or
5713 height to a negative value (esp. with XSETFASTINT).
5714
5dcab13e
GM
5715 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5716 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5717 (protect_malloc_state) [GC_MALLOC_CHECK &&
5718 GC_PROTECT_MALLOC_STATE]: New function.
5719 (PROTECT_MALLOC_STATE): New macro.
5720 (__malloc_initialize, morecore, _malloc_internal)
5721 (_free_internal) _realloc_internal): Use it to make _heapinfo
5722 read-only outside of gmalloc.
5723
63e1b552
GM
5724 * keymap.c: Update copyright.
5725
1946f901
GM
5726 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5727 a symbol.
5728
4fa09beb
GM
57292000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5730
5731 * filelock.c (unlock_all_files): Use unlock_file to expand each
5732 buffer's file_truename before trying remove its lock file.
5733
23afac01
EZ
57342000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5735
5736 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5737 or CRLF, decode EOLs.
5738
04448b95
KH
57392000-10-24 Kenichi Handa <handa@etl.go.jp>
5740
5741 * window.c (Fdisplay_buffer): Fix doc.
5742
3090a5a5
JR
57432000-10-23 Jason Rumney <jasonr@gnu.org>
5744
5745 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5746 ASCII font of default fontset on Windows.
5747
5748 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5749 xterm.c comment below).
5750
5751 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5752
a83fee2c
GM
57532000-10-23 Gerd Moellmann <gerd@gnu.org>
5754
5755 * xterm.c (x_connection_closed): Reset handling_signal.
5756
52283633 5757 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5758
6ffdb539
MB
57592000-10-23 Miles Bader <miles@gnu.org>
5760
5761 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5762 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5763 maintain old behavior.
5764 * minibuf.c (Fminibuffer_complete): Likewise.
5765
7f1c969b
MB
57662000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5767
5768 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5769 that when a font can't be exactly centered, it errs up rather than
5770 down.
5771
23afac01 57722000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5773
52283633 5774 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5775
1a578e9b
AC
57762000-10-23 Andrew Choi <akochoi@i-cable.com>
5777
5778 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5779
5780 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5781 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5782
5783 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5784 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5785 syms_of_search, x_term_init, and init_keyboard before calling
5786 init_window_once. Also, call syms_of_xmenu.
5787
5788 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5789 default fontset to Monaco.
5790
5791 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5792 NewMacWindow and DisposeMacWindow.
5793 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5794 instead of calling NewMacWindow and setting fields of
5795 f->output_data.mac directly. Call init_frame_faces.
5796 (Fdelete_frame) [macintosh]: Remove unused code.
5797 (Fmodify_frame_parameters) [macintosh]: Call
5798 x_set_frame_parameters instead of mac_set_frame_parameters.
5799
5800 * frame.h [macintosh]: Define menu_bar_lines field in struct
5801 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5802
5803 * keyboard.c [macintosh]: Include macterm.h.
5804 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5805 and menu_bar_activate_event type events as for X and NT.
5806 (make_lispy_event) [macintosh]: Construct lisp events of type
5807 MENU_BAR_EVENT as for X and NT.
5808
5809 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5810 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5811 (sys_subshell) [macintosh]: Remove definition entirely.
5812 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5813 Vwindow_system_version here. Remove initialization of
5814 Vx_bitmap_file_path.
5815 (read_input_waiting): Correct the number of parameters passed to
5816 read_socket_hook.
5817 Move all Macintosh functions to mac/mac.c.
5818
5819 * term.c [macintosh]: Include macterm.h.
5820
5821 * window.c [macintosh]: Include macterm.h.
5822
5823 * xdisp.c [macintosh]: Include macterm.h. Declare
5824 set_frame_menubar and pending_menu_activation.
5825 (echo_area_display) [macintosh]: Do not return if terminal frame
5826 is the selected frame.
5827 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5828 Allow only the selected frame to set menu bar.
5829 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5830 calling FRAME_EXTERNAL_MENU_BAR (f).
5831 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5832
5833 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5834 and check_x. Declare XCreateGC. Define x_create_gc and
5835 x_free_gc. Initialize font_sort_order.
5836 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5837 but call x_list_fonts instead of w32_list_fonts.
5838 (Finternal_face_x_get_resource) [macintosh]: Do not call
5839 display_x_get_resource.
5840 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5841 (realize_x_face) [macintosh]: Load the font if it is specified in
5842 ATTRS.
52283633 5843 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5844
1ffbabe3
SM
58452000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5846
5847 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5848 is nil: since we go to the end of submap anyway, we'd end up
5849 setting nil to nil.
5850 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5851 doesn't obey autoload.
5852
bed43f1d
EZ
58532000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5854
1ffbabe3 5855 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5856
ea4233a7
JR
58572000-10-21 Jason Rumney <jasonr@gnu.org>
5858
5859 * w32term.c (w32_cache_char_metrics): Double check that font is
5860 really fixed pitch before trusting tmPitchAndFamily.
5861
f3d3c491
AI
58622000-10-21 Andrew Innes <andrewi@gnu.org>
5863
5864 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5865
5866 * w32term.h: Extern decl for w32_cache_char_metrics.
5867
5868 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5869
5870 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5871 (w32_unload_font): Free per_char array if present.
5872
5873 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5874 cached information in emulated XFontStruct to handle common cases
5875 quickly. Do not allocate XCharStruct for return.
5876 (w32_native_per_char_metric): New function.
5877 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5878 allocating one.
5879 (x_produce_glyphs): Don't get an HDC. Change calls to
5880 w32_per_char_metric to match arg change above. Remove calls to
5881 free results.
5882 (w32_get_glyph_overhangs): Ditto.
5883 (w32_cache_char_metrics): New function.
5884
5885 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5886 ($(BLD)/casefiddle.$(O)): Remove compile command.
5887 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5888 ($(BLD)/dispnew.obj):
5889 ($(BLD)/keyboard.obj):
5890 ($(BLD)/w32inevt.obj):
5891 ($(BLD)/w32bdf.obj):
5892 ($(BLD)/alloc.obj):
5893 ($(BLD)/buffer.obj):
5894 ($(BLD)/editfns.obj):
5895 ($(BLD)/emacs.obj):
5896 ($(BLD)/fileio.obj):
5897 ($(BLD)/fns.obj):
5898 ($(BLD)/indent.obj):
5899 ($(BLD)/insdel.obj):
5900 ($(BLD)/intervals.obj):
5901 ($(BLD)/minibuf.obj):
5902 ($(BLD)/print.obj):
5903 ($(BLD)/scroll.obj):
5904 ($(BLD)/sysdep.obj):
5905 ($(BLD)/textprop.obj):
5906 ($(BLD)/widget.obj):
f3d3c491
AI
5907 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5908 ($(BLD)/term.obj): Add dependency on dispextern.h.
5909
52283633
SM
5910 * makefile.nt ($(BLD)\dispnew.obj):
5911 ($(BLD)\keyboard.obj):
5912 ($(BLD)\w32inevt.obj):
5913 ($(BLD)\w32bdf.obj):
5914 ($(BLD)\alloc.obj):
5915 ($(BLD)\buffer.obj):
5916 ($(BLD)\editfns.obj):
5917 ($(BLD)\emacs.obj):
5918 ($(BLD)\fileio.obj):
5919 ($(BLD)\fns.obj):
5920 ($(BLD)\indent.obj):
5921 ($(BLD)\insdel.obj):
5922 ($(BLD)\intervals.obj):
5923 ($(BLD)\minibuf.obj):
5924 ($(BLD)\print.obj):
5925 ($(BLD)\scroll.obj):
5926 ($(BLD)\sysdep.obj):
5927 ($(BLD)\textprop.obj):
5928 ($(BLD)\widget.obj):
f3d3c491
AI
5929 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5930 ($(BLD)\term.obj): Add dependency on dispextern.h
5931
18ad4821
EZ
59322000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5933
5934 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5935 with an additional argument of Qt.
5936
de54681a
MB
59372000-10-21 Miles Bader <miles@gnu.org>
5938
5939 * window.c (pos_fully_visible_in_window_p): New function.
5940 (Fpos_visible_in_window_p): Add FULLY argument.
5941 Use pos_fully_visible_in_window_p.
5942 (window_scroll_pixel_based, window_scroll_line_based): Update
5943 calls to Fpos_visible_in_window_p.
5944 * lisp.h (Fpos_visible_in_window_p): Update prototype
5945
13c844fb
GM
59462000-10-20 Gerd Moellmann <gerd@gnu.org>
5947
5948 * alloc.c (toplevel): Conditionalize compilation of mem_*
5949 functions differently.
52283633 5950
d9506268
JR
59512000-10-20 Jason Rumney <jasonr@gnu.org>
5952
5953 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5954 mem_init where it used to be. mem_z etc not defined otherwise.
5955
8094989b
GM
59562000-10-20 Gerd Moellmann <gerd@gnu.org>
5957
5958 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5959 GC_MALLOC_CHECK.
5960 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5961 structure definition and related variabled to the top of the file.
5962 Include this code when GC_MALLOC_CHECK is defined.
5963 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5964 register/unregister allocated region.
5965 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5966 which isn't allocated.
5967 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5968 something which is already in use.
5969 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5970 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5971 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5972 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5973
5974 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5975 _malloc_internal instead of malloc.
5976 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5977 of free.
5978
ea456eb4
AI
59792000-10-20 Andrew Innes <andrewi@gnu.org>
5980
5981 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5982 Windows.
5983 (my_strftime) <macro>: Don't use macro arg list when redefining as
5984 _strftime_copytm.
5985 (my_strftime) <function>: Supply 0 as ut argument.
5986
e64c3a75
JR
59872000-10-19 Jason Rumney <jasonr@altavista.net>
5988
5989 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5990 including dispextern.h, as it stops faces from working.
5991
5992 * w32fns.c (Fx_create_frame): Don't bother calling
5993 face-set-after-frame-default since the caller does it for us
5994 anyway. Clean up calls to x_get_arg to be consistent with X.
5995
5996 * w32term.c (x_produce_glyphs): Handle
5997 unibyte_display_via_language_environment correctly.
5998 (w32_draw_box_rect): Fix the calculation of width and height.
5999
6000 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6001 as it has stopped working.
6002 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6003 menu-bar.
6004
17401c97
GM
60052000-10-19 Gerd Moellmann <gerd@gnu.org>
6006
6007 * eval.c (skip_debugger): Prevent a compiler warning.
6008 (Fcondition_case): Likewise.
6009 (Fbacktrace_frame): Use a null interactive spec.
6010
773272d8
KH
60112000-10-19 Kenichi Handa <handa@etl.go.jp>
6012
6013 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6014
a42943e9
GM
60152000-10-18 Gerd Moellmann <gerd@gnu.org>
6016
e50517d9
GM
6017 * strftime.c: Sync with glibc, file version 1.78.
6018 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6019 should no longer be used according to ISO 8601.
6020
9035a35a
GM
6021 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6022 no map for meta_prefix_char, don't try to use it as a keymap.
6023 Instead, if T_OK is non-zero, look up a default binding, if any,
6024 otherwise, if T_OK is zero, return nil.
6025
a42943e9
GM
6026 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6027 (x_to_xcolors, png_load): Use x_query_color.
6028
52283633
SM
6029 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6030 New functions.
a42943e9
GM
6031 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6032 which can be slow.
6033 (x_copy_color, x_alloc_lighter_color): Likewise.
6034
6035 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6036 (x_query_color, x_query_colors): Add prototype.
6037
6038 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6039 check_string_bytes only if not noninteractive, increase count to 50.
6040
00de2987
MB
60412000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6042
6043 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6044 markers correctly.
6045
54918e2b
GM
60462000-10-17 Gerd Moellmann <gerd@gnu.org>
6047
1f0b3fd2
GM
6048 * alloc.c (pure_bytes_used): Renamed from pureptr.
6049 (ALIGN): New macro.
6050 (pure_alloc): New function.
6051 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6052 Use it.
6053 (Fpurecopy): Use PURE_POINTER_P.
6054
68c5d1db
GM
6055 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6056 PT has moved backward.
52283633 6057
9a038881
GM
6058 * xdisp.c (cursor_row_p): Take continued lines into account.
6059
361b097f
GM
6060 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6061 string's size_byte.
6062 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6063 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6064 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6065 string allocated.
6066
54918e2b
GM
6067 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6068 of selective display off while searching for the next line start.
6069
03ed0806
KH
60702000-10-17 Kenichi Handa <handa@etl.go.jp>
6071
6072 * Makefile.in (term.o): Depend on dispextern.h.
6073
7e05cdaf
SM
60742000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6075
6076 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6077
a6801fd1
GM
60782000-10-16 Gerd Moellmann <gerd@gnu.org>
6079
483de32b
GM
6080 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6081 the iterator at the beginning, so that they can be set later on,
6082 for instance in reseat_at_next_visible_line_start, without being
6083 overwritten.
6084
a6801fd1
GM
6085 * xfns.c (pbm_format): Add :foreground and :background keywords.
6086 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6087 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6088
dbf1fcc1
EZ
60892000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6090
6091 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6092
52283633 6093 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6094
6095 * msdos.c (IT_set_face): Compare highlighted face with the default
6096 face, and invert colors if these faces' colors are identical.
6097 (Fmsdos_remember_default_colors): Don't swap foreground and
6098 background colors in initial_colors[].
6099 (IT_set_frame_parameters): Don't swap frame's foreground and
6100 background pixels. If ALIST includes "(reverse . t)", swap
6101 foreground-color and background-color properties in frame's
6102 param_alist. If the original frame's param_alist doesn't specify
6103 the colors, store unspecified-fg and unspecified-bg, reversed if
6104 required.
6105
6106 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6107 the colors are unspecified and reversed, reverse fore- and back-
6108 ground in the returned value.
6109 (Fframe_parameter): Ditto.
6110
b41fe2c3 61112000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6112
3a6b59d9
GM
6113 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6114 get_last_unchanged_at_beg_row.
6115 (find_first_unchanged_at_end_row): Renamed from
6116 get_first_unchanged_at_end_row.
6117 (find_first_unchanged_at_end_row): Convert assertions to
6118 unconditional tests which abort. When looking for a row in
6119 unchanged text, don't go further back than first_text_row.
6120
b41fe2c3
GM
6121 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6122 Don't add in the last line's height when deciding if the new
6123 position is below the scroll margin.
9d1af64f 6124
b41fe2c3 61252000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6126
6127 * editfns.c (Fconstrain_to_field): Check carefully for field
6128 boundaries if either OLD_POS or NEW_POS has a non-nil field
6129 property, even if they're the same.
6130
c412cb7b
KH
61312000-10-16 Kenichi Handa <handa@etl.go.jp>
6132
6133 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6134 height for XFillRectangle.
6135
5586f3eb
SM
61362000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6137
6138 * syntax.c (Fstring_to_syntax): New function extracted from
6139 Fmodify_syntax_entry.
6140 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6141 (skip_chars, Fforward_comment): Remove unused variables.
6142 (syms_of_syntax): Add defsubr for string-to-syntax.
6143 (describe_syntax): Add code for comment and string fences.
6144
db785038
SM
61452000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6146
6147 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6148 Do the meta->esc mapping. Call get_keyelt before returning.
6149 Start scanning from the second element (the first is always `keymap')
6150 to make it easier to detect when we reach a parent map.
6151 Handle the case of inheriting from a symbol whose function is a map.
6152 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6153 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6154 (get_keyelt, Flookup_key): Update call to access_keymap.
6155 Remove the meta->esc mappings.
6156 (define_as_prefix): Delete old disabled code.
6157 (menu_item_p): New function.
6158 (where_is_internal_1): Skip over the few remaining menu items.
6159 * lisp.h (access_keymap): Update prototype.
6160 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6161 Update call to access_keymap.
6162 (follow_key, read_key_sequence): Update calls to access_keymap.
6163 Remove the meta->esc mappings.
6164
cafafe0b
GM
61652000-10-13 Gerd Moellmann <gerd@gnu.org>
6166
a2e2a7f6
GM
6167 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6168 with additional argument.
6169
cafafe0b
GM
6170 * xdisp.c (cursor_row_p): New function.
6171 (try_cursor_movement, display_line): Use it.
52283633 6172
cafafe0b
GM
6173 * xdisp.c (append_space): Also save/restore iterator's current
6174 character and its length.
6175
6176 * xdisp.c (init_from_display_pos): Add an assertion.
6177 (handle_stop): Don't set iterator's add_overlay_start.
6178 (handle_invisible_prop): Likewise.
6179 (load_overlay_strings): If text under an overlay is invisible,
6180 take both before- and after-strings into account when the iterator
6181 is positioned either at the start or at the end of the overlay.
6182 (forward_to_next_line_start): Rewritten.
6183 (reseat_at_next_visible_line_start): Rewritten.
6184 (set_iterator_to_next): Add parameter RESEAT_P.
6185
6186 * dispextern.h (struct it): Remove member add_overlay_start.
6187 (set_iterator_to_next): Change prototype.
6188
c744452b
KH
61892000-10-13 Kenichi Handa <handa@etl.go.jp>
6190
6191 * coding.c (code_convert_region): Be sure to initialize
6192 coding->category_idx.
e4a3f4e1
KH
6193 (decode_coding_string): Set coding->src_multibyte and
6194 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6195 (encode_coding_string): Set coding->src_multibyte and
6196 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6197
321fd26f
SM
61982000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6199
6200 * xfns.c (Fx_create_frame): Don't bother calling
6201 face-set-after-frame-default since the caller does it for us anyway.
6202
76832439
EZ
62032000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6204
6205 * window.c (coordinates_in_window): Fix detection of vertical line
6206 on character terminals.
6207
2483cf58
GM
62082000-10-12 Gerd Moellmann <gerd@gnu.org>
6209
6210 * editfns.c (save_excursion_save): Additionally record the
6211 selected window.
6212 (save_excursion_restore): If buffer was visible in a window, and a
6213 different window was selected, and the old selected window is
6214 still live, restore point in that window.
6215
eb991b25
KH
62162000-10-12 Kenichi Handa <handa@etl.go.jp>
6217
8a0eba09
KH
6218 * xterm.c (x_produce_glyphs): Handle
6219 unibyte_display_via_language_environment correctly.
6220
20401fcc
KH
6221 * regex.c (regex_compile): Change the way of handling a range from
6222 unibyte char to multibyte char.
6223
6224 * syntax.c (skip_chars): Change the way of handling a range from
6225 unibyte char to multibyte char.
6226
eb991b25
KH
6227 * process.c (read_process_output): Cancel previous change.
6228
365dd325
EZ
62292000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6230
c1b096cb
EZ
6231 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6232
365dd325
EZ
6233 * charset.c (Ffind_charset_string): Doc fix.
6234 (Ffind_charset_region): Doc fix.
6235
eb483c2b
KH
62362000-10-11 Kenichi Handa <handa@mule.m17n.org>
6237
6238 * process.c (read_process_output): Fix previous change. Adjust
6239 multibyteness of text to insert in a buffer by
52283633 6240 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6241
b40bfb99
AS
62422000-10-10 Andreas Schwab <schwab@suse.de>
6243
6244 * alloc.c (mark_object): Remove all workarounds installed on
6245 1993-08-08.
6246
caff31d4
KH
62472000-10-10 Kenichi Handa <handa@etl.go.jp>
6248
52283633 6249 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6250 (base64_encode_1): Make it work for a text of multibyte form.
6251 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6252 case. Don't call str_to_multibyte because base64_decode_1
6253 produces correct multibyte form for eight-bit codes.
52283633 6254 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6255 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6256 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6257 codes.
6258
6259 * charset.h (CHAR_STRING): Optimized for single byte characters.
6260
cba026ef
AS
62612000-10-09 Andreas Schwab <schwab@suse.de>
6262
6263 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6264 -1 after socket is closed, to fall through to error processing.
6265
1e21fe48
EZ
62662000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6267
6268 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6269 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6270 background-color, change also the colors of the default face for
6271 this frame.
6272
a640322e
EZ
62732000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6274
6275 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6276 them extern (they are defined on xfaces.c).
6277 (syms_of_msdos): Don't intern and don't staticpro
6278 Qbackground_color and Qforeground_color.
6279
a115794c
EZ
62802000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6281
6282 * frame.c (Fframe_parameter): For non-windowed frames, if
6283 f->param_alist says foreground or background color is unspecified,
6284 call tty_color_name to return the color name computed from the
6285 frame's current colors.
6286
f5533b63
DL
62872000-10-06 Dave Love <fx@gnu.org>
6288
6289 * terminfo.c (ospeed): Don't declare.
6290
6291 * sysdep.c: Don't include string.h.
6292 (h_errno): Declare conditional also on TRY_AGAIN.
6293
6294 * charset.c (Ffind_charset_string): Doc fix.
6295
52283633 6296 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6297 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6298 error messages.
6299
2b06561a
DL
63002000-10-05 Dave Love <fx@gnu.org>
6301
6302 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6303 position like menu-bar.
6304
ca839c85
GM
63052000-10-05 Gerd Moellmann <gerd@gnu.org>
6306
6307 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6308
6309 * xdisp.c (handle_single_display_prop): Use safe_call1.
6310 (safe_call): Renamed from call_function.
6311 (safe_call1): New function.
6312 (handle_fontified_prop): Use safe_call1 instead of call1.
6313 (safe_eval): Renamed from eval_form.
6314 (safe_eval_handler): Renamed from eval_handler.
6315 (handle_single_display_prop, display_mode_element): Use safe_eval
6316 instead of eval_form.
6317
6318 * xfaces.c (merge_face_heights): Use safe_call instead of
6319 call_function.
6320
6321 * keyboard.c (show_help_echo): Use safe_call instead of
6322 call_function; use safe_eval instead of eval_form.
6323
6324 * lisp.h (safe_call): Renamed from call_function.
6325 (safe_eval): Renamed from eval_form.
6326 (safe_call1): Add prototype.
6327
a3489ece
MB
63282000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6329
6330 * xfns.c (image_ascent): Rearrange ascent calculation for the
6331 has-a-font case.
6332
35810b6f
SM
63332000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6334
6335 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6336 (where_is_internal_1): Don't bother ignoring menu-items any more.
6337
3dc78168
GM
63382000-10-04 Gerd Moellmann <gerd@gnu.org>
6339
6340 * keyboard.c (update_menu_bindings): New variable.
6341 (parse_menu_item): Use AREF. If update_menu_bindings
6342 is 0, don't update menu bindings.
6343 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6344
1efc2bb9
EZ
63452000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6346
6347 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6348 to `mark_object'.
6349
3f679f55
SM
63502000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6351
6352 * syntax.c (forw_comment): Match nestedness of ender/starter.
6353 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6354 (prev_char_comstart_first): Remove.
6355 (back_comment): Check two-char comment markers more carefully
6356 to better handle overlapping cases like *//* or /* */* */ ...
6357 Match nestedness of ender/starter.
6358
2021ab61
DL
63592000-10-02 Dave Love <fx@gnu.org>
6360
6361 * config.in (HAVE_GAI_STRERROR): Add undef.
6362
6363 * process.c (Fopen_network_stream): Use it.
6364
6365 * m/alpha.h (NO_REMAP): Don't define.
6366
64e6cc18
GM
63672000-10-02 Gerd Moellmann <gerd@gnu.org>
6368
6369 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6370 return with a string converted to an integer or vice versa when
6371 Vmocklisp_arguments is t.
6372 (Fsignal): Likewise. The function can return for `quit'.
6373 (struct gcpro): Declare member `var' to point to a volatile
6374 Lisp_Object.
6375
6376 * eval.c (error): Prevent compiler warning.
6377
b1904cd9
SM
63782000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6379
6380 * keymap.c (keymap_memberp): New function.
6381 (Fset_keymap_parent): Use it.
6382 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6383 Use keymap_memberp to avoid creating cycles.
6384 (access_keymap): Use KEYMAPP.
6385
71c9ec51
GM
63862000-09-30 Gerd Moellmann <gerd@gnu.org>
6387
6388 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6389 gai_strerror. Make sure xerrno is set if connect fails. Improve
6390 error recovery.
71c9ec51 6391
c70c6b58
JR
63922000-09-29 Jason Rumney <jasonr@gnu.org>
6393
6394 * w32term.c (w32_char_font_type, w32_encode_char)
6395 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6396 (w32_bdf_per_char_metric): New function.
6397 (w32_per_char_metric): Use it.
6398 (x_draw_glyph_string_background): Always draw background for BDF
6399 glyphs.
6400
6401 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6402 GDI object which is a scarce resource.
6403
6404 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6405 (get_quoted_string): Fix limit on memchr search.
6406 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6407 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6408 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6409 (get_cached_font_char, cache_char_offset): Use macro
6410 BDF_CODEPOINT_RANGE_COVER_P.
6411 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6412 (clear_cached_bitmap_slots): New function.
6413 (GET_HEX_VALUE): G-Z, g-z are not hex.
6414 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6415 (get_bitmap_with_cache): Use new cache implementation.
6416 (create_offscreen_bitmap): New function.
6417 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6418
6419 * w32term.c (x_produce_glyphs): If the distance from the current
6420 position to the next tab stop is less than a canonical character
6421 width, use the tab stop after that.
6422 (x_draw_glyphs): Handle case START and END are out of bounds more
6423 carefully.
6424 (x_clear_mouse_face): Block/unblock input.
6425 (x_display_and_set_cursor): Don't show a hollow box cursor for
6426 buffers whose cursor_type is nil.
6427
fe01239f
GM
64282000-09-29 Gerd Moellmann <gerd@gnu.org>
6429
52283633 6430 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6431
6432 * dispextern.h (updating_frame): Declare extern.
6433
e7c52f1f
AS
64342000-09-29 Andreas Schwab <schwab@suse.de>
6435
6436 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6437
de6e1f7c
GM
64382000-09-29 Gerd Moellmann <gerd@gnu.org>
6439
25126faa
GM
6440 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6441 use its function definition.
6442 (tool_bar_items): Likewise.
6443
de6e1f7c 6444 * lisp.h (fatal): Declare NO_RETURN.
52283633 6445
454ee39b
KH
64462000-09-29 Kenichi Handa <handa@etl.go.jp>
6447
6448 * keymap.c: Remove the line "#undef NULL".
6449
96301c5f
GM
64502000-09-28 Gerd Moellmann <gerd@gnu.org>
6451
52283633 6452 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6453
efffeeb4
DL
64542000-09-28 Dave Love <fx@gnu.org>
6455
ecb8b666
DL
6456 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6457
dc3cd20f
DL
6458 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6459
6460 * .gdbinit (xreload): Note its need on GNU/Linux.
6461
efffeeb4
DL
6462 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6463 r_alloc, r_alloc_free.
6464
8610d903
KH
64652000-09-28 Kenichi Handa <handa@etl.go.jp>
6466
6467 * syntax.c (skip_chars): Handle negation correctly.
6468
8901d1ac
GM
64692000-09-27 Gerd Moellmann <gerd@gnu.org>
6470
6f22f1ad
GM
6471 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6472 with non-zero FORCE_P argument.
6473
52283633 6474 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6475 Add assertions.
6476
6477 * xdisp.c (window_box_height): Add an assertion.
6478
6479 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6480 tool-bar than is available.
6481 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6482
36f1966f
DL
64832000-09-27 Dave Love <fx@gnu.org>
6484
efffeeb4 6485 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6486
31d929e5
GM
64872000-09-26 Gerd Moellmann <gerd@gnu.org>
6488
c98863bf
GM
6489 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6490 instead of BITS_PER_INT.
6491 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6492 EMACS_UINT, respectively.
6493 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6494
6495 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6496
6497 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6498
77072ab1
GM
6499 * window.c (freeze_window_starts): Construct last argument for
6500 foreach_window differently.
6501
6502 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6503
6504 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6505 EMACS_UINT instead of `int' and `unsigned int'.
6506 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6507
6508 * frame.h (struct frame): Make the `nothing' member of union
6509 output_data an EMACS_INT.
6510
52283633 6511 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6512 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6513 size in the sdata structure.
6514 (SDATA_NBYTES, SDATA_DATA): New macros.
6515 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6516 differently for the different layout of the sdata structure.
6517 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6518 in sdata.
6519 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6520 Check that size recorded in the string size and size recorded in
6521 the sdata structure agree.
6522
3e60b029
DL
65232000-09-25 Dave Love <fx@gnu.org>
6524
6525 * buffer.c: Include stdio.h.
6526
6527 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6528
3e60b029
DL
6529 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6530
6531 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6532 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6533 (__malloc_extra_blocks): Declare as __malloc_size_t.
6534
8ff16b4e
GM
65352000-09-25 Gerd Moellmann <gerd@gnu.org>
6536
755a2ccd
GM
6537 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6538
d8b4516f
GM
6539 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6540 (read_char): If help-echo is showing, preserve the echo area
6541 when redisplaying.
6542
6543 * xdisp.c (help_echo_showing_p): New variable.
6544 (set_message): Reset it to 0.
6545 (init_xdisp): Initialize help_echo_showing_p.
6546
6547 * dispextern.h (help_echo_showing_p): Declare extern.
6548
6549 * config.in: Fix typo in __GNUC_MINOR__.
6550
6551 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6552
b11af2dd
GM
6553 * s/freebsd.h (POSIX_SIGNALS): Define.
6554
8ff16b4e
GM
6555 * xterm.c (x_clear_mouse_face): Block/unblock input.
6556
844eb643
DL
65572000-09-24 Dave Love <fx@gnu.org>
6558
6559 * fns.c (base64_encode_1): Fix last change.
6560
b30ab1b3
GM
65612000-09-22 Gerd Moellmann <gerd@gnu.org>
6562
6563 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6564
6565 * xdisp.c (try_window_reusing_current_matrix): More fixes
6566 for the case window has a header-line.
6567
c6cbe5f0
DL
65682000-09-22 Dave Love <fx@gnu.org>
6569
4c7c1f3f
DL
6570 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6571 a doc string.
6572
6573 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6574
c6cbe5f0
DL
6575 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6576
550a625e
GM
65772000-09-21 Gerd Moellmann <gerd@gnu.org>
6578
4c7c1f3f 6579 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6580 for GCC >= 2.5.
6581
52283633
SM
6582 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6583 Declare NO_RETURN.
fca99116 6584
80d26f99
GM
6585 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6586 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6587 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6588 warnings.
52283633 6589
80d26f99
GM
6590 * marker.c (byte_char_debug_check): Return void.
6591
623a0aae
GM
6592 * xfns.c (Fx_create_frame): Set default frame parameter value
6593 for tool-bar-lines to 1.
6594
6595 * dispnew.c (scrolling_window): Compare y-positions of rows
6596 equal at the start. Some simplification.
6597
6598 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6599 reused rows' y-position in the case window has a header-line, and
6600 new window start is greater than old window start.
6601
42ac0ae5
GM
6602 * process.c (process_sent_to): New variable.
6603 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6604 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6605 Declare more parameters volatile.
6606
550a625e
GM
6607 * lread.c (Vrecursive_load_depth_limit): New variable.
6608 (Fload): Check recursive loads whose recursion depth exceeds
6609 Vrecursive_load_depth_limit.
6610 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6611
8320414c
GM
66122000-09-20 Gerd Moellmann <gerd@gnu.org>
6613
f46c275e
GM
6614 * fileio.c (Fread_file_name): Doc fix.
6615
6616 * editfns.c (Fmessage_or_box): Doc fix.
6617
6618 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6619
b7e11c5b 6620 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6621
8320414c
GM
6622 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6623 symbols are specified, add color translations to the cache.
52283633 6624 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6625 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6626 xpm_cache_color.
6627 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6628 structures to xpm_init_color_cache.
6629
da1608d9
GM
66302000-09-19 Gerd Moellmann <gerd@gnu.org>
6631
52283633 6632 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6633
6badfa25
AI
66342000-09-19 Andrew Innes <andrewi@gnu.org>
6635
6636 * makefile.nt (bootstrap-emacs): Don't change directory.
6637
3a5f42bb
KH
66382000-09-19 Kenichi Handa <handa@etl.go.jp>
6639
1b7649bd
KH
6640 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6641
3a5f42bb
KH
6642 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6643 If output buffer is too small, signal an appropriated error.
6644
9f83cf0b
DL
66452000-09-18 Dave Love <fx@gnu.org>
6646
52283633 6647 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6648 (current_active_maps): Remove redundant get_local_map call.
6649
28c7826c
GM
66502000-09-18 Gerd Moellmann <gerd@gnu.org>
6651
5cefa566
GM
6652 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6653 cursor for buffers whose cursor_type is nil.
52283633 6654
6fed3546
GM
6655 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6656 a feature to implement that is already implemented.
6657 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6658 warnings.
6659
6660 * xfns.c (x_clear_image_1): New function.
6661 (x_clear_image): Use it.
52283633 6662 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6663
05b1f851
GM
6664 * dispnew.c (update_window): Move test for invisible lines
6665 at the top to update_window_line.
6666 (update_window_line): Handle invisible lines here.
6667
f4779de9
GM
6668 * xfns.c (clear_image_cache): Clear current matrices of all
6669 frames sharing an image cache. Block input while freeing
6670 images. Fix timestamp comparison.
6671 (x_clear_image): Also free the mask.
6672
28c7826c
GM
6673 * xfns.c (lookup_image): Block input while loading the image so
6674 that we won't get interrupted in a state where the image isn't yet
6675 set up completely.
6676 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6677 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6678 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6679 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6680
b7412313
GM
66812000-09-16 Gerd Moellmann <gerd@gnu.org>
6682
6683 * dispnew.c (update_window): Make sure to make desired rows
6684 current even if they are completely invisible at the top
6685 of a window.
6686
47e351a3
GM
66872000-09-15 Gerd Moellmann <gerd@gnu.org>
6688
7f8f1edc
GM
6689 * xfns.c (lookup_image): Build mask before applying an algorithm.
6690 Recognize algorithm `disabled'.
6691 (cross_disabled_images): New variable.
6692 (COLOR_INTENSITY): New macro.
6693 (x_detect_edges): Use COLOR_INTENSITY.
6694 (x_disable_image): New function.
6695 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6696
6697 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6698 disabled state, don't apply an image transformation algorithm if
6699 the user specified an image for the disabled state. Use
28c7826c 6700 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6701 user hasn't specified an image.
6702
ebb8f116
GM
6703 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6704 allocation functions with the XPM lib.
6705 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6706 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6707 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6708 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6709 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6710 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6711 functions, if possible, because these handle color allocation
6712 failure more gracefully.
6713 (Fimage_mask_p): New function.
6714
47e351a3
GM
6715 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6716 (Qedge_detection, Qheuristic): New symbols.
6717 (syms_of_xfns): Initialize new symbols.
6718 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6719 `algorithm (edge-detection ...)'.
6720 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6721 (tiff_format, gif_format, gs_format): Add `:mask'.
6722 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6723 (GIF_MASK, GS_MASK): New enumerators.
6724 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6725 (emboss_matrix, laplace_matrix): New variables.
6726 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6727 (x_edge_detection): New functions.
6728 (x_laplace): Rewritten in terms of x_detect_edges.
6729 (x_build_heuristic_mask): If image has a mask, free it.
6730
fe83b953
AI
67312000-09-14 Andrew Innes <andrewi@gnu.org>
6732
6733 * makefile.w32-in: Revert to Unix line endings.
6734
3021e816
AI
67352000-09-14 Andrew Innes <andrewi@gnu.org>
6736
6737 * makefile.w32-in: Standardize indentation somewhat.
6738 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6739 cater for differences between shells.
6740
6741 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6742
2a32b5ea
GM
67432000-09-14 Gerd Moellmann <gerd@gnu.org>
6744
6745 * xterm.c (x_produce_glyphs): If the distance from the current
6746 position to the next tab stop is less than a canonical character
6747 width, use the tab stop after that.
6748
b4331e96
DL
67492000-09-14 Dave Love <fx@gnu.org>
6750
6751 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6752
ef9e4345
GM
67532000-09-14 Gerd Moellmann <gerd@gnu.org>
6754
085536c2
GM
6755 * xdisp.c (handle_fontified_prop): While running fontification
6756 functions, bind `fontification-functions' and
6757 `after-change-functions' to nil.
6758
ef9e4345
GM
6759 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6760 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6761
6762 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6763
6764 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6765 USE_MMAP_FOR_BUFFERS.
6766
6767 * insdel.c (make_gap): Use enlarge_buffer_text.
6768
6769 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6770 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6771 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6772 from former r_alloc_* functions in ralloc.c.
52283633 6773 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6774 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6775 (mmap_init) [REL_ALLOC_MMAP]: New function.
6776 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6777 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6778 BUFFER_FREE.
6779
6780 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6781 (enlarge_buffer_text): Add prototype.
6782
6783 * ralloc.c: Remove everything having to do with the use of mmap.
6784
f8608968
GM
67852000-09-13 Gerd Moellmann <gerd@gnu.org>
6786
2a494b2d
GM
6787 * sound.c (Fplay_sound): Doc fix.
6788
8c907a56
GM
6789 * keyboard.c: Avoid some more compiler warnings.
6790 (parse_tool_bar_item): Ignore cached key bindings.
6791
f8608968
GM
6792 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6793 and allocation of Lisp data.
6794
6ab70e9a
GM
67952000-09-12 Gerd Moellmann <gerd@gnu.org>
6796
d12d0a9b
GM
6797 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6798 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6799 defaults first.
6800
6ab70e9a
GM
6801 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6802
63c36c3c
KH
68032000-09-12 Miyashita Hisashi <himi@meadowy.org>
6804
6805 * ccl.c: Comment fixed.
6806 (MAX_MAP_SET_LEVEL): Increased to 30.
6807 (PUSH_MAPPING_STACK): Enclose with do-while block.
6808 (POP_MAPPING_STACK): Likewise.
6809 (stack_idx_of_map_multiple): New variable.
6810 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6811 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6812 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6813 (ccl_driver) <CCL_MapSingle>: Likewise.
6814 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6815 with the case where looking up process reaches to the end of
6816 map-set, and call CCL programs as the above change.
6817
7ee3bd7b
GM
68182000-09-11 Gerd Moellmann <gerd@gnu.org>
6819
8ec8a5ec
GM
6820 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6821 that might be clobbered by longjmp.
6822 (check_x_display_info, x_decode_color, create_frame_xic)
6823 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6824 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6825
f74b0705
GM
6826 * lread.c (init_lread): Set Vloads_in_progress to nil.
6827 (Fload): Show list of recursively loaded files, when signaling an
6828 error.
6829
7ee3bd7b
GM
6830 * lread.c (Vloads_in_progress): New variable.
6831 (record_load_unwind): New function.
6832 (Fload): Check for recursive loads.
6833 (syms_of_lread): Initialize Vloads_in_progress.
6834 (read_integer, read1): Avoid some compiler warnings.
6835
6836 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6837 compiler warnings.
6838
974e1e5b
MB
68392000-09-11 Miles Bader <miles@gnu.org>
6840
6841 * editfns.c (Fbuffer_string): Doc fix.
6842
9824c4e3
GM
68432000-09-10 Gerd Moellmann <gerd@gnu.org>
6844
6845 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6846
6a72fdd1
KR
68472000-09-09 Ken Raeburn <raeburn@gnu.org>
6848
6849 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6850 whether to include other header files.
6851
28e6fb66
GM
68522000-09-09 Gerd Moellmann <gerd@gnu.org>
6853
52283633 6854 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6855 by Fmemq as a boolean.
28e6fb66 6856
7f8b6551
SM
68572000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6858
6859 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6860
a8710abf
GM
68612000-09-08 Gerd Moellmann <gerd@gnu.org>
6862
d1a02881
GM
6863 * ralloc.c (mmap_fd): Remove initializer which can make it
6864 read-only in a dumped Emacs.
6865 (mmap_fd_1): New variable.
6866 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6867 restore it from there.
6868 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6869 unconditionally so that mmap_fd can be initialized there.
6870 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6871 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6872 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6873
c454aac1
GM
6874 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6875
6876 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6877 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6878
fc653ef2
GM
6879 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6880
3015eec0
GM
6881 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6882 inheritance.
6883
bfe0ee88
GM
6884 * xdisp.c (try_window_id): When trying to locate cursor in
6885 unchanged rows at the top, handle the case that we can't find it.
6886
a8710abf
GM
6887 * xterm.c (x_draw_glyphs): Handle case START and END are out
6888 of bounds more carefully.
6889
6b7d4ae4
DL
68902000-09-08 Dave Love <fx@gnu.org>
6891
423193c5
DL
6892 * s/sol2.h (REL_ALLOC_MMAP): Define.
6893 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6894
6895 * ralloc.c: Don't include string.h (redundant).
6896 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6897 [!MAP_ANON]: Include fcntl.h.
6898 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6899 (r_alloc, r_re_alloc, r_alloc_free)
6900 (mmap_enlarge, mmap_set_vars): Use it.
6901 (r_alloc_init_fd): New function.
6902 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6903 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6904 malloc type.
6905
6906 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6907 Remove vm-limit.o.
6908
6b7d4ae4
DL
6909 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6910 change to __NetBSD__.
6911
44d31981
KH
69122000-09-08 Kenichi Handa <handa@etl.go.jp>
6913
6914 * search.c (compile_pattern): Check the multibyteness of cached
6915 string and PATTERN.
6916
aad40737
MB
69172000-09-08 Miles Bader <miles@gnu.org>
6918
6919 * xfaces.c (default_face_vector): Function removed.
6920 (Finternal_merge_in_global_face): Restore old global/local
6921 attribute override order. Use inline loop instead of calling
6922 default_face_vector.
6923
91a211b5
GM
69242000-09-07 Gerd Moellmann <gerd@gnu.org>
6925
6926 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6927 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6928 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6929 where necessary, in case POINTER_TYPE is `void'.
6930
03419440
EZ
69312000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6932
6933 * frame.c (make_terminal_frame): Initialize frame foreground and
6934 background colors to unspecified, for the initial instance of an
6935 MSDOS frame.
6936
f46f845b
GM
69372000-09-07 Gerd Moellmann <gerd@gnu.org>
6938
24f76fbf
GM
6939 * ralloc.c (mmap_find): Fix overlap computation.
6940 (mmap_enlarge): Compute nbytes before trying to find an
6941 overlapping region.
6942
f46f845b
GM
6943 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6944 instead of `!='.
6945
6946 * lread.c (syms_of_lread): Change value of regexp
6947 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6948
6949 * xmenu.c (xdialog_show): When looking up the selection in
6950 menu_items, take `quote' boundaries into account; this corresponds
6951 to a nil ITEM in x-popup-dialog.
6952
3c014385
KH
69532000-09-07 Kenichi Handa <handa@etl.go.jp>
6954
fd6f711b
KH
6955 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6956 not 0x81.
6957 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6958
3c014385 6959 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6960 encoding, not decoding. Fix the handling of latin-jisx0201.
6961 Check for the charset katakana-jisx0201 too.
3c014385 6962 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6963 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6964
0da3ecef
GM
69652000-09-07 Gerd Moellmann <gerd@gnu.org>
6966
ab0ee409
GM
6967 * xfaces.c (Vparam_value_alist): New variable.
6968 (syms_of_xfaces): Initialize it.
6969 (Finternal_set_lisp_face_attribute): Avoid more consing.
6970
6971 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6972 specially.
6973 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6974 (Qbackground_mode): New variable.
6975 (syms_of_frame_1): Initialize Qbackground_mode.
6976
6977 * lisp.h (Qdisplay): Declare extern.
1091dd67 6978
0da3ecef
GM
6979 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6980 change face on all frames, and change the default for new frames.
6981
b14654b9
DL
69822000-09-07 Dave Love <fx@gnu.org>
6983
6984 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6985
d24fd56f
KH
69862000-09-07 Kenichi Handa <handa@etl.go.jp>
6987
794f3670
KH
6988 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6989
0fddd0dc
KH
6990 * charset.c: Include composite.h
6991 (lisp_string_width): New function.
6992 (Fstring_width): Call lisp_string_width instead of strwidth.
6993
6994 * Makefile.in (charset.o): Depends on composite.h.
6995
d24fd56f
KH
6996 * process.c (read_process_output): Before inserting the decoded
6997 text in the buffer, adjust the multibyteness.
6998
fa0b693c
GM
69992000-09-06 Gerd Moellmann <gerd@gnu.org>
7000
52283633 7001 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7002 buffer's text buffer is null, map new memory.
7003
0a58f946
GM
7004 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7005 POINTER_TYPE and size_t.
7006 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7007 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7008 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7009 [REL_ALLOC_MMAP]: New macros.
7010 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7011 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7012 [REL_ALLOC_MMAP]: New functions.
7013
7014 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7015 before and after unexec.
7016
7017 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7018 text buffers if necessary.
7019
7020 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7021 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7022 in prototypes.
7023
fa0b693c
GM
7024 * config.in (HAVE_MMAP): Add #undef.
7025
877055f6
GM
70262000-09-05 Gerd Moellmann <gerd@gnu.org>
7027
08ba3862
GM
7028 * frame.c (Qdisplay_type): New variable.
7029 (syms_of_frame_1): Initialize it.
7030 (Fframe_parameter): New function that avoids consing.
7031 (syms_of_frame): Defsubr it.
7032
66ffe51c
GM
7033 * buffer.c (Fother_buffer): Consider buffers as invisible when
7034 they are displayed in a window on an invisible frame.
7035
877055f6
GM
7036 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7037 get-largest-window always return nil.
7038
bb970e67
GM
70392000-09-04 Gerd Moellmann <gerd@gnu.org>
7040
7041 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7042 variable; recognize Emacs 19 elc files.
7043
7a3d0e0e
MB
70442000-09-04 Miles Bader <miles@gnu.org>
7045
7046 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7047 before initially popping up the menu, so the menu doesn't flash
52283633 7048 when the face settings are significantly different from the defaults.
7a3d0e0e 7049
14473664
SM
70502000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7051
7052 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7053 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7054 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7055 (BIT_UNIBYTE): Remove.
7056 (re_match_2_internal): Delete corresponding code and streamline the
7057 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7058 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7059 (re_wctype_t): New type.
7060 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7061 (regex_compile): Use them and fix handling of overly long char classes.
7062
c1174479
AI
70632000-09-03 Andrew Innes <andrewi@gnu.org>
7064
f8803e97
AI
7065 * makefile.w32-in: Change to DOS line endings.
7066
c1174479
AI
7067 * s/ms-w32.h (ORDINARY_LINK): New define.
7068
7069 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7070 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7071
7072 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7073 (distclean): Delete them here instead.
7074
44ef7cf6
AI
7075 * w32proc.c (compare_env): Convert to uppercase for comparison,
7076 not lowercase, to match how the native Windows shell works.
7077
49b3bd82
JR
70782000-09-03 Jason Rumney <jasonr@gnu.org>
7079
7080 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7081 CVS changes the line-ends when checking in/out on DOS/Windows.
7082
7083 * makefile.nt (emacs): Do not change directory to run temacs, as
7084 the load-path is set relative to current directory.
7085
a3d35a39
MB
70862000-09-03 Miles Bader <miles@gnu.org>
7087
7088 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7089
d276b0cf
GM
70902000-09-02 Gerd Moellmann <gerd@gnu.org>
7091
715e84c9
GM
7092 * xdisp.c (redisplay_mode_lines): New function.
7093 (display_mode_lines): Return number of mode lines displayed.
7094 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7095 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7096
8892f40b
GM
7097 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7098 string.h and strings.h.
7099 (index) [HAVE_INDEX]: Add prototype.
7100
d276b0cf
GM
7101 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7102 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7103
7104 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7105 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7106
38404229
GM
71072000-09-01 Gerd Moellmann <gerd@gnu.org>
7108
7109 * lread.c (read1): Accept `?' as symbol constituent, for
7110 compatiblity with XEmacs.
7111
c0f9ea08
SM
71122000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7113
7114 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7115 (struct re_pattern_buffer): Remove newline_anchor.
7116 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7117 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7118 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7119 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7120 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7121 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7122 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7123 Get rid of references to newline_anchor.
7124 (regcomp): Allocate and precompute a fastmap.
7125
8c0f83fe
GM
71262000-08-31 Gerd Moellmann <gerd@gnu.org>
7127
7128 * lread.c (openp): GCPRO local variable `filename'.
7129
4bb91c68
SM
71302000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7131
7132 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7133
7134 * regex.c: Merge some changes from GNU libc. Add prototypes.
7135 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7136 Use memcmp and memcpy instead of bcopy and bcmp.
7137 (init_syntax_once): Use ISALNUM.
7138 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7139 (REG_UNSET_VALUE): Remove. Use NULL instead.
7140 (REG_UNSET, re_match_2_internal): Use NULL.
7141 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7142 New macros.
7143 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7144 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7145 (regex_compile): In handle_interval, return an error rather than try to
7146 unfetch the interval if we can't find the closing brace.
7147 Obey the RE_NO_GNU_OPS syntax bit.
7148 (TOLOWER): New macro.
7149 (regcomp): Use it.
7150 (regexec): Allocate regs.start and regs.end as one block.
7151
5226a931
GM
71522000-08-30 Gerd Moellmann <gerd@gnu.org>
7153
868dd24b
GM
7154 * xdisp.c (echo_area_display): Check display_completed instead
7155 of calling detect_input_pending.
7156
7157 * dispnew.c (update_frame): Only set display_completed here; move
7158 the update_begin and update_end calls here from update_frame_1.
7159 (update_frame_1): Don't set display_completed here, don't call
7160 update_begin/update_end.
7161
5226a931
GM
7162 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7163 instead of store_frame_param.
7164
2a8bd25f
GM
71652000-08-29 Gerd Moellmann <gerd@gnu.org>
7166
7167 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7168 desired window matrix hasn't been displayed, use the current row
7169 instead. Make sure that only those frame rows are updated for
7170 which there exists a corresponding enabled desired row.
52283633 7171
ba3478d9
MB
71722000-08-29 Miles Bader <miles@gnu.org>
7173
7174 * xfaces.c (default_face_vector): New function.
7175 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7176
87d0f685
GM
71772000-08-29 Gerd Moellmann <gerd@gnu.org>
7178
7179 * lread.c (openp): Prevent temporary string passed to
7180 Ffile_readable_p from being garbage collected.
7181
6fa86045
DL
71822000-08-28 Dave Love <fx@gnu.org>
7183
7184 * keymap.c (store_in_keymap): Add `static' to declaration.
7185
bb17930d
GM
71862000-08-28 Gerd Moellmann <gerd@gnu.org>
7187
7188 * emacs.c, callint.c, doc.c, editfns.c
7189 (toplevel) [HAVE_STRING_H]: Include string.h.
7190 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7191 (index): Remove prototypes which might conflict with non-standard
7192 definitions of index/strchr.
7193
7194 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7195 (rindex): Define only if !HAVE_RINDEX.
7196
7197 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7198
7199 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7200
87188200
MB
72012000-08-28 Miles Bader <miles@gnu.org>
7202
7203 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7204 made inconsistent by a font-related attribute in FROM.
7205 (merge_face_inheritance): Add function comment.
7206
41a68aef
KH
72072000-08-28 Kenichi Handa <handa@etl.go.jp>
7208
7209 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7210 the 4th arg (PREV_EVENT) Qt to suppress input method.
7211
f7c436c1
SM
72122000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7213
0b32bf0e
SM
7214 * regex.c: Indent cpp directives and remove parens after `defined'.
7215 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7216 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7217 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7218 (re_compile_pattern): Use size_t for length.
7219 (init_syntax_once): Move to a better place.
7220 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7221 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7222
f7c436c1
SM
7223 * syntax.c (back_comment): Detect cases where a comment-starter is
7224 actually inside another comment as in: /* a // b */ c // d \n.
7225 Make it clear that `comstart_pos' is unused for nested comments.
7226
7227 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7228 (KEYMAPP): New macro.
7229 (Fkeymap_parent, Fset_keymap_parent): Use it.
7230 (fix_submap_inheritance): Mark it static.
7231 (define_as_prefix, describe_buffer_bindings, describe_command)
7232 (describe_translation, describe_map): Complete prototypes.
7233
7234 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7235
7236 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7237 to better match the key-lookup behavior.
7238
6288c62f
GM
72392000-08-27 Gerd Moellmann <gerd@gnu.org>
7240
7241 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7242 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7243
e931344e
EZ
72442000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7245
7246 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7247 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7248 (xterm.o): Depend on coding.h
7249
d10dfeef
KH
72502000-08-26 Kenichi Handa <handa@etl.go.jp>
7251
7252 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7253 the corresponding '#endif'.
7254
2d73e8d3
MB
72552000-08-26 Miles Bader <miles@gnu.org>
7256
7257 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7258 * xfaces.c (QCinherit): New variable.
7259 (syms_of_xfaces): Initialize it.
7260 (LFACE_INHERIT): New macro.
7261 (Finternal_get_lisp_face_attribute)
52283633 7262 (merge_face_vector_with_property)
2d73e8d3
MB
7263 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7264 (check_lface_attrs): Allow new types of face height. Check
7265 inherit attribute.
7266 (CYCLE_CHECK): New macro.
7267 (merge_face_inheritance): New function.
7268 (merge_face_vectors): Merge inherited faces too. Add F and
7269 CYCLE_CHECK arguments.
7270 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7271 (lookup_named_face, lookup_derived_face, realize_named_face)
7272 (face_at_string_position, face_at_buffer_position): Supply
7273 new F and CYCLE_CHECK arguments to merge_face_vectors.
7274 (merge_face_heights): New function.
52283633 7275 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7276 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7277 handle relative face heights.
7278 (lface_same_font_attributes_p): Compare heights using EQ.
7279
6ce974d4
KH
72802000-08-26 Kenichi Handa <handa@etl.go.jp>
7281
7282 * charset.c (char_to_string): Check the character validity.
52283633 7283 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7284
dc1e502d
SM
72852000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7286
7287 * regex.c (PUSH_FAILURE_COUNT): New macro.
7288 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7289 Handle popping of a register's or a counter's data.
7290 (POP_FAILURE_POINT): Use the new name.
7291 (re_match_2_internal): Push counter data on the stack for succeed_n,
7292 jump_n and set_number_at and remove misleading dead code in succeed_n.
7293
bd9d0f3f
GM
72942000-08-25 Gerd Moellmann <gerd@gnu.org>
7295
7296 * xdisp.c (redisplay_internal): If considering all windows on all
7297 frames, update the display for each frame as soon as possible,
7298 instead of first building all desired matrices for all frames, and
7299 then updating them all.
7300 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7301
aa5b8e15
GM
73022000-08-24 Gerd Moellmann <gerd@gnu.org>
7303
17494071
GM
7304 * bytecode.c (mark_byte_stack): Add a comment.
7305
52283633
SM
7306 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7307 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7308 a graphical frame.
7309
c543db81
KH
73102000-08-24 Kenichi Handa <handa@etl.go.jp>
7311
d246d5f5
KH
7312 * minibuf.c (do_completion): Always use compare-string, not
7313 string-equal because the latter doesn't pay attention to
7314 multibyteness of strings.
7315
c543db81
KH
7316 * process.c (create_process): Don't setup raw-text coding here.
7317 (Fopen_network_stream): Don't set coding->src_multibyte and
7318 coding->dst_multibyte here.
7319 (read_process_output): For process filter, return unibyte string
7320 if default-enable-multibyte-characters is nil.
7321 (send_process): If OBJECT is multibyte text, be sure to encoded it
7322 by the specified coding system for the process. Otherwise, setup
7323 raw-text coding.
52283633 7324 (init_process): Don't initialize default-process-coding-system here.
c543db81 7325
9b47cfe0
EZ
73262000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7327
7328 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7329 <scroll-down-aggressively>: Likewise.
7330
f5a36960
KH
73312000-08-23 Kenichi Handa <handa@etl.go.jp>
7332
7333 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7334 zero. Set coding->produced_char correctly.
7335
69a7ffa7
AI
73362000-08-22 Andrew Innes <andrewi@gnu.org>
7337
7338 * makefile.w32-in: New file.
7339
7340 * unexw32.c (unexec): Ignore old_name, and use the actual location
7341 of the current executable instead. Base new_name on this.
7342
7343 * w32proc.c (create_child): Remove reference to security
7344 descriptor, which isn't needed and doesn't compile with mingw32.
7345
7346 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7347 up dllimport attributes.
7348 (x_update_window_end): Update prototype.
7349
7350 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7351 extern, which screws up dllimport attributes.
7352
7353 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7354 up dllimport attributes.
7355
7356 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7357 screws up dllimport attributes.
7358
7359 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7360 up dllimport attributes.
7361 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7362 screws up dllimport attributes.
7363
7364 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7365 up dllimport attributes.
7366
7367 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7368 screws up dllimport attributes.
7369
7370 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7371 screws up dllimport attributes.
7372
7373 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7374 up dllimport attributes.
7375
7376 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7377 unnecessary extern, which screws up dllimport attributes.
7378 (main): Ditto.
7379
7380 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7381 up dllimport attributes.
7382
7383 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7384 unnecessary extern, which screws up dllimport attributes.
7385
7386 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7387 screws up dllimport attributes.
7388
7389 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7390 up dllimport attributes.
7391
7392 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7393
52283633
SM
7394 * w32bdf.c (search_file_line):
7395 (set_bdf_font_info):
7396 (seek_char):
7397 (w32_get_bdf_glyph):
69a7ffa7
AI
7398 (w32_BDF_to_x_font): Fix compile warnings.
7399
52283633 7400 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7401
7402 * w32select.c: Include keyboard.h before frame.h.
7403
7404 * w32fns.c (max): Define macro.
7405 (JOHAB_CHARSET): Define if not known.
7406 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7407 (Fx_show_tip): Synch with X version.
7408
7409 * w32xfns.c: Include keyboard.h before frame.h.
7410
7411 * w32fns.c: Include keyboard.h before frame.h.
7412
7413 * w32term.c: Include keyboard.h before frame.h.
7414
7415 * fontset.c: Include keyboard.h before frame.h.
7416
7417 * w32inevt.c: Include keyboard.h before frame.h.
7418 (MOUSE_MOVED): Define if not known.
7419
7420 * minibuf.c: Include keyboard.h before frame.h.
7421
7422 * keyboard.c: Include keyboard.h before frame.h.
7423
7424 * indent.c: Include keyboard.h before frame.h.
7425
7426 * dispnew.c: Include keyboard.h before frame.h.
7427
7428 * buffer.c: Include keyboard.h before frame.h.
7429
7430 * alloc.c: Include keyboard.h before frame.h.
7431
7432 * print.c: Include keyboard.h before frame.h.
7433
7434 * process.c: Include keyboard.h before frame.h.
7435
7436 * scroll.c: Include keyboard.h before frame.h.
7437
7438 * sysdep.c: Include keyboard.h before frame.h.
7439
7440 * term.c: Include keyboard.h before frame.h.
7441
7442 * window.c: Include keyboard.h before frame.h.
7443
7444 * xdisp.c: Include keyboard.h before frame.h.
7445 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7446
7447 * frame.c: Include keyboard.h before frame.h.
7448
7449 * w32heap.h: Undefine min, max.
7450
7451 * w32gui.h: Undefine min, max.
7452
7453 * unexw32.c: Change PUCHAR to PCHAR.
7454 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7455 (relocate_offset):
7456 (get_section_info):
69a7ffa7
AI
7457 (copy_executable_and_dump_data): Remove unnecessary static defs.
7458 (copy_executable_and_dump_data): Fix compile warnings.
7459
7460 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7461
7462 * w32console.c (min): Define macro.
7463 (clear_frame, write_glyphs): Fix compile warning.
7464
52283633 7465 * w32proc.c (compare_env):
69a7ffa7
AI
7466 (find_child_console): Fix compile warning.
7467
7468 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7469 sys_errlist instead of _sys_errlist.
7470 (get_emacs_configuration_options): New function.
7471
7472 * s/ms-w32.h (sys_nerr): Provide default definition.
7473 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7474 name with _ prepended.
7475 (NSIG): Define if not known.
7476 (get_emacs_configuration): Provide extern declaration.
7477 (get_emacs_configuration_options): Provide extern declaration.
7478 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7479
7480 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7481 (map_w32_filename):
69a7ffa7
AI
7482 (read_unc_volume): Fix compile warning.
7483
7484 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7485 definitions from being used.
7486
7487 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7488
52283633 7489 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7490 (open_unc_volume): Make arg const.
7491
7492 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7493 (read_input_waiting): Remove excess parameter.
7494
7495 * w32.c (init_environment): Call _access.
7496 (check_windows_init_file): Call _close.
7497 (init_user_info): Call _putenv.
7498 (init_environment): Call _putenv and _strdup.
7499 (init_ntproc): Reset volume info cache on startup.
7500
7501 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7502 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7503 cannot override the CRT malloc.
7504
7505 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7506 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7507
7508 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7509 unless we are linking with a static CRT.
7510 (RVA_TO_PTR): Cast result to unsigned char*.
7511
7512 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7513 (add_volume_info): Use xstrdup.
7514
25060080
SM
75152000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7516
7517 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7518 (do_completion, Fminibuffer_complete_word): Use it.
7519 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7520 var so it can take non-boolean values.
7521
6917e6bb
GM
75222000-08-21 Gerd Moellmann <gerd@gnu.org>
7523
acb7cc89 7524 * editfns.c (find_field): Formatting changes.
52283633 7525 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7526 changed to prototypes, some new protypes added, some functions
7527 made static.
7528
7529 * lisp.h (set_time_zone_rule): Add prototype.
7530 (use_dialog_box): External declaration.
7531
0bbfdc25
GM
7532 * keyboard.c (gen_help_event): Add parameter SIZE.
7533 (kbd_buffer_events_waiting): Slightly rewritten.
7534 (clear_event): New function.
7535 (kbd_buffer_get_event): Use it, and clear the input_events of
7536 HELP_EVENTs.
7537 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7538 don't fill the newly created array with nils.
7539 (toplevel): Convert some old-style function forward declarations
7540 to prototypes.
7541
7542 * keyboard.h (gen_help_event): Change prototype.
7543
7544 * xterm.c (XTread_socket): Change calls to gen_help_event.
7545
7546 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7547
6917e6bb
GM
7548 * eval.c (Fmacroexpand): Doc fix.
7549
e5cd3d11
JR
75502000-08-20 Jason Rumney <jasonr@gnu.org>
7551
7552 * w32term.h (x_display_info_for_display): Remove as this function
7553 does not exist on W32.
7554
7555 * w32term.c (help_echo_window): New variable.
7556 (syms_of_w32term): staticpro it.
7557 (note_mode_line_highlight): Set it.
7558 (XTextExtents16): Removed as there is no equivalent on W32.
7559 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7560 the X way of doing this will not work for W32.
7561 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7562 (x_draw_image_foreground): Avoid drawing outside of the clip area
7563 when image doesn't have a mask.
7564 (note_mouse_highlight): Process overlays in the right order of
7565 priority. Set help_echo_window.
7566 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7567 because that's more visible for large images.
7568
7569 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7570 name to single_keymap_panes.
7571 (w32_menu_show): Set wv->title when dealing with titles.
7572 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7573
6e69ab8c
MB
75742000-08-21 Miles Bader <miles@gnu.org>
7575
7576 * minibuf.c (do_completion): Try again if we rewrite the input
7577 string, but no completion was done, so that any completion message
7578 will be correct.
7579
511bd4eb
GM
75802000-08-20 Gerd Moellmann <gerd@gnu.org>
7581
7582 * xfaces.c (lface_equal_p): Compare strings differently.
7583 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7584 (realize_tty_face): Use them.
7585 (syms_of_xfaces): Initialize new variables.
7586 (map_tty_color): New function, extracted from realize_tty_face.
7587 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7588 foreground or background color, store the new color name in the
7589 realized face; previous code trying to do this had no effect.
7590 (realize_tty_face): Use map_tty_color.
7591 (Fclear_face_cache): Set face_change_count and ensure thorough
7592 redisplay.
7593
1433385f
GM
75942000-08-19 Gerd Moellmann <gerd@gnu.org>
7595
511bd4eb
GM
7596 * undo.c (record_first_change, record_marker_adjustment): Don't
7597 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7598
419ac0a2
KH
75992000-08-18 Kenichi Handa <handa@etl.go.jp>
7600
7601 * coding.c (decode_coding_string): Set members consumed,
7602 consumed_char, produced, produced_char of *coding correctly. If
7603 decode_coding doesn't consume any byte, don't try anymore.
7604 (encode_coding_string): Likewise.
7605
7eb9e30d
GM
76062000-08-18 Gerd Moellmann <gerd@gnu.org>
7607
511bd4eb
GM
7608 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7609 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7610
7611 * xdisp.c (redisplay_internal): Compare windows for equality with
7612 EQ, instead of applying XWINDOW to something that might not
7613 be a window.
52283633 7614
dd34a735
KH
76152000-08-18 Kenichi Handa <handa@etl.go.jp>
7616
7617 * fontset.c (Finternal_char_font): Search only the selected frame
7618 for a window of the current buffer.
7619
385ff9e3
GM
76202000-08-18 Gerd Moellmann <gerd@gnu.org>
7621
511bd4eb 7622 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7623 Lisp_Objects.
7624
385ff9e3
GM
7625 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7626 second half of a HELP_EVENT is found at the start of kbd_buffer.
7627
d6abb4c7
MB
76282000-08-18 Miles Bader <miles@gnu.org>
7629
4618074a
MB
7630 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7631
d6abb4c7
MB
7632 * editfns.c (save_restriction_save): Rewrite to use markers.
7633 (save_restriction_restore): Rewrite to understand new form of data
7634 saved by save_restriction_save.
7635 (Fsave_restriction): Remove cautionary note in doc-string.
7636
a7b28523
GM
76372000-08-17 Gerd Moellmann <gerd@gnu.org>
7638
7639 * fileio.c (build_annotations): Add a comment explaining the
7640 return value of format-annotate-function. Replace a spurious call
7641 to Flength with a CONSP test. Call format-annotate-function with
7642 a fifth arg specifying how many times the function is been called
7643 in a row, to let it choose temporary buffers appropriately.
7644
03c9ed77
DL
76452000-08-17 Dave Love <fx@gnu.org>
7646
7647 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7648 declare make_temp_name twice.
7649
52283633 7650 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7651 (unreadpure): Give it an arg.
7652
7653 * unexalpha.c: Prototype fatal_unexec, mark_x,
7654 update_dynamic_symbols. Declare unexec as void.
7655
7656 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7657 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7658
7659 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7660 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7661
7662 * alloca.c: Use #error.
7663 [POINTER_TYPE]: Use it.
7664
7665 * eval.c (Fdefvar): Doc fix.
7666
7667 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7668 INITIALIZE_INTERVAL.
7669
7670 * buffer.h: Avoid DECLARE_INTERVALS.
7671
7672 * config.in: Add size_t.
7673
aae41d97
EZ
76742000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7675
7676 * w16select.c (set_clipboard_data): If there's not enough memory
7677 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7678 expects. In case of other failures, return 3.
7679 (system_error_msg): New error message.
7680 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7681 system_error_msg.
7682
65aa5e85
GM
76832000-08-16 Gerd Moellmann <gerd@gnu.org>
7684
7685 * term.c (write_glyphs): Also turn off inverse video after turning
7686 off other appearances in case TS_exit_attribute_mode is not equal
7687 to TS_end_standout_mode.
7688 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7689 with the same face.
7690 (turn_off_face): Reset standout_mode only if
7691 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7692 is equal to TS_end_standout_mode.
7693
ece23901
KH
76942000-08-16 Kenichi Handa <handa@etl.go.jp>
7695
9d7bcb2e
KH
7696 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7697 sequence at the end of the source block.
7698
ece23901
KH
7699 * ccl.c (Fccl_program_p): Docstring modified.
7700 (Fccl_execute): Likewise.
7701 (Fccl_execute_on_string): Likewise.
7702
5e30eaa2
EZ
77032000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7704
7705 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7706
290602fd
KH
77072000-08-16 Kenichi Handa <handa@etl.go.jp>
7708
7709 The following changes are mainly to fix bugs of
7710 encode/decode-coding-string failing if encoding/decoding return
7711 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7712 variable conversion_buffer.
7713
7714 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7715 decrement dst_end to avoid buffer overflow in the later call of
7716 string_as_multibyte
7717
7718 * coding.h (conversion_buffer_size, conversion_buffer)
7719 (get_conversion_buffer): Extern deleted.
7720
7721 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7722 (conversion_buffer, conversion_buffer_size): Variables deleted.
7723 (get_conversion_buffer): Function deleted.
7724 (struct conversion_buffer): New structure.
7725 (MAX_ALLOCA): New macro.
7726 (allocate_conversion_buffer): New macro.
7727 (extend_conversion_buffer, free_conversion_buffer): New functions.
7728 (ccl_coding_driver): Set coding->result.
7729 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7730 this is the last block of source.
7731 (encode_coding): Likewise. Handle the source block as the last
7732 one only when the whole source text is consumed.
7733 (decode_coding_string): Handle the case that the output buffer is
7734 too small to decode the whole source text. Use
7735 allocate_conversion_buffer, extend_conversion_buffer and
7736 free_conversion_buffer, not get_conversion_buffer.
7737 (encode_coding_string): Likewise.
7738 (init_coding): Function deleted.
52283633 7739 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7740
7741 * emacs.c (main): Don't call init_coding.
7742
52283633 7743 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7744
7745 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7746 (insert_glyphs): Likewise.
7747
7748 * w32console.c (write_glyphs): Use a locally declared
7749 conversion_buffer.
7750
b9f80d41
EZ
77512000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7752
7753 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7754 member of display_info is NULL.
7755
32dc52f7
GM
77562000-08-15 Gerd Moellmann <gerd@gnu.org>
7757
52283633 7758 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7759
32dc52f7 7760 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7761 appearances with capability `me'.
32dc52f7
GM
7762 (write_glyphs): Switch on inverse video before each face change.
7763
4eb22d33
DL
77642000-08-14 Dave Love <fx@gnu.org>
7765
7766 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7767 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7768 (lisp_free): Declare and make static.
7769
7770 * window.c: Fix embedded comment.
7771 (syms_of_window): Fix doc string.
7772
90cbf47e
GM
77732000-08-14 Gerd Moellmann <gerd@gnu.org>
7774
52283633 7775 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7776 make sure to print `C-' before `M-', like in the manual.
7777
440fc135
GM
77782000-08-11 Gerd Moellmann <gerd@gnu.org>
7779
7780 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7781 since they aren't relocated anymore.
52283633 7782 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7783
7784 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7785 partially visible line which is smaller than the window's height.
440fc135 7786
6e264fad
KH
77872000-08-11 Kenichi Handa <handa@etl.go.jp>
7788
7789 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7790 the multibyte form of eight-bit-control characters.
6e264fad
KH
7791 (Fccl_execute_on_string): Initialize ccl->multibyte.
7792
7793 * ccl.h (struct ccl_program): New member multibyte.
7794
7795 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7796
c371f69a
KH
77972000-08-11 Kenichi Handa <handa@etl.go.jp>
7798
7799 * regex.c (regex_compile) <normal_char>: Pay attention to
7800 multibyteness.
7801 (analyse_first) <exactn>: Setup fastmap correctly for
7802 eight-bit-control characters.
7803
78042000-08-11 Kenichi Handa <handa@etl.go.jp>
7805
52283633 7806 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7807
7808 * keyboard.c (make_lispy_event): Handle the new event type
7809 multibyte_char_keystroke.
7810
7811 * xterm.c: Include coding.h.
7812 (XTread_socket): Work around a bug of XmbLookupString. If the
7813 input is from XIM, decode it according to the current locale. In
7814 that case, generate multibyte_char_keystroke events.
7815
b8ddbe71
KH
78162000-08-11 Kenichi Handa <handa@etl.go.jp>
7817
7818 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7819 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7820
47589c8c
GM
78212000-08-10 Gerd Moellmann <gerd@gnu.org>
7822
7823 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7824 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7825 (move_it_in_display_line_to): Record iterator's ascent and descent
7826 before producing glyphs, and restore them when we know the glyph
7827 doesn't fit on the line.
7828 (move_it_to): Restructured so that it's easier to debug. If
7829 moving to a vpos, and not moving to an x or character position,
7830 stop as soon as the specified vpos is reached; don't move further
7831 into that line because that might change the computed line height.
7832 (try_cursor_movement): New function, extracted from the cursor
7833 movement branch of redisplay_window. If ending on a partially
7834 visible line, don't try to scroll if the cursor line is taller
7835 than the window.
7836 (redisplay_window): Use try_cursor_movement.
7837
7838 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7839 because that function doesn't cope with variable-height lines.
7840
7841 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7842 box cursor because that's better visible for large images.
52283633 7843
c51bacd6
MB
78442000-08-10 Miles Bader <miles@gnu.org>
7845
7846 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7847
bea56df7
GM
78482000-08-10 Gerd Moellmann <gerd@gnu.org>
7849
7850 * xdisp.c (Vmessages_buffer_name): New variable.
7851 (message_dolog): Use it.
7852 (syms_of_xdisp): Initialize it.
7853
99cd7364
EZ
78542000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7855
52283633 7856 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7857 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7858 redundant now that keyboard.h is included.
7859
7d093d56
EZ
78602000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7861
7862 * keyboard.c (kbd_buffer_events_waiting): New function.
7863
7864 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7865
7866 * msdos.c: Include keyboard.h.
7867 (XMenuActivate): Empty no_event events from the event buffer. If
7868 no events are left after that, call clear_input_pending.
7869 (mouse_clear_clicks): New function, code moved from mouse_init.
7870 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7871 mouse driver to ``forget'' any past clicks.
7872
7873 * Makefile.in (msdos.o): Depend on keyboard.h.
7874
41e757a6
GM
78752000-08-09 Gerd Moellmann <gerd@gnu.org>
7876
8e7bd231
GM
7877 * lisp.h (input_pending): External declaration.
7878
7879 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7880
8e7bd231
GM
7881 * xdisp.c (echo_area_display): Display thoroughly if input is
7882 pending. Bind redisplay-dont-pause to t during the redisplay.
7883 in case input is pending.
7884
7885 * dispnew.c (Qredisplay_dont_pause): New variable.
7886 (syms_of_display): Initialize and staticpro it.
7887 (update_frame_1): Don't interrupt the display for pending input if
7888 redisplay_dont_pause is set.
52283633 7889
43028b7e
GM
7890 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7891
41e757a6
GM
7892 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7893
2f2174fa
KH
78942000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7895
7896 * callproc.c (Fcall_process): Terminate the unwind-protect around
7897 the post-read-conversion of coding system.
7898
0a6fd67e
MB
7899 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7900 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7901 * buffer.h (overlays_at): Update prototype.
7902 * xdisp.c (next_overlay_change): Update call to overlays_at.
7903 * xfaces.c (face_at_buffer_position): Likewise.
7904 * textprop.c (Fget_char_property): Likewise.
7905 * xterm.c (note_mouse_highlight): Likewise.
7906
0c80756e
MB
7907 * minibuf.c (do_completion): Don't consider a simple change of
7908 case as `completion'.
7909
975f250a
KR
79102000-08-08 Ken Raeburn <raeburn@gnu.org>
7911
52283633 7912 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7913 * undo.c (record_delete): Make sure last_point_position_buffer is
7914 a buffer before comparing pointers.
7915
7916 * coding.h (decode_coding_string): Declare.
7917
7918 * intervals.h (Fprevious_single_char_property_change): Declare.
7919
7920 * textprop.c (Fprevious_single_char_property_change): Don't do
7921 arithmetic directly on lisp objects.
7922
52283633 7923 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7924
7925 * keyboard.h (menu_item_eval_property): Declare.
7926
7927 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7928 reuse as buffer name, instead of recreating (and discarding) every
7929 time a message is logged.
7930 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7931 (current_message_1, truncate_message_1, set_message_1)
7932 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7933 (current_message, truncate_echo_area, display_echo_area)
7934 (resize_echo_area_axactly): Changed calls.
b347b3fd 7935
975f250a 7936 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7937 Lisp object.
975f250a 7938 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7939 must be an integer, not a Lisp object.
975f250a 7940
46dc9912
KH
79412000-08-08 Kenichi Handa <handa@etl.go.jp>
7942
7943 * charset.c (Fchar_width): Doc fix.
7944
9f6d1a6c
GM
79452000-08-08 Gerd Moellmann <gerd@gnu.org>
7946
7947 * charset.c (Fstring_width): Doc fix.
7948
ff3d9573
GM
79492000-08-07 Gerd Moellmann <gerd@gnu.org>
7950
41e757a6 7951 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7952 line, clear ascent and descent members of the iterator structure;
7953 the height of the continued line does not affect the height of the
7954 continuation line.
7955 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7956 line taller than the window.
7957 (redisplay_window) <forced window start>: Handle case that the
7958 middle of the window is not found in any row.
7959 (dump_glyph_row): Show more information.
7960 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7961 first text line in a glyph matrix.
7962
7963 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7964 of the clip area when image doesn't have a mask.
7965
70fc58b3
GM
7966 * fns.c (sweep_weak_table): Fix survival conditions for
7967 key-or-value and key-and-value weakness.
7968
7969 * .gdbinit (xhashtable): New command.
7970
ac0e96ee
GM
7971 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7972 tables out of the list of all weak hash tables.
7973
ff3d9573
GM
7974 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7975 a new buffer is created, make sure echo_area_buffer[] references
7976 the new buffer.
7977
e0d8827b
EZ
79782000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7979
7980 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7981 the doc string.
7982
c6f35378
KH
79832000-08-07 Kenichi Handa <handa@etl.go.jp>
7984
7985 * syntax.c (skip_chars): Fix previous change. Make the handling
7986 of unibyte string consistent with that of regex search.
7987
1fd4c450
GM
79882000-08-05 Gerd Moellmann <gerd@gnu.org>
7989
e49aa397
GM
7990 * xmenu.c (popup_get_selection): Use xfree instead of free.
7991
7992 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7993
7994 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7995
7996 * callproc.c (child_setup): Use xfree instead of free.
7997
7998 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7999 instead of malloc.
8000 (run_mac_command, closedir): Use `xfree' instead of `free'.
8001
8002 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8003
8004 * eval.c (error): Use xfree instead of free.
8005
1fd4c450
GM
8006 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8007
8008 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8009 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8010
82d497fc
KH
80112000-08-05 Kenichi Handa <handa@etl.go.jp>
8012
8013 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8014 conversion.
8015
59f953a2
NF
80162000-08-04 Noah Friedman <friedman@splode.com>
8017
8018 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8019 docstring.
8020
688351f2
GM
80212000-08-04 Gerd Moellmann <gerd@gnu.org>
8022
8023 * syntax.c (skip_chars): Fix typo in error message.
8024
2dad51cc
AS
80252000-08-04 Andreas Schwab <schwab@suse.de>
8026
8027 * m/ia64.h: Moved from s/ia64.h.
8028
99bb2c60
KH
80292000-08-04 Kenichi Handa <handa@etl.go.jp>
8030
082a1df2
KH
8031 * process.c (read_process_output): Big simplification. Handle
8032 composition and post-read-conversion of coding system correctly.
8033 (send_process): Handle composition correctly.
8034
8035 * callproc.c (Fcall_process): Handle post-read-conversion of
8036 coding system if any.
8037
99bb2c60
KH
8038 * coding.c (decode_coding_iso2022): More strict check for handling
8039 single shifting.
082a1df2
KH
8040 (coding_restore_composition): Pay attention to the case that
8041 cmp_data is not set properly (because of invalid code in the
8042 source text).
8043 (run_pre_post_conversion_on_str): Include text properties in the
8044 resulting string.
8045 (decode_coding_string): Set members of coding correctly.
99bb2c60 8046
f4988be7
GM
80472000-08-03 Gerd Moellmann <gerd@gnu.org>
8048
8049 * s/ia64.h: New file.
8050
8051 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8052 Use NULL instead of 0 at the end of variable argument list of
8053 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8054 sizeof (int) < sizeof (void *).
8055
8056 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8057 of variable argument lists of XtVaGetValues and XtVaSetValues.
8058
8059 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8060 variable argument lists of XtVaGetValues and XtVaSetValues.
8061
ead53494
GM
80622000-08-02 Gerd Moellmann <gerd@gnu.org>
8063
8064 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8065 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8066
8067 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8068 prototype.
8069
8070 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8071 in call to Fsingle_key_description.
8072
8073 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8074 Callers changed.
8075
80762000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8077
8078 * window.c (display_buffer_reuse_frames): New variable.
8079 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8080 frames displaying BUFFER.
52283633 8081 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8082
10b0f752
MB
80832000-08-01 Miles Bader <miles@gnu.org>
8084
8085 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8086 when to constrain NEW_POS (they were pretty screwed up before).
8087
16425c4a
EZ
80882000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8089
8090 * msdos.c (run_msdos_command): Save and restore the master
8091 environment, for the case that child_setup signals an error.
8092 When mirroring slashes in DOS shell commands, don't fail when
8093 argv[2] has embedded blanks.
da288c14
EZ
8094 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8095 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8096 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8097
8098 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8099 using alloca; free it after run_msdos_command returns.
8100
27f73852
DL
81012000-07-27 Dave Love <fx@gnu.org>
8102
52283633
SM
8103 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8104 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8105
8106 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8107
c0261b5e
EZ
81082000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8109
8110 * editfns.c (lisp_time_argument): Fix last change.
8111
b548072f
GM
81122000-07-27 Gerd Moellmann <gerd@gnu.org>
8113
3ab82477
GM
8114 * fns.c (Fdelete): Make it work on vectors and strings in addition
8115 to lists.
8116
b548072f
GM
8117 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8118 (syms_of_fns): Initialize new variables.
52283633 8119 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8120 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8121 weakness, with t meaning the same as `key-and-value'.
8122
91ae8751
KH
81232000-07-27 Kenichi Handa <handa@etl.go.jp>
8124
8125 * coding.h (struct coding_system): Member safe_charset deleted.
8126
8127 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8128 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8129 New variables.
91ae8751
KH
8130 (coding_safe_chars): New function.
8131 (CODING_SAFE_CHAR_P): New macro.
8132 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8133 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8134 (detect_coding_iso2022): New local variable safe_chars.
8135 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8136 safe_charsets member of the coding system.
8137 (decode_coding_iso2022): New local variable safe_chars.
8138 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8139 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8140 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8141 (ENCODE_UNSAFE_CHARACTER): New macro.
8142 (encode_coding_iso2022): New local variable safe_chars. Check
8143 unsafe chars.
8144 (setup_coding_system): Delete the code to initialize
8145 coding->safe_charses
8146 (intersection, find_safe_codings): New functions.
8147 (Ffind_coding_systems_region_internal): New function.
8148 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8149 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8150 variable and initialize it.
8151
8152 * fns.c (char_table_ref_and_index): New function.
8153
8154 * lisp.h (char_table_ref_and_index): Add prototype.
8155
34a7a267
SS
81562000-07-26 Sam Steingold <sds@gnu.org>
8157
8158 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8159 (Ffloat_time): New built-in Lisp function.
34a7a267 8160
a95cb10a
GM
81612000-07-26 Gerd Moellmann <gerd@gnu.org>
8162
3353ef5a
GM
8163 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8164 for the character code.
8165
8166 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8167 GNU/Linux.
8168
a95cb10a
GM
8169 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8170 if called for a popup menu.
8171 (xmenu_show): Store help string in widget values.
8172
b4a12321
DL
81732000-07-26 Dave Love <fx@gnu.org>
8174
8175 * syswait.h: Move some definitions.
8176 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8177 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8178 perspicuous definitions.
8179 (WTERMSIG): Fix bit pattern used.
8180
13f5ad37
KH
81812000-07-26 Kenichi Handa <handa@etl.go.jp>
8182
8183 * print.c (print_object): If vector printing is truncated, print
8184 "..." to indicate it as well as the case of list printing.
8185
070fe99c
GM
81862000-07-25 Gerd Moellmann <gerd@gnu.org>
8187
969065c3
GM
8188 * xdisp.c (next_element_from_display_vector): Improve comments.
8189
8190 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8191 for the character code, and the rest for the face id as in 20.x.
8192 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8193
8194 * window.c (window_display_table): Cleaned up.
8195
070fe99c
GM
8196 * syntax.c (Fforward_word): Add last arg nil in call of
8197 Fconstrain_to_field.
8198
bad77ef7
EZ
81992000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8200
969065c3 8201 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8202 identical but for the letter-case, don't call
8203 barf_or_query_if_file_exists.
bad77ef7 8204
c28da489
MB
82052000-07-25 Miles Bader <miles@gnu.org>
8206
8207 * editfns.c (find_field): Honor special `boundary' fields.
8208 (Qboundary): New variables.
8209 (syms_of_editfns): Initialize Qboundary.
8210 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8211 Use scan_buffer instead of find_before_next_newline, because it
8212 allows us to detect the boundary case where there's a newline at
8213 the search limit.
8214 * lisp.h (Fconstrain_to_field): Update external declaration.
8215
e3c31fd5
GM
82162000-07-24 Gerd Moellmann <gerd@gnu.org>
8217
8218 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8219 if that is nil.
c28da489 8220
c66c29a2
DL
82212000-07-24 Dave Love <fx@gnu.org>
8222
8223 * s/sunos4-0.h, s/sol2.h:
8224 (LIBS_TERMCAP): Move from m/sparc.h.
8225
8226 * m/sparc.h (TERMINFO): Moved to system files (probably only
8227 relevant for sunos4 judging by its vintage).
8228 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8229 __arch64__.
8230
fbe0a958
EZ
82312000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8232
8233 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8234 name to single_keymap_panes.
8235
7d88e5c9
AS
82362000-07-24 Andreas Schwab <schwab@suse.de>
8237
8238 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8239
e024b101
GM
82402000-07-24 Gerd Moellmann <gerd@gnu.org>
8241
8242 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8243 parameters instead of using int parameters. Expect FN to accept
8244 EMACS_INT parameters.
8245 (display_echo_area, resize_echo_area_axactly, current_message)
8246 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8247 with new argument list.
8248 (resize_mini_window_1): New callback function.
8249 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8250 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8251
25c1a9ce
KH
82522000-07-24 Kenichi Handa <handa@etl.go.jp>
8253
8254 * fontset.c (fontset_ref): Remove INLINE declaration.
8255 (fontset_ref_via_base): Likewise.
8256 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8257 to downcase.
8258
7f987ac0
EZ
82592000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8260
8261 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8262 correct order of priority. If help echo was found in an overlay,
8263 use that overlay as the object in which the help echo was found.
8264
e2db3069
MB
82652000-07-22 Miles Bader <miles@gnu.org>
8266
8267 * textprop.c (Fprevious_single_char_property_change): The initial
8268 property value should be from the position preceding POSITION, not
8269 following it.
8270
5e3203e4
EZ
82712000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8272
8273 * coding.c (syms_of_coding): Doc fix for
8274 inhibit-iso-escape-detection.
8275
62145073
GM
82762000-07-21 Gerd Moellmann <gerd@gnu.org>
8277
c20aeb83
GM
8278 * xterm.c (note_mouse_highlight): Process overlays in the right
8279 order of priority.
34a7a267 8280
743934db
GM
8281 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8282
8283 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8284 overlay, use that overlay as the object in which the help was found.
743934db 8285
d1dc7e43 8286 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8287
62145073
GM
8288 * window.c (foreach_window): Instead of a fake variable argument
8289 list, take one USER_DATA argument.
8290 (foreach_window_1): Likewise, and call callback functions with two
8291 args, the window and USER_DATA.
8292 (struct check_window_data): New struct.
8293 (check_window_containing): Use it.
8294 (window_from_coordinates): Set up a struct check_window_data for
8295 foreach_window.
8296 (add_window_to_list, freeze_window_start): Change parameters
8297 according to new calling convention.
8298
8299 * window.h (foreach_window): Change prototype.
8300
8301 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8302
83032000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8304
8305 * xmenu.c (menu_help_callback): Call show_help_echo with
8306 additional arguments OBJECT and POS.
8307
11270583
KH
83082000-07-21 Kenichi Handa <handa@etl.go.jp>
8309
07b14857
KH
8310 * data.c (Faset): Allow storing any multibyte character in a
8311 string. Convert unibyte string to multibyte if necessary.
8312
11270583
KH
8313 * xfns.c (x_encode_text): New function.
8314 (x_set_name): Use x_encode_text.
8315 (x_set_title): Likewise.
8316
8317 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8318
8319 * xterm.h (x_encode_text): Add prototype.
8320
bc75b4fd
DL
83212000-07-20 Dave Love <fx@gnu.org>
8322
8323 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8324 xfree, not free.
8325
48c14970
EZ
83262000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8327
8328 * msdos.c (help_echo_window): New variable.
8329 (syms_of_msdos): Initialize and staticpro it.
8330 (IT_note_mode_line_highlight): Set help_echo_window.
8331 (IT_note_mouse_highlight): Ditto.
8332 (dos_rawgetc): Store help_echo_window in the second event produced
8333 for HELP_EVENTs.
8334
8335 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8336 Record the object that generated the help echo and the position of
8337 that object in help_echo_object and help_echo_pos. Record that
8338 some glyphs in a row are displayed in mouse-face.
8339 (IT_update_begin): Don't clear mouse highlight unless one of the
8340 enabled glyph rows is marked as being displayed in mouse-face.
8341 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8342 and position recorded in help_echo_object and help_echo_pos to the
8343 event queue.
8344 (IT_menu_display): Accept a new argument PN: the pane number of
8345 the current menu pane. Record the pane number and the item
8346 number of the item which has associated help string.
8347 (XMenuActivate): Update the prototype for help_callback in
8348 function declaration. Call IT_menu_display with the current menu
8349 pane number as an additional argument. Call help_callback with
8350 two additional arguments: the pane number and the item number of
8351 the menu item associated with the help text.
8352 (help_echo_object, help_echo_pos): New variables.
8353 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8354
8355 * msdos.h (XMenuActivate): Update prototype.
8356
4279296d
GM
83572000-07-19 Gerd Moellmann <gerd@gnu.org>
8358
47db06aa
GM
8359 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8360 Add some more prototypes.
8361
8362 * xterm.c, xterm.h: Add some more prototypes.
8363
8364 * lisp.h (Fnext_single_char_property_change): Add prototype.
8365
8366 * dispnew.c (direct_output_for_insert): Remove confusing
8367 outer local variable mouse_face_overwritten_p.
8368 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8369
4279296d
GM
8370 * alloc.c (allocate_string_data): Don't copy old string contents.
8371
670acd62
KH
83722000-07-19 Kenichi Handa <handa@etl.go.jp>
8373
8374 * coding.c (code_convert_region): Delete text properties before
8375 shrinking the conversion region.
8376
7cea38bc
GM
83772000-07-18 Gerd Moellmann <gerd@gnu.org>
8378
dc1cac59
GM
8379 * dispnew.c (update_text_area): Write the whole row if it
8380 has mouse-face in it.
8381
85a8aca9
GM
8382 * xfaces.c (face-alternative-font-family-alist): Remove
8383 DEFVAR_LISP; staticpro instead.
8384
34a7a267 8385 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8386 new arguments.
8387
8388 * keyboard.c (show_help_echo): Add parameter WINDOW.
8389 (read_char): Call show_help_echo with window extracted from Lisp
8390 help event.
8391 (gen_help_event): Add parameter WINDOW.
8392
8393 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8394
8395 * xterm.c (help_echo_window): New variable.
52283633 8396 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8397 (XTread_socket): Pass help_echo_window to gen_help_event.
8398 (syms_of_xterm): Initialize and staticpro help_echo_window.
8399
f8276b77
DL
84002000-07-18 Dave Love <fx@gnu.org>
8401
52283633 8402 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8403
088831a6
GM
84042000-07-18 Gerd Moellmann <gerd@gnu.org>
8405
3d6cd763
GM
8406 * alloc.c (allocate_string_data): If string had already data
8407 assigned, copy old contents to new string data.
8408
8409 * coding.c (syms_of_coding): Fix typo in spelling of variable
8410 `inhibit-iso-escape-detection'.
8411
088831a6
GM
8412 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8413
8414 * Makefile.in: Add dependencies on dispextern.h.
8415 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8416 `free'; both can conflict with system header files.
8417
bc8a8d55
KH
84182000-07-18 Kenichi Handa <handa@etl.go.jp>
8419
8420 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8421 undefined.
8422
069f5950
DL
84232000-07-18 Dave Love <fx@gnu.org>
8424
8425 * window.c (Fwindow_list): Declare arg `window'.
8426
aa96c820
KH
84272000-07-18 Kenichi Handa <handa@etl.go.jp>
8428
8429 * coding.c (setup_coding_system): Don't override the explicitly
8430 specified designations.
8431
06be8d32
MB
84322000-07-15 Miles Bader <miles@gnu.org>
8433
8434 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8435 from `text_property_eq' and `text_property_stickiness', respectively.
8436 (find_field, Fconstrain_to_field, char_property_eq)
8437 (char_property_stickiness): Changed to call char-property functions
8438 instead of text-property-only ones.
8439
8440 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8441 `next_single_char_property_change'). Do more error checking, and
8442 cleanup limit behavior.
8443 (Fprevious_single_char_property_change): New function.
8444 (syms_of_textprop): Initialize new subrs.
8445
8446 * xdisp.c (display_prop_end, invisible_text_between_p):
8447 Call Fnext_single_char_property_change instead of
8448 next_single_char_property_change.
8449
3fddcdc3
JR
84502000-07-15 Jason Rumney <jasonr@gnu.org>
8451
8452 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8453 after menu is finished with.
8454 (add_menu_item): Only consider wv->title as a menu title.
8455 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8456
8457 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8458 null title.
8459 (FONT_REGEXP): Remove unused macro, and its sub-components.
8460 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8461
8462 * w32term.c (help_echo_object, help_echo_pos): New variables.
8463 (note_mode_line_highlight): Store additional information about the
8464 help-echo in help_echo_object and help_echo_pos. Check both
8465 `local-map' and `keymap' properties for changing the cursor
8466 (note_mouse_highlight): Store additional information about the
8467 help-echo in help_echo_object and help_echo_pos.
8468 (note_tool_bar_highlight): Set help_echo_object to nil and
8469 help_echo_pos to -1.
8470 (w32_read_socket): Use gen_help_event instead of filling
8471 input_events manually.
8472 (syms_of_w32term): Staticpro help_echo_object.
8473 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8474 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8475 (x_clear_mouse_face): New function.
8476 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8477 (x_update_window_begin): No need to turn off the mouse
8478 highlight here.
8479 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8480 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8481 (x_fill_stretch_glyph_string): Consume runs of stretch
8482 glyphs instead of a single one.
8483 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8484 with new argument list.
8485 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8486 (x_append_glyph, x_append_composite_glyph)
8487 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8488 changes in struct glyph starting 1999-12-27. See comments for
8489 xterm.c on 2000-07-05.
8490
178c5d9c
SS
84912000-07-14 Sam Steingold <sds@gnu.org>
8492
8493 * xfaces.c (realize_x_face): Fix the last patch:
8494 check `default_face' before dereferencing.
8495
6fe533f6
DL
84962000-07-14 Dave Love <fx@gnu.org>
8497
069f5950 8498 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8499
dd7b81cf
KH
85002000-07-14 Kenichi Handa <handa@etl.go.jp>
8501
0693904a 8502 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8503 default_face's fontset, not using the default fontset.
0693904a 8504
dd7b81cf
KH
8505 * coding.c (inhibit_iso_escape_detection): New variable.
8506 (syms_of_coding): Make it a Lisp variable.
8507 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8508 nonzero, ignore ISO2022's escape sequence.
8509
d5aa31d8
GM
85102000-07-14 Gerd Moellmann <gerd@gnu.org>
8511
e5acf0ca
GM
8512 * alloca.c (malloc) [emacs]: Define as xmalloc.
8513
bd23a692
GM
8514 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8515 use that instead of the mouse position. Add parameters DX and DY.
8516
8517 * dispextern.h (Fx_show_tip): Adjust number of parameters
8518 in prototype.
8519
9662da0b
GM
8520 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8521 if HELP is a function, call it with OBJECT and POS as parameters
8522 to get the help to display.
8523 (gen_help_event, kbd_buffer_store_help_event): New functions.
8524 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8525 (read_char): Call show_help_echo with new parameters.
8526
178c5d9c 8527 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8528 Add prototypes.
8529
8530 * xterm.c (help_echo_object, help_echo_pos): New variables.
8531 (note_mode_line_highlight): Store additional information about the
8532 help-echo in help_echo_object and help_echo_pos. Check both
8533 `local-map' and `keymap' properties for changing the cursor
8534 (note_mouse_highlight): Store additional information about the
8535 help-echo in help_echo_object and help_echo_pos.
8536 (note_tool_bar_highlight): Set help_echo_object to nil and
8537 help_echo_pos to -1.
8538 (XTread_socket): Use gen_help_event instead of filling
8539 input_events manually.
8540 (syms_of_xterm): Staticpro help_echo_object.
8541
8542 * xmenu.c (menu_highlight_callback): Use
8543 kbd_buffer_store_help_event instead of setting up and input_event
8544 structure manually.
8545
8546 * xdisp.c (eval_form): GCPRO argument sexpr.
8547 (call_function): New function.
8548 (handle_single_display_prop): Use call_function and FUNCTIONP
8549 instead of checking whether if font_height is a symbol and
8550 using eval_form.
8551
8552 * eval.c (internal_condition_case_2): New function.
8553
8554 * lisp.h (FUNCTIONP): New macro.
8555 (internal_condition_case_2, call_function): Add prototypes.
8556
d5aa31d8
GM
8557 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8558 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8559 Always set `arg' member of input_events.
8560 (construct_menu_click): Unused function removed.
8561
8562 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8563
8564 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8565 (construct_drag_n_drop, x_scroll_bar_handle_click)
8566 (w32_read_socket): Always set `arg' member of input_events.
8567
8568 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8569
8570 * lisp.h (eval_form): Add prototype.
8571
8572 * xdisp.c (eval_form): Make it externally visible.
8573
0f1a9b23
GM
85742000-07-13 Gerd Moellmann <gerd@gnu.org>
8575
8576 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8577 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8578 consing. For prefix events, store the frame in the `arg' slot of
8579 the event, otherwise store the key there.
8580 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8581 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8582
8583 * xmenu.c (menu_highlight_callback): Store help string in the
8584 `arg' member of the input event; don't cons.
8585 (menubar_selection_callback): Use the `arg' slot of input events
8586 to queue additional information, instead of consing.
8587
8588 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8589
8590 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8591 TOOL_BAR_EVENTs.
8592 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8593
8594 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8595 input events to queue additional information, instead of consing.
8596
8597 * keyboard.c (kbd_buffer_gcpro): Renamed from
8598 kbd_buffer_frame_or_window. Now used for all Lisp objects
8599 referenced from the input queue.
8600 (kbd_buffer_store_event): Always use structure assignment for
8601 copying input events. Record all Lisp objects referenced from
8602 events in kbd_buffer_gcpro.
8603 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8604 differently from input events. Test for prefix menu_bar_events
8605 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8606 event in kbd_buffer_gcpro to nil.
8607 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8608 frame_or_window is equal to its arg member as prefix events.
8609 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8610 used by an input event to nil.
8611 (init_keyboard): Use two times the size of the input queue
8612 for kbd_buffer_gcpro.
8613 (syms_of_keyboard): Likewise.
8614
52283633
SM
8615 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8616 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8617
8618 * termhooks.h (struct input_event): Add member `arg'.
8619 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8620 (USER_SIGNAL_EVENT): Renamed from user_signal.
8621
8622 * xfaces.c (ASET): Remove definition.
8623
8624 * lisp.h (AREF, ASET, ASIZE): New macros.
8625
8626 * fontset.c (AREF, ASIZE): Remove definitions.
8627
8628 * fns.c (AREF): Remove definition.
178c5d9c 8629
0f1a9b23
GM
8630 * composite.c (AREF): Remove definition.
8631
712eaef2
GM
86322000-07-12 Gerd Moellmann <gerd@gnu.org>
8633
d8ee7803
GM
8634 * dispnew.c (redraw_overlapped_rows): Add missing local.
8635 (scrolling_window): Remove debug code.
8636
712eaef2
GM
8637 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8638 Before scrolling, turn off a mouse-highlight in the window
8639 being scrolled.
8640
8641 * xterm.c (x_update_window_end): Add parameter
8642 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8643 redisplay in XTframe_up_to_date.
8644 (x_clear_mouse_face): New function.
8645 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8646
8647 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8648 current glyph row.
8649 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8650 it when any row is written to that contains glyphs highlighted in
8651 mouse-face.
8652 (update_window): Call the window update end hook with new
8653 parameter MOUSE_FACE_OVERWRITTEN_P.
8654 (direct_output_for_insert): Give up if row contains mouse-face.
8655
8656 * dispextern.h (struct redisplay_interface): Add parameter
8657 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8658 (clear_mouse_face): New function pointer member.
8659
02010917
SM
86602000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8661
8662 * syntax.c (back_comment): Use one switch rather than a few `if's.
8663 Obey open_paren_in_column_0_is_defun_start.
8664 When reverting to the `slow' method, try to nicely handle the case
8665 of nested comments by checking that the comment-starter we found
8666 does indeed match the comment-ender.
8667 (scan_sexps_forward, scan_sexps_forward):
8668 Ignore excessive opening parenthesis rather than throwing an error.
8669
d76c03ea
GM
86702000-07-11 Gerd Moellmann <gerd@gnu.org>
8671
8672 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8673 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8674
8675 * dispnew.c (direct_output_forward_char): Give up if currently
8676 displaying a message instead of the minibuffer contents.
8677
8678 * xterm.c (x_update_window_begin): No need to turn off the mouse
8679 highlight here.
8680 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8681 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8682
8683 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8684 compare the mouse_face_p flags of both rows.
8685
8686 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8687
d55ead18
EZ
86882000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8689
8690 * keyboard.c (show_help_echo): Accept additional parameter
8691 ok_to_overwrite_keystroke_echo.
8692 (read_char): Call show_help_echo with a zero
8693 ok_to_overwrite_keystroke_echo argument.
52283633 8694 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8695 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8696 ok_to_overwrite_keystroke_echo argument.
8697 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8698 non-zero ok_to_overwrite_keystroke_echo argument.
8699
df75b1a3
GM
87002000-07-10 Gerd Moellmann <gerd@gnu.org>
8701
4b92c49a
GM
8702 * xdisp.c (try_window_id): If changes are all below what is
8703 displayed in the window, and point is in the window, we still
8704 might have to find point on the display.
8705
8706 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8707 glyphs instead of a single one.
8708 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8709 with new argument list.
8710 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8711
df75b1a3
GM
8712 * keymap.c (get_keymap_1): Add comment that this function can GC.
8713 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8714 comment that functions can GC.
8715 (Fset_keymap_parent): GCPRO arg KEYMAP.
8716
4314cf3e
EZ
87172000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8718
8719 * msdos.c (XMenuActivate): After exiting the menu, restore the
8720 echo area message and erase it.
8721
ab49ce15
KH
87222000-07-10 Kenichi Handa <handa@etl.go.jp>
8723
8724 * fontset.c (Ffontset_info): Make the return value more compatible
8725 with that of Emacs 20.
8726
090a072f
GM
87272000-07-07 Gerd Moellmann <gerd@gnu.org>
8728
8729 * eval.c (Fsignal): Handle case that backtrace_list is null.
8730
f92de4a6
KH
87312000-07-07 Kenichi Handa <handa@etl.go.jp>
8732
8733 * ccl.c (Fccl_execute): Typo fixed.
8734
dd8888a1
GM
87352000-07-06 Gerd Moellmann <gerd@gnu.org>
8736
e5c81191 8737 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8738
dd8888a1
GM
8739 * window.c (Fwindow_list): Reverse list at the end.
8740 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8741 means allow windows on OWINDOW's frame, only.
8742 (window_loop): Simplified; use Fwindow_list.
8743
8744 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8745
485266d0
GM
87462000-07-05 Gerd Moellmann <gerd@gnu.org>
8747
8748 * xterm.c (XTread_socket): Increment handling_signal at the start,
8749 decrement it at the end.
8750
8751 * eval.c (handling_signal): New variable.
8752 (Fsignal): Abort if handling_signal is non-zero.
8753
8754 * lisp.h (handling_signal): External declaration.
178c5d9c 8755
485266d0
GM
8756 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8757
80fcd514
KR
87582000-07-05 Ken Raeburn <raeburn@gnu.org>
8759
8760 Sound support for NetBSD through "Linux emulation" support:
8761 * config.in (HAVE_SOUNDCARD_H): Undef.
8762 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8763 * Makefile.in (LIBSOUND): New variable.
8764 (LIBES): Include it.
52283633
SM
8765 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8766 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8767 (vox_open): Use DEFAULT_SOUND_DEVICE.
8768 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8769
d5c5cddd
GM
87702000-07-05 Gerd Moellmann <gerd@gnu.org>
8771
8772 * print.c (print_error_message): If Vsignaling_function is set,
8773 show it in *Messages*.
8774
8775 * lisp.h (Vsignaling_function): External declaration.
8776
8777 * eval.c (Vsignaling_function): New variable.
8778 (Fsignal): Compute it.
8779 (syms_of_eval): Staticpro it.
8780
65171e3a
DL
87812000-07-05 Dave Love <fx@gnu.org>
8782
8783 * syswait.h: Use the autoconf recommended approach. Old code
8784 #if'd out in case we need to revert.
8785
178c5d9c 8786 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8787
e2c46326
AI
87882000-07-05 Andrew Innes <andrewi@gnu.org>
8789
8790 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8791 when non-NULL instead of __morecore, to take account of buffer
8792 memory. This also solves a problem with spurious memory warnings
8793 on Windows.
8794
8795 * ralloc.c: Make real_morecore non-static.
8796
8797 * eval.c (internal_condition_case): Comment out abort if
8798 interrupt_input_blocked is not zero.
8799
8800 * makefile.nt: Add support for `bootstrap' and related targets.
8801 Include minimal debug info in emacs.exe in release build.
8802 Remove all dependencies on lisp.h, and fixup some others.
8803
8804 * w32.c (init_environment): Install code from 20.7 for providing
8805 default values for environment variables, based on the
8806 executable's own location.
52283633 8807 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8808 (sys_socket): Install socket inheritance bug fix from 20.7.
8809
8810 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8811 here via blockinput.h).
8812
a027a91b
SM
88132000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8814
e4b31601
SM
8815 * w32menu.c (w32_menu_display_help):
8816 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8817
8818 * keyboard.h (show_help_echo): Declare.
8819
8820 * keyboard.c (show_help_echo): New function, extracted from read_char.
8821 Feval its `msg' argument if it's a cons cell.
8822 (read_char): Use it.
4cf8d9d5 8823 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8824
178c5d9c 8825 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8826 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8827 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8828 (dos_rawgetc):
8829 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8830 (note_tool_bar_highlight, w32_read_socket):
8831 Do not gratuitously ignore non-string `help-echo' properties.
8832
88d75730
GM
88332000-07-05 Gerd Moellmann <gerd@gnu.org>
8834
969f7e79
GM
8835 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8836
71201b00
GM
8837 * window.c (delete_all_subwindows): Reset Vwindow_list.
8838
88d75730
GM
8839 * xterm.c (x_append_glyph, x_append_composite_glyph)
8840 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8841 changes in struct glyph starting 1999-12-27. Some bit-fields of
8842 struct glyph were not set, which made glyphs unequal when compared
8843 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8844 effects were the result. This also depended on the contents of
8845 memory returned by xmalloc. If flickering happens again, activate
8846 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8847 gone with that, chances are that it is caused by something similar.
88d75730
GM
8848
8849 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8850
88d75730
GM
8851 * dispextern.h: Add some comments.
8852
8853 * window.c (add_window_to_list): Add parameter LIST.
8854 (window_list): Order list so that, for each frame, windows are
8855 in canonical order, and so that frames appear in the list in
8856 the order given by Vframe_list.
8857 (next_window): Reverse the handling of NEXT_P.
8858
53654733
GM
88592000-07-04 Gerd Moellmann <gerd@gnu.org>
8860
87efd256
GM
8861 * window.c (Vwindow_list): New variable.
8862 (make_window, delete_window): Set Vwindow_list to nil.
8863 (check_window_containing): New function.
8864 (window_from_coordinates): Rewritten.
8865 (add_window_to_list, window_list, candidate_window_p)
8866 (decode_next_window_args, next_window): New functions.
52283633 8867 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8868 (Fwindow_list): New function.
8869 (Fother_window): Cleaned up.
8870 (foreach_window): Add a longer "variable argument list". Let
8871 callback function return 0 to indicate that cycling over windows
8872 should stop.
8873 (foreach_window_1): Likewise.
8874 (freeze_window_start): Return int.
8875 (init_window): New function.
8876 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8877
8878 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8879 input_event with bzero.
8880 (main): Call init_window.
8881
53654733
GM
8882 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8883 a menu filter.
8884
4a8c194f
KH
88852000-07-04 Kenichi Handa <handa@etl.go.jp>
8886
8887 * composite.h (make_composition_value_copy): Extern it.
8888
8889 * composite.c (make_composition_value_copy): New function.
8890
8891 * editfns.c (Fformat): While copying text properties, make each
8892 composition property value a copy.
8893
8894 * fns.c (concat): While copying text properties, make each
8895 composition property value a copy.
8896
831a6cb0
GM
88972000-07-03 Gerd Moellmann <gerd@gnu.org>
8898
2f516940
GM
8899 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8900
178c5d9c 8901 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8902 marked already.
8903
831a6cb0
GM
8904 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8905 include those frames as candidates which have their focus
8906 redirected to the minibuffer frame.
8907
d9c4f922
SM
89082000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8909
8910 * fns.c (Fputhash): Return `value' rather than nil.
8911
3780bc22
GM
89122000-06-30 Gerd Moellmann <gerd@gnu.org>
8913
97d176db
GM
8914 * frame.c (next_frame): Don't check focus redirection in case
8915 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8916 unless their focus is redirected, which contradicts the
8917 specification of next-frame, and leads to infinite loops in
8918 certain situations when cycling through windows with next-window.
8919
dca9961d
KH
89202000-06-30 Kenichi Handa <handa@etl.go.jp>
8921
8922 * coding.c (code_convert_region): Even if the length of text is
8923 zero, try to convert it if coding->type is coding_type_ccl.
8924 (decode_coding_string, encode_coding_string): Likewise.
8925
d5483ab1
GM
89262000-06-28 Gerd Moellmann <gerd@gnu.org>
8927
af5c25e1 8928 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8929 the display if windows_or_buffers_changed.
af5c25e1
GM
8930
8931 * dispnew.c (struct row_entry): New structure.
8932 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8933 (row_table_size, old_lines, new_lines, old_lines_size)
8934 (new_lines_size, run_pool, runs_size, runs): New variables.
8935 (add_row_entry): New function.
8936 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8937 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8938 holding them in local variables. Use a larger hash table whose
8939 size depends on glyph matrix sizes. Don't use bzero to clear the
8940 hash table; instead, clear used slots only.
8941
8942 * fns.c (next_almost_prime): Make it externally visible.
8943
8944 * lisp.h (next_almost_prime): Add prototype.
8945
d5483ab1
GM
8946 * s/isc4-0.h (sigunblock): Define.
8947
8948 * s/sco5.h (sigunblock): Define.
8949
93e40f40
DL
89502000-06-27 Dave Love <fx@gnu.org>
8951
8952 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8953 (moved to osf5-0.h).
8954 [!NOT_C_CODE]: Protect string.h stuff.
8955
8956 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8957 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8958
3c4b7685
GM
89592000-06-27 Gerd Moellmann <gerd@gnu.org>
8960
97d176db 8961 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8962 below the last line from the needed window height.
8963
32cad0aa
SM
89642000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8965
8966 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8967 (Fwidget_get): Use it.
8968 (syms_of_fns): Defsubr it.
8969
2c69ced2
GM
89702000-06-26 Gerd Moellmann <gerd@gnu.org>
8971
178c5d9c 8972 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8973 display info for XIM.
8974 (xim_open_dpy): Likewise.
8975 (xim_close_dpy): Don't free the display info's XIM.
8976
8977 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8978
8979 * config.in (USE_XIM): New define.
8980
3fc720e4
GM
8981 * keymap.c (get_keyelt): For menu-items containing a `:filter
8982 FILTER', apply FILTER to the menu-item's definition to get the
8983 real definition to use.
8984
8985 * lisp.h (QCfilter): External declaration.
8986
2c69ced2
GM
8987 * xfns.c (Fimage_size): New function.
8988 (syms_of_xfns): Defsubr it.
8989
f978b2a2
AS
89902000-06-26 Andreas Schwab <schwab@suse.de>
8991
8992 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8993 Fstring_as_unibyte.
8994
94cc7892
DL
89952000-06-25 Dave Love <fx@gnu.org>
8996
52283633 8997 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8998
8999 * Makefile.in (blockinput.h): Depend on atimer.h.
9000 (atimer.h): Depend on systime.h.
9001
52283633 9002 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9003
52283633 9004 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9005
9006 * lisp.h (swap_in_global_binding): Declare.
9007
b8c24556
KR
90082000-06-24 Ken Raeburn <raeburn@gnu.org>
9009
9010 * process.c (Fopen_network_stream): Turn off atimers for duration
9011 of call to connect. (Patch from Gerd.)
9012
8cf8560b
DL
90132000-06-23 Dave Love <fx@gnu.org>
9014
511c7541
DL
9015 * ralloc.c: Maybe include unistd.h
9016
8cf8560b
DL
9017 * emacs.c (setgrp): Undefine before defining.
9018 (malloc_warning, set_time_zone_rule, index): Prototype.
9019
9020 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9021 HAVE_STRUCT_TIMEZONE.
9022
9023 * s/osf1.h: Move string.h hack here from alpha.h and make it
9024 conditional.
9025 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9026 _XOPEN_SOURCE.
9027 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9028 (SOCKLEN_TYPE): Don't define.
9029
9030 * m/alpha.h: Remove string.h hack.
9031
9032 * s/osf5-0.h: New file.
9033
9034 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9035 include time.h, done by systime.h.
9036 [__FreeBSD__]: Remove redundant includes.
9037
3fc720e4 9038 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9039 (delete_temp_file): Return Qnil to avoid warning.
9040
9041 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9042
9043 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9044 HAVE_X_WINDOWS.
9045
9046 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9047
9048 * composite.h (compose_text): Declare.
9049
9050 * xterm.c: Don't include sys/types.h unconditionally. Don't
9051 protect its inclusion with !USG (following xmenu.c).
9052
ea055732
GM
90532000-06-23 Gerd Moellmann <gerd@gnu.org>
9054
9055 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9056 in x_create_frame.
9057
74b01b80
EZ
90582000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9059
9060 * coding.c (decode_eol_post_ccl): Special handling for undecided
9061 and inconsistent EOL types.
9062
64f3a166
GM
90632000-06-22 Gerd Moellmann <gerd@gnu.org>
9064
16cf31f7
GM
9065 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9066 trough color and main window's background color.
9067
52283633 9068 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9069
9070 * xterm.h (Xt_app_con): External declaration.
9071
9072 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9073
486a103d
GM
9074 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9075
64f3a166
GM
9076 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9077 (handle_invisible_prop): Record the start of invisible text in
9078 it->add_overlay_start.
9079 (struct overlay_entry): Add member `overlay'.
9080 (handle_overlay_change): Simplify.
9081 (next_overlay_string): After having processed overlay strings at the
9082 end of the buffer, record that fact in
9083 it->overlay_strings_at_end_processed_p.
9084 (compare_overlay_entries): If before- and after-strings come
9085 from the same overlay, let before-strings come first.
9086 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9087 (load_overlay_strings): Take it->add_overlay_start into account
9088 when adding overlay strings.
9089
9090 * dispextern.h (struct it): Add member add_overlay_start.
9091
bb746ea6
DL
90922000-06-22 Dave Love <fx@gnu.org>
9093
9094 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9095
9096 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9097
a8f573f3
KH
90982000-06-22 Kenichi Handa <handa@etl.go.jp>
9099
9100 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9101 is greater than 0.
9102
9f2bbc92
DL
91032000-06-21 Dave Love <fx@gnu.org>
9104
178c5d9c 9105 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9106
3ee5041c
SM
91072000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9108
9109 * syntax.c (back_comment): Simplify string-parity counting (with
9110 the added benefit of handling multiple string-styles as long as
9111 they are not intertwined).
9112 Jump to the slow code as soon as a comment starter is found in
9113 a "string_lossage" position. Fixes the case: " /* " /* " */.
9114
4c343001
DL
91152000-06-21 Dave Love <fx@gnu.org>
9116
9117 * Makefile.in: Use GETLOADAVG_LIBS.
9118
9119 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9120 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9121
e6365855
SM
91222000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9123
9124 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9125 (Fforward_comment, scan_lists):
9126 Check the comstyle of single-char comment-starters.
9127 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9128 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9129 Check the comstyle of single-char comment-starters.
9130 Clarify control-flow around the Scomment case.
e6365855 9131
5700d2cc
DL
91322000-06-20 Dave Love <fx@gnu.org>
9133
d355bd8a
SM
9134 * fns.c (make_hash_table, maybe_resize_hash_table):
9135 Cast arg of next_almost_prime.
5700d2cc 9136
178c5d9c 9137 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9138
9139 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9140 and unistd.h.
9141
4a27bdfb
GM
91422000-06-20 Gerd Moellmann <gerd@gnu.org>
9143
a61d762c 9144 * keyboard.c (adjust_point_for_property): Check if display
52283633 9145 property should be treated as intangible by looking at its value.
a61d762c 9146
178c5d9c 9147 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9148 (display_prop_intangible_p): New functions.
9149
9150 * dispextern.h (display_prop_intangible_p): Add prototype.
9151
9152 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9153
4a27bdfb
GM
9154 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9155 argument to sigprocmask.
9156
9157 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9158 argument to sigprocmask.
9159
9160 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9161 sigprocmask_set, and pass a pointer to it to sigprocmask.
9162
9163 * sysdep.c (sigprocmask_set): New variable.
9164
9165 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9166 report_file_error.
9167
427ec082
SS
91682000-06-20 Sam Steingold <sds@gnu.org>
9169
9170 * xrdb.c: Don't declare xmalloc, xrealloc.
9171
8972fe79 91722000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9173
9174 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9175 (re_comp): Cast gettext return value to avoid complaints when
9176 !HAVE_LIBINTL.
9177
074b6efe
DL
91782000-06-20 Dave Love <fx@gnu.org>
9179
52283633 9180 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9181
5700d2cc 9182 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9183
d355bd8a 9184 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9185
9186 * m/alpha.h: Don't declare xmalloc, xrealloc.
9187
0af4f205
DL
9188 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9189
9190 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9191
9192 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9193
9194 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9195 HAVE_GETWD.
9196
074b6efe
DL
9197 * keyboard.h (poll_for_input_1): Declare.
9198
9199 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9200
9201 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9202
9203 * doprnt.c: Don't declare xmalloc, xrealloc.
9204
9205 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9206 (getenv, ctime, getwd): Removed.
9207 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9208
9209 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9210 x_set_tool_bar_lines.
9211
9212 * config.in: Add HAVE_GETWD. Move some definitions above
9213 machine/system includes.
9214
68a5e97b
KH
92152000-06-20 Kenichi Handa <handa@etl.go.jp>
9216
95417e1e
KH
9217 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9218
68a5e97b
KH
9219 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9220 contain information about ENCODING.
9221
9222 * fontset.c (FONTSET_ASCII): Use the first element of char table
9223 for an ASCII font, not defalt slot.
9224 (fontset_ref_via_base): If FONTSET doesn't contain information for
9225 C, try the default fontset.
9226 (make_fontset): Don't copy the default fontset.
9227 (fontset_font_pattern): Likewise.
9228 (accumulate_font_info): If ELT is nil, use the corresponding
9229 element in the default fontset.
9230
3b4fa1b2
DL
92312000-06-19 Dave Love <fx@gnu.org>
9232
943e731c
DL
9233 * syntax.c (Fparse_partial_sexp): Doc fix.
9234
9235 * regex.h: Test PROTOTYPES as well as __STDC__.
9236
3b4fa1b2
DL
9237 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9238 errno, strerror. Put text after #endif in comment.
9239
52283633 9240 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9241
9242 * xterm.c (x_frame_of_widget): Likewise.
9243
cdf0357b
GM
92442000-06-19 Gerd Moellmann <gerd@gnu.org>
9245
9246 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9247 to Vfundamental_mode_abbrev_table.
9248
9249 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9250 bogus objects are marked. This slows down GC by ~80 percent, but
9251 it might be worth trying when debugging GC-related problems.
9252 This feature requires conservative stack marking to be enabled.
9253
9254 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9255 returns XLookupChars, reset `modifiers' to zero.
9256
998e9f8c
DL
92572000-06-19 Dave Love <fx@gnu.org>
9258
9259 * mktime.c: Unprotoized.
9260
18e21ce8 92612000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9262
9263 * data.c (set_internal): If variable is frame-local,
9264 store the new value immediately into the frame parameter alist.
9265
140c4ac6
KR
92662000-06-19 Ken Raeburn <raeburn@gnu.org>
9267
14358466
KR
9268 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9269 in the custom handler pointer.
9270
140c4ac6
KR
9271 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9272 value, or checks for CHAR_META can fail when Lisp_Object is a
9273 union type.
9274 * keymap.c (get_keyelt): Likewise.
9275
10d7bf84
KH
92762000-06-19 Kenichi Handa <handa@etl.go.jp>
9277
9278 * ccl.h (struct ccl_program): New member eol_type.
9279 (struct ccl_spec): New member cr_carryover.
9280
9281 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9282 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9283
9284 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9285 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9286 (decode_eol_post_ccl): New function.
9287 (decode_coding): Don't detect EOL format here for CCL based coding
9288 systems.
9289 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9290 decode_eol_post_ccl after running the CCL program.
9291 (code_convert_region): Don't detect EOL format here for CCL based
9292 coding systems.
9293 (decode_coding_string): Likewise.
9294
52e386c2
KR
92952000-06-18 Ken Raeburn <raeburn@gnu.org>
9296
9297 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9298 when treating it as an integer.
9299
9300 * coding.h (encode_coding_string): Declare.
9301
9302 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9303 it as an integer.
9304
9305 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9306 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9307 to be passed to get_local_map.
9308
9309 * sound.c (Fplay_sound): Don't call make_number on
9310 Frun_hook_with_args count argument.
9311
9312 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9313 for lisp objects in X event structure data field, when lisp
9314 objects are represented with unions.
9315 (x_scroll_bar_to_input_event): Ditto.
9316
b357b9d4
KR
93172000-06-16 Ken Raeburn <raeburn@gnu.org>
9318
9319 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9320 termination of string. Fix sense of test whether
9321 Vline_number_display_limit is an integer.
b357b9d4 9322
a871441d
GM
93232000-06-16 Gerd Moellmann <gerd@gnu.org>
9324
a9021acd
GM
9325 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9326 only if HAVE_X_WINDOWS.
9327
6344985d
GM
9328 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9329 of titles.
9330
427ec082 9331 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9332 out of bounds.
9333
228b083e
EZ
93342000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9335
9336 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9337 of its headers.
9338
c25b53a2
KH
93392000-06-15 Kenichi Handa <handa@etl.go.jp>
9340
9341 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9342 start of the while loop.
9343
a6981b11
GM
93442000-06-15 Gerd Moellmann <gerd@gnu.org>
9345
e9924e52
GM
9346 * atimer.c (alarm_signal_handler): Add forward declaration.
9347
a6981b11
GM
9348 * data.c (set_internal): Remove debug code.
9349
25fa6deb
GM
93502000-06-14 Gerd Moellmann <gerd@gnu.org>
9351
dce6b995
GM
9352 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9353
9f817ea4
GM
9354 * unexec.c (toplevel) [COFF]: Include coff.h.
9355
9356 * s/lynxos.h: New file.
9357
9358 * keymap.c (Fsingle_key_description): Enclose function key and
9359 event symbol names in angle brackets.
9360
8a4e3c0c
GM
9361 * xdisp.c (setup_echo_area_for_printing): Call
9362 message_log_maybe_newline if message_buf_print is not set.
9363
9364 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9365 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9366 function does something useful even when message_buf_print is
9367 already set.
9368
52283633
SM
9369 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9370 New variables.
25fa6deb
GM
9371 (ensure_echo_area_buffers): Initialize echo buffer's
9372 truncate lines setting to nil.
9373 (with_echo_area_buffer): Don't set the echo buffer's truncate
9374 lines setting here.
8a4e3c0c 9375 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9376 of message_truncate_lines.
9377 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9378 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9379 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9380
9381 * keyboard.c (read_char): Bind message-truncate-lines to t
9382 while displaying a help-echo.
9383
9384 * lisp.h (Qmessage_truncate_lines): External declaration.
9385
163dcff3
GM
93862000-06-13 Gerd Moellmann <gerd@gnu.org>
9387
1681ead6
GM
9388 * xdisp.c (Vline_number_display_limit): Renamed from
9389 line_number_display_limit.
9390 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9391 Extend documentation string. Initialize
9392 Vline_number_display_limit to nil meaning no limit.
9393 (decode_mode_spec): Use Vline_number_display_limit with its new
9394 meaning.
9395
163dcff3
GM
9396 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9397
18e21ce8 93982000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9399
9400 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9401
163dcff3
GM
9402 * xfns.c (x_set_frame_parameters): Comment fix.
9403
9404 * frame.c (store_frame_param): Call swap_in_global_binding if the
9405 variable's current binding was chosen based on this frame.
9406
9407 * data.c (swap_in_global_binding): New function.
9408
a704139d
EZ
94092000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9410
9411 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9412 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9413
9b6610db
EZ
94142000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9415
9416 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9417
c68833d2
JR
94182000-06-12 Jason Rumney <jasonr@gnu.org>
9419
9420 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9421
9422 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9423
9424 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9425
9426 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9427
ed1056b3
GM
94282000-06-12 Gerd Moellmann <gerd@gnu.org>
9429
9430 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9431 (syms_of_xfaces): Defsubr Sdump_colors.
9432 (x_free_colors): Don't treat b&w specially on default visual.
9433 (x_free_dpy_colors): New function.
9434 (free_face_colors): Don't check visual class; it's done
9435 in x_free_colors.
9436
9437 * xterm.c (x_frame_of_widget): New function.
9438 (x_alloc_nearest_color_for_widget): Use it.
9439 (x_copy_dpy_color): New function.
9440 (x_destroy_window): Free various colors.
9441
5050a2ef
KH
94422000-06-12 Kenichi Handa <handa@etl.go.jp>
9443
9444 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9445
9446 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9447
9448 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9449
9450 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9451
9452 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9453
fb1b041d
DL
94542000-06-11 Dave Love <fx@gnu.org>
9455
9456 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9457
ff96b5f4
EZ
94582000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9459
9460 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9461
db8eeecd
GM
94622000-06-11 Gerd Moellmann <gerd@gnu.org>
9463
ed1056b3 9464 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9465 to `XEvent *'.
9466
49b71c5f
KH
94672000-06-10 Kenichi Handa <handa@etl.go.jp>
9468
c479bd55
KH
9469 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9470 (regex_compile): Fix the code for handling the case of single byte
9471 char and multibyte char being mixed in a range within [...].
9472
ff6a65c2
KH
9473 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9474 and dst_multibyte members of coding.
9475
49b71c5f
KH
9476 * charset.c (update_charset_table): Update the table
9477 bytes_by_char_head.
9478 (init_charset_once): Initialize elements of bytes_by_char_head to
9479 1 except for leading codes for private charases.
9480
9481 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9482 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9483
9e80b57d
KR
94842000-06-09 Ken Raeburn <raeburn@gnu.org>
9485
9486 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9487 access the data it doesn't point to.
9488
f83fe4b4
GM
94892000-06-08 Gerd Moellmann <gerd@gnu.org>
9490
9491 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9492 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9493 event queue. This is necessary because Emacs otherwise won't
9494 perform a switch-frame to a new frame until some other event, for
9495 example a keystroke event, forces it to do so. This has various
9496 effects, one visible being that the cursor of a frame created with
9497 C-x 5 2 or switched to with a window manager key binding like
9498 A-TAB stays hollow because selected_window isn't on the newly
9499 focused frame until the switch-frame is performed.
9500
9501 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9502 generating a switch-frame event if necessary.
9503
9504 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9505
9506 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9507 it's an integer.
9508
0890801b
KH
95092000-06-08 Kenichi Handa <handa@etl.go.jp>
9510
52283633 9511 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9512
173cbca8
GM
95132000-06-07 Gerd Moellmann <gerd@gnu.org>
9514
3091c2a6
GM
9515 * window.c (displayed_window_lines): Take empty lines at
9516 the bottom of a window into account.
427ec082 9517
f38952fe
GM
9518 * window.c (displayed_window_lines): New function.
9519 (Fmove_to_window_line): Use displayed_window_lines to determine
9520 the number of lines to move, instead of using the window's height.
9521
9522 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9523 to stop reading, even if the form read sets point to a different
9524 value when evaluated.
9525
427ec082 9526 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9527 put the cursor.
9528
6ba6c818
KH
95292000-06-07 Kenichi Handa <handa@etl.go.jp>
9530
9531 * fileio.c (e_write): Free composition data if stored in
9532 coding->cmp_data.
9533
5f1aea9a
GM
95342000-06-06 Gerd Moellmann <gerd@gnu.org>
9535
666852af
GM
9536 * xdisp.c (display_line): Set row's and iterator's
9537 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9538 Set cursor even if row ends in the middle of a character.
9539 (dump_glyph_row): Print values of new flags.
9540 (redisplay_window) <cursor movement in unchanged window>: When
9541 point has been moved forward, and PT is at the end of the cursor
9542 row, don't place the cursor in the next row if the cursor row ends
9543 in the middle of a character or at ZV.
9544
9545 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9546 (struct glyph_row): Add starts_in_middle_of_char_p and
9547 ends_in_middle_of_char_p.
9548 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9549 ends_in_middle_of_char_p flag.
9550 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9551
d13f3e2e
GM
9552 * term.c (append_glyph): Revert change of 2000-06-06.
9553
9554 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9555 padding glyph not fitting on line as whole character not
9556 fitting on line.
9557
5f1aea9a
GM
9558 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9559 this isn't true for images with `:ascent 100'.
9560
10cda9b0
KH
95612000-06-06 Kenichi Handa <handa@etl.go.jp>
9562
ed00559d
KH
9563 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9564 as modified if it is originally unmodified.
9565
10cda9b0
KH
9566 * term.c (encode_terminal_code): Change the way to check if
9567 terminal coding does any conversion.
9568 (append_glyph): Set glyph->pixel_width correctly.
9569
9570 * xdisp.c (display_line): While checking line continuation, pay
9571 attention to a padding glyph.
9572
1969fae2
GM
95732000-06-05 Gerd Moellmann <gerd@gnu.org>
9574
9575 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9576
162ccef4
DL
95772000-06-05 Dave Love <fx@gnu.org>
9578
f19f32dd
DL
9579 * xdisp.c: Include fontset.h.
9580
9581 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9582
9583 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9584
9585 * dispnew.c: Conditionally include term.h.
9586
9587 * coding.h: Declare code_convert_string_norecord.
9588
9589 * frame.h (struct frame): Use volatile unconditionally.
9590
9591 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9592
9593 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9594
9595 * systime.h: Protect against multiple inclusion.
9596 (timezone) [USG5_4]: Define as time_t.
9597
9598 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9599 (Foptimize_char_table, make_temp_name): Declare.
9600
9601 * Makefile.in (xdisp.o): Depend on fontset.h.
9602
9603 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9604
9605 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9606 (Foptimize_char_table, make_temp_name): Declare.
9607
427ec082 9608 * s/irix4-0.h:
162ccef4
DL
9609 * s/irix5-0.h:
9610 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9611
2082fe81
DL
96122000-06-02 Dave Love <fx@gnu.org>
9613
9614 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9615
dcf671d2
GM
96162000-06-02 Gerd Moellmann <gerd@gnu.org>
9617
9618 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9619 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9620 be freed.
9621
9622 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9623 glyph, use the ASCII NUL character to determine the face.
9624
d42122a3
DL
96252000-06-02 Dave Love <fx@gnu.org>
9626
9627 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9628 (VFORK_RETURN_TYPE): Remove.
427ec082 9629
d42122a3
DL
9630 * config.in: Add NO_MATHERR.
9631
dd432f16
DL
96322000-06-01 Dave Love <fx@gnu.org>
9633
90aa4ea8
DL
9634 * cmds.c (internal_self_insert): Don't check
9635 Vbefore_change_function, Vafter_change_function.
9636
9637 * insdel.c (signal_before_change, signal_after_change): Likewise.
9638
9639 * buffer.c (Vbefore_change_function, Vafter_change_function):
9640 Variables and their initializations deleted.
9641
2330c9d4
DL
9642 * callint.c (Fcall_interactively): Doc fix.
9643
dd432f16
DL
9644 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9645
bf9e8804
DL
96462000-05-31 Dave Love <fx@gnu.org>
9647
9648 * textprop.c: Revert last change -- duplicated.
9649
3694b4ab
GM
96502000-05-31 Gerd Moellmann <gerd@gnu.org>
9651
9652 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9653 in #if 0.
9654
9655 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9656
f14156cd
JR
96572000-05-31 Jason Rumney <jasonr@gnu.org>
9658
8119aab8
JR
9659 * search.c (Fre_search_forward, Fre_search_backward)
9660 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9661
f14156cd
JR
9662 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9663
4aab9be3
JR
96642000-05-30 Jason Rumney <jasonr@gnu.org>
9665
9666 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9667 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9668
52283633 9669 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9670
9671 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9672 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9673 expand a nil default_filename.
9674
9675 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9676 pointer to glyph_to_pixel_coords, not a frame.
9677
9678 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9679 coding.h to dependencies.
9680
9681 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9682
9683 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9684 window pointer to be consistent with w32term.c and xterm.c.
9685
9686 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9687 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9688 (Qline_spacing, Qcenter): New variables.
9689 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9690 (x_set_line_spacing): New function.
52283633 9691 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9692 (x_specified_cursor_type): New function.
9693 (x_set_cursor_type): Use it.
9694 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9695 and icon strings.
9696 (validate_x_resource_name, x_get_resource_string): Measure lengths
9697 of external strings in bytes.
9698 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9699 GetTextExtentPoint32 with NULL title.
9700 (Fx_create_frame): Initialize Qline_spacing.
9701 (w32_load_system_font): Initialize font->double_byte_p.
9702 (x_to_w32_charset): Use Vw32_charset_info_alist.
9703 (Image, busy cursor, tooltip functions): Merged changes from
9704 xfns.c. Not yet functional on Windows.
9705
9706 * w32gui.h (W32FontStruct): Add double_byte_p member.
9707
9708 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9709 (emacs_button_translation): Use it.
9710 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9711 in `mask' to be set.
9712
9713 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9714 menu strings.
9715
9716 * w32term.c: Format and doc changes to bring closer to xterm.c.
9717 (w32_char_font_type): New enum.
9718 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9719 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9720 (w32_encode_char): New function.
9721 (x_encode_char): Removed.
9722 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9723 x_encode_char and w32_font_is_double_byte.
9724 (x_produce_image_glyph): Use image_ascent.
9725 (x_produce_glyphs): Use new version of w32_per_char_metric and
9726 handle NULL return value. Allow extra line spacing.
9727 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9728 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9729 w32_font_type member of glyph instead.
9730 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9731 (fast_find_position): Make sure not to consider rows not visible
9732 in the window.
9733 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9734 w32_menu_display_help with input blocked, as it can abort.
9735 (x_display_and_set_cursor): Choose cursor depending
9736 on buffer-local value of cursor_type.
9737 (x_draw_bar_cursor): Add parameter WIDTH.
9738
9739 * w32term.h (CP_DEFAULT): Define.
9740 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9741
10fc3187
GM
97422000-05-30 Gerd Moellmann <gerd@gnu.org>
9743
9744 * search.c (Fre_search_forward, Fre_search_backward)
9745 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9746
d0555360
KH
97472000-05-30 Kenichi Handa <handa@etl.go.jp>
9748
9749 * coding.c (detect_coding_iso2022): Fix code for checking
9750 CODING_CATEGORY_MASK_ISO_8_2.
9751
f1ad044f
SM
97522000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9753
9754 * regex.c (PREFETCH_NOLIMIT): New function.
9755 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9756
84ec3b4b
GM
97572000-05-29 Gerd Moellmann <gerd@gnu.org>
9758
66254a13
GM
9759 * syntax.c (find_defun_start): Move test for
9760 open_paren_in_column_0_is_defun_start outside of the loop.
9761
49e70dec
GM
9762 * xdisp.c (redisplay_window): Really switch buffers when
9763 displaying mode lines, and temporarily set selected_frame to the
9764 frame of the window that's redisplayed.
9765
84ec3b4b
GM
9766 * xfaces.c (free_realized_faces): Block/unblock input.
9767 (free_realized_multibyte_face): Ditto.
9768
869a3a14
DL
97692000-05-29 Dave Love <fx@gnu.org>
9770
9771 * textprop.c (Qkeymap): New variable.
9772 (syms_of_textprop): Intern it.
9773
9774 * keymap.c: Include intervals.h.
9775 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9776
9777 * Makefile.in (keymap.o): Depend on intervals.h.
9778
9779 * keyboard.c (menu_bar_items, tool_bar_items)
9780 (Fexecute_extended_command): Deal with `keymap' property.
9781 (read_key_sequence): Track map from `keymap' property as well as
9782 `local_map'.
9783
9784 * intervals.c (get_local_map): Extra arg to allow looking for
9785 `keymap' too.
9786
9787 * intervals.h (map_property): New enum.
9788 (get_local_map): Extra arg using it.
9789 (Qkeymap): Declare.
9790
84ec3b4b 9791 * lisp.h (get_local_map): Don't declare here.
869a3a14 9792
89d0c844
KH
97932000-05-29 Kenichi Handa <handa@etl.go.jp>
9794
9795 * Makefile.in (callproc.o): Depend on composite.h.
9796
9797 * callproc.c: Include composite.h.
9798 (Fcall_process): Handle composition correctly.
9799
9800 * coding.h (coding_allocate_composition_data): Extern it.
9801 (coding_restore_composition): Likewise.
9802
9803 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9804 yet allocated, finish decoding with result
9805 CODING_FINISH_INSUFFICIENT_CMP.
9806 (coding_allocate_composition_data): Make it non-static.
9807 (coding_restore_composition): Likewise.
9808
797a084a
EZ
98092000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9810
9811 * charset.c (syms_of_charset): Revert last change.
9812
cf872af5
EZ
98132000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9814
9815 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9816 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9817 Handa.
cf872af5 9818
5b1ae051
EZ
98192000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9820
9821 * charset.c (syms_of_charset): Set width of character sets
9822 eight-bit-control and eight-bit-graphic to 1 column.
9823
34ec9ebe
GM
98242000-05-26 Gerd Moellmann <gerd@gnu.org>
9825
9826 * config.in (HAVE_SPEED_T): New define.
9827
9828 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9829 `extern speed_t'.
9830
dd854dc2
DL
98312000-05-26 Dave Love <fx@gnu.org>
9832
9833 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9834
9835 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9836 (Fsubr_arity): New function.
9837 (syms_of_data): Install them.
9838
ba9f8f95
KH
98392000-05-26 Kenichi Handa <handa@etl.go.jp>
9840
0f3e0672
KH
9841 * charset.c (init_charset_once): Set the table bytes_by_char_head
9842 correctly.
9843
cebefb44
KH
9844 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9845 the default fontset to what Emacs uses by default.
0f3e0672
KH
9846 (check_registry_encoding): This function deleted.
9847 (Fset_fontset_font): Remove the adhoc condition for the default
9848 fontset. Allow cons in FONTNAME.
cebefb44 9849
0f3e0672
KH
9850 * fns.c (map_char_table): Ignore char-table entries for
9851 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9852
7a18af49
KR
98532000-05-25 Ken Raeburn <raeburn@gnu.org>
9854
9855 * emacs.c (main): Initialize keyboard syms before initializing
9856 window code, so face names are available.
9857
d2af47df
SM
98582000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9859
9860 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9861 of an anchor at the beginning of a shy-group.
9862
fc6a6a4e
GM
98632000-05-25 Gerd Moellmann <gerd@gnu.org>
9864
9865 * xdisp.c (handle_invisible_prop): Don't try to skip over
9866 invisible text if end of text is already reached.
9867
005f0d35
DL
98682000-05-25 Dave Love <fx@gnu.org>
9869
02513cdd
DL
9870 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9871
005f0d35
DL
9872 * coding.c (encode_eol): Add null statement after label.
9873
89f6ca4e
EZ
98742000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9875
9876 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9877 2000-05-20.
9878
a4e1759e
KH
98792000-05-25 Kenichi Handa <handa@etl.go.jp>
9880
9881 * ccl.c (ccl_driver): Fix previous change.
9882
eacfd7fe
KH
98832000-05-25 Kenichi Handa <handa@etl.go.jp>
9884
46ab33a9
KH
9885 * coding.c (run_pre_post_conversion_on_str): Set point to the
9886 beginning of buffer before calling coding->post_read_conversion.
9887 (decode_coding_string): Give correct args to
9888 run_pre_post_conversion_on_str.
9889 (encode_coding_string): Likewise.
9890
eacfd7fe
KH
9891 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9892 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9893 eight-bit-graphic correctly.
9894
f8569325
DL
98952000-05-24 Kenichi HANDA <handa@etl.go.jp>
9896
9897 * fileio.c (Finsert_file_contents): Even if a file is not found,
9898 execute codes for setting up coding system. Call
9899 after-insert-file-functions unconditionally.
9900
04545643
GM
99012000-05-24 Gerd Moellmann <gerd@gnu.org>
9902
9903 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9904 BSD_PGRPS are not defined.
9905
747d90ea
KH
99062000-05-24 Kenichi Handa <handa@etl.go.jp>
9907
9908 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9909 DESCRIPTION.
9910 (syms_of_charset): Avoid building same strings.
9911
716e3b88
GM
99122000-05-23 Gerd Moellmann <gerd@gnu.org>
9913
9914 * lread.c (Fload): Add a comment about the meaning of
9915 Vuser_init_file being t.
9916
9917 * puresize.h (BASE_PURESIZE): Increase to 675000.
9918
9919 * s/gnu-linux.h (setpgrp): Don't define it here because this
9920 prevents compilation on GNU/Linux systems with glib 2.2.
9921
9922 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9923 as setpgid.
427ec082 9924
9aeb39fa
EZ
99252000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9926
9927 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9928 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9929 version.
9930 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9931
29ced61b
KH
99322000-05-23 Kenichi Handa <handa@etl.go.jp>
9933
52283633 9934 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9935
3d80f24d
KH
9936 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9937
52283633 9938 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9939
29ced61b
KH
9940 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9941
d7e00792
KH
99422000-05-22 Kenichi Handa <handa@etl.go.jp>
9943
c9d80d38
KH
9944 * keyboard.c (read_char): Allow character codes 128..255 to be
9945 handled by input-method-function.
9946
d7e00792
KH
9947 * insdel.c (adjust_markers_for_replace): Fix previous change.
9948 (adjust_after_replace): If PREV_TEXT is nil, call
9949 adjust_markers_for_insert, not adjust_markers_for_replace.
9950
087121cc 99512000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9952
087121cc
GM
9953 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9954 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9955 [HAVE_GRANDPT]: Define.
9956 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9957
9958 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9959 like SYSV_PTYS.
9960
9961 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9962
9963 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9964
c9671f81
KH
99652000-05-20 Kenichi Handa <handa@etl.go.jp>
9966
9967 The following changes are to handle 8-bit characters in a
9968 multibyte buffer/string without facing with byte combining
9969 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9970 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9971
9972 * Makefile.in (fns.o): Depend on charset.h.
9973
9974 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9975 convert it to unibyte.
9976 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9977
9978 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9979 apparent char boundary.
9980 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9981 0x80..0x9F to/from multibyte form.
9982
9983 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9984 to unibyte.
9985
9986 * callproc.c (Fcall_process): Always encode an argument string if
9987 it is multibyte. Setup src_multibyte and dst_multibyte members of
9988 process_coding properly.
ce75fd23 9989
c9671f81
KH
9990 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9991 SPLIT_NON_ASCII_CHAR.
9992
9993 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9994 as is.
9995 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9996
52283633 9997 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9998 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9999 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10000 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10001 and eight-bit-graphic.
10002 (char_to_string): Likewise. Signal an error for too large
10003 character code.
10004 (char_printable_p): Return 0 for 8-bit characters.
10005 (update_charset_table): Update iso_charset_table only when a final
10006 character is non-negative.
10007 (find_charset_in_text): Renamed from find_charset_in_str.
10008 Arguments and return value changed. Callers changed.
10009 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10010 be -1 if CHARSET is used only internally.
10011 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10012 eight-bit-graphic.
10013 (Fcharset_after): Simplified.
10014 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10015 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10016 (multibyte_chars_in_text): Simplified by assuming there's no
10017 invalid multibyte sequence.
52283633
SM
10018 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10019 (str_as_unibyte): New functions.
10020 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10021 (init_charset_once): Initialization for
10022 LEADING_CODE_8_BIT_CONTROL.
10023 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10024 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10025 eight-bit-control and eight-bit-graphic.
10026
52283633
SM
10027 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10028 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10029 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10030 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10031 (CHARSET_REVERSE_CHARSET): Likewise.
10032 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10033 eight-bit-graphic.
10034 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10035 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10036 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10037 encounter an invalid multibyte sequence.
10038 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10039 sequence is always valid.
10040 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10041 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10042 (CHAR_STRING): For 8-bit characters, call char_to_string.
10043 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10044 multibyte sequence is always valid.
10045 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10046 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10047 (str_as_unibyte): Extern them.
c9671f81 10048 (BCOPY_SHORT): Fix a bug.
52283633 10049 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10050 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10051 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10052 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10053
bd4bde7f 10054 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10055 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10056 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10057 (EMIT_BYTES): New macros.
10058 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10059 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10060 macros deleted.
10061 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10062 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10063 check the validity of multibyte sequence.
10064 (decode_coding_emacs_mule): New function.
10065 (encode_coding_emacs_mule): New macro.
10066 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10067 the source.
10068 (DECODE_ISO_CHARACTER): Just return a character code.
10069 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10070 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10071 EMIT_CHAR to produced decoded characters. Exit the loop only by
10072 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10073 block here.
10074 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10075 only position codes for an invalid character.
10076 (encode_designation_at_bol): Return new destination pointer. 5th
10077 arg DSTP is changed to DST.
10078 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10079 from the source by ONE_MORE_CHAR. Don't handle the case of last
10080 block here.
10081 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10082 macros deleted.
52283633
SM
10083 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10084 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10085 TWO_MORE_BYTES to fetch a byte from the source.
10086 (encode_eol): Pay attention to coding->src_multibyte.
10087 (detect_coding, detect_eol): Preserve members src_multibyte and
10088 dst_multibyte.
10089 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10090 (encoding_buffer_size): Set magnification to 3 for all coding
10091 systems that require encoding.
10092 (ccl_coding_driver): For decoding, be sure that the result is
10093 valid multibyte sequence.
10094 (decode_coding): Initialize coding->errors and coding->result.
10095 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10096 and raw-text, always call decode_eol. Handle the case of last
10097 block here. If not coding->dst_multibyte, convert the resulting
10098 sequence to unibyte.
10099 (encode_coding): Initialize coding->errors and coding->result.
10100 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10101 and raw-text, always call encode_eol. Handle the case of last
10102 block here.
10103 (shrink_decoding_region, shrink_encoding_region): Detect cases
10104 that we can't skip data more rigidly.
10105 (code_convert_region): Setup src_multibyte and dst_multibyte
10106 members of coding. For decoding, if the buffer is multibyte,
10107 convert the source sequence to unibyte in advance. For encoding,
10108 if the buffer is multibyte, convert the resulting sequence to
10109 multibyte afterward.
10110 (run_pre_post_conversion_on_str): New function.
10111 (code_convert_string): Deleted and divided into the following two.
10112 (decode_coding_string, encode_coding_string): New functions.
10113 (code_convert_string1, code_convert_string_norecord): Call one of
10114 above.
10115 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10116 MAKE_NON_ASCII_CHAR.
52283633
SM
10117 (Fset_terminal_coding_system_internal)
10118 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10119 and dst_multibyte members.
10120 (init_coding_once): Initialize iso_code_class with new enum
10121 ISO_control_0 and ISO_control_1.
10122
10123 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10124 devided into ISO_control_0 and ISO_control_1.
10125 (struct coding_system): New members src_multibyte, dst_multibyte,
10126 errors, and result. Delete member fake_multibyte.
10127 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10128 nonzero.
10129 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10130 nonzero.
10131
10132 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10133 (Faset): Likewise.
10134
10135 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10136 multibyte form.
10137 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10138 combining occurs.
10139 (Ftranspose_region): Delete codes for handling byte combining.
10140
10141 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10142 dst_multibyte members of coding. On handling REPLACE on unibyte
10143 buffer, convert the result of decode_coding to unibyte. On
10144 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10145 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10146 multibyteness of the source (buffer or string).
10147
10148 * fns.c (concat): Handle 8-bit characters correctly.
10149 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10150 unibyte in the result.
10151 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10152 valid multibyte form in the result.
10153 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10154 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10155 return -1, signal an error.
10156 (base64_encode_1): New arg MULTIBYTE. Get each character by
10157 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10158 character is found, return -1.
10159 (Fbase64_decode_region): Delete codes for handling byte-combining.
10160 Treat each decoded byte as a unibyte character.
10161 (Fbase64_decode_string): Return unibyte string.
10162 (Fcompare_strings, concat, string_byte_to_char): Use
10163 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10164 FETCH_STRING_CHAR_ADVANCE.
10165 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10166 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10167
10168 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10169 SPLIT_NON_ASCII_CHAR.
10170 (fontset_ref_via_base, fontset_set): Likewise
10171
10172 * insdel.c (adjust_markers_for_record_delete): Deleted.
10173 (adjust_markers_for_insert): Argument changed. Caller changed.
10174 (adjust_markers_for_replace): Likewise.
52283633
SM
10175 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10176 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10177 (copy_text): Delete unused local varialbe c_save. For converting
10178 to multibyte, be sure to make all 8-bit characters in valid
10179 multibyte form.
10180 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10181 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10182 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10183 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10184 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10185 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10186 handling byte combining.
10187 (adjust_before_replace): Deleted.
427ec082 10188
c9671f81
KH
10189 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10190 SPLIT_NON_ASCII_CHAR.
10191 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10192 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10193 (Fkey_description): Likewise.
10194
10195 * lread.c (read1): On reading multibyte string, be sure to make
10196 all 8-bit chararacters in valid multibyte form.
10197 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10198
10199 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10200 unconditionally.
10201
10202 * process.c (Fstart_process): GCPRO current_dir before calling
10203 Ffind_operation_coding_system. Encode arguments here.
10204 (create_process): Don't encode arguments here. Setup
10205 src_multibyte and dst_multibyte members of struct coding.
10206 (read_process_output): Setup src_multibyte and dst_multibyte
10207 members of struct coding. If the output is to multibyte buffer,
10208 always decode the output of the process. Adjust the
52283633 10209 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10210 (send_process): Setup coding->src_multibyte according to the
10211 multibyteness of the source.
10212
52283633 10213 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10214 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10215 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10216
52283633 10217 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10218
10219 * w16select.c (Fw16_set_clipboard_data): Setup members
10220 src_multibyte and dst_multibyte of coding. Adjusted for the
10221 change for find_charset_in_str.
10222 (Fw16_get_clipboard_data): Likewise.
10223
10224 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10225 dst_multibyte of coding.
10226 (x_to_w32_font): Likewise.
10227
10228 * w32select.c (Fw32_set_clipboard_data): Setup members
10229 src_multibyte and dst_multibyte of coding. Adjusted for the
10230 change for find_charset_in_str.
10231 (Fw32_get_clipboard_data): Likewise.
10232
10233 * xdisp.c (get_next_display_element): Handle 8-bit characters
10234 correctly.
52283633
SM
10235 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10236 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10237
10238 * xselect.c (selection_data_to_lisp_data): Setup members
10239 src_multibyte and dst_multibyte of coding. Adjusted for the
10240 change for find_charset_in_str.
10241 (lisp_data_to_selection_data): Likewise.
10242
5f64c9e0
GM
102432000-05-19 Gerd Moellmann <gerd@gnu.org>
10244
52283633 10245 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10246
5f64c9e0
GM
10247 * dispextern.h (Vimage_types): Add extern declaration.
10248
10249 * xdisp.c (Vimage_types): Moved here from xfns.c.
10250 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10251
10252 * xfns.c (Vimages_types): Moved to xdisp.c.
10253 (syms_of_xfns): Move `image-types' to xdisp.c.
10254
10255 * w32fns.c (Vimage_types): Removed.
10256 (syms_of_w32fns): Remove `image-types'.
10257
813086ea
KH
102582000-05-18 Kenichi Handa <handa@etl.go.jp>
10259
10260 * fns.c (map_char_table): Pay attention to character number of
10261 charset. Check the validity of charset at the first level. For
10262 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10263 the default value.
10264
10265 * fontset.c: Include "buffer.h".
10266 (fs_load_font): If the face has fontset, record the face ID in
10267 that fontset.
10268 (Finternal_char_font): New function.
10269 (accumulate_font_info): New function.
10270 (Ffontset_info): Rewritten for the new fontset implementation.
10271 (syms_of_fontset): Register Vdefault_fontset in the first element
10272 of Vfontset_table. Include Vdefault_fontset in
10273 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10274 function.
10275
bdaebbf0
DL
102762000-05-16 Dave Love <fx@gnu.org>
10277
10278 * m/iris5d.h: Deleted -- unused.
10279
cb613bb8
GM
102802000-05-16 Gerd Moellmann <gerd@gnu.org>
10281
b15f3b77
GM
10282 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10283 `invalid' instead of `illegal'.
10284
10285 * indent.c (Fmove_to_column): When ending within a tab, insert
10286 spaces first so that markers at the end of the tab get adjusted.
10287
835c1b36
GM
10288 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10289 buffer list that wasn't selected in that frame.
10290
cb613bb8
GM
10291 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10292 is needed on mescaline, use a 2 char prefix, and call
10293 make_temp_name with second arg non-zero.
10294
10295 * fileio.c (make_temp_name): New function, extracted from
10296 Fmake_temp_name.
10297 (Fmake_temp_name): Use it.
10298
f685bea9
EZ
102992000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10300
52283633 10301 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10302
a1b8d58b
GM
103032000-05-15 Gerd Moellmann <gerd@gnu.org>
10304
10305 * Makefile.in (lisp): Add env.elc.
10306
10307 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10308
a265079f
GM
103092000-05-12 Gerd Moellmann <gerd@gnu.org>
10310
10311 * search.c (Freplace_match): Handle case of `\N' in the
10312 replacement when there's no group N.
10313
da4496b6
GM
103142000-05-11 Gerd Moellmann <gerd@gnu.org>
10315
0ace421a
GM
10316 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10317 of the message to message_dolog.
10318
1172eb8d
GM
10319 * keyboard.c (read_char): Don't clear current message for help
10320 events; let the code handling help events handle this. Change
10321 code detecting help events that should be ignored.
10322
da4496b6
GM
10323 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10324 we're interating over a string.
10325
0623e40f
DL
103262000-05-09 Dave Love <fx@gnu.org>
10327
10328 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10329 that offset before writing. Move gcpro region past call of
10330 Ffile_regular_p.
10331
bae2503b
DL
103322000-05-04 Dave Love <fx@gnu.org>
10333
10334 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10335
ec82fb2f
GM
103362000-05-04 Gerd Moellmann <gerd@gnu.org>
10337
10338 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10339 of inserted characters when BUF equals the current buffer, and PT
10340 is in front of or equal to FROM.
10341
cbf18892
GM
103422000-05-03 Gerd Moellmann <gerd@gnu.org>
10343
4ff40dd0
GM
10344 * xdisp.c (handle_single_display_prop): If display property value
10345 is invalid, or something not supported on the frame, restore
10346 iterator's position to what it was initially. Make sure to return
10347 0 for invalid and unsupported property values.
10348
cbf18892
GM
10349 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10350 that x_per_char_metric returns null.
10351
1b0672c3
GM
103522000-05-02 Gerd Moellmann <gerd@gnu.org>
10353
576da55d
GM
10354 * xterm.h (struct face): Add forward declaration.
10355 (struct image): Ditto.
10356 (image_ascent): Add prototype.
10357
10358 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10359 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10360 image_ascent instead of using IMAGE_ASCENT.
10361
10362 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10363 (IMAGE_ASCENT): Removed.
10364
10365 * xfns.c (Qcenter): New variable.
10366 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10367 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10368 (image_ascent): New function.
10369 (lookup_image): Recognize `:ascent center'.
10370 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10371 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10372 (xbm_load): Don't set image's ascent here.
10373 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10374 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10375 check ascent values here.
10376 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10377 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10378 (syms_of_xfns): Initialize Qcenter.
10379
1b0672c3
GM
10380 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10381 to the limits, increase the limits.
10382
0d7811ed
KH
103832000-05-01 Kenichi Handa <handa@etl.go.jp>
10384
10385 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10386 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10387
a943a5ca
GM
103882000-04-28 Gerd Moellmann <gerd@gnu.org>
10389
10390 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10391 taller than the window.
10392
5dba1e29
KH
103932000-04-28 Kenichi Handa <handa@etl.go.jp>
10394
10395 * xfaces.c (realize_x_face): Fix the argument of the second
10396 xassert. BASE_FACE may not be a face for ASCII.
10397
353964e3
GM
103982000-04-27 Gerd Moellmann <gerd@gnu.org>
10399
c76e04a8
GM
10400 * print.c (print_object): Treat print-length < 0 as nil.
10401
10402 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10403
10404 * s/freebsd.h (TERMCAP_OBJ): Removed.
10405 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10406
10407 * lread.c (read1): Don't treat period followed by certain
10408 characters as symbol start.
10409
10410 * xfns.c (slurp_file): New function.
10411 (xbm_image_p): Handle case of in-memory XBM files.
10412 (xbm_scan): Rewritten to work on memory buffers instead of files.
10413 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10414 Work on memory buffers instead of files. If DATA is null test
10415 if buffer looks like an in-memory XBM file.
10416 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10417 memory buffers instead of files.
10418 (xbm_file_p): New function.
10419 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10420
353964e3
GM
10421 * lread.c (end_of_file_error): New function.
10422 (read1): Call it instead of signaling `end-of-file' directly.
10423
427ec082 10424 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10425 with Fprinc instead of Fprin1.
10426
24d744ac
KR
104272000-04-26 Ken Raeburn <raeburn@gnu.org>
10428
10429 * window.c (freeze_window_start): Check that minibuffer scroll
10430 window isn't nil before extracting the window structure pointer
10431 from it.
10432
10433 * undo.c (record_delete): If we hit the end of the undo list, stop
10434 picking elements apart.
10435
7464346d
GM
104362000-04-26 Gerd Moellmann <gerd@gnu.org>
10437
10438 * xdisp.c (display_line): If lines are continued, restore
10439 iterator's ascent/descent information to the values before the
10440 first glyph not fitting on the line.
10441
612839b6
GM
104422000-04-25 Gerd Moellmann <gerd@gnu.org>
10443
10444 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10445 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10446
10447 * dispnew.c (increment_matrix_positions): Renamed from
10448 increment_glyph_matrix_buffer_positions.
10449 (increment_row_positions): Renamed from
10450 increment_glyph_row_buffer_positions.
10451
10452 * dispextern.h: Change names of renamed functions from dispnew.c
10453 in prototypes.
10454
cc181e95
GM
104552000-04-24 Gerd Moellmann <gerd@gnu.org>
10456
abfcc168
GM
10457 * fileio.c (Fdo_auto_save): Create directories for auto-save
10458 list file if necessary.
10459
cc181e95
GM
10460 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10461 from buffer or frame.
10462 (automatic_hscrolling_p): New variable.
10463 (hscroll_windows): Scroll windows horizontally only if automatic
10464 hscrolling is allowed.
10465 (syms_of_xdisp): New variable `automatic-hscrolling'.
10466
10467 * frame.h (struct frame): Add member extra_line_spacing.
10468
10469 * xfns.c (x_set_line_spacing): New function.
10470 (Fx_create_frame): Set line spacing from resources.
10471 (Qline_spacing): New variable.
10472 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10473
cc181e95
GM
10474 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10475
10476 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10477 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10478 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10479 extra_line_spacing from default value.
10480 (init_buffer_once): Initialize default value of extra_line_spacing.
10481
10482 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10483 and extra3.
10484
10485 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10486 prompt_width. Add extra line spacing.
10487
10488 * term.c (produce_glyphs): Remove reference to struct it's
10489 prompt_width.
10490
10491 * dispextern.h (struct it): Remove member prompt_width, add
10492 extra_line_spacing.
10493
58827478
GM
104942000-04-22 Gerd Moellmann <gerd@gnu.org>
10495
10496 * dispnew.c (update_frame_line): When writing a whole line, make
10497 sure cursor is in the right row afterwards, otherwise a use of
10498 capability `ch' in cmgoto might leave the cursor in the row below.
10499
25a87f42
GM
105002000-04-21 Gerd Moellmann <gerd@gnu.org>
10501
10502 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10503
10504 * keyboard.c (timer_check): Fix typo in comment.
10505
54edf5c2
KH
105062000-04-21 Kenichi Handa <handa@etl.go.jp>
10507
10508 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10509 name change: ch -> character.
10510
3a64eef5
GM
105112000-04-20 Gerd Moellmann <gerd@gnu.org>
10512
10513 * keyboard.c (echo_message_buffer): New variable.
10514 (echo_now): Set echo_message_buffer to the echo area buffer used
10515 to display the echo.
10516 (cancel_echoing): Reset echo_message_buffer to nil.
10517 (read_char): Code rewritten that handles canceling an echo or
10518 echoing a dash, respectively.
10519
10520 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10521 directory doesn't exist.
10522
6142fdcb
DL
105232000-04-19 Dave Love <fx@gnu.org>
10524
10525 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10526 (concat): Don't allow numeric args.
10527 (Fconcat): Doc change.
6142fdcb 10528
ac6b5352
SM
105292000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10530
10531 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10532 instead define end_match(1|2) more carefully.
10533 Use GET_CHAR_BEFORE_2 for `begline'.
10534
cb9215e4
GM
105352000-04-19 Gerd Moellmann <gerd@gnu.org>
10536
5e3dac3f
GM
10537 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10538 on 64-bit systems where NULL is defined as `0'.
10539
10540 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10541 the `variable argument list' to make it work on Alpha.
10542
cb9215e4
GM
10543 * m/alpha.h (_LP64) [!_LP64]: Define.
10544 (ORDINARY_LINK): Define for NetBSD.
10545
10546 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10547
f532dca0
DL
105482000-04-19 Dave Love <fx@gnu.org>
10549
c750667e
DL
10550 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10551 change.
10552
10553 * Makefile.in (LIBS): Don't use.
10554 (GETLOADAVG_OBJ): Define again.
10555 (otherobj): Add GETLOADAVG_OBJ.
10556
f532dca0
DL
10557 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10558
1c7e22fd
GM
105592000-04-18 Gerd Moellmann <gerd@gnu.org>
10560
f6d3257b
GM
10561 * lread.c (read_filtered_event): Cancel and start busy cursor.
10562
427ec082 10563 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10564 that the per-character metrics may be null.
10565
e10f64e7
GM
105662000-04-17 Gerd Moellmann <gerd@gnu.org>
10567
0daee095
GM
10568 * buffer.c (clone_per_buffer_values): New function.
10569 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10570 clone_per_buffer_values if CLONE is not nil.
10571
e10f64e7
GM
10572 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10573
38687d43
DL
105742000-04-16 Dave Love <fx@gnu.org>
10575
10576 * Makefile.in: Remove obsolete localcpp stuff.
10577 (GETLOADAVG_OBJ): Don't define.
10578 (obj): Move LIBOBJS...
10579 (otherobj): ... to here.
10580 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10581 whitespace-only lines after the continuation (Irix).
10582
c21c7262
GM
105832000-04-14 Gerd Moellmann <gerd@gnu.org>
10584
10585 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10586
10587 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10588
314767c0
DL
105892000-04-14 Dave Love <fx@gnu.org>
10590
10591 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10592 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10593 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10594 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10595 NLIST_STRUCT.
10596
10597 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10598 autoconfiscated HAVE_GETLOADAVG.
10599
10600 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10601 BROKEN_MKTIME.
10602
a2522dca
GM
106032000-04-14 Gerd Moellmann <gerd@gnu.org>
10604
10605 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10606 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10607
33744b5d
DL
106082000-04-14 Dave Love <fx@gnu.org>
10609
c21c7262 10610 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10611 (INTERVAL_SRC): Convert to make variable.
10612 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10613 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10614 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10615 add LIBOBJS.
10616 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10617 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10618 (shortlisp): Add facemenu, float-sup, frame.
10619 (SOME_MACHINE_LISP): Remove them from here.
10620 (LIBES): Change unused LDLIBS to autoconf LIBS.
10621
10622 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10623
9d3d5916
KH
106242000-04-14 Kenichi Handa <handa@etl.go.jp>
10625
10626 * composite.c (update_compositions): If FROM and TO are not in a
10627 valid range, do nothing.
10628
198e3c7a
GM
106292000-04-13 Gerd Moellmann <gerd@gnu.org>
10630
52283633 10631 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10632
52283633 10633 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10634
10635 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10636 as TERMCAP_OBJ.
10637
055a28c9
EZ
106382000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10639
10640 * fileio.c (a_write): Remove redundant semi-colons.
10641 (e_write): Return -1 if failed to write all the data.
10642 This fixes the changes made at 1999-12-15.
10643
f5c75033
DL
106442000-04-12 Dave Love <fx@gnu.org>
10645
10646 * fns.c (mapcar1): Test for null vals to support mapc.
10647 (Fmapc): New function.
10648
0c3cfc51
EZ
106492000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10650
10651 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10652 (IT_frame_up_to_date): Support the buffer local value of
10653 cursor-type, if defined.
10654
33465a31
DL
106552000-04-10 Dave Love <fx@gnu.org>
10656
10657 * editfns.c (preceding-char, following-char): Doc fix.
10658
6ed56568
KR
106592000-04-10 Ken Raeburn <raeburn@gnu.org>
10660
10661 * Makefile.in (temacs): Revert 2000-03-12 change.
10662
7cf80d4e
JR
106632000-04-10 Jason Rumney <jasonr@gnu.org>
10664
10665 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10666
34f3f342
GM
106672000-04-10 Gerd Moellmann <gerd@gnu.org>
10668
1a1b1895
GM
10669 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10670 area buffer, if it's not set up yet.
10671
34f3f342
GM
10672 * indent.c (compute_motion): Set immediate_quit.
10673
be0dbdab
GM
106742000-04-09 Gerd Moellmann <gerd@gnu.org>
10675
52283633 10676 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10677 (realize_tty_face): Suppress boldness if colors are the inverse of
10678 the default colors, and tty_suppress_bold_inverse_default_colors_p
10679 is set.
10680 (Ftty_suppress_bold_inverse_default_colors): New function.
10681 (syms_of_xfaces): Defsubr it.
10682
be0dbdab
GM
10683 * buffer.c (Frestore_buffer_modified_p): New function.
10684 (syms_of_buffer): Defsubr it.
10685
e8413c3b
KR
106862000-04-08 Ken Raeburn <raeburn@gnu.org>
10687
87f67317
KR
10688 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10689 charset id (int) argument, not a charset (Lisp_Object).
10690
e8413c3b
KR
10691 * coding.h (code_convert_string): Declare.
10692 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10693 object, as the fourth argument to code_convert_string.
10694
52283633 10695 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10696 (Fset_fontset_font): Use EQ to compare lisp objects.
10697
7c752c80
KR
106982000-04-05 Ken Raeburn <raeburn@gnu.org>
10699
c0333abc
KR
10700 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10701 a pointer that looks like a lisp object.
10702 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10703 zero, instead see whether it's an integer object, since they can't
10704 have intervals.
10705 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10706
52283633
SM
10707 * dispnew.c (allocate_matrices_for_frame_redisplay)
10708 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10709 to convert between (unsigned) int values and lisp integers.
10710 * keyboard.c (read_key_sequence): Likewise.
10711 * lread.c (substitute_object_recurse): Likewise.
10712 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10713 * minibuf.c (do_completion, Fminibuffer_complete_word)
10714 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10715 * term.c (produce_special_glyphs): Likewise.
10716
10717 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10718 * print.c (print_preprocess, print_object): Likewise.
10719
10720 * search.c (compile_pattern): Use NILP when checking for nil.
10721
74e49b38
KR
10722 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10723 __OPTIMIZE__]: Provide a GNU C macro version that handles
10724 lisp-object unions.
10725 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10726 field, to better cope with ENABLE_CHECKING and calls that modify a
10727 Lisp_Object using its old value.
10728
685e5ed2
GM
107292000-04-04 Gerd Moellmann <gerd@gnu.org>
10730
c407c570
GM
10731 * window.c (compare_window_configurations): Signal an error
10732 if parameters C1 or C2 aren't window configurations.
10733
685e5ed2
GM
10734 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10735 AFTER_POTENTIAL_GC calls around calls to functions that can
10736 signal an error and thus invoke the debugger.
10737
587a49ab
GM
107382000-04-03 Gerd Moellmann <gerd@gnu.org>
10739
62f20204
GM
10740 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10741 an error if decoding fails.
10742
587a49ab
GM
10743 * keyboard.c (lispy_mouse_names): Variable removed.
10744 (Vlispy_mouse_stem): New variable.
10745 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10746 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10747 for any mouse button number. Increase size of mouse_syms and
10748 button_down_location as needed. Call modify_event_symbol with
10749 different arguments.
10750 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10751 Call modify_event_symbol with different arguments.
10752 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10753 for any button number. Call modify_event_symbol with different
10754 arguments.
10755 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10756 Accept a string for NAME_ALIST_OR_STEM.
10757
10758 * lisp.h (larger_vector): Add prototype.
10759
10760 * fns.c (larger_vector): Make externally visible.
10761
10762 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10763
2d1675e4
SM
107642000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10765
10766 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10767 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10768 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10769 we are between str1 and str2.
10770 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10771 (PATFETCH): Use `TRANSLATE'.
10772 (PATFETCH_RAW): Fetch multibyte char if applicable.
10773 (PATUNFETCH): Remove.
10774 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10775 When writing a char, write it directly into the pattern buffer rather
10776 than going needlessly through a temp char-array.
10777 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10778 multibyte magic and remove the useless `#ifdef emacs'.
10779 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10780 buffer.
10781
10782 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10783 conditional on `emacs'.
10784
10785 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10786
cc2d8c6b
KR
107872000-04-01 Ken Raeburn <raeburn@gnu.org>
10788
10789 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10790 non-union-type versions of XMARK and friends here, because XMARK
10791 and friends won't work on an integer field if NO_UNION_TYPE is not
10792 defined.
52283633 10793 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10794
52283633 10795 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10796 (syms_of_composite): Delete local var NARGS, pass an int as first
10797 argument to Fmake_hash_table.
10798
2387b382
KR
10799 * editfns.c (text_property_stickiness): Use NILP to test
10800 Lisp_Object boolean value.
10801 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10802 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10803 problems reading from and changing the same lisp value in an
10804 XSETSTRING call.
10805
27660e89
GM
108062000-04-01 Gerd Moellmann <gerd@gnu.org>
10807
10808 * term.c (TN_no_color_video): New variable.
10809 (term_init): Intitialize TN_no_color_video.
10810 (enum no_color_bit): New enumeration.
10811 (MAY_USE_WITH_COLORS_P): New macro.
10812 (turn_on_face): Use it to determine if attributes may be used
10813 combined with colors.
10814
3578db3c
KR
108152000-04-01 Ken Raeburn <raeburn@gnu.org>
10816
10817 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10818 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10819 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10820 proper accessor macros.
10821 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10822 (grow_mini_window): Fix typo getting int value of root->height.
10823
6fc556fd
KR
10824 * xdisp.c (compute_string_pos): Fix order of arguments to
10825 string_pos_nchars_ahead.
10826 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10827 count arg to variable-arg routines like Frun_hook_with_args and
10828 Fformat.
587a49ab
GM
10829 (back_to_previous_visible_line_start)
10830 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10831 fixed-arg routines like Fget_char_property and Fmake_string.
10832 (reconsider_clip_changes): Use XINT when comparing integer lisp
10833 objects, or passing them as int arguments.
587a49ab
GM
10834 (mark_window_display_accurate, insert_left_trunc_glyphs)
10835 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10836 storing or passing integer values as lisp objects.
10837 (set_cursor_from_row, highlight_trailing_whitespace): Use
10838 INTEGERP, not implicit test against zero, for glyph object.
10839 (try_window_id): Don't use make_number when we want an int value.
10840
10841 * xfaces.c (xlfd_symbolic_value): Make last argument a
10842 Lisp_Object, to be consistent with callers.
10843 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10844 (lface_hash): Apply XFASTINT to lisp values before folding in.
10845
10846 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10847 fill in window width and height. Pass an int, not a lisp object,
10848 as first arg to Finsert.
10849
6e7b2457
GM
108502000-04-01 Gerd Moellmann <gerd@gnu.org>
10851
610d841e
GM
10852 * xfaces.c (realize_basic_faces): Block input while realizing
10853 the faces.
10854
6e7b2457
GM
10855 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10856
10857 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10858
aa110c0c
GM
108592000-03-31 Gerd Moellmann <gerd@gnu.org>
10860
10861 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10862 or ASCII, handle case that per-char metric is null.
aa110c0c 10863
8801a864
KR
108642000-03-30 Ken Raeburn <raeburn@gnu.org>
10865
c6129d7e
KR
10866 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10867
52283633
SM
10868 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10869 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10870 pointer, using eassert.
10871 * frame.h (XFRAME): Likewise.
10872
52283633
SM
10873 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10874 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10875 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10876 * data.c (set_internal): Likewise.
52283633
SM
10877 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10878 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10879 * fileio.c (auto_save_1): Likewise.
10880 * insdel.c (check_markers): Likewise.
10881 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10882 * undo.c (record_insert): Likewise.
10883 * vmsproc.c (child_sig): Likewise.
10884 * window.c (unshow_buffer, window_loop): Likewise.
10885 * xterm.c (x_erase_phys_cursor): Likewise.
10886
8e7af858
GM
108872000-03-30 Gerd Moellmann <gerd@gnu.org>
10888
10889 * xfns.c (free_image_cache): Free the cache structure itself
10890 last, after all its members have been freed.
10891
10892 * lisp.h (xstrdup): Add prototype.
10893
10894 * alloc.c (xstrdup): Moved here from xfaces.c.
10895 (allocating_for_lisp): Variable removed.
52283633 10896 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10897
10898 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10899 of Fsymbol_value.
10900 (xstrdup): Moved to alloc.c.
10901
e0b8c689
KR
109022000-03-29 Ken Raeburn <raeburn@gnu.org>
10903
b96f9fb7
KR
10904 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10905
10906 * emacs.c (main): Fix sense of no-loadup test.
10907
e0b8c689
KR
10908 * config.in (ENABLE_CHECKING): Undef.
10909
10910 * lisp.h (struct interval): Replace "parent" field with a union of
10911 interval pointer and Lisp_Object; add new bitfield to use as
10912 discriminant. Change other flag fields to bitfields.
10913 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10914 is defined and the supplied test fails, print a message and abort.
10915 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10916
10917 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10918 pointers; abort if the value looks like a lisp object.
52283633
SM
10919 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10920 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10921 Modify for new interval parent definition.
10922
52283633
SM
10923 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10924 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10925 addressable lisp object in the interval structure.
10926 (die): New function.
10927 (suppress_checking): New variable.
10928
10929 * intervals.c (interval_start_pos): Just return 0 if there's no
10930 parent object.
10931
f83c5440
GM
109322000-03-29 Gerd Moellmann <gerd@gnu.org>
10933
10934 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10935 and earlier Emacs versions.
10936
10937 * keyboard.c (Ftop_level): Cancel busy-cursor.
10938
10939 * eval.c (call_debugger): Cancel busy-cursor.
10940
fdce64ff
KH
109412000-03-29 Kenichi Handa <handa@etl.go.jp>
10942
10943 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10944 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10945
f6a3f532
SM
109462000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10947
10948 * regex.c (analyse_first): New function obtained by ripping out most
10949 of re_compile_fastmap and generalizing it a little bit so that it
10950 can also just return whether a given (sub)pattern can match the empty
10951 string or not.
10952 (regex_compile): Use `analyse_first' to decide whether the loop-check
10953 needs to be done or not for *, +, *? and +? (the loop check is costly
10954 for non-greedy repetition).
10955 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10956
e9b309ac
DL
109572000-03-28 Dave Love <fx@gnu.org>
10958
52283633 10959 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10960
e9b309ac
DL
10961 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10962
ed0767d8
SM
109632000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10964
10965 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10966 an expression.
10967 (enum re_opcode_t): Update description of succeed_n.
10968 (PATFETCH): Always define.
10969 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10970 operators, char classes, shy-groups and intervals).
10971 Optimize special cases of intervals so as to only use succeed_n and
10972 jump_n when really needed.
10973 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10974 that we don't have to handle the special cases any more.
10975 Simplify on_failure_jump handling as well.
10976
e11e7e46
JR
109772000-03-28 Jason Rumney <jasonr@gnu.org>
10978
10979 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10980
88faab89
GM
109812000-03-27 Gerd Moellmann <gerd@gnu.org>
10982
182ff242
GM
10983 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10984
10985 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10986
182ff242
GM
10987 * alloc.c (mark_maybe_object): New function.
10988 (mark_memory): Use it.
10989 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10990 (setjmp_tested_p, longjmp_done): New variables.
10991 (test_setjmp): New function.
10992 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10993 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10994
c1005d06
GM
10995 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10996 to DEC_TEXT_POS and INC_TEXT_POS.
10997
10998 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10999 with parameter MULTIBYTE_P.
11000
52283633 11001 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11002
7439e5b9 11003 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11004 buffers because it looks for multibyte character byte sequences
11005 which don't exist in unibyte text.
7439e5b9 11006
d9c545da
GM
11007 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11008
11fd416e 11009 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11010 [DEBUG_X_COLORS]: New functions.
11011 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11012
11013 * xfns.c (x_set_cursor_color): Get color reference counts right.
11014
11015 * xterm.c (x_copy_color): New function.
11016 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11017
11018 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11019 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11020 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11021 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11022 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11023 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11024 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11025 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11026 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11027 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11028
11fd416e
GM
11029 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11030 names for handling per-buffer variables.
d9c545da
GM
11031
11032 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11033 instead of MAX_BUFFER_LOCAL_VARS.
11034 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11035
11036 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11037
88faab89
GM
11038 * xfns.c (x_specified_cursor_type): New function.
11039 (x_set_cursor_type): Use it.
11040
11041 * buffer.h (struct buffer): Add cursor_type.
11042
d80f42b7
SM
110432000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11044
11045 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11046 (print_partial_compiled_pattern, re_compile_fastmap):
11047 Handle new opcode.
d80f42b7
SM
11048 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11049 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11050 executing it as well as when popping it off the stack to find infinite
11051 loops in non-greedy repetition operators.
11052
89e80928
GM
110532000-03-26 Gerd Moellmann <gerd@gnu.org>
11054
3d4ff2dd
GM
11055 * doc.c (Qfunction_documentation): New variable.
11056 (syms_of_doc): Initialize Qfunction_documentation.
11057 (Fdocumentation): If FUNCTION is a symbol with non-nil
11058 `function-documentation' property, return a documentation derived
11059 from that.
11060
bd96bd79
GM
11061 * buffer.c (syms_of_buffer): Add default-cursor-type.
11062 (init_buffer_once): Don't let cursor_type have a local value
11063 in every buffer.
11064
19d1bc27
GM
11065 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11066 on buffer-local value of cursor_type.
11067 (x_draw_bar_cursor): Add parameter WIDTH.
11068
11069 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11070 (init_buffer_once): Set default cursor_type value to t.
11071 Mark cursor_type as local everywhere.
11072 (syms_of_buffer): New per-buffer variable cursor-type.
11073
89e80928
GM
11074 * buffer.h (struct buffer): Remove member local_var_flags,
11075 add local_flags.
11076 (MAX_BUFFER_LOCAL_VARS): New macro.
11077 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11078 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11079 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11080 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11081
52283633 11082 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11083
11084 * category.c (Fset_category_table): Use new macros for per-buffer
11085 variables.
11086
11087 * buffer.c (buffer_permanent_local_flags): Make a char array.
11088 (max_buffer_local_idx): New variable.
11089 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11090 for new handling of per-buffer variables.
11091 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11092 (init_buffer_once): Initialize per-buffer vars differently.
11093 Set max_buffer_local_idx.
11094
11095 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11096 variables.
11097
52283633 11098 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11099
11100 * data.c (do_symval_forwarding, store_symval_forwarding)
11101 (find_symbol_value, set_internal, default_value, Fset_default)
11102 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11103 per-buffer variables.
11104
11105 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11106
9a0dd3dc
GM
111072000-03-24 Gerd Moellmann <gerd@gnu.org>
11108
b68c375f
GM
11109 * xterm.c (x_term_init): Unblock input around call1 of
11110 Qvendor_specific_keysyms.
11111
9a0dd3dc
GM
11112 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11113 (find_defun_start): Consider an open parenthesis in column 0
11114 a defun start only if open_paren_in_column_0_is_defun_start is set.
11115 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11116
7973e637
SM
111172000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11118
11119 * eval.c (Fautoload): Add entry in load-history (if after dump).
11120 * lread.c (load-history): Update docstring.
11121
39210e90
GM
111222000-03-24 Gerd Moellmann <gerd@gnu.org>
11123
11124 * indent.c (Fvertical_motion): Always use the current buffer.
11125 Temporarily change the window's buffer, if necessary.
11126
72db3ab5
GM
111272000-03-23 Gerd Moellmann <gerd@gnu.org>
11128
11129 * xterm.c (fast_find_position): Make sure not to consider rows
11130 not visible in the window.
11131
990b2375
SM
111322000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11133
11134 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11135 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11136
ff4df011
JR
111372000-03-22 Jason Rumney <jasonr@gnu.org>
11138
11139 * w32menu.c (single_submenu): Set help string to NULL if none.
11140 (w32_menu_show): Set help string correctly.
11141 (add-menu-item): Set help string in MIIM_DATA for menu item.
11142 Load SetMenuItemInfoA explicitly.
11143 (w32_menu_display_help): New function.
427ec082 11144
ff4df011
JR
11145 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11146 (QCdata): Moved to xdisp.c.
11147
11148 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11149 (Vw32_charset_to_codepage_alist): Removed.
11150 (Vw32_charset_info_alist): New variable.
52283633
SM
11151 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11152 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11153 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11154 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11155 with TODO comment.
11156 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11157 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11158 Define Vw32_charset_info_alist and w32_charset symbols.
11159
111602000-03-22 Jason Rumney <jasonr@gnu.org>
11161
11162 * makefile.nt (w32bdf.obj): Update dependencies.
11163
11164 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11165
11166 * w32fns.c: Include fontset.h after dispextern.h.
11167 (Fx_create_frame): Do not create fontset.
11168 (w32_load_system_font): Doc fix.
11169 (Fx_close_connection): Free full_name if it is not shared.
11170
11171 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11172 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11173 Callers updated.
ff4df011
JR
11174 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11175 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11176 (w32_font_is_double_byte): New function, needs body.
11177 (x_append_glyph): Set glyph->glyph_not_available_p.
11178 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11179 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11180 character, convert it to a unibyte character.
11181 (struct glyph_string): Delete member `charset'.
11182 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11183 calculating it is found.
11184 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11185 the case that per char metric is not available correctly.
11186 (x_fill_glyph_string): Handle the case that the specific glyph is
11187 not available correctly.
11188 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11189 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11190 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11191 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11192 fontset. Don't call FS_LOAD_FONT.
11193
439d5cb4
KR
111942000-03-22 Ken Raeburn <raeburn@gnu.org>
11195
11196 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11197 (INT_LISPLIKE): New macro.
11198 (NULL_INTERVAL_P): Use it.
52283633
SM
11199 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11200 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11201 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11202
11203 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11204 explicit references to "parent" field of struct interval and
11205 associated unclean type conversions.
52283633
SM
11206 * intervals.c (create_root_interval, root_interval, rotate_right)
11207 (rotate_left, balance_possible_root_interval, split_interval_right)
11208 (split_interval_left, interval_start_pos, find_interval)
11209 (next_interval, previous_interval, update_interval)
11210 (adjust_intervals_for_insertion, delete_node, delete_interval)
11211 (adjust_intervals_for_deletion, merge_interval_right)
11212 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11213 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11214 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11215 Likewise.
11216 * syntax.c (update_syntax_table): Likewise.
11217
11218 * intervals.c (reproduce_tree_obj): New function, like
11219 reproduce_tree but takes a Lisp_Object for the parent. Declare
11220 with prototype.
11221 (graft_intervals_into_buffer): Use it when appropriate.
11222 (reproduce_tree): Declare with prototype.
11223 (balance_possible_root_interval): Check that the parent is a lisp
11224 object before trying to examine its type.
11225
ee1c5b21
GM
112262000-03-22 Gerd Moellmann <gerd@gnu.org>
11227
11228 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11229 as strings only if both are known to be strings.
11230
11231 * s/openbsd.h (LIBS_TERMCAP): Undef.
11232
1fb352e0
SM
112332000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11234
11235 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11236 definitions for non-Emacs compilation.
11237 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11238 outside of `#ifdef emacs'.
11239 (print_partial_compiled_pattern): Update.
11240 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11241 (re_compile_fastmap): Merge handling of charset and charset_not (for
11242 emacs and non-emacs compilation as well).
11243 Similarly for (not)categoryspec and (not)syntaxspec.
11244 Don't use the fastmap when reaching `anychar' since the added
11245 complexity is not justified.
11246 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11247 and (not)syntaxspec. Merge (not)categoryspec.
11248
fdaa1f77
KH
112492000-03-22 Kenichi Handa <handa@etl.go.jp>
11250
52283633
SM
11251 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11252 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11253 --without-x.
fdaa1f77 11254
d152fb46
DL
112552000-03-21 Dave Love <fx@gnu.org>
11256
11257 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11258 doc string.
11259
d2cafc8c
GM
112602000-03-21 Gerd Moellmann <gerd@gnu.org>
11261
11262 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11263 (lface_fully_specified_p): Don't check contents of
11264 LFACE_FONT_INDEX because that attribute is optional.
11265 (realize_x_face): Remove now unwarranted xassert.
11266
9111d4b5
KH
112672000-03-21 Kenichi HANDA <handa@etl.go.jp>
11268
11269 The following changes are to make font selection based on
11270 characters, not charset. In addition, they recover fontset
11271 facilities while utilizing the new font selection mechanism.
11272
6c4bfdc0
KH
11273 * Makefile.in (fontset.o): Depend on dispextern.h.
11274
11275 * alloc.c (mark_face_cache): Don't mark face->registry.
11276
9111d4b5
KH
11277 * dispextern.h (struct glyph): New member glyph_not_available_p.
11278 Use 22 bits for face_id.
11279 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11280 (struct face): Delete member registry, new member ascii_face.
11281 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11282 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11283 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11284 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11285
11286 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11287 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11288 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11289 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11290 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11291 (fs_free_face_fontset, fontset_font_pattern)
11292 (face_suitable_for_char_p, face_for_char)
11293 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11294 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11295 (FS_LOAD_FACE_FONT): New macro.
11296
11297 * fontset.c: All codes rewritten or adjusted for the change of
11298 fontset implementation. Now fontset is represented by char table.
52283633
SM
11299 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11300 Variables removed.
9111d4b5 11301 (my_strcasecmp): Function removed.
52283633 11302 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11303 (AREF, ASIZE): New macros.
52283633
SM
11304 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11305 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11306 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11307 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11308 (fontset_id_valid_p, font_family_registry, fontset_name)
11309 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11310 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11311 New functions.
11312 (fs_load_font): New arg FACE. Caller changed.
11313 (fs_query_fontset): Argument changed. Caller changed.
11314 (Fquery_fontset): call fs_query_fontset.
11315 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11316 Functions removed.
52283633
SM
11317 (clear_fontset_elements, check_registry_encoding)
11318 (check_fontset_name): New functions.
9111d4b5
KH
11319 (syms_of_fontset): Set char-table-extra-slots property of fontset
11320 to 3. Staticpro and initialize Vfontset_table and
11321 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11322
11323 * frame.h (struct frame): Member `fontset_data' removed.
11324 (FRAME_FONTSET_DATA): Macro removed.
11325
11326 * frame.c (make_frame): Don't allocate f->fontset_data.
11327 (Fdelete_frame): Don't free f->fontset_data.
11328
6c4bfdc0
KH
11329 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11330
9111d4b5
KH
11331 * xdisp.c (charset_at_position): Function removed.
11332 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11333 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11334 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11335 Likewise.
11336 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11337 FACE_FOR_CHARSET.
52283633
SM
11338 (get_next_display_element, append_space)
11339 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11340
11341 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11342 Variables removed.
11343 (clear_font_table, frame_update_line_height, load_face_font):
11344 Adjusted for the change of fontset implementation.
11345 (load_face_fontset_font): Function removed.
11346 (pixel_point_size): New function.
11347 (font_list): Argument type changed. Caller changed.
11348 (LFACE_FONT): New macro.
11349 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11350 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11351 Lisp_Object. Determine the font name by actually loading a font
11352 by the specified pattern. Set LFACE_FONT (lface) to the specified
11353 pattern. Even if a font is not found, don't try alternatives.
11354 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11355 (set_font_frame_param): If `font' is specified in lface, use it.
11356 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11357 (lface_same_font_attributes_p): Likewise.
11358 (make_realized_face): Arguent changed. Caller changed. Set
11359 face->ascii_face to face itself.
11360 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11361 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11362 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11363 (free_realized_multibyte_face): New function.
11364 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11365 changed. Caller changed.
11366 (try_font_list): Argument type changed.
11367 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11368 (choose_face_font): Argument changed. Handle fontset properly.
11369 (choose_face_fontset_font): Function removed.
11370 (realize_default_face, realize_named_face): Don't remove the
11371 former face here.
11372 (realize_face): Argument changed. Caller changed. Remove face
52283633 11373 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11374 (realize_x_face): Argument changed. Caller changed. For a
11375 multibyte character, share fontset with base_face. For a single
52283633 11376 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11377 (realize_tty_face): Argument changed. Caller changed.
11378 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11379 (face_at_buffer_position): Don't check multibyte_p for returning
11380 DEFAULT_FACE_ID.
11381 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11382 FACE_SUITABLE_FOR_CHARSET_P.
11383 (syms_of_xfaces): Remove code for Qx_charset_registry and
11384 Vface_default_registry.
11385
6c4bfdc0
KH
11386 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11387 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11388 (x_per_char_metric): Don't try FONT->default_char. Even if
11389 pcm->width is zero, glyph bits may exist.
11390 (x_encode_char): Always initialize char2b->byte1.
11391 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11392 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11393 (x_append_glyph): Set glyph->glyph_not_available_p.
11394 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11395 it->charset. Handle the case that per char metric is not
11396 available. If it->multibyte_p is zero and it->c is a multibyte
11397 character, convert it to a unibyte character.
11398 (struct glyph_string): Delete member `charset'.
11399 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11400 the case that per char metric is not available correctly.
11401 (x_fill_glyph_string): Handle the case that the specific glyph is
11402 not available correctly.
11403 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11404 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11405 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11406 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11407 fontset. Don't call FS_LOAD_FONT.
11408
11409 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11410 (x_create_tip_frame): Likewise.
11411 (Fx_close_connection): Free full_name of font_info.
11412
11413 * fns.c (optimize_sub_char_table): New function.
11414 (Foptimize_char_table): New function.
11415 (syms_of_fns): Defsubr Soptimize_char_table.
11416
b33dd3b0
GM
114172000-03-20 Gerd Moellmann <gerd@gnu.org>
11418
11419 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11420 only if buffer is displayed in some window.
11421
11422 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11423 (try_window_reusing_current_matrix): Don't call scroll run
11424 function if run's current and desired position are the same;
11425 this prevents cursor flickering.
11426
4e8a9132
SM
114272000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11428
11429 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11430
11431 * regex.c (RE_STRING_CHAR): New macro.
11432 (GET_CHAR_AFER_2): Remove.
11433 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11434 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11435 (print_partial_compiled_pattern, re_compile_fastmap)
11436 (re_match_2_internal): Remove on_failure_jump_exclusive.
11437 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11438 optimization only need to work for * (ie. can use of_keep_string_jump).
11439 Remove the special case for .*\n since it is now covered by the general
11440 optimization.
11441 (re_search_2): Don't bother with `room'.
11442 (skip_one_char): New function.
11443 (skip_noops): Simplify since `memory' is not needed any more.
11444 (mutually_exclusive_p): Restructure slightly to use `switch' and
11445 add handling for "all" remaining cases.
11446 (re_match_2_internal): Change on_failure_jump_smart to use
11447 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11448 rather than on_failure_jump_exclusive.
11449
2136fdd4
GM
114502000-03-19 Gerd Moellmann <gerd@gnu.org>
11451
11452 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11453 number of bits per RGB because it's everywhere used as the depth
11454 of the visual.
11455
11456 * term.c (calculate_costs): Remove code dealing with X frames.
11457
18e21ce8 114582000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11459
11460 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11461
d7b511c4
GM
114622000-03-18 Gerd Moellmann <gerd@gnu.org>
11463
11464 * lread.c (read_integer): Unread the last char not consumed.
11465
16b5d424
GM
114662000-03-17 Gerd Moellmann <gerd@gnu.org>
11467
11468 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11469 which are in the process of being deleted.
16b5d424 11470
1fa28578
GM
114712000-03-16 Gerd Moellmann <gerd@gnu.org>
11472
83488cce
GM
11473 * Makefile.in (mostlyclean): Add `*.core'.
11474 (clean): Add `bootstrap-emacs'.
11475
1fa28578
GM
11476 * lread.c (read_integer): New function.
11477 (read1): Support read syntax #o, #x, #b, #r.
11478
99633e97
SM
114792000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11480
1fa28578
GM
11481 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11482 make sure POINTER_TO_OFFSET gives the same value before and after
11483 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11484 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11485 (debug): Now only active if > 0 rather than if != 0.
11486 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11487 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11488 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11489 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11490 (store_op1, store_op2, insert_op1, insert_op2)
11491 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11492 (group_in_compile_stack): Move to after its arg's types are
11493 declared and add a prototype.
99633e97 11494 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11495 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11496 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11497 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11498 indentation of the greedy-op and shy-group code.
99633e97
SM
11499 (at_(beg|end)line_loc_p): Fix argument's types.
11500 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11501 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11502 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11503 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11504 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11505 QUIT unconditionally.
99633e97 11506
699238d9
GM
115072000-03-15 Gerd Moellmann <gerd@gnu.org>
11508
11509 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11510 a sole completion.
11511
11512 * process.c (send_process): Add a hint that the function
11513 can call Lisp code to its comment.
11514
11515 * lread.c (load_dangerous_libraries): New variable.
11516 (Vbytecomp_version_regexp): New variable.
11517 (safe_to_load_p): New function.
11518 (Fload): Handle files not compiled with Emacs specially.
11519 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11520
34e23e5a
GM
115212000-03-14 Gerd Moellmann <gerd@gnu.org>
11522
9c763cca
GM
11523 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11524
11525 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11526 support functions only if HAVE_X11R6_XIM is defined.
11527 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11528
11529 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11530
11531 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11532 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11533 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11534
11535 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11536 (HAVE_X11R6_XIM): Define.
11537
11538 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11539
34e23e5a
GM
11540 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11541 If set, call XSynchronize.
11542
66f0296e
SM
115432000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11544
34e23e5a
GM
11545 * regex.c: Declare a new type `re_char' used throughout the code
11546 for the string char type. It's `const unsigned char' to match the
11547 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11548 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11549 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11550 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11551 code duplication.
66f0296e
SM
11552
11553 * charset.h (GET_CHAR_AFTER_2): Remove.
11554 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11555
854a025c
KR
115562000-03-12 Ken Raeburn <raeburn@gnu.org>
11557
11558 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11559 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11560 of them try to use backquotes.
11561
b9d2c7e2
DL
115622000-03-12 Dave Love <fx@gnu.org>
11563
11564 * unexelf.c: Restore changes of 1999-10-19.
11565 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11566 fix its type and alignment; copy it from current process.
11567
5e5dff44
GM
115682000-03-12 Gerd Moellmann <gerd@gnu.org>
11569
9b2f3c38
GM
11570 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11571 has been found. Fix bug not computing timer's predecessor.
11572
427ec082 11573 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11574 file name.
11575
e1cff360
GM
11576 * window.c (Fsave_window_excursion): Doc fix.
11577
52283633 11578 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11579
e411ce4b
EZ
115802000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11581
11582 * msdos.c (vga_installed): New function, code moved from
11583 dos_set_window_size.
11584 (Qbar, Qcursor_type, outside_cursor): New variables.
11585 (syms_of_msdos): Intern and staticpro them.
11586 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11587 shape used outside Emacs when called for the first time.
11588 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11589 cursor shape used outside Emacs.
11590 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11591 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11592 type has changed.
11593 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11594 parameters specify the cursor. Make qreverse a global
11595 variable (renamed to Qreverse).
11596
80460654
GM
115972000-03-09 Gerd Moellmann <gerd@gnu.org>
11598
11599 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11600
95cd4c40
SM
116012000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11602
11603 This is a big redesign of failure-stack and register handling, prompted
11604 by bugs revealed when trying to add shy-groups. Overall, what happened
11605 is that loops are now structured a little differently, groups can be
11606 shy and the code is a little simpler.
11607
11608 * regex.h: Update the copyright.
11609 (RE_SHY_GROUPS): New value.
11610 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11611 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11612
80460654
GM
11613 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11614 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11615 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11616 for (start|stop)_memory since they now only take one argument (the
11617 second has becomes unnecessary).
52283633 11618 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11619 (print_compiled_pattern): Use %ld to printf long ints and flush to
11620 make debugging a little easier.
95cd4c40
SM
11621 (union fail_stack_elt): Make the integer unsigned.
11622 (struct fail_stack_type): Add a `frame' element.
11623 (INIT_FAIL_STACK): Init `frame' as well.
11624 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11625 (DEBUG_PUSH, DEBUG_POP): Remove.
11626 (NUM_REG_ITEMS): Remove.
11627 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11628 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11629 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11630 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11631 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11632 New macros.
80460654
GM
11633 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11634 address pushed is not the destination of the jump but the source
11635 of it instead.
95cd4c40
SM
11636 (NUM_FAILURE_ITEMS): Remove.
11637 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11638 registers before the actual failure point). Don't hardcode any
11639 meaning for str==NULL anymore.
95cd4c40 11640 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11641 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11642 Remove.
95cd4c40
SM
11643 (REG_UNSET_VALUE): Use NULL (why not?).
11644 (compile_range): Remove declaration since it doesn't exist.
11645 (struct compile_stack_elt_t): Remove inner_group_offset.
11646 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11647 (regex_grow_registers): Remove dead code.
11648 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11649 (regex_compile): Add shy-groups Change loops to use
11650 on_failure_jump_smart&jump instead of
11651 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11652 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11653 variable to me). Use `jump' instead of `jump_past_alt' and don't
11654 bother with push_dummy_failure in alternatives since it is now
11655 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11656 emacs' for (re)allocating the stack.
11657 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11658 from loop when bufp->can_be_null rather than jumping to `done'.
11659 Avoid jumping backwards so as to ensure termination. Use
11660 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11661 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11662 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11663 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11664 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11665 (lowest_active_reg, highest_active_reg)
11666 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11667 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11668 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11669 variables. Push register (in `start_memory') on the stack rather
11670 than storing it in old_reg(start|end). Remove the cycle detection
11671 from `stop_memory', replaced by the use of on_failure_jump_loop
11672 for greedy loops. Add code for the new on_failure_jump_<foo>.
11673 Remove ad-hoc code in `on_failure_jump' to push more registers in
11674 the case of a loop. Take out code from `maybe_pop_jump' into
11675 separate functions and adapt it to the semantics of
11676 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11677 and push_dummy_failure. Remove dummy_failure handling and
11678 handling of `failures to jump to on_failure_jump' (this last one
11679 was already dead code, it seems).
11680 (group_match_null_string_p, alt_match_null_string_p)
11681 (common_op_match_null_string_p): Remove.
95cd4c40 11682
7397acc4
DL
116832000-03-08 Dave Love <fx@gnu.org>
11684
11685 * config.in: Don't depend on __STDC__ for volatile.
11686 Add POINTER_TYPE, PTR, PROTOTYPES.
11687
11688 * hftctl.c, strftime.c: Use PROTOTYPES.
11689 * eval.c (find_handler_clause): Likewise.
11690
11691 * mem-limits.h: Use POINTER_TYPE.
11692
11693 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11694 (memory_warnings): Declare using POINTER_TYPE.
11695
5e91ff9e
GM
116962000-03-08 Gerd Moellmann <gerd@gnu.org>
11697
feab4fba
GM
11698 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11699
52283633 11700 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11701
5e91ff9e
GM
11702 * xfns.c: Remove obsolete code in #if 0.
11703 (Fx_focus_frame): New function.
11704
a735b7e1
KH
117052000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11706
11707 * coding.c (coding_category_name): Add coding-category-utf-8,
11708 coding-category-utf-16-be, coding-category-utf-16-le.
11709 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11710 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11711 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11712 (detect_coding_utf_8): New function.
11713 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11714 UTF_16_LOW_SURROGATE_P): New macros.
11715 (detect_coding_utf_16): New function
11716 (detect_coding_mask): When priorities are specified, skip any
11717 categories that have `nil' coding-system. Fix bug of returning
11718 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11719 returns a mask not set in PRIORITIES.
11720 (detect_eol_type_in_2_octet_form): New function.
11721 (detect_eol): selects detect_eol_type_XXX to call according to
11722 cooding->category_idx.
11723 (detect_coding_system): Remove `nil' coding-system in the result.
11724 (Fupdate_coding_systems_internal): Update all coding-categories.
11725
52283633
SM
11726 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11727 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11728 New macros.
11729 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11730 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11731 (CODING_CATEGORY_IDX_UTF_16_LE)
11732 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11733 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11734 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11735 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11736
9994cc69
GM
117372000-03-07 Gerd Moellmann <gerd@gnu.org>
11738
e9b4e5ff
GM
11739 * doc.c (Fdocumentation_property): If value is not a string,
11740 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11741
f7daf1e1
GM
11742 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11743 close the display with XtCloseDisplay. This caused a bus error
11744 on OpenWindows.
11745
9994cc69
GM
11746 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11747 complete but not unique.
11748
4336c705
GM
117492000-03-06 Gerd Moellmann <gerd@gnu.org>
11750
18bb0684
GM
11751 * process.c (send_process): Remove local variable `procname' that
11752 might become invalid when a GC happens. Instead, access the
11753 process name slot directly.
11754
4336c705
GM
11755 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11756 orig_height if set.
11757
11758 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11759 orig_height if set.
11760
515d0d0e
EZ
117612000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11762
11763 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11764 glyph matrices have been freed.
11765
100b3cbb
GM
117662000-03-05 Gerd Moellmann <gerd@gnu.org>
11767
50df5e5a 11768 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11769 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11770
11771 * xfns.c (QCdata): Moved to xdisp.c.
11772
11773 * xdisp.c (QCdata): Moved here from xfns.c.
11774 (syms_of_xdisp): Initialize QCdata.
11775
11776 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11777
11778 * window.c (coordinates_in_window): Use
11779 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11780 FRAME_INTERNAL_BORDER_WIDTH.
11781
100b3cbb 11782 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11783 it is obviously invalid.
100b3cbb
GM
11784
11785 * xterm.c (x_term_init): Create a colormap if not using the
11786 default visual.
11787
11788 * xterm.h (select_visual): Change prototype.
11789
11790 * xfns.c (select_visual): Rewritten. Recognize user-specified
11791 visual classes.
11792 (visual_classes): New variable.
11793
64d739c4
GM
117942000-03-04 Gerd Moellmann <gerd@gnu.org>
11795
11796 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11797 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11798 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11799 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11800 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11801 XtNcolormap resources.
11802 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11803 (Fx_create_frame): Initialize color members of x_output structure.
11804 (xpm_load): Pass colormap to XPM lib.
11805
11806 * xfaces.c (x_free_colors): Access colormap of frame using
11807 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11808 when default colormap is used.
11809
11810 * xterm.c (x_term_init): Set Colormap member of x_display_info
11811 structure. Copy colormap if resource `privateColormap' is
11812 specified (PseudoColor only).
11813 (x_setup_relief_color): Access colormap of frame using
11814 FRAME_X_COLORMAP.
11815
11816 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11817 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11818
c3cee013
JR
118192000-03-04 Jason Rumney <jasonr@gnu.org>
11820
11821 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11822 other non-platform-specific equivalents.
64d739c4 11823 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11824 specific functions and macros as their w32 equivalents where
11825 non-platform-specifics are not available.
11826 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11827 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11828 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11829 (frame_update_line_height): Use macros to access f->output_data.
11830 (defined_color): Remove FIXME comments; fixed.
11831 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11832 into #ifdef blocks. Add WINDOWSNT blocks.
11833 (Fx_list_fonts): Use macros for accessing font data.
11834 (set_lface_from_font_name): Different default fonts for X and
11835 WINDOWSNT.
11836 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11837 scalable for backward compatibility.
64d739c4 11838 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11839 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11840
64d739c4 11841 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11842 syms_of_w32faces.
11843
11844 * makefile.nt (w32faces.obj): Remove.
11845 (xfaces.obj): Add.
11846
807cc41c
JR
118472000-03-03 Jason Rumney <jasonr@gnu.org>
11848
11849 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11850 correct parameters.
11851
0007072a
KR
118522000-03-03 Ken Raeburn <raeburn@gnu.org>
11853
11854 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11855 standard ELF definitions here if the system header does not.
11856
71a6ba55
GM
118572000-03-03 Gerd Moellmann <gerd@gnu.org>
11858
11859 * xterm.c (PER_CHAR_METRIC): Removed.
11860 (x_per_char_metric_1, x_default_char): New functions.
11861 (x_per_char_metric): If font's default char is invalid, return
11862 metrics of a suitably chosen usable default char.
11863 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11864 char, replace occurrences of unprintable chars with a suitably
11865 chosen usable default char.
71a6ba55 11866
900fa1f1
GM
118672000-03-02 Gerd Moellmann <gerd@gnu.org>
11868
42f55fe0
GM
11869 * xterm.c (note_mouse_highlight): Return quickly if frame's
11870 glyph matrices have been freed.
11871
11872 * dispnew.c (free_glyphs): Block input while freeing matrices.
11873
900fa1f1
GM
11874 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11875
52283633
SM
11876 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11877 Use x_free_colors.
900fa1f1
GM
11878
11879 * dispextern.h (x_free_colors): Add prototype.
11880
11881 * xfaces.c (x_free_colors): New function.
11882 (unload_color, free_face_colors): Use it.
11883
2f950292
EZ
118842000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11885
11886 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11887
11888 * window.c [MSDOS]: Include msdos.h.
11889
54d04320
DL
118902000-03-02 Dave Love <fx@gnu.org>
11891
11892 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11893
11894 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11895 set C_OPTIMIZE_SWITCH for gcc.
11896
0ba93ac4
KH
118972000-03-02 Kenichi Handa <handa@etl.go.jp>
11898
11899 * coding.c (coding_save_composition): Be sure to allocate
11900 composition data area in coding even if there's no composition in
11901 the current run.
11902
a2bc11d4
JR
119032000-03-01 Jason Rumney <jasonr@gnu.org>
11904
11905 * w32term.c: Equivalent changes to those made to xterm.c on
11906 2000-02-25 and 2000-02-24.
11907
11908 * w32fns.c: Equivalent changes to those made to xfns.c on
11909 2000-02-25 and 2000-02-21.
11910
11911 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11912 correct line-end convention is followed.
11913
11914 * w32menu.c [HAVE_BOXES]: Remove #undef.
11915 (single_keymap_panes): Remove code for simulating checkmarks.
11916 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11917 Remove code for drawing simulated checkmarks.
11918 (w32_menu_show): make unibyte help string correctly.
11919 (add_menu_item): draw standard Windows checkmarks. Draw radio
11920 buttons as radio buttons if possible.
11921
72d19d75
GM
119222000-03-01 Gerd Moellmann <gerd@gnu.org>
11923
2df636f4
GM
11924 * sysdep.c (start_of_text): Don't define this function for NetBSD
11925 with ELF.
11926
427ec082 11927 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11928 Don't define.
11929 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11930 (LINKER): Don't undef if __NetBSD__ is defined.
11931
11932 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11933
11934 * fileio.c [__NetBSD__]: Define `unix'.
11935
72d19d75
GM
11936 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11937
ed4d0512
GM
119382000-02-29 Gerd Moellmann <gerd@gnu.org>
11939
50b1039f
GM
11940 * atimer.c (start_atimer): Don't abort when timers are stopped.
11941 (append_atimer_lists): New function.
11942 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11943 arbitrary lists of stopped and running atimers.
11944
ed4d0512
GM
11945 * atimer.c (cancel_atimer): Handle canceling an atimer when
11946 some timers are stopped.
11947
11948 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11949 after canceling it.
11950
11951 * fns.c (maybe_resize_hash_table): Handle case of new size
11952 coming out as being the same as old size.
11953
387023ee
JR
119542000-02-27 Jason Rumney <jasonr@gnu.org>
11955
11956 * makefile.nt: Add atimer.h to dependencies.
11957 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11958 * w32console.c: Only disable window system features for dispextern.h
11959 (initialize_w32_display): Build a display info for the console.
11960 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11961 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11962 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11963 as 2 button mice.
11964 * w32gui.h (struct W32FontStruct): Revert last change after change
11965 to xdisp.c.
11966 * w32menu.c (single_submenu): Set up help string.
11967 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11968 (w32_dialog_show): Set up help string.
11969 * w32term.c (w32_display_info_for_display): Remove unused function.
11970 (w32_draw_bitmap): Use pre-built bitmaps.
11971 (w32_initialize_display_info): New function to initialize parts of
11972 display info that are common to both GUI and console frames.
11973 (w32_term_init): Use w32_initialize_display_info. Do not set
11974 Vw32_num_mouse_buttons here, as it is not called for console
11975 frames. Build bitmaps for indicating truncated lines etc.
11976 (x_delete_display): Destroy pre-built bitmaps.
11977 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11978 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11979
4516715a
DL
119802000-02-27 Dave Love <fx@gnu.org>
11981
11982 * lisp.h: Add a bunch of prototypes.
11983
171ca836
KH
119842000-02-26 Kenichi Handa <handa@etl.go.jp>
11985
11986 * keyboard.c (read_char): Set `usec' correctly.
11987
4013921d
KH
119882000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11989
11990 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11991 `lambda', set reg[RRR] to the map index.
11992 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11993 reg[RRR] to 0. Otherwise, set it to -1.
11994
9244a058
GM
119952000-02-25 Gerd Moellmann <gerd@gnu.org>
11996
2df636f4 11997 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11998
18e21ce8 119992000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12000
f43d79c1
GM
12001 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12002 and contains a `:', prepend `/:'.
12003
12004 * window.c (select_window_1): If selected_window is nil,
12005 don't "swap out" the buffer's point.
12006 (Fset_window_configuration): Set selected_window to nil
12007 before calling Fselect_window.
12008 (unshow_buffer): Don't set point in buffer from window's point
12009 if another more recently selected window also shows the buffer.
12010
bed0c171
GM
120112000-02-25 Gerd Moellmann <gerd@gnu.org>
12012
449c3c52
GM
12013 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12014
f5b58615
GM
12015 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12016 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12017 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12018 New variables.
f5b58615
GM
12019 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12020 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12021 (hide_busy_cursor): New functions.
12022 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12023
12024 * minibuf.c (read_minibuf): Cancel busy-cursor.
12025
12026 * keyboard.c (command_loop_1): Call start_busy_cursor before
12027 Fcommand_execute and cancel_busy_cursor after it.
12028 (timer_check): Remove busy-cursor code.
12029 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12030 cursor timer.
12031
12032 * process.c (wait_reading_process_input): Remove busy-cursor code.
12033
12034 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12035 Fx_hide_busy_cursor.
12036
12037 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12038 Remove prototyoes.
12039 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12040
12041 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12042
12043 * xterm.c (XTread_socket): Remove busy-cursor code.
12044
4eb8436f
GM
12045 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12046 (build_frame_matrix_from_leaf_window): Put code handling
12047 glyph row's not being a slice of a frame row in #if 0.
12048 (sync_window_with_frame_matrix_rows): New function.
12049 (frame_row_to_window): New function.
12050 (mirror_line_dance): Handle copies between windows.
12051
3cb65b0e
GM
12052 * lread.c (Fload): Use `xfree' instead of `free'.
12053 (init_obarray): Use `xmalloc' instead of `malloc'.
12054
bed0c171
GM
12055 * window.c (Fset_window_buffer): Set WINDOW to the window
12056 after decoding.
2add4349
GM
12057 (coordinates_in_window): Take frame's internal border width
12058 into account.
bed0c171 12059
42088c12
GM
120602000-02-24 Gerd Moellmann <gerd@gnu.org>
12061
12062 * xterm.c (x_display_and_set_cursor): Display cursor of
12063 non-selected windows depending on the setting of
12064 cursor_in_non_selected_windows.
12065
12066 * xdisp.c (cursor_in_non_selected_windows): New variable.
12067 (syms_of_xdisp): DEFVAR_BOOL it.
12068
d1e103b2
GM
120692000-02-23 Gerd Moellmann <gerd@gnu.org>
12070
723e779c
GM
12071 * data.c (Fstring_to_number): If number is greater than what
12072 fits into an integer, return a float.
12073
d1e103b2
GM
12074 * eval.c (specbind): Remove references to
12075 keyword_symbols_constant_flag.
12076
12077 * data.c (keyword_symbols_constant_flag): Removed.
12078 (Fmakunbound, set_internal, syms_of_data): Remove references to
12079 keyword_symbols_constant_flag.
12080
12081 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12082
214f877f
KH
120832000-02-23 Kenichi Handa <handa@etl.go.jp>
12084
12085 * syntax.c (multibyte_syntax_as_symbol): New variable.
12086 (syms_of_syntax): Declare it as a Lisp variable.
12087 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12088 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12089 nonzero, treat all multibyte characters as symbol.
52283633 12090 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12091
130adcb7
EZ
120922000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12093
3cb65b0e 12094 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12095 a deleted frame.
130adcb7 12096
17cbbf95
GM
120972000-02-21 Gerd Moellmann <gerd@gnu.org>
12098
12099 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12100
12101 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12102 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12103
beb0bc36
DL
121042000-02-21 Dave Love <fx@gnu.org>
12105
12106 * frame.c (Vmouse_position_function): New variable.
12107 (Fmouse_position): Use it.
12108 (syms_of_frame): Install it.
12109
12110 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12111
1d92afcd
GM
121122000-02-20 Gerd Moellmann <gerd@gnu.org>
12113
12114 * fileio.c (Finsert_file_contents): Unbind the binding of
12115 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12116
12117 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12118 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12119 (specbind, unbind_to): Handle most common case of non-constant
12120 symbol with trivial value specially.
12121
12122 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12123
18e21ce8 121242000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12125
12126 * data.c (Fmake_variable_buffer_local): Doc fix.
12127 Init found_for_buffer to 0.
12128 (Fmake_variable_frame_local): If the variable has already
12129 been buffer-local, set the check_frame field.
12130
1d4311c3
EZ
121312000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12132
12133 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12134 produced for CODING_MODE_LAST_BLOCK requires.
12135
2dc95ddd
DL
121362000-02-18 Dave Love <fx@gnu.org>
12137
12138 * keyboard.c (echo_keystrokes): Remove declaration.
12139 (Vecho_keystrokes) New variable.
12140 (read_char, record_menu_key, read_key_sequence): Use it to allow
12141 use of float value.
12142 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12143
12144 * lread.c: Undef feature selection macros before defining.
12145
f0930f35
GM
121462000-02-18 Gerd Moellmann <gerd@gnu.org>
12147
12148 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12149 for symbols other than the symbol in question.
12150
e3d4de90
DL
121512000-02-17 Dave Love <fx@gnu.org>
12152
12153 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12154
0b378936
GM
121552000-02-17 Gerd Moellmann <gerd@gnu.org>
12156
d621caf7
GM
12157 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12158
0b378936
GM
12159 * alloc.c (enum mem_type): Compile unconditionally.
12160
3b451f74
EZ
121612000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12162
12163 * xfaces.c (tty_defined_color): Don't return faulire indication
12164 for unspecified-fg and unspecified-bg pseudo-colors.
12165
10689a01
GM
121662000-02-17 Gerd Moellmann <gerd@gnu.org>
12167
1216f5e4
GM
12168 * alloc.c (mark_object): Don't mark symbol names in pure space.
12169 (gc_sweep): Don't unmark symbol names in pure space.
12170
12171 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12172 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12173 [GC_MARK_STACK]: New defines.
427ec082 12174 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12175 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12176
12177 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12178
12179 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12180 allocate_buffer instead of xmalloc.
12181
12182 * alloc.c (toplevel): Include setjmp.h.
12183 (PURE_POINTER_P): New define.
12184 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12185 (Vdead) [GC_MARK_STACK]: New variable.
12186 (lisp_malloc): Add parameter TYPE, call mem_insert if
12187 GC_MARK_STACK is defined.
12188 (allocate_buffer): New function.
427ec082 12189 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12190 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12191 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12192 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12193 (MEM_NIL) [GC_MARK_STACK]: New define.
12194 (struct mem_node) [GC_MARK_STACK]: New structure.
12195 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12196 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12197 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12198 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12199 (mark_stack) [GC_MARK_STACK]: New functions.
12200 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12201 (clear_marks): Removed.
12202 (gc_sweep): Set free conses' car, free floats' type, free
12203 symbols' function to Vdead. Use lisp_free to free buffers.
12204 (init_alloc_once): Initialize Vdead.
12205 (survives_gc_p): Return non-zero for pure objects.
12206
12207 * alloc.c: Add comments throughout the file.
12208
2503c8b1
GM
12209 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12210 that unblocks alarms.
12211
8389e1e2
GM
12212 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12213 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12214 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12215
10689a01 12216 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12217
bfc17d18
KH
122182000-02-17 Kenichi Handa <handa@etl.go.jp>
12219
4a09dee0
KH
12220 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12221 avoid infinite error signaling. Allocate sufficient memory for
12222 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12223
2b927d02
SM
122242000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12225
12226 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12227 depends on the previous behavior.
12228
b49cb764
GM
122292000-02-16 Gerd Moellmann <gerd@gnu.org>
12230
12231 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12232
99e95407
GM
122332000-02-15 Gerd Moellmann <gerd@gnu.org>
12234
12235 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12236
12237 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12238 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12239 write(2).
12240
6ffd3cf7
RS
122412000-02-15 Richard M. Stallman <rms@gnu.org>
12242
12243 * data.c (set_internal): Don't make variable buffer-local
12244 if within a let-binding for the same buffer.
12245 (let_shadows_buffer_binding_p): New function.
12246
12247 * eval.c (specbind): For buffer-local value,
12248 record the current buffer also.
12249 (unbind_to): Cope with that change.
12250
cad53475
GM
122512000-02-15 Gerd Moellmann <gerd@gnu.org>
12252
12253 * window.c (Fsave_window_excursion): Doc fix.
12254
1aa963c8
SM
122552000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12256
12257 * syntax.c (back_comment): Make sure we only consider comment-starters
12258 of the relevant style and return -1 in case of a failure to find the
12259 beginning of the comment.
12260 (Fforward_comment): If back_comment fails, go back to the position just
12261 after the comment-end.
12262 (scan_lists): Add comment describing a very minor bug.
12263
b9b84fd3
SM
122642000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12265
12266 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12267 `completion-regexp-list' in the docstring.
12268
3a28db80
DL
122692000-02-14 Dave Love <fx@gnu.org>
12270
12271 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12272
fb4a568d
SM
122732000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12274
12275 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12276 to Emacs' syntax. Also fix the comment about set/not-set meanings
12277 since Emacs syntax is not the value 0 any more.
12278 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12279 since it's now part of RE_SYNTAX_EMACS.
12280
1063ebb5
DL
122812000-02-12 Dave Love <fx@gnu.org>
12282
52283633 12283 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12284
fb07a302
GM
122852000-02-12 Gerd Moellmann <gerd@gnu.org>
12286
12287 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12288
aaf2320c
DL
122892000-02-12 Dave Love <fx@gnu.org>
12290
12291 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12292
12293 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12294 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12295 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12296
12297 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12298
12299 * s/nextstep.h: Don't define HAVE_ALLOCA.
12300
12301 * config.in: Add vfork bits.
12302
eedf8bde
GM
123032000-02-12 Gerd Moellmann <gerd@gnu.org>
12304
12305 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12306 unwind function to undo the effect of stopping atimers.
12307
52283633 12308 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12309
12310 * atimer.c (stopped_atimers): New variable.
12311 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12312 New functions.
12313
12314 * atimer.h (stop_other_atimers, run_all_atimers)
12315 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12316
eedf8bde
GM
12317 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12318
8476c2f8
KR
123192000-02-11 Ken Raeburn <raeburn@gnu.org>
12320
12321 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12322 library may depend on jpeg.
12323 (atimer.o): Depends on atimer.c.
12324
0e85e4a3
KH
123252000-02-11 Kenichi Handa <handa@etl.go.jp>
12326
12327 * insdel.c (del_range_1): Call update_compositions.
12328 (del_range_both): Call update_compositions just once..
12329
97fa0cc8
DL
123302000-02-10 Dave Love <fx@gnu.org>
12331
12332 * xfns.c (create_frame_xic): Fix initialization of automatic
12333 aggregates for pcc.
12334
25566a3c
KH
123352000-02-09 Kenichi Handa <handa@etl.go.jp>
12336
12337 * ccl.c (CCL_MAKE_CHAR): New macro.
12338 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12339 registers by CCL_MAKE_CHAR before calling translate_char.
12340 <CCL_TranslateCharacterConstTbl> Likewise.
12341
69da54ba
DL
123422000-02-08 Dave Love <fx@gnu.org>
12343
12344 * lread.c (__EXTENSIONS__): Define.
12345
f7136ee8
GM
123462000-02-08 Gerd Moellmann <gerd@gnu.org>
12347
12348 * puresize.h (BASE_PURESIZE): Increase to 650000.
12349
7768790b
EZ
123502000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12351
12352 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12353 the help message.
12354
38fd211b
EZ
123552000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12356
12357 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12358 md, mh, mb, mr, and me to the fake termcap entry.
12359
66e4690f
KR
123602000-02-06 Ken Raeburn <raeburn@gnu.org>
12361
12362 * sound.c (sound_cleanup): Don't call device close routine if the
12363 function pointer is null.
12364
a75dfea0
AI
123652000-02-06 Andrew Innes <andrewi@gnu.org>
12366
12367 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12368 around image definitions and prototypes.
12369 (gamma_correct) [WINDOWSNT]: New prototype.
12370
12371 * w32term.c (x_make_frame_visible): Replace call to
12372 input_poll_signal with poll_for_input.
12373
12374 * window.c [WINDOWSNT]: Include w32term.h.
12375
12376 * xdisp.c [WINDOWSNT]: Include w32term.h.
12377
12378 * makefile.nt: Add dependencies on w32gui.h.
12379 (OBJ1): Include atimer.obj.
12380 ($(BLD)\atimer.obj): New dependency rule.
12381
12382 * w32.c (sigmask): New function (does nothing).
12383 (sigunblock): Ditto.
12384
12385 * frame.c [WINDOWSNT]: Include w32term.h.
12386
12387 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12388
12389 * lread.c (syms_of_lread): Fix literal newlines.
12390
12391 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12392 the string constant limit (2048 bytes) in MSVC.
12393 (main): Ditto.
12394
59ddecde
GM
123952000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12396
52283633 12397 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12398 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12399 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12400 dispatch the event.
12401
07590973
DL
124022000-02-04 Dave Love <fx@gnu.org>
12403
12404 * fileio.c: Remove some unused vars.
12405 (_GNU_SOURCE): Define (for euidaccess).
12406
12407 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12408
12409 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12410 gcpro1, gcpro2.
12411 (read_minibuf): Deal with allow_props correctly.
12412
649351f9
EZ
124132000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12414
12415 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12416
66e4690f 124172000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12418
12419 * search.c (compile_pattern): If a cache entry has a nil regexp,
12420 fill in that entry instead of clobbering a previously cached
12421 string regexp.
12422
66e4690f 124232000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12424
12425 * puresize.h (BASE_PURESIZE): Increase to 610000.
12426
d240a249
GM
124272000-02-02 Gerd Moellmann <gerd@gnu.org>
12428
12429 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12430 can GC.
12431
ca91fb26
KH
124322000-02-02 Kenichi Handa <handa@etl.go.jp>
12433
25660570
KH
12434 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12435 instead of incrementing ic directly.
12436 <CCL_WriteExprConst> Likewise.
12437 <ccl_set_expr>: Set ic to jump_address.
12438
ca91fb26
KH
12439 * fileio.c (e_write): Fix the handling of
12440 CODING_FINISH_INSUFFICIENT_SRC.
12441
2ede9689
DL
124422000-02-01 Dave Love <fx@gnu.org>
12443
12444 * editfns.c (Fpropertize): Doc fix.
12445
12446 * process.c (Fstart_process): Doc fix.
12447
12448 * eval.c: Fix various doc strings not to duplicate information
12449 from help-manyarg-func-alist.
12450
52283633 12451 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12452
12453 * doc.c (Vhelp_manyarg_func_alist): New variable.
12454 (Fdocumentation): Use it.
12455 (syms_of_doc): Define it.
12456
b6680a0e
GM
124572000-01-31 Gerd Moellmann <gerd@gnu.org>
12458
2cb750ba
GM
12459 * xterm.c (xim_open_dpy): Remove unused local variable.
12460
52283633 12461 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12462
12463 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12464 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12465
b6680a0e
GM
12466 * fns.c (sweep_weak_table): New function.
12467 (sweep_weak_hash_tables): Use it. Keep on marking until there
12468 is no more change.
12469
994c5afe
GM
124702000-01-30 Gerd Moellmann <gerd@gnu.org>
12471
12472 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12473 that XTread_socket does not crash by trying to call XNoOp on a
12474 closed display.
427ec082 12475
f00276e3
JR
124762000-01-30 Jason Rumney <jasonr@gnu.org>
12477
12478 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12479 Change selected_frame to SELECTED_FRAME ().
12480 (w32_console_mouse_position): Remove #ifndef MULE from around
12481 `insist' parameter.
12482
12483 * makefile.nt: Remove dosfns.obj.
12484
12485 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12486
12487 * w32fns.c (w32_defined_color): Check for valid frame before
12488 applying gamma correction. Eliminate dependency on frame elsewhere.
12489 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12490 (w32_to_x_font): Use resx and resy not height_in and width_in.
12491 (x_to_w32_font): Doc fix.
12492 (xlfd_strip_height): New function to strip and return font height.
12493 (w32_font_match): Compare height separately from rest of xlfd
12494 spec, using xlfd_strip_height.
12495
12496 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12497 width_in. Use w32_defined_color in place of defined_color.
12498
12499 * w32faces.c: Merge more of DOS and X specifics in preparation for
12500 merge with xfaces.c.
12501 (defined_color): Remove FIXME comment.
12502 (tty_color_name): Provide w32-specific function.
12503 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12504
12505 * w32console.c (turn_on_face, turn_off_face): Removed.
12506 (w32_face_attributes): New function.
12507 (Global_variables): Reduce scope where possible.
12508 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12509 fill attribute.
12510 (hl_mode): Don't modify text attributes.
12511 (write_glyphs): Don't do anything if len <= 0. Use
12512 w32_face_attributes to get attributes for drawing. Write
12513 terminating codes using char_attr_normal.
12514 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12515 (update_begin, update_end): Likewise.
12516 (vga_stdcolor_name): New function.
12517 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12518 (Fset_screen_color): Remove char_attr_reverse.
12519
b08e8bb2
GM
125202000-01-29 Gerd Moellmann <gerd@gnu.org>
12521
12522 * xfns.c (xic_set_preeditarea): Take window parameter and
12523 window-relative pixel-positions.
12524
12525 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12526 is its frame's selected window.
12527 (xim_instantiate_callback): Likewise.
12528
12529 * xfns.c (x_create_im): Removed.
12530 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12531 (supported_xim_styles): Renamed from supported_styles.
12532 (best_xim_style): Renamed from best_style.
12533 (create_frame_xic): Renamed from xic_create_frame.
12534 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12535
b08e8bb2
GM
125362000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12537
12538 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12539 our frames, call XFilterEvent with 2nd parameter `None'.
12540 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12541 returning XBufferOverflow.
52283633 12542 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12543 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12544 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12545 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12546 (xim_initialize, xim_close)
12547 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12548 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12549 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12550 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12551
12552 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12553 and `xim_styles'.
12554 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12555 `xic_style' and `xic_xfs'.
12556 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12557 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12558 (FRAME_XIM): Removed.
12559
12560 * xfns.c (supported_styles): New variable.
12561 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12562 (xic_create_xfontset, best_style, xic_create_frame)
12563 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12564 (xic_set_xfontset): New functions.
12565
142e109c
DL
125662000-01-28 Dave Love <fx@gnu.org>
12567
12568 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12569
12570 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12571
b02786f9
GM
125722000-01-28 Gerd Moellmann <gerd@gnu.org>
12573
d060bc9f
GM
12574 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12575 for *scratch* if it already existed.
12576
b02786f9
GM
12577 * emacs.c (USAGE): New macro.
12578 (main): Use it to display usage information.
12579
2c52d7e4
EZ
125802000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12581
12582 Support for the menu-help feature:
12583
52283633 12584 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12585
12586 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12587 part of the line to the termscript file.
12588 (IT_clear_to_end): Clear the entire line, not just its beginning.
12589 (menu_help_message, prev_menu_help_message): New variables.
12590 (IT_menu_make_room): Make room for the help_text member.
12591 (IT_menu_display): New argument disp_help; all callers changed.
12592 If disp_help is non-zero, store the help text of the active menu
12593 item in menu_help_message.
12594 (XMenuAddPane): Initialize the help_text member to NULL.
12595 (XMenuAddSelection): New argument help_text. Store it in the
12596 XMenu structure.
12597 (XMenuActivate): New argument help_callback. If the value of
12598 menu_help_message has changed since the last time, display the
12599 menu help message text while waiting for the mouse to move. Clear
12600 the echo area before exiting.
12601 (XMenuDestroy): Free the help_text member.
12602
ffe0bcd1
GM
126032000-01-27 Gerd Moellmann <gerd@gnu.org>
12604
12605 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12606 XMenuAddSelection. Pass help callback to XMenuActivate.
12607 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12608
50dbd23f
EZ
126092000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12610
12611 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12612 and EMACS_SET_USECS.
12613
f5941bf8
GM
126142000-01-26 Dave Love <fx@gnu.org>
12615
6c67ddee
DL
12616 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12617
f5941bf8
GM
12618 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12619 an error may be signalled.
12620
9e49c990
GM
126212000-01-26 Gerd Moellmann <gerd@gnu.org>
12622
fc3cb460
GM
12623 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12624 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12625
9e49c990
GM
12626 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12627
d0c037d8
GM
126282000-01-25 Gerd Moellmann <gerd@gnu.org>
12629
12630 * charset.c (Fstring): If there is a multibyte char among
12631 the args, always return a multibyte string.
12632
e12489f9
GM
126332000-01-25 Gerd Moellmann <gerd@gnu.org>
12634
12635 * sysdep.c (sys_select): Turn atimers off and on instead of
12636 recording and restoring old alarm handler
12637
12638 * process.c (toplevel): Include atimer.h.
12639 (create_process_1): Rewritten.
12640 (create_process): Use atimers instead of alarm.
12641 (wait_reading_process_input) [hpux]: Turn atimers off instead
12642 of turning off SIGALRM.
12643 (wait_reading_process_input): Turn off atimers instead off
12644 calling stop_polling.
12645
12646 * emacs.c (main): Call init_atimer.
12647
12648 * keyboard.c (toplevel): Include systime.h and atimer.h.
12649 (polling_for_input): Removed because unused.
12650 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12651 (poll_timer): New variable.
12652 (poll_for_input, poll_for_input_1): New functions.
12653 (start_polling, stop_polling): Rewritten.
12654
12655 * keyboard.h (polling_for_input): Removed.
427ec082 12656
e12489f9
GM
12657 * atimer.h, atimer.c: New files.
12658
12659 * Makefile.in (obj): Add atimer.o.
12660 (atimer.o): New target.
12661
12662 * blockinput.h (pending_atimers): Add extern declaration.
12663 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12664
12665 * lisp.h (popup_activated_flag): Add extern declaration.
12666
12667 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12668 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12669 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12670
12671 * xterm.c (toplevel): Include atimer.h.
12672 (toolkit_scroll_bar_interaction): New variable.
12673 (Fxt_process_timeouts): Removed.
12674 (x_process_timeouts): New function.
12675 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12676 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12677 (x_make_frame_visible): Call poll_for_input_1 instead of
12678 input_poll_signal. Don't call alarm.
12679 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12680
1e5279b9
DL
126812000-01-24 Dave Love <fx@gnu.org>
12682
6c67ddee 12683 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12684 Don't use -cckr -- apparently not now necessary.
12685
edf6aeb8
EZ
126862000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12687
12688 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12689 screen boundary.
12690
9badad41
JR
126912000-01-23 Jason Rumney <jasonr@gnu.org>
12692
12693 * w32fns.c (w32_defined_color): Apply gamma correction before
12694 trying to map to the palette.
12695 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12696 to w32_clear_rect.
12697
12698 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12699 here. Callers changed to always pass real device context.
12700 (w32_draw_bitmap): Likewise.
12701 (w32_get_glyph_overhangs): Likewise.
52283633 12702 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12703 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12704 pfnSetScrollInfo and SetScrollRange.
12705 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12706 back into MULE characters after decoding them.
12707 (x_get_glyph_face_and_encoding): Likewise.
12708 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12709 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12710 (x_produce_glyphs): Calculate per char metrics for a character
12711 that we know exists in default font when font_not_found_p is true.
12712
63bd786b
JR
127132000-01-22 Jason Rumney <jasonr@gnu.org>
12714
12715 * makefile.nt (intervals.obj, composite.obj): New modules.
12716 (composite.h): Added as dependency where appropriate.
12717
12718 * w32gui.h (XGCValue): New struct for emulating X GCs.
12719
12720 * w32term.h (XCharStruct): New struct for emulating X.
12721
12722 * w32console.c (turn_on_face, turn_off_face): New functions.
12723 (change_line_highlight): New prototype for new redisplay.
12724 (write_glyphs): Support multibyte text. Support faces.
12725
52283633 12726 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12727
12728 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12729 throughout. struct frame * in place of FRAME_PTR.
12730 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12731 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12732 (w32_get_arg): Renamed from x_get_arg.
12733 (Fx_file_dialog): New function.
12734 (w32_list_fonts): Check cache before asking system.
12735 (Vw32_enable_synthesized_fonts): New variable.
12736 (Vw32_enable_italics): Obsolete, removed.
12737
12738 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12739 Use SELECTED_FRAME macro.
12740
12741 * w32menu.c: Add skeleton support for help strings on menus.
12742 (add_menu_item): Native checkbox and radio support added, but not
12743 yet enabled due to bugs.
12744 (push_menu_item): Add parameters type, selection and help.
12745 Callers updated.
12746 Formatting changes to reduce unnecessary diffs with xmenu.c.
12747
12748 * w32select.c (Fw32_set_clipboard_data): Update call to
12749 find_charset_in_str.
12750
12751 * w32term.c: Complete rewrite for new redisplay based on new
12752 xterm.c with necessary sections merged back in from old w32term.c.
12753
6ffd3cf7 127542000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12755
12756 * data.c (set_internal): Further fix in same criterion.
12757
6ffd3cf7 127582000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12759
12760 * data.c (set_internal): Fix the criteria for whether
12761 to swap out the old cached binding.
12762
60af03f1
DL
127632000-01-19 Dave Love <fx@gnu.org>
12764
12765 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12766
f9be074f
KH
127672000-01-18 Kenichi Handa <handa@etl.go.jp>
12768
12769 * regex.c (re_compile_fastmap): While checking a range table for
12770 `charset', skip flag bits for a character class correctly.
12771
52b8dbf9
GM
127722000-01-17 Gerd Moellmann <gerd@gnu.org>
12773
d36100c9
GM
12774 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12775
52283633 12776 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12777
12778 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12779 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12780
12781 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12782 MENU_ITEMS_ITEM_.*.
12783 (MENU_ITEMS_ITEM_HELP): New enumerator.
12784 (push_menu_item): Add parameter HELP. Record help in menu_items.
12785 (single_menu_item, single_submenu, list_of_items): Call
12786 push_menu_item with new parameter.
12787 (single_submenu): Set help string in widget value.
12788 (menu_highlight_callback): New function.
12789 (set_frame_menubar): Call lw_create_widget with new
12790 parameter list.
12791 (xmenu_show, xdialog_show): Ditto.
12792
3139018f
GM
127932000-01-13 Gerd Moellmann <gerd@gnu.org>
12794
12795 * sound.c (Fplay_sound): Improve doc string.
12796
83c8f461
RS
127972000-01-11 Richard M. Stallman <rms@gnu.org>
12798
12799 * lisp.h (set_internal): Enter the new arg.
12800
12801 * eval.c (specbind): Record buffer-local variables specially,
12802 indicating which buffer's binding was saved.
12803 (unbind_to): Restore buffer-local variables specially
12804 in the proper buffer.
12805
12806 * data.c (set_internal): New arg BUF.
427ec082 12807
83c8f461
RS
12808 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12809 * data.c (Fset): Pass new arg to set_internal.
12810 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12811
1fab1775
GM
128122000-01-11 Gerd Moellmann <gerd@gnu.org>
12813
52283633 12814 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12815
83c8f461 128162000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12817
12818 * minibuf.c (Ftry_completion): Doc fix.
12819
7a85e4df
GM
128202000-01-11 Gerd Moellmann <gerd@gnu.org>
12821
12822 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12823 vector, too.
12824
a970dae4
AS
128252000-01-11 Andreas Schwab <schwab@suse.de>
12826
12827 * coding.c (code_convert_region): Initialize total_skip.
12828
c65d14ee
DL
128292000-01-08 Dave Love <fx@gnu.org>
12830
12831 * eval.c (Fuser_variable_p): Check customizability too.
12832
834938d2
GM
128332000-01-07 Gerd Moellmann <gerd@gnu.org>
12834
12835 * minibuf.c (Fcompleting_read): Doc fix.
12836
e0303cd6
GM
128372000-01-05 Gerd Moellmann <gerd@gnu.org>
12838
8a26744b
GM
12839 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12840 -L /usr/local/lib.
12841
e0303cd6
GM
12842 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12843 Check that input style is supported before trying to create an
12844 IC for it.
12845 (x_window): Call x_create_im.
427ec082 12846
2e471eb5
GM
128472000-01-04 Gerd Moellmann <gerd@gnu.org>
12848
560a7bd2
GM
12849 * xfns.c (current_gif_memory_src): New variable.
12850 (gif_load): Record the address of the current memory source
12851 in current_gif_memory_src.
12852 (gif_read_from_memory): Use current_gif_memory_src.
12853
f9ee84a3
GM
12854 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12855 macros statement form.
12856
d1299cde
GM
12857 * sound.c (struct sound): Renamed from struct sound_file.
12858 (struct sound): Add members `data' and `header_size'.
12859 (enum sound_attr): Add SOUND_DATA.
12860 (current_sound, current_sound_device): Variables renamed from
12861 sound_file and sound_device.
12862 (parse_sound): Parse :data.
12863 (parse_sound): Handle sound data in strings.
12864 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12865 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12866 needed header size.
12867 (wav_play, au_play): Play sounds from string data.
12868
2e471eb5
GM
12869 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12870
12871 * lisp.h: Add prototype for allocate_string_data.
12872
52283633 12873 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12874
12875 * alloc.c (mark_buffer): Remove code in #if 0.
12876 (gc_sweep): Ditto.
12877 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12878 (strings_consed): New variable.
12879 (allocate_string): Set it.
12880 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12881 (Fmemory_use_counts): Return strings_consed. Use Flist.
12882
12883 * alloc.c: General cleanup in comments etc. Remove conditional
12884 compilation for `standalone'.
12885
12886 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12887
12888 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12889 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12890 (DONT_COPY_FLAG): Removed.
12891 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12892 (struct sdata, struct sblock): New
12893 (struct string_block): Rewritten.
12894 (STRINGS_IN_STRING_BLOCK): New macro.
12895 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12896 (large_sblocks, string_blocks, string_free_list): New variables.
12897 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12898 (init_strings): Rewritten.
12899 (allocate_string, allocate_string_data, compact_small_strings)
12900 (free_large_strings, sweep_strings): New functions.
12901 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12902 (struct string_block_head, current_string_block)
12903 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12904 (STRING_PAD): Removed.
12905 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12906 (Fgarbage_collect): Don't set mark bit in large strings.
12907 (mark_object): Mark strings differently. Mark symbol names
12908 differently.
12909 (survives_gc_p): Test marked strings differently.
427ec082 12910 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12911 symbol names.
12912 (compact_strings): Removed.
12913
42608ba8
EZ
129142000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12915
12916 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12917 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12918
e0a09e1a
KH
129192000-01-04 Kenichi Handa <handa@etl.go.jp>
12920
dd9f0750 12921 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12922 in a non-empty buffer.
dd9f0750 12923
3c0f3b15 12924 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12925
44cd3ae5
GM
129262000-01-03 Gerd Moellmann <gerd@gnu.org>
12927
12928 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12929 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12930
12931 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12932
c182a70f
EZ
129332000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12934
12935 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12936 need to test for MSDOS frames.
12937
24480d5b
EZ
129382000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12939
12940 * dosfns.c (unspecified_colors): Remove.
12941 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12942 unspecified_bg.
12943 (msdos_stdcolor_name): Return strings for unspecified fore- and
12944 back-ground colors.
12945
12946 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12947 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12948 (tty_color_name): Return Lisp strings for unspecified fore- and
12949 back-ground colors.
12950 (Finternal_set_lisp_face_attribute): Remove the special treatment
12951 for Qunspecified_{f,b}g.
52283633 12952 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12953
047f434a
GM
129542000-01-03 Gerd Moellmann <gerd@gnu.org>
12955
12956 * xdisp.c (reseat_at_next_visible_line_start): Position before
12957 newline only if ending up on a newline.
12958 (next_element_from_ellipsis): Return success. Handle case of
52283633 12959 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12960 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12961 returns 0.
12962
d684c676
EZ
129632000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12964
12965 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12966 (Fcolor_supported_p): Renamed from face-color-supported-p.
12967
5fe1d139
EZ
129682000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12969
12970 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12971 list of colors renamed to tty-defined-color-alist.
12972 (tty_color_name): Pass the frame to tty-color-by-index.
12973 (realize_tty_face): tty-color-alist is now a function which
12974 accepts the frame as argument.
12975
52283633 12976 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12977
816be8b8
EZ
129782000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12979
12980 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12981 encode_terminal_code.
12982
b635321e
EZ
129832000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12984
12985 * dispnew.c (mode_line_string): Support termcap frames as well.
12986
9b784e96
GM
129872000-01-01 Gerd Moellmann <gerd@gnu.org>
12988
27189709
GM
12989 * syntax.c (Fforward_word): Undo previous change.
12990
12991 * editfns.c (Fconstrain_to_field): Don't constrain if
12992 inhibit-field-text-motion is non-nil.
12993 (Fline_beginning_position): Undo previous change.
12994 (Fline_end_position): Ditto.
12995
12996 * syntax.c (Fforward_word): Notice field boundaries only if
12997 inhibit-field-text-motion is nil.
12998
12999 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13000
13001 * editfns.c (Vinhibit_field_text_motion): New variable.
13002 (inhibit-field-text-motion): New DEFVAR_LISP.
13003 (Fline_beginning_position, Fline_end_position): Notice field
13004 boundaries only if inhibit-field-text-motion is nil.
13005
45158a91
GM
13006 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13007 All calls adjusted.
13008 (x_build_heuristic_mask): Likewise.
13009 (xbm_load_image_from_file): Change error output.
13010 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13011 (gif_load, gs_load, x_kill_gs_process): Ditto.
13012
9b784e96
GM
13013 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13014 color indices when accessing raster pixels.
63cec32f
GM
13015 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13016 one of :file or :data.
13017 (enum pbm_keyword_index): Add PBM_DATA.
13018 (pbm_format): Add :data.
13019 (pbm_image_p): Allow either :file or :data.
13020 (pbm_read_file): New function.
13021 (pbm_scan_number): Rewritten to read from string.
13022 (pbm_load): Support :data.
9b784e96 13023
2cb085db 13024See ChangeLog.8 for earlier changes.
6922b018
KH
13025
13026;; Local Variables:
49b3bd82 13027;; coding: iso-2022-7bit
6922b018 13028;; End:
2a34a036
GM
13029
13030 Copyright (C) 2001 Free Software Foundation, Inc.
13031 Copying and distribution of this file, with or without modification,
13032 are permitted provided the copyright notice and this notice are preserved.