(notice_overwritten_cursor): Renamed from
[bpt/emacs.git] / src / ChangeLog
CommitLineData
2ab7765c
EZ
12001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
4 multi-line strings without a trailing "\n\".
5
311346bb
PJ
62001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
7
8 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
9 defined.
10
2168e04d
SM
112001-10-11 Stefan Monnier <monnier@cs.yale.edu>
12
c0ec53ad
SM
13 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
14 * w32proc.c (sys_spawnve):
15 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
16 * w32.c (check_windows_init_file):
17 * sound.c (Fplay_sound):
18 * process.c (Fstart_process): Update calls to openp.
19
20 * callproc.c (Vexec_suffixes): New var.
21 (Fcall_process): Update call to openp.
22 (decode_suffixes): New function.
23 (syms_of_callproc): Init exec-suffixes.
24
25 * lread.c (Vload_suffixes, default_suffixes): New vars.
26 (openp): Take a lisp list of suffixes.
27 Check for file-name-handlers even if the file was absolute already.
28 (syms_of_lread): Declare load-suffixes.
29 (Fload): Fix up call to openp.
30 Don't bother checking for file-name-handler at the very beginning.
31
f6333468
SM
32 * keymap.h (Fcopy_keymap): Don't export.
33
34 * lisp.h (empty_string): Declare.
c0ec53ad
SM
35 (Vload_suffixes, Vexec_suffixes): Declare.
36 (openp): Update prototype.
f6333468
SM
37
38 * emacs.c (empty_string): New var.
39 (syms_of_emacs): Initialize it.
40
41 * search.c (wordify): Use it.
42
43 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
44 selected window if it's not displayed there. Handle the case
45 when the window is dedicated.
46 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
47
48 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
49
2168e04d
SM
50 * syntax.h (struct gl_state_s): Change the meaning of b_property.
51 Remove left_ok and right_ok.
52 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
53 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
54 new meaning of b_property.
55
56 * syntax.c (update_syntax_table): Simplify.
57 (Fforward_comment): Don't skip quoted chars when going backward.
58
13d95cc0
GM
592001-10-11 Gerd Moellmann <gerd@gnu.org>
60
beb0990f
GM
61 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
62 in case I is of some unsigned type, in which case
63 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
64 comparison becomes bogus.
65
cb938d46
GM
66 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
67 (Fuser_full_name): Fix bug treating a float as a fixnum.
68
69 * data.c (Fstring_to_number): Use make_fixnum_or_float.
70
71 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 72
13d95cc0
GM
73 * lisp.h (circular_list_error): Add prototype.
74
75 * data.c (Qcircular_list): New variable.
76 (circular_list_error): New function.
77 (syms_of_data): Initialize it Qcircular_list.
78
e35f6ff7
SM
792001-10-10 Stefan Monnier <monnier@cs.yale.edu>
80
81 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
82 casefiddle.c, buffer.c: Include keymap.h.
83
619632ac
GM
842001-10-10 Gerd Moellmann <gerd@gnu.org>
85
86 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
87 options. From Dave Love <d.love@dl.ac.uk>.
88
5e5388f6
GM
892001-10-09 Gerd Moellmann <gerd@gnu.org>
90
91 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
92 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
93
14a3dff7
GM
94 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
95 unsigned char.
96 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 97
76ba8daf
AI
982001-10-08 Andrew Innes <andrewi@gnu.org>
99
100 * lisp.h [max]: Undef min and max before redefining them.
101
102 * w32gui.h: Do not undef min and max.
103
104 * w32heap.h: Do not undef min and max.
105
106 * s/ms-w32.h: Do not undef min and max.
107
166253cb
SM
1082001-10-08 Stefan Monnier <monnier@cs.yale.edu>
109
110 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
111
0c4d9527
SS
1122001-10-08 Sam Steingold <sds@gnu.org>
113
114 * keymap.c (current-active-maps): Quote newlines (compilation error).
115
14bfa771
EZ
1162001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
117
118 * Makefile.in (lisp, shortlisp): Replace bindings.el with
119 bindings.elc, since otherwise doc strings in bindings.el get wrong
120 offsets in etc/DOC.
121
bdb7aa47
SM
1222001-10-08 Stefan Monnier <monnier@cs.yale.edu>
123
9985827f
SM
124 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
125
126 * keyboard.h (map_prompt): Remove.
127
128 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 129 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 130
bdb7aa47
SM
131 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
132
133 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
134
135 * keyboard.c (map_prompt): Remove.
136 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
137 Use Fkeymap_prompt.
138
139 * keymap.h: New file. Extracted from lisp.h.
140
9985827f
SM
141 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
142 (accessible_keymaps_1): New function.
143 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
144 (Fwhere_is_internal): Use Fcurrent_active_maps.
145 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
146 Insert in current buffer rather than standard-output.
147 Don't call `help-mode'. Export to elisp.
148 (describe_buffer_bindings): New wrapper.
149 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
150 and Sdescribe_buffer_bindings.
151
402c9a51
GM
1522001-10-08 Gerd Moellmann <gerd@gnu.org>
153
9985827f 154 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
155 Remove code setting signal handler.
156
9985827f 157 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
158 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
159
3fe81fdf
PJ
1602001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
161
162 * keyboard.c: Don't define min/max.
163
55fa7820
GM
1642001-10-08 Gerd Moellmann <gerd@gnu.org>
165
9985827f 166 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 167 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 168 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 169 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 170 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
171 Don't define min/max.
172
173 * lisp.h (min, max): New macros.
174
55fa7820
GM
175 * puresize.h (BASE_PURESIZE): Increase to 725000.
176
1aad31e4
PJ
1772001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
178
9180dc8c
PJ
179 * xfaces.c (free_frame_menubar): Add prototype.
180
01f67d2c
PJ
181 * lisp.h (init_window): Add prototype.
182
183 * editfns.c: Include ctype.h.
184
185 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 186 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
187 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
188 variable `sb'.
189
5f351ff1
PJ
190 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
191 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
192 `popup_activated_flag' and `title'.
193
479dfe87
PJ
194 * doc.c (Fdocumentation_property): Fix typo in a doc string.
195
dff49fc8
PJ
196 * emacs.c (main): Remove extra `;'.
197
248ac615
PJ
198 * atimer.h (struct atimer): Fix typos in a comment.
199
200 * atimer.c: Fix typo.
201
af232c7d
PJ
202 * Makefile.in: Fix typo.
203
204 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 205
d876f455
MB
2062001-10-07 Miles Bader <miles@gnu.org>
207
208 * Makefile.in (lisp, shortlisp): Add `button.elc'.
209
0037e2f2
KR
2102001-10-07 Ken Raeburn <raeburn@gnu.org>
211
b056f36d
KR
212 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
213 Lisp_Object.
214
0037e2f2
KR
215 * lisp.h (Ffield_end): Declare.
216
1a4372ef
GM
2172001-10-07 Gerd Moellmann <gerd@gnu.org>
218
a4a74e8c
GM
219 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
220
221 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
222
223 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
224
225 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
226
1a4372ef
GM
227 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
228 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
229
230 * alloc.c (inhibit_garbage_collection): Simplify.
231 (Fmemory_use_counts): Ditto.
232
9985827f 233 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
234 (syms_of_data): DEFVAR_INT most-positive-fixnum and
235 most-negative-fixnum.
236
9985827f 237 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
238 (FIXNUM_OVERFLOW_P): New macros.
239
4650e362
MB
2402001-10-06 Miles Bader <miles@gnu.org>
241
242 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
243 scroll_bar_bottom_shadow_pixel fields.
244 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
245 for the shadows, and tell the toolkit about them if we succeed.
246 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
247 Free scroll-bar shadow colors.
248 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
249 Free scroll-bar shadow colors when the background color changes.
250 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
251 Initialize scroll-bar shadow-color fields.
252
ace64e0a
GM
2532001-10-05 Gerd Moellmann <gerd@gnu.org>
254
255 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
256
ec66bdc7
MB
2572001-10-05 Miles Bader <miles@gnu.org>
258
9985827f
SM
259 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
260 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 261 New functions (were in simple.el).
9985827f 262 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
263 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
264 (syms_of_minibuf): Initialize them.
265
a0fb4492
GM
2662001-10-05 Gerd Moellmann <gerd@gnu.org>
267
268 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
269 (tiff_load): Install them as error and warning handler.
270
0bcf87c1
AI
2712001-10-04 Andrew Innes <andrewi@gnu.org>
272
273 * w32fns.c (x_to_w32_color): Fix argument to alloca.
274 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 275 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
276 (x_to_w32_charset): Handle private format for unknown charsets.
277 Handle wildcards in charset spec, by ignoring them.
278 (w32_codepage_for_font): Fix argument to alloca. Don't remove
279 "*-" prefix from charset.
280 (x_to_w32_font): Enlarge remainder array for safety. Specifically
281 handle the truncated font spec form constructed by font_list_1, so
282 that we correctly identify the charset fields. Don't remove "*-"
283 prefix from charset.
284 (w32_list_synthesized_fonts): Fix argument to alloca.
285
c89e4bc5
GM
2862001-10-04 Stefan Monnier <monnier@cs.yale.edu>
287
288 * window.h (MINI_WINDOW_P): Use NILP.
289
290 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
291
292 * termhooks.h (struct input_event): Use proper type for `kind'.
293
2942001-10-04 Gerd Moellmann <gerd@gnu.org>
295
296 This handles unknown keysyms better than before. For example,
297 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
298 Emacs formerly completely ignored F5. With the change, it derives
299 a key symbol from the name of the X keysym, `ccaron' in this case.
300 Reported by Martin Buchholz.
301
302 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
303 unknown keysyms.
304
305 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
306 that EVENT->code isn't a function key, use the keysym's name.
307
3082001-10-04 Gerd Moellmann <gerd@gnu.org>
309
310 FOREACH is a macro that should make it easier to loop over Lisp
311 lists with checks for cycles and proper lists.
312
313 * lisp.h (LIST_END_P, FOREACH): New macros.
314
3152001-10-04 Gerd Moellmann <gerd@gnu.org>
316
317 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
318 called for a lost connection. Prevent dumping core in this case.
319 Instead print the X error, and exit. On user request.
320
321 * xterm.c (error_msg): New variable.
322 (x_fatal_error_signal): New function.
323 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
324 as fatal_error_signal_hook around the call to XtCloseDisplay.
325
326 * emacs.c (fatal_error_signal_hook): New variable.
327 (fatal_error_signal): Call that function.
328
3292001-10-04 Gerd Moellmann <gerd@gnu.org>
330
331 With this, Emacs prints how much pure storage it will
332 approximately need in case pure storage overflows while dumping.
333
334 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
335 New variables.
336 (init_alloc_once): Initialize new variables.
337 (PURE_POINTER_P): Use new variables.
338 (pure_alloc): If pure storage overflows, allocate from the heap.
339 (check_pure_size): New function.
340 (Fgarbage_collect): Don't GC if pure storage has overflowed.
341
342 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
343 (check_pure_size): Add prototype.
344
345 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
346
3472001-10-04 Gerd Moellmann <gerd@gnu.org>
348
349 This adds a post-gc-hook that's run with GC inhibited.
350 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
351
352 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
353 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
354 (Fgarbage_collect): Run post-gc-hook.
355
3562001-10-04 Gerd Moellmann <gerd@gnu.org>
357
358 This adds `defvaralias' and `indirect-variable'. Changes not
359 directly related to this feature are there to gain the same
360 performance again as before variable aliases.
361
362 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
363 code to get and set symbol values, to take defvaralias into account.
364
365 (Note: the new `constant' bit-flag in symbols would make it
366 possible to define arbitrary read-only variables, e.g. with
367 `defconst'.)
368
369 Documentation is in lispref/variables.texi. Added to NEWS.
370
371 * lisp.h (enum symbol_interned): New enumeration.
372 (struct Lisp_Symbol): Remove member `obarray', add
373 `indirect_variable', `constant', and `interned'.
374 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
375 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
376 (indirect_variable): Add prototype.
377
378 * print.c (print_preprocess, print_object): Test internedness of
379 symbols differently.
380
381 * lread.c (Fintern, Funintern): Set symbol's interned and constant
382 bit-fields.
383 (init_obarray): Likewise for t and nil.
384
385 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
386 (Fdefvaralias): New function.
387 (specbind): Simplify the test if symbol is a constant.
388 (syms_of_eval): Defsubr Fdefvaralias.
389
390 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
391 (Qcyclic_variable_indirection): New variable.
392 (Fkeywordp): Check for internedness differently.
393 (Fmakunbound): Simplify the test if symbol is a constant.
394 (indirect_variable, Findirect_variable): New functions.
395 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
396 aliased symbol.
397 (let_shadows_buffer_binding_p): Check for variable aliases.
398 (set_internal): Simplify the test if SYMBOL is a constant.
399 If SYMBOL has a buffer-local value and is an alias, use the aliased
400 symbol instead.
401 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
402 Sindirect_variable.
403
404 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
405 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
406 set directly.
407
408 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
409
410 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
411 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
412 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
413
ab952a4f
GM
4142001-10-04 Gerd Moellmann <gerd@gnu.org>
415
416 * Branch for 21.1.
417
ba88ff28
MB
4182001-10-03 Miles Bader <miles@gnu.org>
419
420 * callproc.c (syms_of_callproc): Explicitly state in the
421 documentation for `process-environment' that earlier entries take
422 precedence over later ones.
423
ae1a9581
MB
4242001-10-02 Miles Bader <miles@gnu.org>
425
426 * textprop.c (Fnext_char_property_change)
427 (Fprevious_char_property_change): Remove reference to non-existant
428 argument OBJECT from doc-string.
429
257e3f57
GM
4302001-10-01 Gerd Moellmann <gerd@gnu.org>
431
432 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
433 (try_window_id): Skip back over lines ending in a newline from a
434 string.
435
436 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
437 New bit flag
438
c1f29759
RS
4392001-10-01 Richard M. Stallman <rms@gnu.org>
440
441 * search.c (Freplace_match): Doc fix.
442
c30dce3d
AI
4432001-09-28 Andrew Innes <andrewi@gnu.org>
444
445 * w32menu.c (set_frame_menubar): Take into account that
446 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
447 <raeburn@gnu.org>.
448
03be5931
EZ
4492001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
450
451 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
452
75bec752
PJ
4532001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
454
455 * s/gnu-linux.h: Fix a typo in comment.
456
83100e0a
AS
4572001-09-28 Andreas Schwab <schwab@suse.de>
458
459 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
460 nocombreloc, in case -z combreloc is the default.
461
a74b48cf
GM
4622001-09-28 Gerd Moellmann <gerd@gnu.org>
463
464 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
465 really going on here.
466
09c4719e
SM
4672001-09-27 Stefan Monnier <monnier@cs.yale.edu>
468
469 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
470
f7d5d963
EZ
4712001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
472
473 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
474 utf-8, menu-bar, and latin-N.
475 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
476 unconditionally now.
477 (lisp): Add latin-N, since they are preloaded.
478
9240e746
GM
4792001-09-27 Gerd Moellmann <gerd@gnu.org>
480
14531065
GM
481 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
482 to the left. Some cleanup.
483
9240e746
GM
484 * xdisp.c (display_mode_element): One more case where a string's
485 multibyteness should be used for display.
486
edd1e654
GM
4872001-09-26 Gerd Moellmann <gerd@gnu.org>
488
b02439c8
GM
489 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
490 reading at EOF.
491
032906b1 492 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 493 of the only temporarily set echoing flag for deciding when
032906b1
GM
494 the cancel echoing.
495
496 * keyboard.c (echo_kboard): Make externally visible.
497
498 * lisp.h (echo_kboard): Declare extern.
499
cb617e7c 500 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 501 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
502 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
503 this round of redisplay if make_cursor_line_fully_visible fails.
504 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 505 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
506
507 * dispextern.h (required_matrix_width, required_matrix_height):
508 Add prototypes.
509
09c4719e
SM
510 * dispnew.c (required_matrix_width, required_matrix_height):
511 New functions.
cb617e7c 512 (allocate_matrices_for_window_redisplay)
09c4719e
SM
513 (allocate_matrices_for_frame_redisplay: Use them.
514 Remove parameters CH_DIM.
cb617e7c 515
edd1e654
GM
516 * xdisp.c (display_mode_lines): Temporarily set selected_frame
517 and selected_window to the frame of the window whose mode-lines
518 are displayed, and to the window itself.
519 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 520 here.
edd1e654 521
924b604c
GM
5222001-09-25 Gerd Moellmann <gerd@gnu.org>
523
daba7643
GM
524 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
525 the image cache under us.
526
b7a22712 527 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 528 with a string value, use that string's multibyteness for displaying.
b7a22712 529
ad648212
GM
530 * keyboard.c (read_char): Don't clear a message for a switch-frame
531 event. From Stefan Monnier <monnier@cs.yale.edu>.
532
9f8531e5
GM
533 * xterm.c (fast_find_position) [0]: Add a presumably more correct
534 version for after 21.1.
535
536 * xdisp.c (row_containing_pos): Make externally visible.
537
538 * dispextern.h (row_containing_pos): Add prototype.
539
924b604c
GM
540 * process.c (send_process): Disable composition if from_byte < 0.
541 From Kenichi Handa <handa@etl.go.jp>.
542
6f3f0db4
GM
5432001-09-24 Gerd Moellmann <gerd@gnu.org>
544
c69c0ebc
GM
545 * xterm.c (refreshicon): Function removed.
546
d1182bc4
GM
547 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
548
549 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
550
551 * xterm.c (toplevel): Remove includes in #if 0.
552
6f3f0db4
GM
553 * process.c (sigchld_handler) [LINUX]: Don't return from
554 the signal handler at the end of the loop.
555
59957f85
GM
5562001-09-21 Gerd Moellmann <gerd@gnu.org>
557
09c4719e
SM
558 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
559 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 560
a0528984
EZ
5612001-09-21 Markus Rost <rost@math.ohio-state.edu>
562
563 * Makefile.in (shortlisp): Add ../lisp/env.elc.
564
db92b288
GM
5652001-09-20 Gerd Moellmann <gerd@gnu.org>
566
3fed8ad5
GM
567 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
568 since this function can be called during GC.
569
db92b288
GM
570 * callproc.c (Fcall_process): Handle errors from pipe(2).
571 (child_setup): Delete code in #ifdef vipc.
572
7121b85a
GM
5732001-09-19 Gerd Moellmann <gerd@gnu.org>
574
72f62cb5
GM
575 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
576 (display_mode_element): Display the string from decode_mode_spec
577 depending on its multibyteness.
578
a2697022
GM
579 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
580
7121b85a
GM
581 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
582
bfc97351
GM
5832001-09-18 Gerd Moellmann <gerd@gnu.org>
584
c9063433
GM
585 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
586 recursive_edit_unwind.
587 (recursive_edit_unwind): Set kboard state according to
588 SINGLE-KBOARD.
589
3fbdba3e
GM
590 * buffer.c (modify_overlay): Don't do nothing if START == END;
591 This can still be a modification, for example when an overlay has
592 a before-string or after-string.
593 (Fdelete_overlay): Prevent redisplay optimizations when deleting
594 an overlay with before-string or after-string.
595
1270031d
GM
596 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
597 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
598
bfc97351
GM
599 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
600 first_unchanged_at_end_row is in front of
601 last_unchanged_at_beg_row. This code should be removed after the
602 release of 21.1.
603
d8a973aa
GM
6042001-09-17 Gerd Moellmann <gerd@gnu.org>
605
e18c8b8d
GM
606 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
607 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
608
d8a973aa
GM
609 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
610 versions >= 2.95.
611
ed7d6ba4
EZ
6122001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
613
614 * dired.c (Ffile_attributes): Doc fix.
615
551629f9
GM
6162001-09-14 Gerd Moellmann <gerd@gnu.org>
617
618 * fileio.c (Ffile_symlink_p): Fix last change.
619
620 * filelock.c (current_lock_owner): Fix last change.
621
4c8c7926
GM
6222001-09-13 Gerd Moellmann <gerd@gnu.org>
623
620c4704
GM
624 * filelock.c (current_lock_owner): If readlink returns ERANGE,
625 take that to mean that the buffer is too small.
626
81c3310d
GM
627 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
628 that to mean that the buffer is too small.
629
06fd3792
GM
630 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
631 current buffer's multibyteness when discarding the iterator's
632 stack.
633
4c8c7926
GM
634 * xfns.c (Fx_window_property): Handle case that property gets
635 deleted between the two calls to XGetWindowProperty.
636
9a72e4c1
GM
6372001-09-11 Gerd Moellmann <gerd@gnu.org>
638
bd819d14
GM
639 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
640
a41edd99
GM
641 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
642 in addition to read-only.
643
644 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
645 to t in addition to read-only.
646
647 * lisp.h (Qinhibit_modification_hooks): Declare.
648
649 * insdel.c (Qinhibit_modification_hooks): New variable.
650 (syms_of_insdel): Initialize and staticpro it.
651
d4881c6a
GM
652 * textprop.c (verify_interval_modification): Don't run
653 modification-hooks if inhibit_modification_hooks.
654
655 * dispnew.c (set_window_cursor_after_update): Fix code
656 finding glyph row containing cursor when cursor_in_echo_area
657 is >= 0.
658
9a72e4c1
GM
659 * xdisp.c (init_from_display_pos): Put some code in #if 0.
660 (add_to_log): Use bcopy instead of strcpy.
661 (init_from_display_pos): Use an explicit loop over bytes in
662 overlay strings instead of calling index.
663
f4a374a1
GM
6642001-09-10 Gerd Moellmann <gerd@gnu.org>
665
300e57bd
GM
666 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
667
668 * dispnew.c (direct_output_for_insert): Don't change IT's
669 stop_charpos to something in front of its current position.
670
f4a374a1
GM
671 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
672 `format'.
673
7e4cbc91
RS
6742001-09-10 Richard M. Stallman <rms@gnu.org>
675
676 * frame.c (Fmouse_position): Doc fix.
677
6afad91e
GM
6782001-09-07 Gerd Moellmann <gerd@gnu.org>
679
680 * xdisp.c (init_from_display_pos): Don't compare the result
681 of calling index with NULL.
682
f76e0368
GM
6832001-09-06 Gerd Moellmann <gerd@gnu.org>
684
685 * xfns.c (x_set_background_color): Don't change the colors
686 of the X window of scroll bar widgets.
687
9ead1b60
AI
6882001-09-05 Andrew Innes <andrewi@gnu.org>
689
690 * w32fns.c (w32_createwindow): Undo last change.
691
c3b497b3
GM
6922001-09-05 Gerd Moellmann <gerd@gnu.org>
693
08e1d6df
GM
694 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
695
c3b497b3
GM
696 * xdisp.c (string_buffer_position): Use *single_char_property*
697 functions instead of the *single_property* functions.
698
8f860180
AI
6992001-09-04 Andrew Innes <andrewi@gnu.org>
700
9a72e4c1
GM
701 * w32term.c (w32_read_socket): Add more information to debugging
702 output.
8f860180
AI
703
704 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
705 from Emacs frames, so that calls to GetClipBox in w32term.c
706 correctly report when part of a frame is visible (including
707 scrollbars, etc). This prevents repeated redrawing of frames when
708 only a scrollbar is visible.
709 (w32_wnd_proc): Add more frame information to debugging output.
710
2ee1aa00
SM
7112001-09-03 Stefan Monnier <monnier@cs.yale.edu>
712
713 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
714
e3b22517
GM
7152001-09-03 Gerd Moellmann <gerd@gnu.org>
716
7e376260
GM
717 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
718 help-echo for a string which doesn't have help-echo itself, use
719 get-char-property to obtain the help-echo from the string's buffer
720 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
721 have mouse-face, look ``under'' the string for mouse-face from an
722 overlay.
723 (fast_find_position): Add parameter STOP. In the final row, stop
724 before glyphs having STOP as object. Don't consider glyphs that
725 are not from a buffer.
726
e3b22517
GM
727 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
728
9a249bba
EZ
7292001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
730
731 * fns.c (Fmd5): Doc fix.
732
c9979669
GM
7332001-08-31 Gerd Moellmann <gerd@gnu.org>
734
735 * composite.c (update_compositions): Do nothing if
736 inhibit-modification-hooks is set.
737
9584e63a
GM
7382001-08-30 Gerd Moellmann <gerd@gnu.org>
739
986ec8f2 740 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 741 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
742 glyph matrices etc. in a core dump.
743
92a25631
GM
744 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
745 (syms_of_xdisp): Initialize them.
746 (handle_single_display_prop): Don't change point, bind `object',
747 `position', and `buffer-position' instead to the object having the
2ee1aa00 748 `display' property, position in the object and position in the buffer.
92a25631 749
9584e63a
GM
750 * fileio.c (Finsert_file_contents): Don't change the multibyteness
751 of the buffer if REPLACE is non-nil.
752
d38633a3
GM
7532001-08-29 Gerd Moellmann <gerd@gnu.org>
754
755 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
756
f4fccc1e
EZ
7572001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
758
759 * w32term.c (x_set_glyph_string_background_width)
760 (show_mouse_face): Track the last changes in xterm.c.
761
eaaa65b0
GM
7622001-08-28 Gerd Moellmann <gerd@gnu.org>
763
7b0870b2
GM
764 * xterm.c (x_set_glyph_string_background_width): Set the glyph
765 string's background width so that multi-line mouse-face is drawn
766 to the right edge of the window.
767 (show_mouse_face): Set the row's mouse_face_p flag after drawing
768 glyphs.
769
6b6e2422 770 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 771 before inserting/writing glyphs.
6b6e2422 772
eaaa65b0
GM
773 * xdisp.c (display_mode_element): Use string_byte_to_char to
774 determine character positions in strings, use chars_in_text
775 instead of strwidth.
776 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
777 a matrix as parameter; this is easier to use from GDB.
778
9ad62cf8
MB
7792001-08-28 Miles Bader <miles@gnu.org>
780
2ee1aa00
SM
781 * textprop.c (Fprevious_single_char_property_change)
782 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 783
32171635
GM
7842001-08-27 Gerd Moellmann <gerd@gnu.org>
785
47d57b22
GM
786 * fileio.c (Finsert_file_contents): Allocate, restore, and
787 free composition data in the case of REPLACE not being nil.
788
789 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
790 there exist overlay strings with newlines at POS.
791 (text_outside_line_unchanged_p): Return 0 if changes start at
792 START and overlays exist at START. Likewise for END.
793 (try_window_id): Give up if init_to_row_end returns 0.
794
32171635
GM
795 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
796 unconditionally.
797
e1249666
GM
7982001-08-24 Gerd Moellmann <gerd@gnu.org>
799
33954c45
GM
800 * keymap.c (access_keymap): Return the cdr of the binding of
801 a generic character instead of its definition (KEY . BINDING).
802
e1249666
GM
803 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
804 to 0 also in the REPLACE case.
805
fb4c6c96
AC
8062001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
807
808 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
809 open to determine whether file is readable (as for DOS_NT).
810
59ecf80b
GM
8112001-08-23 Gerd Moellmann <gerd@gnu.org>
812
813 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
814 coding.type is coding_type_no_conversion or coding_type_raw_text,
815 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
816 non-nil instead of just setting enable_multibyte_characters in the
817 buffer to nil.
818
40e33037
GM
8192001-08-22 Gerd Moellmann <gerd@gnu.org>
820
374388c3
GM
821 * dispextern.h (struct face_cache): Add member
822 menu_face_changed_p.
823
824 * xfaces.c (menu_face_changed_default): New variable.
825 (menu_face_changed_count): Variable removed.
826 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
827 the menu_face_changed_default flag, otherwise set the FRAME's
828 menu_face_changed_p flag if the `menu' face has been changed.
829 Prevent calling set_font_frame_param if FRAME is t.
830 (make_face_cache): Initialize cache's menu_face_changed_p
831 from menu_face_changed_default.
832 (realize_basic_faces): Look into the frame's face cache to
833 determine if the menu appearance needs updating.
834
40e33037
GM
835 * keymap.c (access_keymap): Fix last change to not consider
836 IDX when it has modifiers.
837
859ea4b8
GM
8382001-08-21 Gerd Moellmann <gerd@gnu.org>
839
840 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
841 . BINDING) exists, where GENERIC-CHAR is the generic character of
842 the charset of IDX, return BINDING unless there exists a binding
843 for IDX itself.
844
e8660d73
GM
8452001-08-16 Gerd Moellmann <gerd@gnu.org>
846
cca1b1d7
GM
847 * xrdb.c (SYSV): Don't define on Solaris 2.
848 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
849
e8660d73 850 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 851 of the screen line, not text line, containing IT's current position.
e8660d73 852
93aba6fc
GM
8532001-08-15 Gerd Moellmann <gerd@gnu.org>
854
288d4e06
GM
855 * window.c (window_scroll_pixel_based): Don't recenter if
856 PT is partially visible in the window.
857
3452efc2
SM
858 * xterm.c (expose_window_tree, expose_window, expose_line):
859 Return 1 when overwriting mouse-face.
82f053ab
GM
860 (expose_frame): If mouse-face was overwritten, redo it.
861
93aba6fc
GM
862 * xfaces.c (x_update_menu_appearance): Don't call
863 set_frame_menubar, let the next redisplay do it.
864
858a55c1
AI
8652001-08-14 Andrew Innes <andrewi@gnu.org>
866
867 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
868 drawing glyph string.
869
3a990b67
EZ
8702001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
871
872 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
873 running HI-UX/MPP.
874
04386463
GM
8752001-08-14 Gerd Moellmann <gerd@gnu.org>
876
877 * xfaces.c (x_update_menu_appearance): Save and restore value of
878 interrupt_input_blocked.
879
3e6385a4
GM
8802001-08-13 Gerd Moellmann <gerd@gnu.org>
881
b0e619b4
GM
882 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
883 a line start, move back to the line start.
3452efc2 884
0de73d5a
GM
885 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
886 exactly when a mini-buffer is active.
887
3e6385a4
GM
888 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
889 in units of 1/8 character on non window-system frames.
890 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
891
d1b5f629
EZ
8922001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
893
894 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
895 a doc string.
896
eaa2319f
GM
8972001-08-09 Gerd Moellmann <gerd@gnu.org>
898
8e3189f0
GM
899 * keyboard.c (Vpre_help_message): New variable.
900 (syms_of_keyboard): Initialize and staticpro it.
901 (show_help_echo): Record current message before displaying a
902 help-echo, and restore that message when clearing the help.
903
eaa2319f
GM
904 * xfns.c (x_create_im): Remove prototype.
905
906 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
907
908 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 909
eaa2319f
GM
9102001-08-08 Gerd Moellmann <gerd@gnu.org>
911
912 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 913 windows whose height has changed, disable partially visible lines.
eaa2319f 914
17fdcfc8
GM
9152001-08-07 Gerd Moellmann <gerd@gnu.org>
916
22d01aed 917 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 918 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 919
17fdcfc8
GM
920 * xdisp.c (start_display): Don't try to determine the continuation
921 lines width if lines are truncated. It's superfluous and leads to
922 incorrect results if POS is not visible in the window after
923 reseating the iterator at the previous line start.
924
8e3fe78e
GM
9252001-08-06 Gerd Moellmann <gerd@gnu.org>
926
927 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
928
98a8938c
GM
9292001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
930
931 * alloc.c (init_stack): Remove declaration.
932
18f9986a
GM
9332001-08-03 Gerd Moellmann <gerd@gnu.org>
934
5e1f85e0
GM
935 * keyboard.c (read_key_sequence): Check that key is an integer
936 before comparing it with quit_char.
937 (add_command_key): Use larger_vector.
938 (read_char_x_menu_prompt): Instead of converting symbol and
939 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 940 which cannot be confused with valid events.
5e1f85e0
GM
941 (read_char): When reading from Vunread_command_events, check for
942 events of the form (EVENT . disabled) instead of
943 (EVENT . nil).
944
18f9986a
GM
945 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
946 a float, determine the max height from the frame's height.
947
fbc7f2a6
GM
9482001-08-02 Gerd Moellmann <gerd@gnu.org>
949
950 * xdisp.c (redisplay_internal): Take message_cleared_p into
951 account only if minibuf_level == 0.
952
81b1a79d
GM
9532001-08-01 Gerd Moellmann <gerd@gnu.org>
954
e5c60873
GM
955 * xdisp.c (redisplay_internal): Add a check for the last
956 displayed message.
3452efc2 957
6e019995
GM
958 * xdisp.c (message_cleared_p): New variable.
959 (clear_message): Set message_cleared_p when clearing the current
960 message.
961 (redisplay_internal): Look at message_cleared_p to capture
962 the case that the echo area should be cleared.
963
308a74d8
GM
964 * keyboard.c (command_loop_1): Fix spelling of
965 resize_echo_area_exactly.
966
3452efc2 967 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
968
969 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
970
81b1a79d
GM
971 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
972 current matrix when the window gets smaller.
973
ada329e6
EZ
9742001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
975
976 * print.c (strout): Cast the character passed to insert_char to
977 unsigned char, to avoid sign extension when it is promoted to int.
978
ed86208c
GM
9792001-07-31 Gerd Moellmann <gerd@gnu.org>
980
981 * fileio.c (Finsert_file_contents): Don't treat a return value
982 of 0 from emacs_read as an IO error.
983
6594ac22
GM
9842001-07-30 Gerd Moellmann <gerd@gnu.org>
985
cef68af5
GM
986 * keyboard.c (abs): New macro.
987 (double_click_fuzz): New variable.
988 (make_lispy_event): Use it to determine what makes a double-click.
989 (syms_of_keyboard): DEFVAR_INT it.
990
6594ac22
GM
991 * xmenu.c (set_frame_menubar): Take into account that
992 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
993 <raeburn@gnu.org>.
994
75c5350a
GM
9952001-07-27 Gerd Moellmann <gerd@gnu.org>
996
997 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
998
999 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1000 of row's visible height.
1001
1002 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1003 deal with the first overlay string having an image `display' property.
1004 (try_window_reusing_current_matrix, compute_line_metrics):
1005 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1006 row is invisible above and part of the row is at the same time
1007 invisible below the window.
1008
ac49effe
GM
10092001-07-26 Gerd Moellmann <gerd@gnu.org>
1010
1011 * xfns.c (x-show-tip): Doc fix.
3452efc2 1012
ac49effe
GM
1013 * xfns.c (Vx_max_tooltip_size): New variable.
1014 (syms_of_xfns): DEFVAR_LISP it.
1015 (Fx_show_tip): Set frame's window_width to the width of the
1016 window. Use a maximum tooltip size specified by
1017 Vx_max_tooltip_size, if that has valid contents.
1018 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1019
8c3b00cb
AI
10202001-07-26 Andrew Innes <andrewi@gnu.org>
1021
1022 * w32term.c (x_display_list): New variable.
1023 (w32_term_init): Set it.
1024
1025 * w32term.h (x_display_list): New extern.
1026
16098288
GM
10272001-07-26 Gerd Moellmann <gerd@gnu.org>
1028
1029 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1030 is non-nil, instead of when redisplaying_p is non-zero.
1031 See comment there.
16098288
GM
1032 (mark_window_display_accurate_1): Add an assertion.
1033
64c5be50
GM
10342001-07-25 Gerd Moellmann <gerd@gnu.org>
1035
e743f599
GM
1036 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1037
563b384d
GM
1038 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1039 events so that we get a chance of processing expose events.
1040
64c5be50
GM
1041 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1042
296808a5
GM
10432001-07-24 Gerd Moellmann <gerd@gnu.org>
1044
1045 * xfns.c (valid_image_p): Protect better against invalid image
1046 specifications. Previous code could signal an error.
1047
5247262a
GM
10482001-07-23 Gerd Moellmann <gerd@gnu.org>
1049
3452efc2 1050 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1051 presence of display table entries.
1052 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1053
dd42b31a
GM
1054 * dispnew.c (adjust_glyph_matrix): In the optimization for
1055 windows whose height has changed, use the new window height
1056 to compute which rows to invalidate.
1057
9e5a7f2a
GM
1058 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1059 (MAX_10_EXP): New macro.
1060 (Fformat): Use it.
1061
5247262a
GM
1062 * coding.c (code_convert_region): Handle the multibyte case if
1063 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1064
177ab8ce
GM
10652001-07-20 Gerd Moellmann <gerd@gnu.org>
1066
6e07c0a5
GM
1067 * dispextern.h (struct face): Change type of `stipple' to
1068 int; it's an ID.
1069
177ab8ce
GM
1070 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1071
b5b80599
GM
10722001-07-19 Gerd Moellmann <gerd@gnu.org>
1073
4e2a256b
GM
1074 * dispnew.c (update_window): Don't set the cursor at the end
1075 of the update if display update has been paused.
1076
3452efc2 1077 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1078
c1fd9232
KR
10792001-07-18 Ken Raeburn <raeburn@gnu.org>
1080
1081 * fns.c (Fset_char_table_default): Check that a charset is defined
1082 before checking its dimension.
1083
928a85c1
KR
10842001-07-17 Ken Raeburn <raeburn@gnu.org>
1085
1086 * coding.c (setup_coding_system): Don't do any designation based
1087 on reg_bits if charset is not yet defined.
1088
fb4c6c96 1089 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1090 pointer, using eassert.
1091
de11c1ea
GM
10922001-07-17 Gerd Moellmann <gerd@gnu.org>
1093
3452efc2
SM
1094 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1095 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1096
467f1209
GM
10972001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1098
1099 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1100
c3d6be34
GM
11012001-07-16 Gerd Moellmann <gerd@gnu.org>
1102
c1d61a7d
GM
1103 * fileio.c (unwind_read): Function removed.
1104 (read_non_regular, read_non_regular_quit): New functions.
1105 (Finsert_file_contents): When reading from non-regular files,
1106 arrange to catch a `quit' and terminate the loop. Rearrange
1107 code so that a `quit' when reading from a regular file doesn't
1108 insert text in the buffer.
1109
c3d6be34
GM
1110 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1111 Clear faces afterwards.
1112 (clear_font_table): Take a x_display_info parameter. Don't free
1113 fonts being the default font of any frame on the given display.
1114
e06aa1f9
GM
11152001-07-13 Gerd Moellmann <gerd@gnu.org>
1116
1117 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1118 instead of CHAR_STRING which can signal an error.
1119
1120 * charset.c (char_to_string_1): Extracted from char_to_string.
1121 Return -1 instead of signaling an error.
1122 (char_to_string): Use it.
1123
1124 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1125
176c92e6
SM
11262001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1127
1128 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1129 is t, don't try to append anything to it.
1130
1c56232f
EZ
11312001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1132
1133 * dired.c (file_name_completion): Pass dp->d_name to
1134 Fstring_match, not elt, which is always nil here.
1135
1d2b2268
GM
11362001-07-12 Gerd Moellmann <gerd@gnu.org>
1137
1138 * xselect.c (x_decline_selection_request): Handle errors
1139 caused by receivers that have vanished.
1140
1141 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1142 ignoring events on foreign windows in #if 0. Always dispatch
1143 the event after checking it with x_handle_property_notify.
1144
1145 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1146 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1147 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1148 (toplevel): Add prototypes for file-local functions.
1149 (x_atom_to_symbol): Remove DPYINFO parameter.
1150
fe5a0162
SM
11512001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1152
1153 * w32menu.c (menubar_selection_callback, w32_menu_show):
1154 Initialize `entry' to nil.
1155 (w32_dialog_show): Remove unused `save_wv' variable.
1156 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1157
a777242c
GM
11582001-07-11 Gerd Moellmann <gerd@gnu.org>
1159
8ee5b6a3
GM
1160 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1161
d0e2444e
GM
1162 * fileio.c (unwind_read): Print a message when discarding inserted
1163 text or switching the buffer to unibyte. Change parameter.
1164 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1165
a777242c
GM
1166 * fileio.c (unwind_read): New function.
1167 (Finsert_file_contents): Record it as unwind-function for
1168 the case that reading is interrupted by C-g.
1169
ae794295
GM
11702001-07-10 Gerd Moellmann <gerd@gnu.org>
1171
fe5a0162 1172 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1173 update when scrolling_window returns 0.
1174
6b05fae3
GM
1175 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1176
1177 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1178 for the case that x_decode_color signals an error.
6b05fae3 1179
ae794295
GM
1180 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1181
bb6e8cee
GM
11822001-07-09 Gerd Moellmann <gerd@gnu.org>
1183
1184 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1185 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1186 around ioctls.
1187
36b40a8a
EZ
11882001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1189
24b97d4b
EZ
1190 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1191 doc string line for dos-timezone-offset.
1192
36b40a8a
EZ
1193 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1194 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1195 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1196 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1197
1198 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1199
0967b4b0
GM
12002001-07-05 Gerd Moellmann <gerd@gnu.org>
1201
f25cfe53
GM
1202 * sound.c: Include Emacs' header files with #include "...".
1203
0967b4b0
GM
1204 * eval.c (specbind): Additionally record the buffer that was
1205 current when a buffer-local or frame-local variable was bound.
1206
c347a1c3
GM
12072001-07-04 Gerd Moellmann <gerd@gnu.org>
1208
1209 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1210 to unibyte characters in unibyte buffers.
1211
6332ca8a
GM
12122001-07-03 Gerd Moellmann <gerd@gnu.org>
1213
38472d44
GM
1214 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1215 the frame on the binding stack. Change format of entries for
1216 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1217 (unbind_to): Handle unbinding a frame-local variable.
1218
6332ca8a 1219 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1220 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1221 (dump_glyph_row): Print row's continuation_lines_width.
1222 (try_window_id): Take the shortcut if ZV is visible in the
1223 window, but there are actually no changes at ZV.
1224
63d1b174
GM
12252001-07-02 Gerd Moellmann <gerd@gnu.org>
1226
4c175203
GM
1227 * xterm.h (x_free_dpy_colors): Add prototype.
1228
1229 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1230 right number of arguments.
1231
0b54ce28
GM
1232 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1233 ($(lwlibdir)TAGS): New target.
4c175203 1234 (TAGS): Fix dependency list.
0b54ce28 1235
63d1b174
GM
1236 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1237 with input blocked.
1238
d827466c
GM
12392001-06-30 Gerd Moellmann <gerd@gnu.org>
1240
1241 * emacs.c (main): Remove extern declaration for sys_nerr, which
1242 isn't used and causes a compilation error with GCC 3.0 on
1243 FreeBSD 4.3.
1244
b5cb1ada
GM
12452001-06-27 Gerd Moellmann <gerd@gnu.org>
1246
a5d3ec3f 1247 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1248 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1249 (toplevel): Include <signal.h> and syssignal.h.
1250
b5cb1ada
GM
1251 * sound.c (vox_configure, vox_close): Turn off atimers
1252 around ioctls.
1253
d9bad487
GM
12542001-06-26 Gerd Moellmann <gerd@gnu.org>
1255
fdbb67fe
GM
1256 * keyboard.c (read_char) <non_reread>: Record the previous idle
1257 start time before calling timer_stop_idle.
1258 (read_char) <reread_first>: After processing a help-echo event,
1259 restore the previous idle start time.
1260
d9bad487
GM
1261 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1262 the start of invisible text.
1263 (setup_for_ellipsis): New function.
1264 (next_overlay_string): After all overlay strings have been
1265 processed, display an ellipsis if necessary.
1266 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1267 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1268
1269 * dispextern.h (struct iterator_stack_entry): Add member
1270 display_ellipsis_p.
1271
2b9c25e0
GM
12722001-06-25 Gerd Moellmann <gerd@gnu.org>
1273
80de57df
GM
1274 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1275 on the value of the wait-for-wm frame parameter.
1276
1277 * xterm.h (struct x_output): Add member wait_for_wm.
1278
1279 * xfns.c (Qwait_for_wm): New variable.
1280 (x_frame_parms): Add entry for `wait-for-wm".
1281 (x_set_wait_for_wm): New function.
1282 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1283 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1284
2b9c25e0
GM
1285 * xdisp.c (try_window_id) <all changes below window end>: Don't
1286 take this shortcut if ZV is visible in the window.
1287 (try_window_id): When checking for window start being in changed
1288 text, don't check that the buffer's size has changed.
1289
f772775c
RS
12902001-06-23 Richard M. Stallman <rms@gnu.org>
1291
1292 * minibuf.c (Fcompleting_read): Doc fix.
1293
fa9090b8
GM
12942001-06-19 Gerd Moellmann <gerd@gnu.org>
1295
1296 * composite.c (Ffind_composition_internal): Accept ZV
1297 and a string's end position as POS.
1298
f6f1beba
GM
12992001-06-18 Gerd Moellmann <gerd@gnu.org>
1300
1301 * composite.c (Ffind_composition_internal): Check POS
1302 for validity.
1303
0ae83348
EZ
13042001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1305
1306 * editfns.c (Fmessage_box): If the frame is not under a window
1307 system, output the message in the echo area.
1308
e4cdc335
RS
13092001-06-14 Richard M. Stallman <rms@gnu.org>
1310
1311 * xdisp.c (try_window_id): When EOB is visible, don't treat
1312 insertion at EOB as if it were "off the bottom of the screen."
1313
a55a5f3c
AI
13142001-06-11 Andrew Innes <andrewi@gnu.org>
1315
1316 * w32proc.c (create_child): Add new parameter is_gui_app.
1317 (w32_executable_type): Add new parameter is_gui_app.
1318 (sys_spawnve): Use it.
1319 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1320 SIGQUIT. This matches better how the signals are interpreted by
1321 MSVC compiled programs.
1322 (syms_of_ntproc): Update docstring.
1323
1b85dc1c
SM
13242001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1325
1326 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1327 well otherwise note_mouse_highlight might optimize away highlighting
1328 if we pass over that same overlay again.
1329
b75f8eab
EZ
13302001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1331
1332 * lread.c (Fload): Document that the argument is run via
1333 substitute-in-file-name.
1334
94843cc1
GM
13352001-05-31 Gerd Moellmann <gerd@gnu.org>
1336
b14659e6
GM
1337 * Makefile.in (bootstrap-doc): New target.
1338 (bootstrap-emacs): Depend on it.
1339
0894672f
GM
1340 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1341 auto-save-list-file-name when shutting down Emacs, because
1342 creating the directory might signal an error, and leaves
1343 Emacs in a strange state.
1344
94843cc1
GM
1345 * term.c: (tty_cursor_hidden): New variable.
1346 (update_begin): Don't call tty_hide_cursor. Clean up.
1347 (update_end, set_terminal_window, set_scroll_region): Clean up.
1348 (ring_bell, reset_terminal_modes): Clean up.
1349 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1350 on tty_cursor_hidden.
1351 (write_glyphs): Call tty_hide_cursor.
1352
db3a49a6
SM
13532001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1354
1355 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1356
8bd189fb
GM
13572001-05-30 Gerd Moellmann <gerd@gnu.org>
1358
6f1be3b9
GM
1359 * xfns.c (enum image_value_type): New enumerator
1360 IMAGE_STRING_OR_NIL_VALUE.
1361 (parse_image_spec): Handle it.
1362 (xbm_format, pbm_format): Use it for :foreground and :background.
1363 (xbm_load, pbm_load): Check for nil color names.
1364
8bd189fb
GM
1365 * xterm.c (note_mouse_highlight): If an overlapping overlay
1366 exists, but we find that we highlight the same overlay as before,
1367 don't do the highlighting again.
1368
7bdba03c
GM
13692001-05-29 Gerd Moellmann <gerd@gnu.org>
1370
4c329aa8
GM
1371 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1372 Protect unibyte strings created by replacing their multibyte
1373 equivalents in menu_items.
1374
e15e2828
GM
1375 * keymap.c (Fsingle_key_description): NUL-terminate the string
1376 buffer before calling build_string.
1377
7bdba03c
GM
1378 * callproc.c (Fcall_process): Deal with decode_coding returning
1379 CODING_FINISH_INCONSISTENT_EOL.
1380
89c8dc6c
GM
13812001-05-28 Gerd Moellmann <gerd@gnu.org>
1382
db3a49a6 1383 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1384 an item's name with its key description in case the description
1385 is a multibyte string.
1386
1387 * keymap.c (Fsingle_key_description): Create a multibyte string
1388 only if necessary.
1389
eb04d6cd
GM
1390 * macros.c (Fstart_kbd_macro): Doc fix.
1391
8bd6307f
GM
1392 * xterm.c (cursor_in_mouse_face_p): New function.
1393 (x_draw_stretch_glyph_string): Use it to choose a different GC
1394 when drawing a cursor within highlighted text.
1395
e26c4089
GM
1396 * editfns.c (char_property_eq): Put in #if 0.
1397
1398 * indent.c (string_display_width): Put in #if 0.
1399
1400 * lread.c (Fload): Remove unused label.
1401
89c8dc6c
GM
1402 * termcap.c (speeds): Put in #if 0.
1403
9a1211f2
GM
14042001-05-18 Gerd Moellmann <gerd@gnu.org>
1405
29148a3f
GM
1406 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1407
9a1211f2
GM
1408 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1409 transformation matrix by 10.
1410
09393d07
GM
14112001-05-16 Gerd Moellmann <gerd@gnu.org>
1412
1413 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1414 only if it's equal to the former foreground pixel color.
db3a49a6 1415 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1416 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1417
460e6bae
GM
14182001-05-16 Dave Love <fx@gnu.org>
1419
1420 * insdel.c (signal_before_change, signal_after_change): Consider a
1421 local change hook which changes the buffer.
99c78ce8
GM
1422
1423 * process.c (read_process_output): Don't call signal_after_change
1424 and update_compositions after insert_from_string_before_markers.
1425
dbcf3c03
GM
14262001-05-16 Gerd Moellmann <gerd@gnu.org>
1427
a90b3d3c
GM
1428 * xfaces.c (split_font_name): Use the right field when
1429 checking for `[...]' syntax.
1430
1b7818b4
GM
1431 * buffer.c (copy_overlays): New function.
1432 (clone_per_buffer_values): Use it.
1433
1434 * buffer.h (OVERLAY_PLIST): New macro.
1435
9bae8781
GM
1436 * keymap.c (Fsingle_key_description): Replace a build_string with
1437 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1438
dbcf3c03
GM
1439 * fontset.c (Ffontset_info): Check that face is non-null
1440 before accessing its fields.
1441
8a1ae4dd
GM
14422001-05-15 Gerd Moellmann <gerd@gnu.org>
1443
18a0a39e
GM
1444 * keyboard.c (read_key_sequence): Prevent generating a fake
1445 prefix key twice.
1446
e335b66a
GM
1447 * xfaces.c (split_font_name): Handle `[...]' for the right
1448 font name fields.
1449
8a1ae4dd
GM
1450 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1451 of CCL_STAT_INVALID_CMD.
1452
3cf80731
SM
14532001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1454
33568849
SM
1455 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1456 in <var> has no default value yet.
1457
3cf80731
SM
1458 * xfaces.c (try_alternative_families): First try the FAMILY.
1459 And if nothing is found in the end, try again with scalable fonts.
1460 (try_font_list): Let try_alternative_families do a bit more of
1461 the work. Only use FAMILY if it is not nil.
1462 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1463
933b0249
GM
14642001-05-14 Gerd Moellmann <gerd@gnu.org>
1465
58e5af83
GM
1466 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1467 pointer shape when show_mouse_face has already done it.
33568849 1468
58e5af83 1469 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1470 full-width rows.
1471
7b16a6bf
GM
1472 * xfaces.c (split_font_name): Make sure to leave the loop
1473 with the right value of `i'.
3cf80731 1474
933b0249
GM
1475 * xfaces.c (split_font_name): Handle matrix transformations
1476 in the pixel and point size fields of XLFD font names.
1477 (xlfd_point_size): Likewise.
1478
dddcbf00
EZ
14792001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1480
3cf80731 1481 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1482 (x_to_w32_font): Add prototype.
1483
7689ef0b
EZ
1484 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1485 redefining, to avoid compiler warnings.
1486
e7c15bba
EZ
1487 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1488
dddcbf00
EZ
1489 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1490 (w32_get_bdf_glyph): Cast between unsigned char and char when
1491 passing arguments to subroutines, to shut up compiler warnings.
1492 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1493 GET_HEX_VAL.
1494
1495 * xfaces.c: Include keyboard.h before frame.h, not after it.
1496
1497 * widget.c: Include keyboard.h before frame.h.
1498
1499 * w32term.h (struct image, struct face): Forward declaration, to
1500 avoid compiler warnings.
1501
7bd2d083
GM
15022001-05-11 Gerd Moellmann <gerd@gnu.org>
1503
47e72862
GM
1504 * keyboard.c (read_key_sequence): Don't modify events when
1505 generating fake prefix keys (mode-line, scroll-bar, ...) since
1506 this prevents proper processing of such events when pushed back
1507 into unread-command-events.
1508
dd5f324b
GM
1509 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1510 actually redrawn. Make the function static.
1511 (note_mouse_highlight): Fix a case where the mouse cursor
1512 was changed back to the text cursor.
1513
1514 * xterm.h (clear_mouse_face): Remove prototype.
1515
d88a79d4
GM
1516 * xdisp.c (try_window_id): Fix the fix and set the right
1517 window_end_vpos.
1518
1519 * xdisp.c (try_window_id): Fix computation of window end in the
1520 case that lines were deleted at the end of the window. Add some
1521 more debug_method_adds.
0416532f 1522
7bd2d083
GM
1523 * xfaces.c (try_alternative_families): New function.
1524 (try_font_list): Use it. If ATTRS specifies a family, check
1525 fonts from that family first.
1526 (choose_face_font): Remove code setting the family part of
1527 the pattern to nil.
1528
23fca891
GM
15292001-05-10 Gerd Moellmann <gerd@gnu.org>
1530
ff9aa2ca
GM
1531 * xdisp.c (try_window_id): Fix case of all changes before
1532 the window start.
7b2654b5 1533
23fca891
GM
1534 * xdisp.c (try_window_id): Add some xasserts.
1535
e9726794
GM
15362001-05-09 Gerd Moellmann <gerd@gnu.org>
1537
1538 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1539
9e53a675
GM
15402001-05-09 Dave Love <fx@gnu.org>
1541
1542 * xdisp.c (GIVE_UP): Fix for K&R C.
1543
0d487c52
GM
15442001-05-09 Gerd Moellmann <gerd@gnu.org>
1545
fe88d421
GM
1546 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1547
0d487c52
GM
1548 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1549 back to the text cursor shape without need.
1550
1e9fc92e
GM
15512001-05-07 Gerd Moellmann <gerd@gnu.org>
1552
a2a6232e
GM
1553 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1554
1555 * dispextern.h (inverse_video): Declare extern.
1556
1e9fc92e
GM
1557 * keyboard.c (delete_kboard): Handle the case that selected_frame
1558 has been deleted in the course of x_connection_closed.
1559
12949a7f
EZ
15602001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1561
7b2654b5
SM
1562 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1563 Fix the change from 2001-04-30.
12949a7f 1564
2fa2f461
GM
15652001-05-03 Gerd Moellmann <gerd@gnu.org>
1566
a779d213
GM
1567 * xfns.c (file_dialog_unmap_cb): New function.
1568 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1569 where a dialog is closed via the window manager.
1570
7b2654b5 1571 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1572 the window start or all below the window end mostly rewritten.
1573 (redisplay_window): Move the tests if try_window_id is
1574 applicable to try_window_id.
1575 (GIVE_UP): New macro.
1576
3356df63
GM
15772001-05-02 Gerd Moellmann <gerd@gnu.org>
1578
a39202f6 1579 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1580 currently being updated, mark the frame garbaged.
1581 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1582 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1583
3356df63
GM
1584 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1585 again if it has already been drawn.
1586
a9d2fd1d
SM
15872001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1588
1589 * syntax.c (update_syntax_table): Check that oldi has the same
1590 properties as old_prop before deciding not to invalidate.
1591
c95fc5f1
GM
15922001-04-30 Gerd Moellmann <gerd@gnu.org>
1593
a9793e45
GM
1594 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1595 read-only text that is so because of text properties.
1596
c95fc5f1 1597 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1598 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1599 windows that are components of a Lucid menu bar.
1600
5a5d9185
GM
16012001-04-27 Gerd Moellmann <gerd@gnu.org>
1602
1603 * term.c (turn_on_face): Fix reverse video handling on terminals
1604 that don't support colors.
1605
ba973f7a
GM
16062001-04-26 Gerd Moellmann <gerd@gnu.org>
1607
1608 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1609 a non-buffer.
1610
8c56a983
GM
16112001-04-25 Gerd Moellmann <gerd@gnu.org>
1612
a728644c
GM
1613 * term.c (toggle_highlight): New function.
1614 (turn_on_face): Change handling of reverse video.
1615
7b2654b5
SM
1616 * process.c (wait_reading_process_input):
1617 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1618
bfd8410f
GM
1619 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1620 of the number of overlays to check.
1621
be2488ca
GM
1622 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1623
8c56a983
GM
1624 * xdisp.c (try_window_id): Fix a case where window_end_pos
1625 and window_end_bytepos were not adjusted.
1626
522d42f7
GM
16272001-04-23 Gerd Moellmann <gerd@gnu.org>
1628
1629 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1630 zero instead of -1.
1631
78c1afb6
EZ
16322001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1633
a9d2fd1d
SM
1634 * process.c (wait_reading_process_input) [!subprocesses]:
1635 Don't reference waiting_for_user_input_p, it's not defined in the
1636 branch without async subprocesses support.
78c1afb6 1637
a2fab450
GM
16382001-04-19 Gerd Moellmann <gerd@gnu.org>
1639
a122a38e
GM
1640 * keyboard.c (delete_kboard): Prevent a dangling reference
1641 from current_kboard to KB, which is freed.
1642
a9d2fd1d
SM
1643 * process.c (wait_reading_process_input):
1644 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1645 read_key_sequence aware of buffer changes from under it.
1646
0f8d6dc7
GM
16472001-04-18 Gerd Moellmann <gerd@gnu.org>
1648
eeffb293
GM
1649 * xfaces.c (Qscalable_fonts_allowed): New variable.
1650 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1651 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1652 removed.
eeffb293 1653 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1654 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1655 for scalable-fonts-allowed to t.
eeffb293 1656
0f8d6dc7
GM
1657 * fileio.c (Finsert_file_contents): If the file size returned from
1658 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1659 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1660
eec2d1de
EZ
16612001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1662
1663 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1664 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1665 (__memalign_hook): Make the two prototypes consistent.
1666
f4f480bd
GM
16672001-04-17 Gerd Moellmann <gerd@gnu.org>
1668
1669 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1670 matrix of mini-windows.
1671
52283633
SM
16722001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1673
1674 * intervals.c (find_interval): Don't rebalance during signal handling.
1675
ec2423c9
GM
16762001-04-11 Gerd Moellmann <gerd@gnu.org>
1677
30cb0001 1678 * fns.c: Include blockinput.h.
52283633 1679
ec2423c9
GM
1680 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1681
719d83ad
GM
16822001-04-10 Gerd Moellmann <gerd@gnu.org>
1683
60f8d735
GM
1684 * fns.c (Fcompare_strings): Fix return values.
1685
afffeb57
GM
1686 * window.c (window_scroll): Change the meaning of N to mean
1687 N screen-fulls or N lines.
1688 (window_scroll_pixel_based, window_scroll_line_based)
1689 (scroll_command, Fscroll_other_window): Change accordingly.
1690
52283633
SM
1691 * window.c (window_scroll_pixel_based, Frecenter):
1692 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1693 height of the window.
1694
1695 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1696 instead of using it.last_visible_y for the height of the window.
52283633 1697
719d83ad 1698 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1699 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1700
1701 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1702 able to write to hidden and system files. From Dan Holmsand
1703 <dan@eyebee.com>.
719d83ad 1704
8ddf3ee1
GM
1705 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1706 Holmsand <dan@eyebee.com>.
719d83ad 1707
522ed7fb
GM
17082001-04-09 Gerd Moellmann <gerd@gnu.org>
1709
9170e5d4
GM
1710 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1711
522ed7fb
GM
1712 * window.c (window_internal_height): Return 1 less if the
1713 window has a header line.
1714
1715 * xdisp.c (try_window_id): When scrolling on a terminal, take
1716 the change of window_internal_height into account.
1717
ceeb3d7d
EZ
17182001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1719
1720 * gmalloc.c (align): If the argument SIZE would overflow
1721 __malloc_ptrdiff_t, fail right away.
1722
63685b9d
GM
17232001-04-06 Gerd Moellmann <gerd@gnu.org>
1724
1725 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1726 Make sure the tooltip is completely visible.
1727 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1728
1729 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1730
1731 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1732
3ffb33bb
DL
17332001-04-06 Dave Love <fx@gnu.org>
1734
52283633
SM
1735 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1736 Fix test of `from'.
3ffb33bb 1737
869fb12c
GM
17382001-04-06 Gerd Moellmann <gerd@gnu.org>
1739
52283633 1740 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1741
869fb12c
GM
1742 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1743
441bf856
GM
17442001-04-05 Gerd Moellmann <gerd@gnu.org>
1745
4d664b04
GM
1746 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1747
52283633 1748 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1749
30ca89f5
GM
1750 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1751 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1752
1753 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1754 shell widget's position only if it is non-null.
1755
52283633
SM
1756 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1757 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1758
81a81c0f
GM
1759 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1760 FILENAME to bring it in synch with the documentation.
1761
441bf856
GM
1762 * xfaces.c (realizing_basic_faces_p): Renamed from
1763 realize_default_face_p.
1764 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1765 (realize_default_face): Don't set the flag.
1766
702a1e8e
GM
17672001-04-04 Gerd Moellmann <gerd@gnu.org>
1768
1013f4e3
GM
1769 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1770
52283633
SM
1771 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1772
1013f4e3
GM
1773 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1774 the buffer that was used for echoing.
1775
702a1e8e
GM
1776 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1777 (first_font_matching): Removed unused function.
1778 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1779 (may_use_scalable_font_p): Remove parameter FONT; rename
1780 parameter NAME to FONT.
1781 (x_face_list_fonts): Fix missing bounds check.
1782 (realizing_default_face_p): New variable.
1783 (realize_default_face): Set and clear that flag.
1784 (x_face_list_fonts): When called during the realization of the
1785 default face, and no matching fonts are found when ignoring
1786 scalable fonts and fonts matching a regexp from
1787 face-ignored-fonts, try without ignoring fonts.
1788
f9dbcda4
GM
17892001-04-03 Gerd Moellmann <gerd@gnu.org>
1790
ad18ffb1
GM
1791 * xfns.c (postprocess_image): New function.
1792 (lookup_image): Call it for all image types except PostScript.
1793 (x_kill_gs_process): Call postprocess_image.
1794
f9dbcda4
GM
1795 * xterm.c (x_use_underline_position_properties): New variable.
1796 (x_draw_glyph_string): Use it.
1797 (syms_of_xterm): DEFVAR_BOOL it.
1798
651f03b6
GM
17992001-04-02 Gerd Moellmann <gerd@gnu.org>
1800
1801 * xterm.c (x_alloc_nearest_color_1): New function.
1802 (x_alloc_nearest_color): Use it.
1803 (x_color_cells): Take a Display as argument, instead of a frame.
1804 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1805 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1806 (x_initialize): Register cvt_string_to_pixel as resource converter
1807 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1808
73d75a62
GM
18092001-03-30 Gerd Moellmann <gerd@gnu.org>
1810
b2046df8
GM
1811 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1812 (set_iterator_to_next): If a string from a display property ends,
1813 consider the case that this might also be the end of an
1814 overlay string having the display property.
1815
52283633 1816 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1817
87d8eba4
GM
1818 * xdisp.c (reseat_to_string): Undo last change.
1819
73d75a62
GM
1820 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1821 matrix of a window when the header line changes, when
1822 new rows are allocated, or when the width changes.
1823
911a2406
EZ
18242001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1825
52283633 1826 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1827
aea51abe
EZ
18282001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1829
1830 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1831 deprecated.
1832
176bc847
GM
18332001-03-29 Gerd Moellmann <gerd@gnu.org>
1834
ed31fabf
GM
1835 * data.c (Fsubr_interactive_form): New function.
1836 (syms_of_data): Defsubr it.
1837
176bc847
GM
1838 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1839 (live_float_p, live_misc_p): Return 1 only if the offset of the
1840 pointer in its block is >= 0.
1841
e59d0e9d
GM
18422001-03-28 Paul Eggert <eggert@twinsun.com>
1843
1844 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1845 microseconds calcuation. Avoid double-rounding problem.
1846 In doc string, warn that the result is approximate.
1847
f827b862
GM
18482001-03-28 Gerd Moellmann <gerd@gnu.org>
1849
30a3f61c
GM
1850 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1851 bind `inhibit-eval-during-redisplay' to t.
1852
1853 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1854
1855 * xdisp.c (inhibit_eval_during_redisplay)
1856 (Qinhibit_eval_during_redisplay): New variables.
1857 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1858 don't eval, return nil instead.
1859 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1860 Initialize Qinhibit_eval_during_redisplay.
1861
e719f5ae
GM
1862 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1863 the iterator's multibyte_p flag.
1864
deb2613a
GM
1865 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1866 instead of setting it to zero; it's incremented for each frame
1867 where the menu face is changed.
1868
52283633
SM
1869 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1870 change bottom shadow accordingly.
1871
1872 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1873 intersections here.
1874 (expose_window): Do it here instead.
52283633 1875 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1876
f827b862
GM
1877 * bytecode.c (BYTE_CODE_QUIT): New macro.
1878 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1879
4bde0ebb
GM
18802001-03-27 Gerd Moellmann <gerd@gnu.org>
1881
607ec83c
GM
1882 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1883 Give up if matrix starts in an ellipsis.
1884 (init_from_display_pos): Do nothing if POS doesn't specify
1885 a dpvec_index but the iterator has such a position.
1886
0245398f
GM
1887 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1888
aba25348
GM
1889 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1890 x/y position is (0, 0) after destroying the menu bar, restore
1891 its original position.
1892
4bde0ebb
GM
1893 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1894 (init_from_display_pos): Use it.
1895 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1896
8cdb267e
GM
18972001-03-26 Gerd Moellmann <gerd@gnu.org>
1898
1899 * xdisp.c (try_window_id): Undo last change.
1900
9948db79
EZ
19012001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1902
1903 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1904
1905 * buffer.c (syms_of_buffer): Doc fix.
1906
2eddf899
GM
19072001-03-26 Gerd Moellmann <gerd@gnu.org>
1908
1909 * xfaces.c (x_update_menu_appearance): Use local variable
1910 popup_path for setting font resources.
1911
6c145d35
EZ
19122001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1913
6a65b1b5
EZ
1914 * frame.c (Fframe_list): Don't reference tip_frame if
1915 HAVE_WINDOW_SYSTEM is not defined.
1916
6c145d35
EZ
1917 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1918 <wl@gnu.org>.
1919
d74c1900
GM
19202001-03-25 Gerd Moellmann <gerd@gnu.org>
1921
20fbd925
GM
1922 * xdisp.c (init_from_display_pos): Test invisible property
1923 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1924
927c5b3b
GM
1925 * xdisp.c (redisplay_internal) <update one window>: Make sure
1926 last_arrow_position and last_arrow_string are set.
1927
d74c1900
GM
1928 * frame.c (Fframe_list): Don't return a tooltip frame.
1929
091f8878
GM
19302001-03-23 Gerd Moellmann <gerd@gnu.org>
1931
52283633
SM
1932 * xdisp.c (mark_window_display_accurate_1): New function,
1933 extracted from mark_window_display_accurate.
1934 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1935 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1936 (mark_window_display_accurate): Use it.
1937 (redisplay_internal): Use it for the selected window.
1938 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1939 for the selected frame.
1940
ac90c44f
GM
1941 * xdisp.c Use make_number, for readability.
1942 (try_window_id): Disable rows below the window end.
1943 (try_window_reusing_current_matrix): Use cursor_row_p.
1944 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1945 of rows.
1946 (init_from_display_pos): If POS specifies a position in a display
1947 vector, maybe get the iterator set up for that ellipsis.
43c09969 1948
091f8878
GM
1949 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1950
991786dd
EZ
19512001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1952
1953 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1954
6c29b43c
GM
19552001-03-23 Gerd Moellmann <gerd@gnu.org>
1956
1957 * xfaces.c (x_update_menu_appearance): Use a different path
1958 for Lucid popup menus.
1959
d8731202
SM
19602001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1961
1962 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1963
1964 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1965 (string_buffer_position): Use `make_number'.
1966
f61a541b
GM
19672001-03-22 Gerd Moellmann <gerd@gnu.org>
1968
3c9e997b
GM
1969 * xfaces.c (x_update_menu_appearance): Renamed from
1970 x_set_menu_face_resources. Use different resources for popups.
1971
1972 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1973 (GC_CHECK_STRING_BYTES): Don't define.
1974
364cd450
GM
1975 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1976 Removed, together with subroutines.
1977 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1978 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1979
d8731202
SM
1980 * dispextern.h (x_set_menu_resources_from_menu_face):
1981 Remove prototype.
364cd450 1982
d8731202 1983 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1984 Remove calls to x_set_menu_resources_from_menu_face.
1985
d8731202
SM
1986 * xfaces.c (xm_set_menu_resources_from_menu_face):
1987 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1988
1989 * xmenu.c: Include widget.h.
1990 (single_submenu): Return int. Some cleanup.
1991 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1992
140330de
GM
19932001-03-21 Gerd Moellmann <gerd@gnu.org>
1994
1995 * xterm.c (x_update_window_end): Handle overwritten mouse face
1996 also for tool bar windows.
1997 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1998 DRAW is DRAW_IMAGE_RAISED.
1999
1741905c
GM
20002001-03-20 Gerd Moellmann <gerd@gnu.org>
2001
fa88947e
GM
2002 * print.c (syms_of_print): Doc fixes.
2003
1741905c
GM
2004 * fns.c (Fmd5): Doc fix.
2005
ade0bee1
GM
20062001-03-19 Gerd Moellmann <gerd@gnu.org>
2007
357e7376
GM
2008 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2009 Clear area of the frame not occupied by the scroll bar.
2010
c2c097cc
GM
2011 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2012 tip frame's root window buffer to *tip* right after creating
2013 the frame.
2014
ade0bee1
GM
2015 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2016 is an integer don't have to be for space characters.
2017
88c6e37e
GM
20182001-03-16 Gerd Moellmann <gerd@gnu.org>
2019
52283633
SM
2020 * indent.c (current_column, current_column_1, Fmove_to_column)
2021 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2022
c62eed76
KH
20232001-03-15 Kenichi Handa <handa@etl.go.jp>
2024
2025 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2026 drawing glyph string.
2027
c899e7e6
GM
20282001-03-15 Gerd Moellmann <gerd@gnu.org>
2029
d0bbfc99
GM
2030 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2031 (command_loop_1): Undo last change.
2032
03d1a189
GM
2033 * xterm.c (fast_find_position): Return the correct vpos.
2034
c899e7e6 2035 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2036 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2037 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2038 Call store_symval_forwarding with BUF null.
2039 (set_internal): Call store_symval_forwarding with the BUF
2040 parameter passed to set_internal. Formerly, the value was always
2041 set in the current buffer; the buffer recorded in specbind for
2042 this case wasn't used.
2043 (arith_driver): Reindent.
2044
52283633
SM
2045 * buffer.c (swap_out_buffer_local_variables):
2046 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2047
2048 * lisp.h (store_symval_forwarding): Change prototype.
2049
2050 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2051
57ac7c81
GM
20522001-03-14 Gerd Moellmann <gerd@gnu.org>
2053
697617d9
GM
2054 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2055 FOR_DELETION. Avoid resizing the mini-window of the selected
2056 frame if FOR_DELETION is set.
2057 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2058 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2059 signature.
2060
2061 * window.c (Fset_window_configuration): Change call to
2062 do_switch_frame to new format.
2063
2064 * keyboard.c (quit_throw_to_read_char): Change call to
2065 do_switch_frame to new format.
2066
2067 * lisp.h (do_switch_frame): Change prototype.
2068
819dce0f
GM
2069 * frame.c (Fframe_parameters): In the `buffer-list' frame
2070 parameter, store the buffer list of FRAME, not the list of the
2071 selected frame.
2072
57ac7c81
GM
2073 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2074 box just because the glyph row's full_width_p flag is set.
2075
65008712
GM
20762001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2077
2078 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2079 skip the padding blanks inserted in extend_face_to_end_of_line,
2080 before checking for trailing whitespace.
2081
159cf431
GM
20822001-03-13 Gerd Moellmann <gerd@gnu.org>
2083
52283633 2084 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2085 Remove special handling for LessTif/Motif.
2086 (toplevel): Don't include Xm/Xm.h.
2087
52283633
SM
2088 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2089 Remove workaround code for LessTif; it doesn't work anymore.
2090
2564ea1b 2091 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2092 Xm/ScrollBarP.h.
afcdc0a1 2093
52283633
SM
2094 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2095 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2096 contemporary LessTif.
2097
52283633
SM
2098 * xfaces.c (xm_set_menu_resources_from_menu_face):
2099 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2100
159cf431
GM
2101 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2102 removing button grabs.
2103
c6f7429a
KH
21042001-03-13 Kenichi Handa <handa@etl.go.jp>
2105
cb82d767
KH
2106 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2107 and clip-large-size-font as obsolete.
2108
c6f7429a
KH
2109 * lread.c (read_multibyte): Check the validity of multibyte
2110 sequence. If invalid, return the first byte.
2111
760cefb5
GM
21122001-03-12 Gerd Moellmann <gerd@gnu.org>
2113
2114 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2115 before running the command; timer functions or process
2116 filters may have set it.
2117
5141f9d0
EZ
21182001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2119
2120 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2121 Doc fix.
2122
b6a15240
GM
21232001-03-12 Gerd Moellmann <gerd@gnu.org>
2124
2125 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2126 to sprintf.
2127
95522746
GM
21282001-03-09 Gerd Moellmann <gerd@gnu.org>
2129
db14cfc5
GM
2130 * dispextern.h (string_buffer_position): Add prototype.
2131
52283633 2132 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2133 (single_display_prop_string_p): New functions.
2134
2135 * xterm.c (note_mouse_highlight): If there's no help-echo on
2136 a string, look at the buffer text ``under'' it.
2137
2138 * keyboard.c (make_lispy_event): Add string info to the event,
2139 analogous to what's done on mode lines.
2140 (read_key_sequence): For a click on a string, consider `local-map'
2141 and `keymap' of that string.
2142
52283633
SM
2143 * keyboard.c (make_lispy_event, make_lispy_movement):
2144 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2145
2146 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2147
2148 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2149 POS; return void.
2150
95522746
GM
2151 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2152 flags argument to emacs_open; it seems to conflict with O_EXCL.
2153
898a399d
KH
21542001-03-09 Kenichi Handa <handa@etl.go.jp>
2155
28cd4910
KH
2156 * composite.h (struct composition): Change types of members;
2157 glyph_len to unsigned, width to unsigned short.
898a399d 2158
4cdf6a6c
AI
21592001-03-08 Andrew Innes <andrewi@gnu.org>
2160
2161 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2162 menu titles.
2163
129004d3
GM
21642001-03-08 Gerd Moellmann <gerd@gnu.org>
2165
221dd3e7
GM
2166 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2167 instead of nil.
2168
52283633 2169 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2170 help-echo in strings.
2171 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2172 (fast_find_string_pos): New function.
2173
52283633
SM
2174 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2175 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2176
2177 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2178 Handle `mouse-face'.
2179
2180 * dispextern.h (face_at_string_position): Change prototype.
2181
52283633 2182 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2183
129004d3
GM
2184 * keyboard.c (make_lispy_event): Avoid generating drag events
2185 if the mouse hasn't actually moved to another buffer position.
52283633 2186
80c8ab8c
DL
21872001-03-08 Dave Love <fx@gnu.org>
2188
129004d3 2189 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2190
989521fd
GM
21912001-03-08 Gerd Moellmann <gerd@gnu.org>
2192
2193 * process.c (Fset_process_window_size): Fix a typo.
2194
bb5c338d
KH
21952001-03-08 Kenichi Handa <handa@etl.go.jp>
2196
2197 * coding.c (detect_coding_sjis): Do more rigid check.
2198 (detect_coding_big5): Likewise.
2199 (decode_coding_sjis_big5): Likewise.
2200 (Fdetect_coding_region): Call detect_coding_system with tailing
2201 anchor byte `\0' for more rigid detection.
52283633 2202 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2203 (Fdetect_coding_string): Likewise.
2204
8b8f9197
SM
22052001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2206
2207 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2208 a string before extracting its data.
2209
3bdf2660
GM
22102001-03-07 Gerd Moellmann <gerd@gnu.org>
2211
2212 * window.c (Frecenter): Rewrite code handling negative values
2213 of ARG on graphical frames.
2214
22152001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2216
2217 * window.c (displayed_window_lines): If W->start is outside the
2218 accessible portion of the buffer, call start_display with BEGV or
2219 ZV instead of W->start.
2220
471f86b9
GM
22212001-03-07 Gerd Moellmann <gerd@gnu.org>
2222
2ab62c6c
GM
2223 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2224
471f86b9
GM
2225 * process.c (Fset_process_filter): Don't crash if the input
2226 file descriptor of PROCESS is closed.
2227 (Fset_process_window_size): Likewise.
2228
101922c3
GM
22292001-03-06 Kenichi Handa <handa@etl.go.jp>
2230
2231 * xterm.c (XTflash): Make the timeout of select shorter, and call
2232 select repeatedly until the desired time expires.
2233
45d051a7
GM
22342001-03-06 Gerd Moellmann <gerd@gnu.org>
2235
2236 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2237
2238 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2239
2240 * lisp.h (Vwindow_list): Declare extern.
2241
8f372c46
EZ
22422001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2243
2244 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2245
f16a7aa5
GM
22462001-03-06 Gerd Moellmann <gerd@gnu.org>
2247
157ae273
GM
2248 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2249 to detect a case where we have to highlight a different region
2250 despite not having left the currently highlighted region.
2251 Set mouse_face_overlay in the x_display_info.
45d051a7 2252 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2253
2254 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2255
2256 * buffer.c (mouse_face_overlay_overlaps): New function.
2257
2258 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2259 (Qmouse_face): Declare extern.
2260
f16a7aa5
GM
2261 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2262 if face_change_count is non-zero.
2263
827afcac
KH
22642001-03-06 Kenichi Handa <handa@etl.go.jp>
2265
2266 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2267 that the source is unibyte.
2268
14c7242e
DL
22692001-03-05 Dave Love <fx@gnu.org>
2270
827afcac 2271 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2272
c28b847b
GM
22732001-03-05 Gerd Moellmann <gerd@gnu.org>
2274
2275 * minibuf.c (read_minibuf): Clean up the binding stack if
2276 called noninteractively.
2277
b86644f2
KH
22782001-03-05 Kenichi Handa <handa@etl.go.jp>
2279
2280 * coding.c (syms_of_coding): Docstring modified.
2281
203682cc 22822001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2283
2284 * charset.c (char_to_string): If a single byte char has modifier
2285 bits that can't be reflected to the character code, ignore them
45d051a7 2286 instead of signaling an error.
b86644f2 2287
e30bd7b7
EZ
22882001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2289
2290 * s/msdos.h: Update copyright notice.
2291
2292 * dosfns.h: Update copyright notice.
2293
2294 * dosfns.c: Update copyright notice.
2295
2296 * msdos.c: Update copyright notice.
2297
b52b65bd
GM
22982001-03-02 Gerd Moellmann <gerd@gnu.org>
2299
2300 * xterm.c (glyph_rect): New function.
2301 (XTmouse_position): Use it to raise the threshold for mouse
2302 movement event generation.
2303
53c4b1e6
EZ
23042001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2305
2306 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2307 specifies (reverse . t), reverse the initial screen colors.
2308 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2309 but we are reversing the colors, set bg_set, not fg_set.
2310 Likewise for setting background-color and reversing: set fg_set.
2311 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2312 in effect.
2313
2314 * xfaces.c (Finternal_set_lisp_face_attribute)
2315 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2316 parameters alist.
2317
f964b4d7
GM
23182001-03-02 Gerd Moellmann <gerd@gnu.org>
2319
ef53d75e
GM
2320 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2321 to a single slash in the middle of file names.
2322
52283633 2323 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2324 Accept only alphanumeric time zone names.
2325
f964b4d7
GM
2326 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2327 or width area.
2328 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2329 a widget to zero height.
52283633 2330
c3c45f65
GM
23312001-03-01 Gerd Moellmann <gerd@gnu.org>
2332
2333 * window.c (Fwindow_end): Call move_it_past_eol only if
2334 ending up on a partially visible line.
2335
028d739a
DL
23362001-03-01 Dave Love <fx@gnu.org>
2337
2338 * ccl.c (Fccl_execute): Doc fix.
2339
57c5889c
GM
23402001-03-01 Gerd Moellmann <gerd@gnu.org>
2341
35f59f6b
GM
2342 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2343 of the tool bar before calling x_figure_window_size.
2344
f84ff02c
GM
2345 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2346 NULL after destroying it, otherwise XTread_socket can access a
2347 destroyed widget when input is unblocked.
2348
8b8f9197 2349 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2350
57c5889c
GM
2351 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2352 same name as before, although there was a change in fontsets.
2353
224227d1
KR
23542001-02-28 Ken Raeburn <raeburn@gnu.org>
2355
4560730a
KR
2356 * lisp.h (Fframe_parameter): Declare.
2357
224227d1 2358 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2359 Lisp_Object.
224227d1 2360
ece93c02
GM
23612001-02-28 Gerd Moellmann <gerd@gnu.org>
2362
11ef99b9
GM
2363 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2364 NULL instead.
2365
2366 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2367 NULL instead.
2368
ece93c02
GM
2369 * alloc.c (toplevel): Include process.h.
2370 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2371 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2372 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2373 (allocate_vector, allocate_hash_table, allocate_window)
2374 (allocate_frame, allocate_process, allocate_other_vector):
2375 New functions.
ece93c02
GM
2376 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2377 (mark_maybe_pointer): New function.
52283633 2378 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2379 remain and not Lisp_Objects.
2380 (min_heap_address, max_heap_address): New variables.
2381 (mem_find): Return MEM_NIL if START is below min_heap_address or
2382 above max_heap_address.
2383 (mem_insert): Compute min_heap_address and max_heap_address.
2384
2385 * process.c (make_process): Use allocate_process.
2386
2387 * frame.c (make_frame): Use allocate_frame.
2388
2389 * window.c (make_window, make_dummy_parent): Use allocate_window.
2390 (Fcurrent_window_configuration): Use allocate_other_vector.
2391
2392 * lisp.h (allocate_vectorlike): Remove prototype.
2393 (allocate_vector, allocate_other_vector, allocate_frame)
2394 (allocate_window, allocate_process, allocate_hash_table):
2395 Add prototypes.
2396
2397 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2398 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2399
063af457
KH
24002001-02-27 Kenichi Handa <handa@etl.go.jp>
2401
2402 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2403 treat the produced bytes as a valid multibyte sequence.
2404
2405 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2406 (ccl_driver) <CCL_WriteMultibyteChar2>:
2407 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2408 <ccl_finish>: Set ccl->eight_bit_control properly.
2409
2410 * ccl.h (struct ccl_program): New member eight_bit_control.
2411
f58c6494
SM
24122001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2413
2414 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2415 accessible_keymaps_char_table.
2416 (accessible_keymaps_char_table): Obey `is_metized'.
2417 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2418 Lisp_Object.
2419
c596c392
GM
24202001-02-26 Gerd Moellmann <gerd@gnu.org>
2421
2422 * dispnew.c: Check HAVE_TERM_H before including term.h.
2423
425de386
AI
24242001-02-24 Andrew Innes <andrewi@gnu.org>
2425
2426 * makefile.w32-in: Update copyright notice.
2427
2ba11bbd
SM
24282001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2429
2430 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2431
66c56ed1
KH
24322001-02-24 Kenichi Handa <handa@etl.go.jp>
2433
4c1593ce
KH
2434 * Makefile.in (lisp): Add international/utf-8.elc.
2435
66c56ed1
KH
2436 * fontset.c (Fnew_fontset): Fix handling of the case that an
2437 element of FONTLIST is a cons of family and registry.
2438
796ead7e
JR
24392001-02-23 Jason Rumney <jasonr@gnu.org>
2440
2441 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2442 to height unconditionally.
2443
2444 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2445 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2446 (x_insert_glyphs): Call window_box_left to obtain the left
2447 x-coordinate of the area to shift.
2448
2449 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2450 safe_run_hooks.
2451
f6839838
AI
24522001-02-22 Andrew Innes <andrewi@gnu.org>
2453
52283633 2454 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2455 ($(BLD)\dispnew.obj):
2456 ($(BLD)\editfns.obj):
2457 ($(BLD)\fileio.obj):
2458 ($(BLD)\filelock.obj):
2459 ($(BLD)\keyboard.obj):
2460 ($(BLD)\w32proc.obj):
2461 ($(BLD)\process.obj):
2462 ($(BLD)\sysdep.obj): Ditto.
2463
2464 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2465 header files.
52283633
SM
2466 ($(BLD)/dispnew.$(O)):
2467 ($(BLD)/editfns.$(O)):
2468 ($(BLD)/fileio.$(O)):
2469 ($(BLD)/filelock.$(O)):
2470 ($(BLD)/keyboard.$(O)):
2471 ($(BLD)/w32proc.$(O)):
2472 ($(BLD)/process.$(O)):
f6839838
AI
2473 ($(BLD)/sysdep.$(O)): Ditto.
2474
c224f70b
GM
24752001-02-22 Gerd Moellmann <gerd@gnu.org>
2476
51695746
GM
2477 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2478 at the start of the function, check that the \n in it->c is
2479 from the iterator's current position.
52283633 2480
a61b7058
GM
2481 * xdisp.c (handle_single_display_prop): Add parameter
2482 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2483 properties which replace the display of text with something else.
2484 (handle_display_prop): Call handle_single_display_prop with
2485 additional argument saying if we already replaced text display
2486 with something else. Use AREF.
52283633 2487 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2488 (decode_mode_spec_coding): Use AREF and ASIZE.
2489
3473f362
GM
2490 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2491 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2492 * vmstime.h: Files removed.
52283633 2493
2bb58df3
GM
2494 * unexencap.c, unexfx2800.c: Files removed.
2495
c224f70b
GM
2496 * dispnew.c (direct_output_for_insert): Give up if we are showing
2497 a message or just cleared the message because we might need to
2498 resize the echo area window or display an empty echo area.
2499
ffc9ff0c
GM
25002001-02-21 Gerd Moellmann <gerd@gnu.org>
2501
0528abe1
GM
2502 * xdisp.c (redisplay_internal): Do the
2503 mark_window_display_accurate after all windows have been
2504 redisplayed because this call resets flags in buffers which are
2505 needed for proper redisplay.
2506
52283633
SM
2507 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2508 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2509 the old names.
2510
52283633
SM
2511 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2512 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2513
2514 * msdos.h (struct x_output): Rename busy_window to
2515 hourglass_window, busy_p to hourglass_p.
2516
52283633
SM
2517 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2518 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2519
2520 * xfns.c: Rename everything containing *busy_cursor* and similar
2521 to *hourglass*.
2522 (syms_of_w32fns): Rename x-busy-pointer-shape to
2523 x-hourglass-pointer-shape, display-busy-cursor to
2524 display-hourglass, busy-cursor-delay to hourglass-delay.
2525
2526 * w32fns.c: Rename everything containing *busy_cursor* and similar
2527 to *hourglass*.
2528 (syms_of_w32fns): Rename x-busy-pointer-shape to
2529 x-hourglass-pointer-shape, display-busy-cursor to
2530 display-hourglass, busy-cursor-delay to hourglass-delay.
2531
2532 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2533 of its busy_p flag.
2534
2535 * dispextern.h (start_hourglass, cancel_hourglass)
2536 (display_hourglass_p): Renamed from *busy_cursor*.
2537
ab2c5f0a
GM
25382001-02-20 Gerd Moellmann <gerd@gnu.org>
2539
d17e49a8
GM
2540 * keyboard.c (read_char): When an event from unread-command-events
2541 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2542
fa97adf6
GM
2543 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2544 equal to the current buffer.
2545
ab2c5f0a
GM
2546 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2547 nil, otherwise we're left with truncate_lines t when a message
2548 is printed with message-truncate-lines bound to t.
2549
aeac019e
GM
25502001-02-19 Gerd Moellmann <gerd@gnu.org>
2551
c8bc6f65
GM
2552 * window.c (Fmove_to_window_line): Undo last change.
2553 (displayed_window_lines): Call line_bottom_y to determine
2554 the line's bottom position.
2555
2556 * dispextern.h (line_bottom_y): Add prototype.
2557
52283633 2558 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2559 (pos_visible_p): Use it.
2560
980a2d69
GM
2561 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2562 set redisplaying_p to 0 here instead of in Frecursive_edit.
2563 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2564 set redisplaying_p.
2565
52283633 2566 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2567 New variables.
2568 (syms_of_xdisp): Initialize new variables.
2569 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2570 Specbind `inhibit-menubar-update' when updating the menu bar.
2571
65048e97
GM
2572 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2573 safe_run_hooks.
2574
2575 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2576 safe_run_hooks.
2577
a57c4026
GM
2578 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2579 is null.
2580
aeac019e
GM
2581 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2582 to the start of the file.
2583
76846b31
GM
25842001-02-16 Gerd Moellmann <gerd@gnu.org>
2585
f3f053f3 2586 * window.c (set_window_buffer): Fix last change.
52283633 2587
f3f053f3
GM
2588 * window.c (set_window_buffer): Set window's vscroll to 0.
2589
dad75588
GM
2590 * window.c (coordinates_in_window): Increase width of area
2591 where the vertical line can be dragged.
2592
c220b753
GM
2593 * xterm.c (x_set_glyph_string_background_width): Extend the
2594 background face to the end of the drawing area in the text
2595 area, only.
2596
c56b1c1b
GM
2597 * xdisp.c (handle_single_display_prop): Set iterator's position
2598 to where the `display' property starts, like for images.
2599 (dump_glyph): New function.
2600 (dump_glyph_row): Use it. Dump info about marginal areas.
2601
2602 * dispnew.c (direct_output_for_insert): Recognize more cases where
2603 glyphs can be written instead of being inserted.
2604
2605 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2606 the left x-coordinate of the area to shift.
2607
76846b31
GM
2608 * dired.c (directory_files_internal): Set result list to nil
2609 before retrying.
2610
0fc71a77
KH
26112001-02-15 Kenichi Handa <handa@etl.go.jp>
2612
2613 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2614 invalid multibyte sequence, treat *SRC as a character of
2615 eight-bit-graphic.
2616
25078b54
EZ
26172001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2618
2619 * textprop.c (Fset_text_properties): Doc fix.
2620
8399f8a0
GM
26212001-02-15 Gerd Moellmann <gerd@gnu.org>
2622
2623 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2624
9a2a6f73
DL
26252001-02-14 Dave Love <fx@gnu.org>
2626
2627 * coding.c: Doc and message fixes.
2628
bf853fee
AI
26292001-02-14 Andrew Innes <andrewi@gnu.org>
2630
2631 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2632 Emacs frame above the screen size.
2633
78c663d8
GM
26342001-02-14 Gerd Moellmann <gerd@gnu.org>
2635
2636 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2637
7cc9f69f
GM
26382001-02-13 Gerd Moellmann <gerd@gnu.org>
2639
0a411995
GM
2640 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2641 case that TO ends up beyond ZV after running before-change-functions.
2642
5ddc1b75
GM
2643 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2644 the selected window if it is showing the buffer in question.
2645
7cc9f69f
GM
2646 * dired.c (directory_files_internal): Initialize errno.
2647 (toplevel): Include errno.h.
2648
2e6621ca
GM
26492001-02-13 Kenichi Handa <handa@etl.go.jp>
2650
2651 * xfaces.c (best_matching_font): New parameter width_ratio.
2652 Multiply avgwidth by width_ratio.
2653 (choose_face_font): Call best_matching_font with width_ratio
2654 calculated from the column width of C.
2655
60222d69
AI
26562001-02-12 Andrew Innes <andrewi@gnu.org>
2657
2658 The following changes are to draw box lines inside characters area
2659 if line-width is negative.
52283633 2660
60222d69
AI
2661 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2662 face->box_line_width is negative.
2663 (x_produce_stretch_glyph): Likewise.
2664 (x_produce_glyphs): Likewise.
2665 (x_estimate_mode_line_height): Likewise.
2666 (x_draw_glyph_string_background): Likewise.
2667 (x_draw_glyph_string_foreground): Likewise.
2668 (x_draw_composite_glyph_string_foreground): Likewise.
2669 (x_draw_glyph_string_box): Likewise.
2670 (x_draw_image_foreground): Likewise.
2671 (x_draw_image_relief): Likewise.
2672 (x_draw_image_foreground_1): Likewise.
2673 (x_draw_image_glyph_string): Likewise.
2674
9804b846
KH
26752001-02-09 Kenichi Handa <handa@etl.go.jp>
2676
2677 The following changes are to draw box lines inside characters area
2678 if line-width is negative.
52283633 2679
9804b846
KH
2680 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2681 face->box_line_width is negative.
2682 (x_produce_stretch_glyph): Likewise.
2683 (x_produce_glyphs): Likewise.
2684 (x_estimate_mode_line_height): Likewise.
2685 (x_draw_glyph_string_background): Likewise.
2686 (x_draw_glyph_string_foreground): Likewise.
2687 (x_draw_composite_glyph_string_foreground): Likewise.
2688 (x_draw_glyph_string_box): Likewise.
2689 (x_draw_image_foreground): Likewise.
2690 (x_draw_image_relief): Likewise.
2691 (x_draw_image_foreground_1): Likewise.
2692 (x_draw_image_glyph_string): Likewise.
2693
2694 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2695 and :line-width can be negative.
52283633 2696 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2697
49be9f70
JR
26982001-02-09 Jason Rumney <jasonr@gnu.org>
2699
2700 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2701 characters the same as ASCII and latin-1.
2702 (x_display_and_set_cursor): Check for the focus frame's selected
2703 window instead of selected_window.
2704 (x_after_update_window_line): Don't clear if frame's internal
2705 border width is zero.
2706 (x_new_font): Don't change a tooltip's size.
2707 (w32_initialize): Set char_ins_del_ok to 1.
2708
2709 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2710 (x_set_font): If font hasn't changed, avoid recomputing
2711 faces and other things.
52283633
SM
2712 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2713 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2714 (x_create_tip_frame): Prevent changing the tooltip's
2715 background color by specifying a color for the default font
2716 in .Xdefaults.
2717 (Qcancel_timer): New variable.
2718 (syms_of_w32fns): Initialize and staticpro it.
2719 (Fx_hide_tip, Fx_show_tip): Use it.
2720 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2721 the timer.
2722 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2723
2724 * w32.c (init_environment): Duplicate local string before putenv.
2725
555e35d2
SZ
27262001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2727
2728 * charset.c (Fstring): A typo.
2729
19c92c94
KH
27302001-02-09 Kenichi Handa <handa@etl.go.jp>
2731
e47a1c33
KH
2732 * charset.c (Fstring): If all arguments are less than 256, return
2733 a unibyte string.
2734
2735 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2736 return a unibyte string.
2737
19c92c94
KH
2738 * coding.c (code_convert_region): After detecting a coding, if
2739 nothing found, set coding->composing to COMPOSITION_NO.
2740 (decode_coding_string): Likewise.
2741
d8e675f5
SM
27422001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2743
2744 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2745 to avoid overflow.
2746
bd503487
KH
27472001-02-07 Kenichi Handa <handa@etl.go.jp>
2748
2749 * charset.c (parse_str_to_multibyte): New function.
2750
2751 * charset.h (parse_str_to_multibyte): Extern it.
2752
2753 * print.c (print_string): If we are going to print a unibyte
2754 string into a multibyte buffer, convert the string to multibyte by
2755 str_to_multibyte.
2756
a8370d72
AI
27572001-02-06 Andrew Innes <andrewi@gnu.org>
2758
2759 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2760 been created. It seems we can get sent window messages such as
2761 WM_ERASEBKGND before we properly update a frame.
2762
c363a1d6
GM
27632001-02-06 Gerd Moellmann <gerd@gnu.org>
2764
2765 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2766 Avoid some unnecessary cursor positioning.
2767
a08332c0
GM
27682001-02-05 Gerd Moellmann <gerd@gnu.org>
2769
52283633 2770 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2771 (LFACE_AVGWIDTH): New macro.
2772 (LFACEP): Use AREF.
2773 (check_lface_attrs): Check LFACE_AVGWIDTH.
2774 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2775 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2776 (merge_face_vectors): Check LFACE_AVGWIDTH.
2777 (Finternal_make_lisp_face): Use AREF.
2778 (xm_set_menu_resources_from_menu_face)
2779 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2780 (Finternal_lisp_face_empty_p): Use AREF.
2781 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2782 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2783 Compare average widths..
2784 (best_matching_font): Arrange for comparing average widths.
2785
52283633
SM
2786 * dispextern.h (enum lface_attribute_index):
2787 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2788
5cb3c8d4
DL
27892001-02-05 Dave Love <fx@gnu.org>
2790
2791 * puresize.h: Revert last change following loadup.el change.
2792
193fba87
AI
27932001-02-05 Andrew Innes <andrewi@gnu.org>
2794
2795 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2796 invocation of temacs, to work with Windows 2000.
2797 (bootstrap-emacs): Ditto.
2798
e16f52ce
GM
27992001-02-05 Gerd Moellmann <gerd@gnu.org>
2800
7a58ab59
GM
2801 * xterm.c (x_display_and_set_cursor): Check for the focus
2802 frame's selected window instead of selected_window.
2803
e89aaabd
GM
2804 * xdisp.c (try_scrolling): If point is in the line below the
2805 window, make sure to move the iterator at least a canonical
2806 char height down.
2807
52283633 2808 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2809
789ce875
KH
28102001-02-05 Kenichi Handa <handa@etl.go.jp>
2811
52283633
SM
2812 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2813 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2814 (ccl_driver): If the CCL program is terminated because of
2815 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2816 destination instead of throwing them away.
2817
20b28f82
GM
28182001-02-02 Gerd Moellmann <gerd@gnu.org>
2819
79fb38c0
GM
2820 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2821 faces and other things.
2822
20b28f82
GM
2823 * xdisp.c (get_next_display_element): Fix case of empty
2824 display table entry.
2825
5a72551e
EZ
28262001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2827
eb24d0bf
EZ
2828 * editfns.c (Fconstrain_to_field): Doc fix.
2829
6a3f48c7
EZ
2830 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2831 into `thoroughly', to make it consistent with the doc string.
2832
5a72551e
EZ
2833 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2834
01acdb05
GM
28352001-02-01 Gerd Moellmann <gerd@gnu.org>
2836
0353b28f
GM
2837 * search.c (search_buffer): Call set_search_regs with a byte
2838 position, not a character position.
2839
01acdb05
GM
2840 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2841 minibuffer-only,
2842
e86b5133
EZ
28432001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2844
2845 * frame.c (Fmodify_frame_parameters): Doc fix.
2846
7442878f
GM
28472001-01-31 Gerd Moellmann <gerd@gnu.org>
2848
01acdb05
GM
2849 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2850 identifier which is not reserved by Standard C.
52283633 2851
7442878f
GM
2852 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2853
2854 * window.c (enum window_part): New enumeration.
2855 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2856 Qright_bitmap_area.
2857 (coordinates_in_window): Return an enumerator from enum
2858 window_part. Fix handling of right scroll bar.
2859 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2860 `right-fringe' instead of `left-bitmap-area' and
2861 `right-bitmap-area'. Use enumerators from enum window_part
2862 instead of hard-coded integers.
52283633
SM
2863 (check_window_containing, window_from_coordinates):
2864 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2865 (syms_of_window): Replace Qleft_bitmap_area and
2866 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2867
7c132cba
EZ
28682001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2869
2870 * editfns.c (Fformat_time_string): Doc fix.
2871
c359dd9e
SM
28722001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2873
2874 * keymap.c (Fwhere_is_internal): Use the first valid binding
2875 if no ascii binding is found (when firstonly is t).
2876
ce070307
GM
28772001-01-31 Gerd Moellmann <gerd@gnu.org>
2878
b4f30ec5
GM
2879 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2880 instead of Finteractive_p.
2881
2882 * lisp.h (interactive_p): Add prototype.
2883
2884 * eval.c (interactive_p): New function.
2885 (Finteractive_p): Use it.
2886
ce070307
GM
2887 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2888
f57b6e64
DL
28892001-01-31 Dave Love <fx@gnu.org>
2890
d61c7afe
DL
2891 * .gdbinit (hook-run): Define to run xreload.
2892
f57b6e64
DL
2893 * textprop.c (Fset_text_properties): Fix newline in doc string.
2894
eef93f99
GM
28952001-01-30 Gerd Moellmann <gerd@gnu.org>
2896
52283633
SM
2897 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2898 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2899
2900 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2901 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2902 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2903
2904 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2905 height.
2906
d9c1f6f9
DL
29072001-01-30 Dave Love <fx@gnu.org>
2908
2909 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2910 AFTER_POTENTIAL_GC.
2911
e8f044a0
GM
29122001-01-29 Gerd Moellmann <gerd@gnu.org>
2913
52283633
SM
2914 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2915 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2916
8e1db7b3
EZ
29172001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2918
2919 * textprop.c (Fset_text_properties): Doc fix.
2920
4eefd9d2
GM
29212001-01-29 Gerd Moellmann <gerd@gnu.org>
2922
2923 * xdisp.c (forward_to_next_line_start): Remove xassert.
2924
fccb8288
EZ
29252001-01-29 Jason Rumney <jasonr@gnu.org>
2926
4eefd9d2 2927 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2928 returning without releasing it.
2929
76581eab
KH
29302001-01-29 Kenichi Handa <handa@etl.go.jp>
2931
2932 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2933 for '^', '$', and '\0'.
2934
83a96b4d
AC
29352001-01-28 Andrew Choi <akochoi@i-cable.com>
2936
5604ec34
AC
2937 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2938 regex for '^', '$', and '\0'.
2939
83a96b4d
AC
2940 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2941 only if current_sblock has been initialized.
2942
2943 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2944 terminal frame even if it is the only visible frame.
2945
c09a6440
KH
29462001-01-28 Kenichi Handa <handa@etl.go.jp>
2947
2948 * fontset.c (font_family_registry): Even if FONTNAME conform to
2949 XLFD, if it specifies other fields than family and registry,
52283633 2950 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2951 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2952 a signle byte character. Don't set FAMILY part to nil here.
2953 It is handled by the caller choose_face_font.
c09a6440
KH
2954 (Fnew_fontset): Call font_family_registry with FORCE 0.
2955 (Fset_fontset_font): Likewise.
2956
4dcd74e6
GM
29572001-01-27 Gerd Moellmann <gerd@gnu.org>
2958
2959 * xdisp.c (display_line): Don't treat a newline as fitting
2960 on the line.
2961
d2906bf8
GM
29622001-01-26 Gerd Moellmann <gerd@gnu.org>
2963
0130fe1a
GM
2964 * window.c (size_window): Set the window's orig_top to nil when
2965 changing heights, so that a future shrink_mini_window won't
2966 restore a bogus height.
2967
550f0e6a
GM
2968 * frame.c (do_switch_frame): If selected frame has a mini-window,
2969 resize that to exact size.
2970
b7b20fbd
GM
2971 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2972
a47b7816
GM
2973 * xdisp.c (display_line): Simplify check for glyphs fitting
2974 entirely in the line.
2975
d2906bf8
GM
2976 * xfns.c (xic_style): New variable.
2977 (create_frame_xic): Move static variable to global scope for
550f0e6a 2978 the case that `static' gets defined away.
d2906bf8 2979
73df2b1e
KH
29802001-01-26 Kenichi Handa <handa@etl.go.jp>
2981
2982 * coding.c (decode_coding): Set a flag for inhibiting
2983 inconsistent eol.
2984 (code_convert_region): Always set saved_coding_symbol.
2985 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2986 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2987
6613cfc4
GM
29882001-01-25 Gerd Moellmann <gerd@gnu.org>
2989
c5e6e06b
GM
2990 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2991 XClearArea.
2992
2993 * xterm.c (x_after_update_window_line): Don't clear if frame's
2994 internal border width is zero.
2995 (x_clear_area): New function.
2996 (x_after_update_window_line, x_clear_end_of_line)
2997 (x_scroll_bar_create, x_scroll_bar_set_handle)
2998 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2999 instead of XClearArea.
3000
3001 * xterm.h (x_clear_area): Add prototype.
3002
6613cfc4
GM
3003 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3004 which doesn't seem necessary anymore with Lesstif 0.92.
3005
650cc6cc
DL
30062001-01-25 Dave Love <fx@gnu.org>
3007
34ac3367
DL
3008 * puresize.h (BASE_PURESIZE): Up to 720000.
3009
650cc6cc
DL
3010 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3011
5e37dc22
GM
30122001-01-25 Gerd Moellmann <gerd@gnu.org>
3013
e1e441f9
GM
3014 * xdisp.c (echo_area_display): Don't call redisplay_internal
3015 when Emacs is shutting down. We can't run hooks etc. that
3016 would be necessary to do a redisplay.
3017
5e37dc22
GM
3018 * lread.c (read_integer): Use type EMACS_INT instead of int.
3019
0fb94c7f
EZ
30202001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3021
3022 * ccl.c (ccl_driver): Fix last change.
3023
e3778624
KH
30242001-01-25 Kenichi Handa <handa@etl.go.jp>
3025
3026 * ccl.h (sturct ccl_program): New member suppress_error.
3027
bb264518 3028 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3029 insert error message to the output.
3030 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3031
3032 * coding.h (struct coding_system): New member suppress_error.
3033
3034 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3035 (Fset_terminal_coding_system_internal): Set the member
3036 suppress_error to 1.
3037 (Fset_safe_terminal_coding_system_internal): Likewise.
3038
245ed2b1
SM
30392001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3040
3041 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3042 as if it was a `charset'.
3043
f9aaedb6
GM
30442001-01-24 Gerd Moellmann <gerd@gnu.org>
3045
3046 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3047 value in where_is_cache; the next lookup in the cache returns
3048 something bogus if we do.
3049
c3902c3e
EZ
30502001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3051
3052 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3053 if HAVE_WINDOW_SYSTEM isn't defined.
3054
3497f73e
GM
30552001-01-24 Gerd Moellmann <gerd@gnu.org>
3056
e7e41584
GM
3057 * fns.c (sweep_weak_table): Fix code taking items out of
3058 the hash collision chain. Some cleanup.
3059
3497f73e
GM
3060 * xterm.c (x_new_font): Don't change a tooltip's size.
3061
3062 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3063 background color by specifying a color for the default font
3064 in .Xdefaults.
3065
3d48e687
KH
30662001-01-24 Kenichi Handa <handa@etl.go.jp>
3067
96531b20
KH
3068 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3069 a workaround for SunOS 4's cc.
3070 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3071 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3072 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3073 statement.
3d48e687 3074
a30629d2
GM
30752001-01-23 Gerd Moellmann <gerd@gnu.org>
3076
3077 * xterm.c (x_set_window_size_1): New function extracted from
3078 x_set_window_size.
3079 (x_set_window_size): Use it.
3080 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3081 doesn't have a widget, like tooltips.
3082
5a43decf
EZ
30832001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3084
52283633 3085 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3086
b0e98867
KH
30872001-01-23 Kenichi Handa <handa@etl.go.jp>
3088
3089 * fns.c (Fset_char_table_default): Fix to make sub char-table
3090 correctly.
3091
50606b4c
GM
30922001-01-22 Gerd Moellmann <gerd@gnu.org>
3093
cb2ddc53 3094 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3095 a desired tool bar string, even if there are no tool bar items.
3096
57c28064
GM
3097 * xdisp.c (Ftool_bar_lines_needed): New function.
3098 (syms_of_xdisp): Defsubr it.
3099
50606b4c
GM
3100 * editfns.c (Fformat): Don't extend text properties from arguments
3101 to padding chars in the result.
3102
2f169c38
EZ
31032001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3104
3105 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3106
0f32f023
AI
31072001-01-20 Andrew Innes <andrewi@gnu.org>
3108
52283633 3109 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3110 (w32_initialize): Don't set term hooks that aren't actually needed
3111 in windowed mode.
3112
3113 * xfaces.c (realize_default_face):
3114 (realize_face):
3115 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3116
3117 * xdisp.c (handle_single_display_prop): Remove references to
3118 FRAME_W32_CONSOLE_P.
3119
52283633 3120 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3121
3122 * frame.h (output_method): Remove output_w32_console method.
3123 (FRAME_W32_CONSOLE_P): Remove macro.
3124
3125 * frame.c (Qw32_console): Remove variable.
3126 (Fframep): Remove references to it.
3127 (syms_of_frame): Ditto.
3128 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3129
3130 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3131 redefinition.
3132
7173eada
KH
31332001-01-20 Kenichi Handa <handa@etl.go.jp>
3134
3135 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3136
755b45ce
AI
31372001-01-19 Andrew Innes <andrewi@gnu.org>
3138
3139 * w32.c (init_environment): Add a version-independent site-lisp
3140 directory to EMACSLOADPATH, after the version dependent one.
3141
0a949811
GM
31422001-01-19 Gerd Moellmann <gerd@gnu.org>
3143
8501998a
GM
3144 * editfns.c (Fbuffer_substring): Doc fix.
3145
52283633
SM
3146 * xdisp.c (message_dolog, message2, message2_nolog):
3147 Rename parameter LEN to NBYTES.
0a949811 3148
e6ebcbbe
KH
31492001-01-19 Kenichi Handa <handa@etl.go.jp>
3150
200ecca2
KH
3151 * charset.c (strwidth): Use c_string_width.
3152 (c_string_width): New function.
3153 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3154 Caller changed.
3155
3156 * charset.h (c_string_width, lisp_string_width): Extern them.
3157
52283633 3158 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3159
e6ebcbbe
KH
3160 * indent.c (check_composition): Check validity of composition.
3161
200ecca2
KH
3162 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3163 characters by calling c_string_width.
3164 (x_consider_frame_title): Get byte length of frame tile string
3165 correctly.
3166 (display_mode_element): Pay attention to width of non-ASCII
3167 characters by calling strwidth.
3168
8692ca92
GM
31692001-01-18 Gerd Moellmann <gerd@gnu.org>
3170
8962e303
GM
3171 * xfns.c (Qcancel_timer): New variable.
3172 (syms_of_xfns): Initialize and staticpro it.
3173 (Fx_hide_tip, Fx_show_tip): Use it.
3174 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3175 the timer.
3176 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3177
91523be9
GM
3178 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3179
3180 * window.h (WINDOW_LIVE_P): New macro.
3181
b0b7ed0e
GM
3182 * window.c (window_size_fixed): New variable.
3183 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3184 the doc string.
3185
06bccf8e
GM
3186 * eval.c (specbind): If binding a per-buffer variable which
3187 doesn't have a buffer-local value in the current buffer, change
3188 the global value by changing the value of the symbol bound in all
3189 buffers not having their own value, to make it consistent with
3190 what happens with other buffer-local variables.
3191
8692ca92
GM
3192 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3193
3194 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3195 when searching for a newline.
3196
bb3a3b50
KH
31972001-01-18 Kenichi Handa <handa@etl.go.jp>
3198
3199 * xdisp.c (display_string): Fix previous change.
3200
c2cc16fa
JR
32012001-01-18 Jason Rumney <jasonr@gnu.org>
3202
3203 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3204 GLYPH_DEBUG is defined.
3205 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3206 true for images with `:ascent 100'.
3207 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3208 meantime, use face MOUSE_FACE_ID.
3209 If first glyph isn't a character glyph, use the ASCII NUL
3210 character to determine the face.
3211 (expose_area): Do not treat left margin specially.
3212 (note_mode_line_highlight): If no local_map, check global keymap.
3213 (note_mouse_highlight): Initialize overlay.
52283633 3214 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3215 (show_scroll_bars): Remove unused function.
3216 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3217 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3218 Clip to row.
52283633 3219 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3220 (x_free_frame_resources): Unload relief colors.
3221
9c11f79e
GM
32222001-01-17 Gerd Moellmann <gerd@gnu.org>
3223
3aec8722 3224 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3225 get_next_display_element when the newline is already found.
3226 This may change the iterator's position, when its current position is
3aec8722
GM
3227 equal to the iterator's stop_charpos.
3228
f3ffc2c3
GM
3229 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3230 zero, use this method only at the end of a line.
3231
52283633 3232 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3233 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3234 if SCALABLE_FONTS_P is set.
52283633 3235
d26d6fd9
GM
3236 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3237 so that scalable fonts are included.
3238
9c11f79e
GM
3239 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3240 In the cache, use a key containing the information if scalable
3241 fonts are included.
3242 (x_load_font): Adapt to change of keys in the font cache.
3243
32442001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3245
d26d6fd9
GM
3246 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3247 XListFonts to take advantage of font caching.
3248
9c11f79e
GM
3249 * xterm.c (x_list_fonts): Ensure caching font information when
3250 called for a null frame, which is the case frequently when Emacs
3251 starts.
3252
51446987
GM
32532001-01-17 Gerd Moellmann <gerd@gnu.org>
3254
f864120f
GM
3255 * xfns.c (QCconversion): Replaces QCalgorithm.
3256
3257 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3258
3259 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3260 of :algorithm.
52283633 3261
e37d1417
GM
3262 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3263 not everything could be displayed.
3264
51446987
GM
3265 * line.h, x-list-font.c: Files removed because unused.
3266
9ad4f3e5
AI
32672001-01-17 Andrew Innes <andrewi@gnu.org>
3268
3269 * dired.c (directory_files_internal): Convert result from readdir
3270 to a unibyte string initially, to avoid possible misinterpretation
3271 of some bytes as the internal form of Emacs characters.
3272
2eda09b5
KH
32732001-01-17 Kenichi Handa <handa@etl.go.jp>
3274
3275 * fns.c (concat): Be sure to avoid putting the same `composition'
3276 property on the adjacent regions.
3277
826f3788
GM
32782001-01-16 Gerd Moellmann <gerd@gnu.org>
3279
52283633 3280 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3281 (Fscroll_right, Fscroll_left): Set it here instead, if called
3282 interactively.
3283
d57b83b3
GM
3284 * buffer.c (Fset_buffer_modified_p): Set buffer's
3285 prevent_redisplay_optimizations_p flag.
3286
826f3788 3287 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3288 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3289 with additional arg.
3290
3291 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3292 Change prototype.
826f3788 3293
826f3788
GM
3294 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3295 FROM_WHERE, for debugging.
3296
261d788b
KH
32972001-01-16 Kenichi Handa <handa@etl.go.jp>
3298
3299 * ccl.c (Fregister_ccl_program): Handle the return value of
3300 resolve_symbol_ccl_program correctly.
52283633 3301 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3302
bccee4f2
GM
33032001-01-15 Gerd Moellmann <gerd@gnu.org>
3304
e4ded23c
GM
3305 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3306 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3307
3308 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3309 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3310 the display; we didn't open it.
3311
bccee4f2
GM
3312 * dispnew.c (save_or_restore_current_matrices): Function removed.
3313 (save_current_matrix, restore_current_matrix): New functions.
3314 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3315 restore the frame's current matrix. Due to the glyph pointer
3316 setup done in adjust_glyph_matrix, there is no easy way to make
3317 saving the current matrix in the desired matrix generally correct,
3318 so don't try it.
3319
ebeccffa
KH
33202001-01-15 Kenichi Handa <handa@etl.go.jp>
3321
3322 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3323 truncation glyphs.
3324 (display_line): Optimize for wide characters.
e4ded23c 3325 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3326 partially. On ttys, produce more than one truncation glyph for
3327 multi-column characters that don't fit on the line.
3328
64388126
KH
33292001-01-13 Kenichi Handa <handa@etl.go.jp>
3330
52283633
SM
3331 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3332 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3333
8edb0a6f
JR
33342001-01-13 Jason Rumney <jasonr@gnu.org>
3335
3336 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3337 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3338 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3339 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3340
52283633
SM
3341 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3342 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3343 (x_draw_image_glyph_string): Adapt to change of image margins.
3344
3345 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3346 variables.
3347
3348 * w32bdf.c (search_file_line, get_cached_font_char)
3349 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3350
3351 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3352
3353 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3354 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3355 (Fw32_send_sys_command): Remove unused variables.
3356 (w32_msg_pump): Add parentheses.
3357
3358 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3359 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3360 Add parentheses.
3361
4956d1ef
GM
33622001-01-12 Gerd Moellmann <gerd@gnu.org>
3363
b30623be
GM
3364 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3365 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3366 being a pair of margins.
3367 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3368 to DEFVAR_LISP. Extend doc.
3369
3370 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3371 margins.
3372 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3373 pair of integers `(X . Y)', use X for the horizontal and Y for the
3374 vertical margin.
3375 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3376 (parse_image_spec): Check it.
52283633
SM
3377 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3378 (tiff_format, gif_format, gs_format):
3379 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3380
52283633
SM
3381 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3382 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3383 (x_draw_image_glyph_string): Adapt to the change of image margins.
3384
3385 * dispextern.h (struct image): Replace member `margin' with
3386 `hmargin' and `vmargin'.
3387
4554cc79
GM
3388 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3389 and GLYPHS.
3390
3391 * dispnew.c (update_text_area): Put code which decrements the
3392 stop position when the row's face extends to the end of the
3bffc665 3393 line in #if 0.
4554cc79 3394
3cccce8d
GM
3395 * xfns.c (x_set_mouse_color): Fix color allocation.
3396
4956d1ef
GM
3397 * keyboard.c: Call get_local_map with new argument list.
3398
3399 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3400
3401 * intervals.h (enum map_property): Removed.
3402 (get_local_map): Change prototype.
3403
3404 * keymap.c: Call get_local_map with new argument list.
3405 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3406
2c2ff7f2
GM
34072001-01-11 Gerd Moellmann <gerd@gnu.org>
3408
a23887b9
GM
3409 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3410 of the size needed for the tool bar string. For the last image,
3411 use a `display' property that reaches to the end of the string.
3412
a7ee2d2e
GM
3413 * xselect.c (selection_request_dpyinfo): New variable.
3414 (x_handle_selection_request): Set it.
3415 (x_selection_request_lisp_error): Don't call
3416 x_decline_selection_request if selection request's display has
3417 been closed.
3418
52283633
SM
3419 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3420 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3421
457b792c
GM
34222001-01-10 Dave Love <fx@gnu.org>
3423
3424 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3425 ${SOME_MACHINE_LISP}, not ${lisp}.
3426
c1efd260
GM
34272001-01-10 Gerd Moellmann <gerd@gnu.org>
3428
52283633
SM
3429 * xdisp.c (display_line): On ttys, produce more than one truncation
3430 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3431
ac95a621
GM
3432 * xselect.c (x_reply_selection_request): Add a comment.
3433
c1efd260
GM
3434 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3435 XkbGetNames instead of XkbGetKeyboard.
3436
1bfb1345
DL
34372001-01-10 Dave Love <fx@gnu.org>
3438
3439 * sysdep.c (random): Revert the declaration.
3440
38119822
GM
34412001-01-09 Gerd Moellmann <gerd@gnu.org>
3442
52283633
SM
3443 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3444 Call function string_bytes.
35f464a7
GM
3445 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3446
3447 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3448 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3449 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3450 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3451 the current sblock.
3452 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3453 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3454 after sweeping strings, and at the end.
3455 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3456
38119822
GM
3457 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3458 ensure that pop_message is called.
3459
3460 * keyboard.c (Fexecute_extended_command): Use a
3461 record_unwind_protect to ensure that pop_message is called.
3462
3463 * lisp.h (push_message_unwind): Add prototype.
3464
3465 * xdisp.c (push_message_unwind): New function.
3466
3467 * fileio.c (do_auto_save_unwind): Do the pop_message here
3468 instead of in Fdo_auto_save.
3469 (Fdo_auto_save): Don't call pop_message.
3470
f47a9ec4
KR
34712001-01-08 Ken Raeburn <raeburn@gnu.org>
3472
3473 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3474 in inner block.
3475
a758f97d
GM
34762001-01-08 Gerd Moellmann <gerd@gnu.org>
3477
6d0afc03
GM
3478 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3479 when increasing window's vscroll.
3480
a758f97d
GM
3481 * macros.c (Qkbd_macro_termination_hook): New variable.
3482 (syms_of_macros): Initialize and staticpro it.
3483 (pop_kbd_macro): Run kbd-macro-termination-hook.
3484
3485 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3486
1bfb1345 34872001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3488
3489 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3490 arglist, for documentation's sake.
3491
0dac6924
AI
34922001-01-06 Andrew Innes <andrewi@gnu.org>
3493
3494 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3495 of *.pdb.
3496
8182406a
AI
34972001-01-05 Andrew Innes <andrewi@gnu.org>
3498
3499 * term.c (update_end): Don't check updating_frame; for some reason
3500 this can be 0 sometimes, such as after dismissing a popup menu,
3501 and isn't necessary given the explicit frame argument.
3502
3828218c
GM
35032001-01-05 Gerd Moellmann <gerd@gnu.org>
3504
3505 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3506 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3507
2f5ded21
GM
35082001-01-04 Gerd Moellmann <gerd@gnu.org>
3509
52283633 3510 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3511
3512 * xfns.c (x_create_tip_frame): Preserve the value of
3513 face_change_count around the creation of the tip frame.
52283633 3514
2f5ded21
GM
3515 * xfns.c (last_show_tip_args): New variable.
3516 (compute_tip_xy): New function.
3517 (Fx_show_tip): Reuse an existing tip frame, if possible.
3518 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3519
dfad65fa
DL
35202001-01-04 Dave Love <fx@gnu.org>
3521
64d4ec0f
DL
3522 * editfns.c (Fformat): Doc fix.
3523
dfad65fa
DL
3524 * systime.h (set_file_times): Prototype.
3525
3526 * widget.h (EmacsFrameSetCharSize_): Prototype.
3527
3528 * sysdep.c (random, srandom): Declare explicitly.
3529
3530 * dispextern.h (move_it_vertically_backward): Declare.
3531
85fe3b5e
GM
35322001-01-04 Gerd Moellmann <gerd@gnu.org>
3533
0f2ac578
GM
3534 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3535 like in Fx_create_frame.
3536
482cca61
GM
3537 * xfaces.c (set_font_frame_param): Don't do anything for
3538 non-graphical frames.
3539
85fe3b5e
GM
3540 * window.c (Fdelete_other_windows): Set window's window_end_valid
3541 to nil when changing the window's start. Don't change the
3542 window's start when its top position hasn't changed. If we do,
3543 this will set the window's optional_new_start, which act's like a
3544 force_start during redisplay with C-x 1 M-> under particular
3545 circumstances (see report from Per Starback to emacs-pretest-bug
3546 from 2000-12-13.).
3547
3e99d3b4
GM
35482001-01-03 Gerd Moellmann <gerd@gnu.org>
3549
a77dc1ec
GM
3550 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3551 short cut at the start of the function. Add an assertion.
3552 (reseat_at_next_visible_line_start): Add an assertion.
3553
2f3cad6c
GM
3554 * window.c (Frecenter): When changing the window start, set the
3555 window's window_end_valid to nil.
3556 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3557
3558 * dispextern.h (move_it_past_eol): Add prototype.
3559
3560 * xdisp.c (move_it_past_eol): New function.
3561
3e99d3b4
GM
3562 * window.c (Fwindow_end): Doc fix.
3563
35642001-01-03 Dave Love <fx@gnu.org>
3565
52283633 3566 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3567
bafb434c
GM
35682001-01-03 Gerd Moellmann <gerd@gnu.org>
3569
3570 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3571 the enabled_p flag of the glyph row at window_end_vpos to 0.
3572 (handle_single_display_prop): Fix last change.
3573
5297fb00
RS
35742001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3575
3576 * window.c (Frecenter): Doc fix.
3577
13d6a61c
AI
35782001-01-02 Andrew Innes <andrewi@gnu.org>
3579
3580 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3581
3582 * frame.h (output_method): Add output_w32_console method.
3583 (FRAME_W32_CONSOLE_P): New macro.
3584
3585 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3586 use output_w32_console method.
3587 (Qw32_console): New Lisp_Object.
3588 (Fframep): Return it.
3589 (syms_of_frame): Init it.
52283633 3590 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3591
3592 * xfaces.c (realize_default_face): Set face foreground and
3593 background to unspecified for w32_console frames.
3594 (realize_face): Realize face cache for w32_console frames.
3595 (realize_tty_face): Accept w32_console frames.
3596
52283633 3597 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3598 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3599 necessary, even if running interactively.
3600
3601 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3602 w32_console frames.
3603
52283633
SM
3604 * w32term.c (x_update_begin):
3605 (x_update_end):
3606 (x_clear_frame):
3607 (x_ins_del_lines):
3608 (x_change_line_highlight):
3609 (x_delete_glyphs):
3610 (w32_ring_bell):
3611 (x_update_begin):
3612 (x_update_end):
3613 (w32_reassert_line_highlight):
3614 (w32_frame_rehighlight):
13d6a61c
AI
3615 (w32_frame_raise_lower): Do nothing if not w32 frame.
3616
3617 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3618
3619 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3620 system doesn't tell us directly.
3621 (Fx_display_visual_class): Implement properly.
3622
d6bb0c0d
GM
36232001-01-02 Gerd Moellmann <gerd@gnu.org>
3624
3625 * window.c (Frecenter): Handle centering in graphical frames
3626 specially. Centering on the basis of line counts doesn't work
3627 reliably with variable-height lines.
52283633 3628
315f5865
EZ
36292001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3630
3631 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3632 and al[].
3633
52283633 3634 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3635 (update_compositions): Remove unused variable `hook'.
3636
3637 * intervals.c (get_local_map): Remove unused variable `tem'.
3638
3639 * doprnt.c (doprnt1): Remove unused variable `size'.
3640
3641 * fns.c (Flength): Remove unused variable `tail'.
3642 (Fdelete): Remove unused variable `size'.
3643
3644 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3645 and `gcpro2'.
3646
52283633 3647 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3648
3649 * data.c (find_symbol_value): Remove extra 3rd argument in the
3650 call to swap_in_symval_forwarding.
3651
52283633 3652 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3653
3654 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3655 (trivial_regexp_p): Remove unused variable `c'.
3656 (boyer_moore): Remove unused variable `k'.
3657
3658 * indent.c (current_column): Remove unused variable `stopchar'.
3659 (Fcompute_motion): Remove unused variable `contin'.
3660
3661 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3662
3663 * dired.c (directory_files_internal): Fix a typo in a comment.
3664 Remove an unused variable `handler'.
52283633 3665 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3666 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3667 on BSD4_2.
3668
52283633 3669 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3670
3671 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3672 and `buf'.
3673 (Fmarker_insertion_type): Remove unused variable `buf'.
3674
3675 * insdel.c (make_gap): Remove unused variable `result'.
3676
52283633 3677 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3678 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3679 (menu_bar_items): Remove unused function-scope variable `tem'.
3680
3681 * fontset.c (fontset_ref): Remove unused variable `i'.
3682 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3683 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3684 (make_fontset_for_ascii_face): Remove unused variable `name'.
3685 (fs_load_font): Remove unused variable `font_idx'.
52283633 3686 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3687 (list_fontsets): Remove unused variable `tail'.
3688 (Fnew_fontset): Remove unused variables `family' and `registry'.
3689 (accumulate_font_info): Remove unused variable `tmp'.
3690 (Ffontset_font): Remove unused variable `id'.
3691 (syms_of_fontset): Remove unused variable `i'.
3692
3693 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3694 to x_term_init.
3695 (lookup_image): Remove unused variable `file'.
3696 (xbm_load): Remove unused variables `bitmap_data', `height', and
3697 `width'. Remove function-local variable `i', leave the
3698 block-local one.
3699 (gif_load): Remove unused variable `inc'.
3700
52283633 3701 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3702 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3703 leave only the one in the inner block.
3704
3705 * xfaces.c (face_fontset, realize_default_face): Remove unused
3706 variable `fontset'.
3707 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3708
3709 * term.c (encode_terminal_code): Remove unused variable `c'.
3710
3711 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3712 char *' instead of `char *'.
3713
3714 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3715 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3716 (Fchar_category_set): Remove unused variables `val', `charset',
3717 `c1' and `c2'.
3718
52283633
SM
3719 * coding.c (detect_coding_iso2022, setup_coding_system):
3720 Remove unused variable `i'.
315f5865
EZ
3721 (detect_coding_mask): Remove unused variable `idx'.
3722 (detect_coding): Remove unused variable `i'.
3723 (ccl_coding_driver): Remove unused variable `result'.
3724 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3725 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3726 (encode_coding_string): Remove unused variables `gcpro1' and
3727 `saved_coding_symbol'.
3728 (Ffind_coding_systems_region_internal): Remove function-local
3729 variable args[], leave only the block-local one.
3730 (code_convert_region1): Remove unused variable `len'.
3731
3732 * charset.c (char_printable_p): Remove unused variable `chars'.
3733 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3734 (str_to_multibyte): Remove unused variable `c'.
3735
3736 * window.c (size_window): Remove block-local variable `min_size'.
3737
3738 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3739 `header_line_height'.
3740 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3741 enum display_element_type.
3742
1a8a9daf
GM
37432001-01-02 Gerd Moellmann <gerd@gnu.org>
3744
6dde6abc 3745 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3746 statements that call X. Save away the error message in a local copy.
3747
1883b2c6
GM
3748 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3749 the start.
3750
a13be207
GM
3751 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3752 in or at the start of invisible text.
3753
1a8a9daf
GM
3754 * dispnew.c (update_window): Don't check_current_matrix_flags.
3755
3608c0f9
JR
37562001-01-01 Jason Rumney <jasonr@gnu.org>
3757
3758 * w32fns.c (x_figure_window_size): Do not allow new_height and
3759 new_width of frame to override specified values.
3760
abb1acc4
KH
37612000-12-30 Kenichi Handa <handa@etl.go.jp>
3762
52283633 3763 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3764
762a68ec
GM
37652000-12-29 Gerd Moellmann <gerd@gnu.org>
3766
52283633 3767 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3768 (update_window) [GLYPH_DEBUG]: Call it.
3769 (scrolling_window): Prevent including current rows which are below
3770 what's displayed in the window.
3771
3772 * xdisp.c (try_window_reusing_current_matrix)
3773 <new start <= old start>: Disable rows in the current matrix
3774 which are below the window after scrolling.
52283633 3775
762a68ec
GM
3776 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3777 is zero. It's not worth the complexity.
3778 (invisible_text_between_p): Put in #if 0 because unused.
3779
2d5912c1
GM
37802000-12-28 Gerd Moellmann <gerd@gnu.org>
3781
46f6a258
GM
3782 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3783 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3784
89f93679
GM
3785 * keyboard.c (echo_char): If C is an integer, always call
3786 push_key_description. Former code could signal an invalid
3787 character error.
3788
3789 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3790 If set, print multibyte text.
3791 (Fsingle_key_description): Call push_key_description with
3792 FORCE_MULTIBYTE set.
3793 (describe_buffer_bindings): Likewise.
3794
3795 * lisp.h (push_key_description): Add prototype.
3796
c06017fb
GM
3797 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3798 around the call to redisplay_internal.
3799
f1d2ce7f
GM
3800 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3801
2d5912c1
GM
3802 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3803
9371f831
KH
38042000-12-28 Kenichi Handa <handa@etl.go.jp>
3805
3806 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3807 (ccl_driver): New local variable `extra_bytes'.
3808
3809 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3810
52283633
SM
3811 * coding.c (setup_coding_system):
3812 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3813 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3814
0c80628a
KH
38152000-12-28 Kenichi Handa <handa@etl.go.jp>
3816
3817 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3818 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3819 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3820 (decode_composition_emacs_mule): New function.
3821 (decode_coding_emacs_mule): Decode composition sequence by calling
3822 decode_composition_emacs_mule.
3823 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3824 (encode_coding_emacs_mule): Changed from macro to function.
3825 If a text contains compositions, encode them correctly.
0c80628a
KH
3826 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3827 that decoding and encoding are required.
3828
3e32cc27
GM
38292000-12-27 Gerd Moellmann <gerd@gnu.org>
3830
5e25feee
GM
3831 * xfaces.c (PT_PER_INCH): New macro.
3832 (xlfd_point_size): Compute real point size from font's pixel size.
3833 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3834 instead of 72.
3835
892d8fcd
GM
3836 * .gdbinit: Comment out the line pointing to the Lesstif source
3837 directory.
3838
12c8b416
GM
3839 * window.c (Frecenter): Use displayed_window_lines instead
3840 of window_internal_height.
3841
6061fbf0
GM
3842 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3843 instead of x-toolkit-scroll-bars-p.
3844 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3845
3846 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3847 instead of x-toolkit-scroll-bars-p.
3848 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3849
3e32cc27
GM
3850 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3851 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3852 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3853 New variables.
3854 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3855 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3856 (build_frame_matrix_from_leaf_window): Remove unused code.
3857 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3858 redisplay history.
3859 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3860 (update_window) [GLYPH_DEBUG]: Likewise.
3861 (syms_of_display): Defsubr dump-redisplay-history.
3862
31798cfe
GM
38632000-12-23 Gerd Moellmann <gerd@gnu.org>
3864
f717c2ba
GM
3865 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3866 the end of the prompt. Set echo_after_prompt to the offset
3867 of echoptr in echobuf.
3868
aeb2b8fc
GM
3869 * xdisp.c (init_from_display_pos): Pop until the iterator's
3870 stack is empty; there may be frames for stretch or images
3871 on the stack.
3872
31798cfe
GM
3873 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3874 (save_or_restore_current_matrix): New function for the same
3875 purpose, but more efficient.
3876 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3877
f8156156
EZ
38782000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3879
3880 * xdisp.c (syms_of_xdisp): Fix last change.
3881
bdd6d4e8
GM
38822000-12-23 Gerd Moellmann <gerd@gnu.org>
3883
3884 * xdisp.c (syms_of_xdisp): Doc fix.
3885
3886 * xdisp.c (redisplay_window): Remove label restore_buffers;
3887 use finish_scroll_bars instead to make sure that scroll bars
3888 are redeemed. If we don't do this, flickering can result from
3889 scroll bars being destroyed and recreated.
3890
9436cdf9
JR
38912000-12-22 Jason Rumney <jasonr@gnu.org>
3892
3893 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3894 in the wrong colors when the foreground is not black.
3895 (expose_window): Don't redraw the window that's currently being
3896 updated.
3897
951f9df5
GM
38982000-12-22 Gerd Moellmann <gerd@gnu.org>
3899
856ff7a7
GM
3900 * window.c (size_window): When setting the window's too_small_ok
3901 flag, compare old size with minimum size depending on WIDTH_P,
3902 don't compare with window_min_width.
52283633 3903
951f9df5
GM
3904 * window.c (delete_window): Simplify somewhat.
3905 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3906 freeing window matrices. The flag windows_or_buffers_changed is
3907 set, so the next redisplay will consider all windows; this should
3908 suffice.
3909
886bc933
KH
39102000-12-22 Kenichi Handa <handa@etl.go.jp>
3911
3912 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3913
3914 * ccl.h (struct ccl_program): New member cr_consumed.
3915
3916 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3917 (CCL_READ_CHAR): Handle EOL conversion here.
3918 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3919
177f4e88
GM
39202000-12-21 Gerd Moellmann <gerd@gnu.org>
3921
52283633 3922 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3923
3924 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3925 otherwise tabs of different size compare equal.
3926
3927 * callint.c (Fcall_interactively): Prevent a compiler warning.
3928
3929 * print.c (print_unwind): Return nil.
3930 (PRINTDECLARE): Initialize all local variables.
3931 (print_preprocess): Add a default case.
3932
8e15274f
GM
3933 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3934
3935 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3936
52283633 3937 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3938 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3939
3940 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3941
3942 * dispnew.c (ensure_frame_matrix): Removed.
3943 (save_frame_matrix, restore_frame_matrix): New functions.
3944 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3945
3946 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3947 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3948
99012074
AI
39492000-12-21 Andrew Innes <andrewi@gnu.org>
3950
3951 * w32term.c (x_update_begin): Regenerate the palette here, rather
3952 than for each window.
3953
3954 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3955 palette is NULL, since this corrupts memory! Also get
3956 display_info reference from frame.
3957
29ef7d2d
JR
39582000-12-21 Jason Rumney <jasonr@gnu.org>
3959
3960 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3961
3962 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3963 to avoid returning without releasing it.
3e27fa1f 3964
3f9d67a6
KH
39652000-12-21 Kenichi Handa <handa@etl.go.jp>
3966
587fc3f9
KH
3967 * keymap.c (push_key_description): Don't convert eight-bit-control
3968 and eight-bit-graphic to multibyte character.
3969
3f9d67a6
KH
3970 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3971 generic character and CODE1 is nil, return the smallest character
3972 in CHARSET.
3973
774ba8c9
DL
39742000-12-20 Dave Love <fx@gnu.org>
3975
3976 * s/osf5-0.h (NSIG): Don't redefine.
3977
88416888
SM
39782000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3979
3980 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3981 excluding menu-bar and tool-bar.
3982 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3983 (menu_item_p): Remove.
3984 (where_is_internal_1): Don't ignore menu-items.
3985
a6426c6f
GM
39862000-12-20 Gerd Moellmann <gerd@gnu.org>
3987
03ff8aab
GM
3988 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3989 into account.
3990
3991 * window.c (make_window): Initialize window's min_hscroll.
3992 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3993 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3994 to zero.
3995 (struct saved_window): New member min_hscroll.
3996 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3997 (Fset_window_configuration): Set window's min_hscroll.
3998 (save_window_save): Save window's min_hscroll.
3999 (compare_window_configurations): Compare min_hscroll values.
4000
4001 * window.h (struct window): New member min_hscroll.
4002
4003 * keyboard.c (echo_prompt): Prevent a compiler warning.
4004
8de4aaf8
GM
4005 * xdisp.c (try_cursor_movement): Fix last change. The real
4006 condition is that PT is at the end of the row, and should
4007 be displayed at the start of the next row.
52283633 4008
3f7e3031
GM
4009 * xdisp.c (try_cursor_movement): If we end on a partially
4010 visible line, end we already decided to scroll, return -1.
4011
a6426c6f
GM
4012 * dispextern.h (ensure_frame_matrix): Add prototype.
4013
4014 * window.c (delete_window, Fsplit_window)
4015 (Fset_window_configuration): Call ensure_frame_matrix.
4016
52283633
SM
4017 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4018 New functions.
a6426c6f
GM
4019 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4020 completed, call fake_current_matrices instead of marking frame
4021 garbaged.
4022
57fa2774
JR
40232000-12-20 Jason Rumney <jasonr@gnu.org>
4024
4025 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4026
d925df90
EZ
40272000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4028
4029 * fns.c (Frequire): Doc fix.
4030
7b93a85b
GM
40312000-12-19 Gerd Moellmann <gerd@gnu.org>
4032
52283633 4033 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4034
c74e645b
GM
4035 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4036 currently displaying a message.
4037
7b93a85b
GM
4038 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4039 xterm.h.
4040 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4041
90d97e64
AI
40422000-12-18 Andrew Innes <andrewi@gnu.org>
4043
4044 * w32.c (w32_strerror): New function.
4045
4046 * w32.h (w32_strerror): New extern.
4047
4048 * w32fns.c (Fw32_shell_execute): Use it.
4049
91c9e6ce
GM
40502000-12-18 Gerd Moellmann <gerd@gnu.org>
4051
4052 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4053
6f4745e2
EZ
40542000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4055
4056 * msdos.c (IT_set_face): Obey inverse_video.
4057
c9e088ce
KH
40582000-12-18 Kenichi Handa <handa@etl.go.jp>
4059
4060 * dired.c (directory_files_internal): Always return decoded filenames.
4061
c3695f5f
GM
40622000-12-18 Gerd Moellmann <gerd@gnu.org>
4063
52d8e4ff
GM
4064 * xterm.c (x_connection_closed): Prevent being called recursively
4065 because of an error condition in XtCloseDisplay.
52283633 4066
62be9979
GM
4067 * xdisp.c (init_iterator): If noninteractive, and the frame's
4068 face cache is null, make one.
4069
52283633 4070 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4071
c3695f5f
GM
4072 * process.c (wait_reading_process_input): Check for pending
4073 input when running timers.
4074
78555fbe
EZ
40752000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4076
52283633 4077 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4078
b2b36264
KH
40792000-12-18 Kenichi Handa <handa@etl.go.jp>
4080
4081 * process.c (read_process_output): Don't run a filter if the code
4082 decoder produces nothing but carryover.
4083
9c543fbf
AI
40842000-12-17 Andrew Innes <andrewi@gnu.org>
4085
4086 * w32.c (sys_rename): Only check errno against EEXIST, and not
4087 EACCES, when determining whether rename failed because the target
4088 exists. This was resulting in indefinite looping on Windows 9x if
4089 the source file was locked by another process.
4090
4091 * w32fns.c (Ffile_system_info): New function.
4092 (syms_of_w32fns): Defsubr it.
4093
10c2b5a8
GM
40942000-12-17 Gerd Moellmann <gerd@gnu.org>
4095
b0228ace
GM
4096 * window.c (coordinates_in_window): Fix computation for
4097 position on vertical line between mode lines.
4098
10c2b5a8
GM
4099 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4100 Don't alter tip_frame or tip_window.
4101 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4102 was deleted.
4103
c844a81a
GM
4104 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4105 Don't alter tip_frame or tip_window.
4106 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4107 was deleted.
4108
6c825f8e
EZ
41092000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4110
4111 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4112 be consistent with the doc string. Reported by NAKAJIMA Mikio
4113 <minakaji@osaka.email.ne.jp>.
4114
af4bb4c8
KH
41152000-12-16 Kenichi Handa <handa@etl.go.jp>
4116
4117 * xfaces.c (Vface_ignored_fonts): New variable.
4118 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4119 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4120
8062e53a
GM
41212000-12-15 Gerd Moellmann <gerd@gnu.org>
4122
e87b8809
GM
4123 * dispnew.c (update_window): Detect pending input every nth line
4124 updated, i.e. do it depending on real work done, and not on the
4125 vpos of the line.
4126
4127 * xterm.c (expose_window): Don't redraw the window that's
4128 currently being updated.
4129
a6768cc5
GM
4130 * window.c (Fset_window_point): Remove test for
4131 cursor_in_non_selected_windows.
4132
4ea7fdca
GM
4133 * lread.c (read1): Recognize end of file after `\\'.
4134
8062e53a
GM
4135 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4136 not unwind_create_frame.
4137
bb7959c1
GM
41382000-12-15 Dave Love <fx@gnu.org>
4139
4140 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4141 bcopy & al.
4142
4143 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4144
ced04c42
KH
41452000-12-15 Kenichi Handa <handa@etl.go.jp>
4146
c5443913
KH
4147 * coding.c (setup_coding_system): Clear all members of the struct
4148 coding_system at first.
bc137305
KH
4149 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4150 argument.
4151 (code_convert_region): Don't override coding->src_multibyte and
4152 coding->dst_multibyte.
c5443913 4153
ced04c42
KH
4154 * fns.c (Fmd5): Docstring improved.
4155
c2d7f289
MB
41562000-12-15 Miles Bader <miles@gnu.org>
4157
4158 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4159 are actually marked as mode-lines; otherwise use
4160 estimate_mode_line_height.
4161
9d7d9263
GM
41622000-12-14 Gerd Moellmann <gerd@gnu.org>
4163
4164 * editfns.c (Fformat): Prevent a buffer overrun when the format
4165 specifies a precision.
4166
7cf0153a
EZ
41672000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4168
4169 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4170 argument is outside the range [2..3].
4171
1de0f662
AI
41722000-12-14 Andrew Innes <andrewi@gnu.org>
4173
4174 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4175 nothing to do. Bind inhibit-quit.
4176 (tip_frame): Make it a Lisp_Object.
4177 (x_create_tip_frame): Set tip_frame after it has been added to
4178 Vframe_list.
4179 (Fx_show_tip): Don't set tip_frame here.
52283633 4180 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4181 (unwind_create_frame, unwind_create_tip_frame): New functions.
4182 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4183 while a frame is only partially constructed.
4184
4185 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4186 (x_free_frame_resources): New function.
4187 (x_destroy_window): Use it.
4188
02387dcc
GM
41892000-12-14 Gerd Moellmann <gerd@gnu.org>
4190
4191 * xfns.c (Fx_backspace_delete_keys_p): New function.
4192 (syms_of_xfns): Defsubr it.
4193
4194 * config.in (HAVE_XKBGETKEYBOARD): Add.
4195
0544ef49
KH
41962000-12-14 Kenichi Handa <handa@etl.go.jp>
4197
98d62747
KH
4198 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4199 Always store string in multibyte representation in echobuf.
4200 (echo_char): Always store string in multibyte representation in
4201 echobuf.
4202 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4203 (read_key_sequence): Adjusted for the change of echo_prompt.
4204
a20193cd
KH
4205 * fns.c (Fmd5): Docstring improved.
4206
191b83b6
KH
4207 * lisp.h (detect_coding_system): Prototype adjusted.
4208
0544ef49
KH
4209 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4210 (detect_coding_emacs_mule, detect_coding_iso2022,)
4211 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4212 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4213 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4214 (detect_coding_mask, detect_coding_system): New argument
4215 MULTIBYTEP. Callers changed.
1da1bb05
KH
4216 (decode_coding_string): Set coding->src_multibyte and
4217 coding->dst_multibyte before calling detect_coding and detect_eol.
4218 Update them after some coding system is detected.
52283633 4219
d5b3eb1b
SM
42202000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4221
4222 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4223
4224 * keyboard.c (menu_bar_items, tool_bar_items):
4225 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4226
f7f8bb69
GM
42272000-12-13 Gerd Moellmann <gerd@gnu.org>
4228
52283633 4229 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4230 New variables.
4231 (unwind_create_frame, unwind_create_tip_frame): New functions.
4232 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4233 while a frame is only partially constructed.
4234
4235 * xterm.h (x_free_frame_resources): Declare.
4236
4237 * xterm.c (x_free_frame_resources): New function.
4238 (x_destroy_window): Use it.
4239
e10da507
GM
4240 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4241 don't interrupt the update for pending input initially, i.e.
4242 update at least some lines.
4243
4244 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4245
d5b3eb1b 4246 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4247
4248 * xfns.c (gray_bitmap_bits): Declare `char *'.
4249
90aa2856
GM
42502000-12-12 Gerd Moellmann <gerd@gnu.org>
4251
4252 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4253 lines start with a relief line.
4254
a308c9cd
DL
42552000-12-12 Dave Love <fx@gnu.org>
4256
4257 * window.c (Fdisplay_buffer): Doc fix.
4258 (Fwindow_list): Remove unused var.
4259
4260 * buffer.h (mmap_set_vars): Declare.
4261
4262 * window.h (Fset_window_point): Declare.
4263
d575011f
EZ
42642000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4265
bf6282d2 4266 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4267 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4268 variable `area'. When looking for a row under (X,Y), give up if some
4269 of the previous rows is not enabled.
d575011f 4270
ecf4d726
GM
42712000-12-12 Gerd Moellmann <gerd@gnu.org>
4272
2ebf6139
GM
4273 * window.c (Fset_window_point): If displaying cursors in windows
4274 other than the selected window, make sure redisplay updates
4275 other windows to show the new value of point in the window.
4276
4277 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4278
bfdb75ee
GM
4279 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4280 the buffer is the sole visible buffer when in the mini-buffer.
4281
52283633 4282 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4283 Bind `inhibit-read-only' to t.
4284 (unwind_with_echo_area_buffer): Use AREF.
4285
c0006262
GM
4286 * xfns.c (Fx_hide_tip): Simplified.
4287
52283633
SM
4288 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4289 instead of `1'.
e9a59cad 4290
ecf4d726
GM
4291 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4292
e5959a9a
GM
42932000-12-11 Gerd Moellmann <gerd@gnu.org>
4294
a3642e49 4295 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4296
44b5a125
GM
4297 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4298 nothing to do. Bind inhibit-quit.
4299 (tip_frame): Make it a Lisp_Object.
4300 (x_create_tip_frame): Set tip_frame after it has been added to
4301 Vframe_list.
4302 (Fx_show_tip): Don't set tip_frame here.
4303
4304 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4305
4306 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4307 Lisp_Object.
4308
4309 * dispextern.h: Change external declaration of tip_frame.
4310
d990421f
GM
4311 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4312 return an empty string.
4313
4db87380
GM
4314 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4315 of the window's update_mode_line flag, since the former is set by
4316 force-mode-line-update, not the latter. This makes
4317 column-number-mode slightly faster.
52283633 4318
e5959a9a
GM
4319 * xdisp.c (try_window_id) <all changes above window start>:
4320 Set the cursor.
4321
169fe44e
GM
43222000-12-11 Paul Eggert <eggert@twinsun.com>
4323
4324 * config.in (HAVE_FTELLO): Remove.
4325 (HAVE_FSEEKO): Add.
4326 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4327 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4328 HAVE_FTELLO.
4329 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4330 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4331
59ec59ae
MB
43322000-12-11 Miles Bader <miles@gnu.org>
4333
4334 * window.c (displayed_window_lines): Don't round up when
4335 converting empty space at bottom to lines.
ff904dd6
MB
4336 Handle non-newline-terminated final lines properly.
4337 (Fwindow_text_height): New function (used to be in lisp).
4338 (syms_of_window): Initialize it.
59ec59ae 4339
42ebfa31
SM
43402000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4341
4342 * syntax.c (scan_lists): Check that the right quote char has the
4343 right Sstring syntax when jumping over strings.
4344 (init_syntax_once): Use Smax rather than 13.
4345
5cdb3cf3
MB
43462000-12-09 Miles Bader <miles@gnu.org>
4347
4348 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4349 with PARTIALLY, inverting the sense.
4350 (window_scroll_pixel_based): Scroll partially visible lines into
4351 place if we hit the beginning or end of the buffer.
a12167c5
MB
4352 (displayed_window_lines): Don't include partially visible lines.
4353 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4354
842b2a94
GM
43552000-12-08 Gerd Moellmann <gerd@gnu.org>
4356
4357 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4358
4359 * tparam.c (tparam1): Change the way buffers are reallocated to be
4360 portable and less obfuscated.
4361
4362 * termcap.c (tgetent): Change the way buffers are reallocated to
4363 be portable and less obfuscated.
4364
4365 * macros.c (store_kbd_macro_char): Change the way buffers are
4366 reallocated to be portable and less obfuscated.
4367
4368 * lread.c (read1): Change the way buffers are reallocated to be
4369 portable and less obfuscated.
4370
4371 * doc.c (Fsubstitute_command_keys): Change the way buffers
4372 are reallocated so that it is portable.
4373
137cad7c
EZ
43742000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4375
4376 * dosfns.c (Ffile_system_info): New function.
4377 (syms_of_dosfns): Defsubr it.
4378
5c7f629c
SM
43792000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4380
4381 * alloc.c (gc_sweep): Add comment.
4382
959e647d
GM
43832000-12-07 Gerd Moellmann <gerd@gnu.org>
4384
52283633
SM
4385 * sound.c (vox_configure): Change order of ioctls.
4386 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4387 Ignore errors when changing volume.
4388 (vox_close): Don't reset the device.
4389
926b7e5e
GM
4390 * process.c (read_process_output): Make sure the process marker's
4391 position is valid when the process buffer is changed in
4392 after-change functions. W3 does that.
52283633 4393
959e647d
GM
4394 * xfns.c (x_free_gcs): New function.
4395
4396 * xterm.h (x_free_gcs): Add prototype.
4397
4398 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4399 freeing GCs here.
4400
4401 * xterm.c (x_destroy_window): Call x_free_gcs so that
4402 resources of non-toolkit X windows will be freed.
4403
478ea067
AI
44042000-12-07 Andrew Innes <andrewi@gnu.org>
4405
4406 * w32fns.c (xlfd_charset_of_font): Fix last change.
4407
fbee3231
DL
44082000-12-06 Dave Love <fx@gnu.org>
4409
67292061
DL
4410 * md5.h (__P): Don't define -- it comes from config.h.
4411
fbee3231
DL
4412 * strftime.c: Change some #if foo to #ifdef foo.
4413
4ee87dbb
AI
44142000-12-06 Andrew Innes <andrewi@gnu.org>
4415
4416 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4417
52283633 4418 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4419 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4420 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4421
9765b4a4
GM
44222000-12-06 Gerd Moellmann <gerd@gnu.org>
4423
d285b373
GM
4424 * alloc.c (gc_sweep): Prevent symbols read during loadup
4425 from being freed.
4426
384333ee
GM
4427 * xdisp.c (underlying_face_id): New function.
4428 (handle_face_prop, face_before_or_after_it_pos): Use it
4429 to determine the face ``under'' a string. Let strings inherit
4430 the face of the buffer under them.
4431
4432 * xfaces.c (face_at_string_position): Update function comment.
52283633 4433
d4b72d58
GM
4434 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4435 matrix if the window's left position has changed; we need to
4436 redraw it in this case.
4437
4438 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4439
e1d05387
GM
4440 * window.c (coordinates_in_window): Check mouse on mode-line or
4441 header-line first.
4442
eb1b0c74
GM
4443 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4444 advertized by the function documentation.
4445
d94d636f
GM
4446 * window.c (syms_of_window): Doc fix.
4447
3887b449
GM
4448 * sound.c (vox_configure): Set volume for left and right channel.
4449 (sound_cleanup): Return nil.
4450
efc8f57a
GM
4451 * xdisp.c (move_it_by_lines): Fix paren typo.
4452
9765b4a4
GM
4453 * xterm.c (x_load_font): Don't use the font's max_bounds for
4454 computing the height of the font. If max_bounds' ascent or
4455 descent are greater than the font's ascent or descent, this means
4456 glyphs overlap, which should be handled now by redisplay.
4457
6529ed87
GM
4458 * window.c (Veven_window_heights): New variable.
4459 (syms_of_window): DEFVAR_LISP it.
4460 (Fdisplay_buffer): Check Veven_window_heights before evening the
4461 window heights.
52283633 4462
0eb2ecde
MB
44632000-12-06 Miles Bader <miles@gnu.org>
4464
4465 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4466 update `default-frame-alist' instead of setting no frame parameters.
4467
03d7a167
KH
44682000-12-06 Kenichi Handa <handa@etl.go.jp>
4469
4470 * composite.c (update_compositions): Fix typo (use the correct
4471 variable).
4472
5f8803c2
JR
44732000-12-05 Jason Rumney <jasonr@gnu.org>
4474
4475 * md5.h: Remove underscores from function declarations.
4476 (__attribute__, __alignof__) [!__GNUC__]: Define.
4477
4478 * md5.c: Delay include of md5.h until after namespace cleaning.
4479
c28a075b
JR
4480 * makefile.w32-in (fns.o): Depend on md5.h
4481 (md5.o): New target.
4482 (sunfns.o): Remove.
4483
4484 * makefile.nt: Likewise.
4485
ff3c7056
JR
44862000-12-05 Jason Rumney <jasonr@altavista.net>
4487
4488 * w32term.c (expose_area): Complete last change.
4489
0c21eeeb
KR
44902000-12-05 Ken Raeburn <raeburn@gnu.org>
4491
4492 * minibuf.c: Include intervals.h.
4493
f201d732
JR
44942000-12-05 Jason Rumney <jasonr@gnu.org>
4495
4496 * w32term.c (x_produce_glyphs): If a font for a component of
4497 a composition is not found, use 1 pixel dot ascent and 0 dot
4498 descent value to avoid displaying terribly tall empty boxes.
4499 (expose_area): Pass x-coordinate relative to the exposed
4500 area to x_draw_glyphs instead of a window-relative coordinate.
4501
21999ab9
GM
45022000-12-05 Gerd Moellmann <gerd@gnu.org>
4503
4d2036e4
GM
4504 * xdisp.c (next_element_from_ellipsis): Save face before selective
4505 display in saved_face_id, and set face_before_selective_p.
4506 (reseat_1): Reset face_before_selective_p.
4507 (append_space, extend_face_to_end_of_line): If iterator's
4508 face_before_selective_p is set, use the face from saved_face_id.
4509 (extend_face_to_end_of_line): For tty frames, make sure to
4510 use the right face id when producing spaces at the end of
4511 the line.
4512
4513 * dispextern.h (struct it): Add face_before_selective_p.
4514
52be17cc
GM
4515 * keyboard.c (record_char): Don't record identical help-echo
4516 events in recent_keys.
4517
8a4f36cc
GM
4518 * xterm.c [USE_X_TOOLKIT]: Close the display.
4519 (xim_close_dpy): Handle case that the display has been closed.
4520
57d6e381
GM
4521 * xterm.c (x_destroy_window): Reset the frame's X window after
4522 destroying it.
4523
21999ab9
GM
4524 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4525 variable window_width.
4526 (line_draw_cost): Fix code skipping over spaces at the end of the
4527 line when must_write_spaces is not set.
4528 (scrolling_window): Fix code inserting runs in list of all runs.
4529
91372bb7
KH
45302000-12-05 Kenichi Handa <handa@etl.go.jp>
4531
4532 * coding.c (setup_coding_system): Be sure to initialize
4533 coding->category_idx.
4534
6c083b4c
GM
45352000-12-04 Gerd Moellmann <gerd@gnu.org>
4536
0c68ce6f 4537 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4538
6452929e
GM
4539 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4540 area to x_draw_glyphs instead of a window-relative coordinate.
4541
d7f31e22
GM
4542 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4543 error in the message.
4544
ae18aa3b
GM
4545 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4546 timer after having read a key. It's not good for code reading
4547 several keys in a loop, like an input method.
4548
caa15ef7
GM
4549 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4550 record undo information for format-decode.
4551
4552 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4553 current buffer is read-only, not if it isn't.
4554
6c083b4c
GM
4555 * keyboard.c (record_char): Record `help-echo' input events
4556 in recent_keys only if they display some help. Don't record
4557 `help-echo' events as macro char.
4558
caa15ef7
GM
45592000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4560
4561 * editfns.c (save_excursion_restore): Don't move point
4562 in another window if it is showing the wrong buffer.
4563 Avoid the call to Fwindow_live_p, for speed.
4564
5a13529b
KH
45652000-12-04 Kenichi Handa <handa@etl.go.jp>
4566
e225faa7
KH
4567 * xfaces.c (struct font_name): New member registry_priority.
4568 (split_font_name): Initialize the above member to zero.
4569 (concat_font_list): New function.
4570 (font_list): Include fonts of all alternative registries.
4571 (FONT_POINT_SIZE_QUANTUM): New macro.
4572 (better_font_p): Ignore point size difference less than
4573 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4574
e89648b4
KH
4575 * xterm.c (x_produce_glyphs): If a font for a component of
4576 a composition is not found, use 1 pixel dot ascent and 0 dot
4577 descent value to avoid displaying terribly tall empty boxes.
4578
5a13529b
KH
4579 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4580
d7935eb6
KR
45812000-12-03 Ken Raeburn <raeburn@gnu.org>
4582
4583 * coding.h (code_convert_string1): Declare.
4584
4585 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4586
52283633 4587 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4588
0dd5e255
JR
45892000-12-02 Jason Rumney <jasonr@gnu.org>
4590
4591 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4592 correctly for single byte character case.
4593 (w32_per_char_metric): Do not try to make any assumptions about
4594 the metrics of BDF fonts.
250cfece 4595 (x_estimate_mode_line_height): If `mode-line' face
52283633 4596 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4597 (note_mouse_highlight): Change the cursor shape on the vertical
4598 border between windows [not enabled].
4599
4600 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4601
4602 * w32fns.c (Fx_create_frame): Reintroduce the call to
4603 face-set-after-frame-defaults.
4604 (Vx_window_horizontal_drag_shape): New variable.
4605 (syms_of_xfns): DEFVAR_LISP it.
4606 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4607 enabled].
0dd5e255 4608
b5d8d2ca
GM
46092000-12-02 Simon Josefsson <simon@josefsson.org>
4610
4611 * fns.c (Fmd5): Use a different logic to decide the coding system
4612 to use.
4613
4614 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4615
fbb87147
EZ
46162000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4617
52283633 4618 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4619
447e9da0
GM
46202000-12-01 Gerd Moellmann <gerd@gnu.org>
4621
7708ced0
GM
4622 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4623 height for YNegative.
4624 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4625 height; also see comment there.
4626
447e9da0
GM
4627 * window.c (coordinates_in_window): Handle computations for
4628 positions on the vertical bar and fringes differently for
4629 window-system frames. Consider some pixels near the vertical bar
4630 as on the bar if the frame doesn't have vertical scroll bars.
4631 Associate positions between mode or header lines with the
4632 right window, the left one.
4633
86d1db20
JR
46342000-12-01 Jason Rumney <jasonr@gnu.org>
4635
4636 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4637
4638 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4639 invalid frame.
4640
a1d58e5b
GM
46412000-12-01 Gerd Moellmann <gerd@gnu.org>
4642
52283633 4643 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4644 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4645 (save_window_save, Fset_window_configuration): Save/restore
4646 window's orig_top and orig_height.
4647
89c609af
JR
46482000-12-01 Jason Rumney <jasonr@gnu.org>
4649
4d177746 4650 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4651
89c609af
JR
4652 * w32fns.c (x_set_cursor_color): Fix last change.
4653
eccc05db
GM
46542000-11-30 Gerd Moellmann <gerd@gnu.org>
4655
31b6671b
GM
4656 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4657 sure that the next redisplay displays the minibuffer, so that
4658 the cursor will be replaced with what the minibuffer wants.
4659
eccc05db
GM
4660 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4661 #ifndef instead of using #if.
4662 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4663 USE_TOOLKIT_SCROLL_BARS is defined.
4664
162de750
JR
46652000-11-30 Jason Rumney <jasonr@gnu.org>
4666
4667 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4668 x_display_cursor.
4669
693c4692
GM
46702000-11-30 Gerd Moellmann <gerd@gnu.org>
4671
4672 * fns.c (Fmd5): Doc fix.
4673
b5d8d2ca 46742000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4675
4676 * fns.c (Fmd5): New function.
4677 (syms_of_fns): Defsubr md5.
4678
4679 * Makefile.in (obj): Add md5.o
4680
b02cd40b
GM
46812000-11-30 Gerd Moellmann <gerd@gnu.org>
4682
edfb795e
GM
4683 * md5.h, md5.c: New files, taken from glibc.
4684
df3aedcf
GM
4685 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4686
b02cd40b 4687 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4688 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4689
8b5176cd
SM
46902000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4691
4692 * eval.c (Frun_hooks): Allow 0 arguments.
4693
346598f1
GM
46942000-11-29 Gerd Moellmann <gerd@gnu.org>
4695
f9396e03
GM
4696 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4697 is over the menu bar widget, say it's not on the frame.
4698
4a967a9b
GM
4699 * xfns.c (Fx_create_frame): Reintroduce the call to
4700 face-set-after-frame-defaults.
4701
346598f1
GM
4702 * eval.c (Fsignal): Reset handling_signal.
4703
222456a1
JR
47042000-11-28 Jason Rumney <jasonr@gnu.org>
4705
4706 * w32menu.c (add_menu_item): Reset menu item text when changing
4707 type to radio button.
4708
8049ddc0
GM
47092000-11-28 Gerd Moellmann <gerd@gnu.org>
4710
346598f1 4711 * xselect.c: Update copyright.
f4f4ee4d 4712
bebe4a2c
GM
4713 * window.c (coordinates_in_window): If on a mode or header line,
4714 but sufficiently close to its start, return ``on vertical
4715 border''. This gives us a way to drag windows horizontally when
4716 using toolkit scroll bars.
4717
4718 * xterm.c (note_mouse_highlight): Change the cursor shape
4719 on the vertical border between windows.
4720
4721 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4722
4723 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4724 (syms_of_xfns): DEFVAR_LISP it.
4725 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4726
8d2c2642
GM
4727 * textprop.c (text_read_only): New function.
4728 (verify_interval_modification): Use it instead of signaling
4729 `text-read-only'. This makes it easier to catch this error
52283633 4730 with a breakpoint.:
8d2c2642 4731
52283633 4732 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4733 not end of line, which includes CR.
4734
5a2bae6c
KH
47352000-11-28 Kenichi Handa <handa@etl.go.jp>
4736
4737 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4738 include no-conversion.
4739
ae31f84d
JR
47402000-11-27 Jason Rumney <jasonr@gnu.org>
4741
4742 * w32fns.c (w32_load_system_font): Always mark font as double byte
4743 if codepage is unicode.
4744
67f1cf4c
GM
47452000-11-27 Gerd Moellmann <gerd@gnu.org>
4746
4a74d071 4747 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4748 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4749
902ae620
GM
4750 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4751 `vertical-line', `mode-line' and `header-line' events.
4752
4753 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4754 of a character, a TAB for instance. This is easier than to set
4755 up the iterator exactly, and it's not a frequent case, so the
4756 additional effort wouldn't really pay off.
4757
c1e279c2
AC
47582000-11-26 Andrew Choi <akochoi@i-cable.com>
4759
67f1cf4c 4760 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4761 init_window_once.
4762
a609568a
JR
47632000-11-25 Jason Rumney <jasonr@gnu.org>
4764
52283633
SM
4765 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4766 Args to window_from_coordinates should be pixel coordinates.
48b21762 4767
a609568a
JR
4768 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4769 redisplay handles them properly.
4770
a658d039
MB
47712000-11-25 Miles Bader <miles@gnu.org>
4772
4773 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4774
d3416cca
JR
47752000-11-24 Jason Rumney <jasonr@gnu.org>
4776
4777 * w32.c (init_environment): Set LANG environment variable based on
4778 locale settings, if not set.
4779
4780 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4781 making tool bar smaller. When clearing the frame, also
4782 clear current matrices. Clear frame when tool bar disappears.
4783 Don't use more lines for the tool-bar than is available.
4784 (x_change_window_heights): New function.
4785
ba193890
GM
47862000-11-24 Gerd Moellmann <gerd@gnu.org>
4787
2be8f184
GM
4788 * xdisp.c (init_from_display_pos): If POS says we're already after
4789 an overlay string ending at POS, make sure to pop the iterator
4790 because it will be in front of that overlay string. When POS is
4791 ZV, we've thereby also ``processed'' overlay strings at ZV.
4792
ba193890
GM
4793 * xfaces.c (lface_from_face_name): Function comment fix.
4794
1862a24e
MB
47952000-11-24 Miles Bader <miles@gnu.org>
4796
4797 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4798 apply `mode-line-inverse-video' -- zero means force display using
4799 the default face, non-zero means display using the specialized face.
4800 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4801
f07fa1b8
KH
48022000-11-23 Kenichi Handa <handa@etl.go.jp>
4803
4804 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4805 hard coded `4'.
4806
2bcdf662
EZ
48072000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4808
4809 * coding.c (decode_coding_emacs_mule): Fix the case of
4810 CODING_EOL_LF, which used uninitialized value of c.
4811
ba8299ff
SM
48122000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4813
4814 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4815
f4117c4d
GM
48162000-11-22 Gerd Moellmann <gerd@gnu.org>
4817
03e757c1
GM
4818 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4819 buffer object.
4820
f4117c4d
GM
4821 * frame.h (struct frame): Replace desired_tool_bar_items,
4822 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4823 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4824
4825 * frame.c (make_frame): Change initialization of tool bar
4826 items accordingly.
4827
4828 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4829 Change references to members deleted from struct frame to use the
f4117c4d
GM
4830 new ones.
4831
4832 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4833 references to members deleted from struct frame to use the new ones.
f4117c4d 4834
52283633 4835 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4836
4837 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4838
4839 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4840 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4841 from struct frame to use the new ones.
4842
f8e2f3f2
MB
48432000-11-23 Miles Bader <miles@gnu.org>
4844
4845 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4846 the face's inverse-video attribute, rather than overriding it.
4847
60e8e0a5
GM
48482000-11-22 Gerd Moellmann <gerd@gnu.org>
4849
4850 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4851 making tool bar smaller.
4852
92dd1b29
DL
48532000-11-22 Dave Love <fx@gnu.org>
4854
4855 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4856
e672fdce
MB
48572000-11-22 Miles Bader <miles@gnu.org>
4858
3a17d6cc
MB
4859 * keyboard.c (Vminibuffer_message_timeout): New variable.
4860 (command_loop_1): Use it to determine message timeout.
4861 (syms_of_keyboard): Initialize it.
4862
60e8e0a5 4863 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4864
e9655d81
KH
48652000-11-22 Kenichi Handa <handa@etl.go.jp>
4866
4867 * sysdep.c: Move the code for declaring h_errno after #include
4868 <netdb.h>.
4869
77270fac
GM
48702000-11-21 Gerd Moellmann <gerd@gnu.org>
4871
cd913aae
GM
4872 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4873 the menu bar when the tooltip is unmapped.
4874
77270fac
GM
4875 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4876 sole visible buffer when we're currently in the mini-buffer, and
4877 give up if so.
52283633 4878
556635d6
JR
48792000-11-21 Jason Rumney <jasonr@gnu.org>
4880
4881 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4882 put on the clipboard.
4883 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4884 copy of what Emacs last put there. If they are the same, do not
52283633 4885 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4886
5b7bde64
MB
48872000-11-22 Miles Bader <miles@gnu.org>
4888
4889 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4890 (syms_of_minibuf): Initialize it.
4891 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4892 to prompt, don't make read-only.
4893
ff23e1dd
GM
48942000-11-21 Gerd Moellmann <gerd@gnu.org>
4895
52283633
SM
4896 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4897 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4898
7aaf4388
GM
4899 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4900
f5f47add 4901 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4902
ff23e1dd
GM
4903 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4904
37c35586
KH
49052000-11-21 Kenichi Handa <handa@etl.go.jp>
4906
4907 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4908 ... #endif scope.
4909
ff9ab414
GM
49102000-11-20 Gerd Moellmann <gerd@gnu.org>
4911
52283633 4912 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4913 screen supports it.
4914
29a01b72
GM
4915 * s/gnu-linux.h: Don't use `#cpu'.
4916
09dfdf85
GM
4917 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4918 not defined in mman.h.
4919
52283633 4920 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4921 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4922 and store an index in the XClientMessageEvent. Storing a
4923 Lisp_Object or pointer can fail on a 64 bit system, since X only
4924 transfers 32 bits.
52283633
SM
4925 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4926
81459ac9
DL
49272000-11-20 Dave Love <fx@gnu.org>
4928
4929 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4930
56c13ae6
GM
49312000-11-20 Gerd Moellmann <gerd@gnu.org>
4932
4933 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4934
495a6df3
KH
49352000-11-20 Kenichi Handa <handa@etl.go.jp>
4936
2bcf3714
KH
4937 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4938 by WIDTH.
4939
495a6df3
KH
4940 * alloc.c (make_string): Fix previous change. Be sure to make
4941 unibyte string correctly.
4942
6d950f4c
GM
49432000-11-19 Gerd Moellmann <gerd@gnu.org>
4944
39b39373
GM
4945 * window.c (Fwindow_list): Change parameter list to be XEmacs
4946 compatible.
4947 (window_list_1): New function.
4948 (window_loop): Use it instead of Fwindow_list.
4949
b95b34e5
GM
4950 * sysdep.c (emacs_ospeed): New variable.
4951 (toplevel): Don't declare ospeed extern.
4952 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4953
4954 * termcap.c (ospeed): Remove.
4955 (tputs) [!emacs]: Remove unused code.
4956 (tgetent): Avoid a compiler warning.
4957
e83dc917
GM
4958 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4959 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4960 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4961
4962 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4963 removed.
4964 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4965 Take the X display as additional argument.
4966 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4967 `Widget' is a pointer type that's not easily stored in Lisp_Object
4968 form in a portable way.
52283633 4969
6d950f4c
GM
4970 * dispnew.c (update_text_area): Fix last change.
4971
e47306e6
GM
49722000-11-18 Gerd Moellmann <gerd@gnu.org>
4973
fb3cd89b
GM
4974 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4975
4976 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4977 clear current matrices.
4978
edaa9aed
GM
4979 * buffer.c (mmap_enlarge): Don't print a message on stderr
4980 if mapping new memory at the end of the existing region fails.
4981
e47306e6
GM
4982 * dispnew.c (update_text_area): Don't skip over equal glyphs
4983 when the last current glyph overlaps the glyph to its right.
4984
509633e3
MB
49852000-11-18 Miles Bader <miles@gnu.org>
4986
4987 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4988 lines that *end* with "..." too (that's the most common case!).
4989
d392e9c5
GM
49902000-11-18 Gerd Moellmann <gerd@gnu.org>
4991
67988445
GM
4992 * xdisp.c (resize_mini_window): Temporarily change to the
4993 mini-window's buffer if necessary.
1bfdbe43 4994
d392e9c5
GM
4995 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4996 the tooltip obscures less text under it.
4997
49982000-11-17 Gerd Moellmann <gerd@gnu.org>
4999
5000 * puresize.h (BASE_PURESIZE): Increase to 700000.
5001
92bb977f
JR
50022000-11-18 Jason Rumney <jasonr@gnu.org>
5003
5004 * w32term.c (w32_draw_bitmap): Use face to set colors.
5005
26fbf20b
DL
50062000-11-17 Dave Love <fx@gnu.org>
5007
5008 * lread.c (Fload): Fix #ifdef for pcc.
5009
100b593b
GM
50102000-11-17 Gerd Moellmann <gerd@gnu.org>
5011
5012 * xdisp.c (pos_visible_p): Compute the default character height
5013 differently.
5014
a288d0d1
GM
50152000-11-16 Gerd Moellmann <gerd@gnu.org>
5016
cac94de6 5017 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5018 knowing the line's height; use the default font's height in that case.
cac94de6 5019
a288d0d1
GM
5020 * xfaces.c (weight_table): Add `demi' with the same meaning as
5021 `demibold'.
5022
981fb6f6
KH
50232000-11-16 Kenichi Handa <handa@etl.go.jp>
5024
2cca872d 5025 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5026 (clear_glyph_row): Delete local static variable null_row.
5027
e5fa381b
JR
50282000-11-15 Jason Rumney <jasonr@gnu.org>
5029
5030 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5031 (w32_alloc_lighter_color): Use new brightness calculations from
5032 xterm.c. Scale delta to be in the range expected by W32.
5033 (w32_draw_relief_rect): Use frame relief colors.
5034
8e42f043
GM
50352000-11-15 Gerd Moellmann <gerd@gnu.org>
5036
6d133d1f
GM
5037 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5038 (Qinhibit_default_face_x_resources): New variable.
5039 (syms_of_frame): Initialize it.
5040 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5041
5042 * xdisp.c (pos_visible_p): Improve function comment.
5043
5044 * lisp.h (BINDING_STACK_SIZE): New macro.
5045
8e42f043
GM
5046 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5047 reading the directory if readdir returns null and errno is EAGAIN
5048 or EINTR.
5049
e8c87124
SM
50502000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5051
5052 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5053 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5054 Set amount_to_scroll to max of dx and scroll_step so that
5055 scroll-conservatively doesn't defeat scroll-step>1.
5056 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5057 scroll-conservatively for line-at-a-time scrolling.
5058
5f0c971d
GM
50592000-11-14 Gerd Moellmann <gerd@gnu.org>
5060
5061 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5062 extra argument.
5063
5064 * xdisp.c (current_mode_line_height, current_header_line_height):
5065 New variables.
5066 (init_xdisp): Initialize them.
5067 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5068 and use exact mode line heights if it is set.
5069
5070 * lisp.h (pos_visible_p): Change prototype.
5071
5072 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5073 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5074 and current_header_line_height first.
52283633
SM
5075 (current_mode_line_height, current_header_line_height):
5076 Declare extern.
5f0c971d 5077
d7361edf
MB
50782000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5079
5080 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5081 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5082 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5083
ee5e440a
MB
50842000-11-14 Miles Bader <miles@gnu.org>
5085
5086 * xterm.c (x_alloc_lighter_color): Include an additive component
5087 too for dark colors, because FACTOR isn't enough.
5088 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5089 New macros.
5090
5ca020fc
GM
50912000-11-13 Gerd Moellmann <gerd@gnu.org>
5092
5093 * keyboard.c (show_help_echo): Call message3_nolog with number of
5094 bytes in the help string as 2nd parameter, instead of the number
5095 of characters.
5096
9d348294
MB
50972000-11-13 Miles Bader <miles@gnu.org>
5098
5099 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5100 (Fload): Use new openp return protocol.
5101 Don't try to use Vload_source_file_function to load .elc files.
5102 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5103 openp return protocol.
5104 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5105
1729bb9a
KH
51062000-11-11 Kenichi Handa <handa@etl.go.jp>
5107
4e677396
KH
5108 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5109
5110 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5111 Defined these macros.
5112 (NLIST_STRUCT): Avoid re-defining it.
5113
1729bb9a
KH
5114 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5115 -I/usr/contrib/X11R6/include.
5116 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5117
a82fe213
JR
51182000-11-10 Jason Rumney <jasonr@gnu.org>
5119
5120 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5121
5122 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5123 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5124
5125 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5126 (Qw32_charset_vietnamese): New symbol.
5127 (xlfd_charset_of_font): New function.
5128 (w32_load_system_font): Use it.
5129 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5130 when Vw32_charset_info_alist is nil to ensure default face always
5131 has font. Use Fcar and Fcdr for safety.
5132 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5133 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5134 pseudo-codepages for special cases.
5135 (w32_to_x_font): New parameter to allow charset portion to be
5136 specified where there is many to one mapping. Callers changed.
5137 (w32_list_fonts): Avoid listing fonts that won't display.
5138
52d89894
GM
51392000-11-10 Gerd Moellmann <gerd@gnu.org>
5140
5141 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5142 (font_list_1): Renamed from font_list.
5143 (font_list): New function, trying alternative registries from
5144 Vface_alternative_font_registry_alist.
5145 (Finternal_set_alternative_font_registry_alist): New function.
5146 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5147 Vface_alternative_font_registry_alist.
5148 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5149
651cd3da
KR
51502000-11-09 Ken Raeburn <raeburn@gnu.org>
5151
5152 * lisp.h (Flooking_at): Declare.
5153
388ac098
GM
51542000-11-09 Gerd Moellmann <gerd@gnu.org>
5155
778fbc46 5156 * dired.c (directory_files_internal): Fix a braino.
52283633 5157
388ac098
GM
5158 * dired.c (directory_files_internal): Add missing GCPRO's.
5159 Some cleanup.
5160
ecaedde1
GM
51612000-11-08 Gerd Moellmann <gerd@gnu.org>
5162
f7eb32aa
GM
5163 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5164 (resize_mini_window): Return quickly if Vresize_mini_window is
5165 nil. Don't return if Vmax_mini_window_height is nil.
5166
5167 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5168 (syms_of_xdisp): Initialize them.
5169 (resize_mini_window): Act according to the setting of
5170 Vresize_mini_window.
5171 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5172
ecaedde1
GM
5173 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5174 scroll bar widget after configuring it, so that it will appear at
5175 the right position from the start.
5176 (XTredeem_scroll_bar): Cleaned up.
5177
3747ef2c
KH
51782000-11-08 Kenichi Handa <handa@etl.go.jp>
5179
5180 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5181 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5182 division by two.
5183
5184 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5185
03391420
DL
51862000-11-07 Dave Love <fx@gnu.org>
5187
7758f1c1 5188 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5189
5190 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5191
b5de343d
GM
51922000-11-07 Gerd Moellmann <gerd@gnu.org>
5193
acad3c0b
GM
5194 * window.c (Fset_window_configuration): Don't try to preserve
5195 point in the current buffer, if that buffer is displayed in more
5196 than one window.
5197
b5de343d
GM
5198 * xfaces.c (lookup_named_face): If default face isn't realized,
5199 try to realize it. Return -1 if not successful.
5200 (Fx_list_fonts): Handle case that face cannot be determined.
5201 (Fface_font): Likewise.
5202
cdb1fe49
GM
52032000-11-06 Gerd Moellmann <gerd@gnu.org>
5204
5205 * window.c (displayed_window_lines): Detect partially
5206 visible lines at the bottom correctly.
5207
d3a67486
SM
52082000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5209
5210 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5211 when ensuring we don't do visit in indirect buffer.
5212
ff8dd5d5
KH
52132000-11-06 Kenichi Handa <handa@etl.go.jp>
5214
5215 * composite.h (compose_chars_in_text): Add prototype.
5216
5217 * composite.c (Vcomposition_function_table): New variable.
5218 (Qcomposition_function_table): New variable.
5219 (run_composition_function): Call
5220 Vcompose_chars_after_function with three arguments.
5221 (compose_chars_in_text): New function.
5222 (syms_of_composite): Modified the doc-string of
5223 Vcompose_chars_after_function. Declare composition-function-table
5224 as a lisp variable, and initialize it.
5225
5226 * xfns.c (x_encode_text): Suppress producing escape sequences for
5227 composition.
5228
5229 * xselect.c: Include composite.h.
5230 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5231
d1145f85
AI
52322000-11-05 Andrew Innes <andrewi@gnu.org>
5233
5234 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5235
5236 * sysdep.c (read_input_waiting): Remove extraneous argument to
5237 read_socket_hook.
5238
5239 * w32fns.c (Fx_server_version): Include w32_build_number in the
5240 return list.
5241
5242 * w32heap.c (w32_build_number): New variable.
5243 (cache_system_info): Set it.
5244
5245 * w32heap.h (w32_build_number): Add extern.
5246
5247 * emacs.c (syms_of_emacs): Update docstring for
5248 system-configuration, to reflect the actual usage on MS-Windows.
5249
e85ee976
GM
52502000-10-31 Gerd Moellmann <gerd@gnu.org>
5251
26dcb81b
GM
5252 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5253 process idle timers while waiting for another event.
5254
52283633 5255 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5256 the default face are colored.
5257
e85ee976
GM
5258 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5259 window height hasn't changed.
5260
01b220b6
JR
52612000-10-31 Jason Rumney <jasonr@gnu.org>
5262
5263 * w32term.c (x_produce_glyphs): Handle composite characters.
5264 (x_draw_glyph_string_foreground)
5265 (x_draw_composite_glyph_string_foreground): Restore old font.
5266
4e6b7204
MB
52672000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5268
5269 * minibuf.c (read_minibuf): Reset the undo history just before
5270 starting the recursive-edit.
5271
d4358b37
GM
52722000-10-30 Gerd Moellmann <gerd@gnu.org>
5273
563f68f1
GM
5274 * xfaces.c (menu_face_change_count): New variable.
5275 (Finternal_set_lisp_face_attribute): Increment it for changes
5276 of the `menu' face.
5277 (realize_basic_faces): Reflect changes in the `menu' faces
5278 in menu bars.
5279
82e274d1
GM
5280 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5281 dy obtained from the iterator's y-position after moving from
5282 scroll_margin_pos to PT; see comment there.
52283633 5283
0dbf9fd2
GM
5284 * xdisp.c (safe_eval_handler): Call add_to_log.
5285
906b3b14
GM
5286 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5287 is not a symbol or string.
5288
d4358b37
GM
5289 * xdisp.c (echo_area_display): Don't perform a display update from
5290 inside redisplay. The update will happen anyway at the end of
5291 redisplay, and it can confuse redisplay (GC messages while
5292 redisplaying, for instance.)
5293
70c825df
SM
52942000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5295
cf9b4b0b
SM
5296 * xrdb.c (x_load_resources): Use the class name in the defaults.
5297
70c825df
SM
5298 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5299 (regex_compile): Catch bogus \(\1\).
5300
a1d34b1e
GM
53012000-10-30 Gerd Moellmann <gerd@gnu.org>
5302
cae71efe
GM
5303 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5304 RGB values.
52283633 5305
35efe0a1
GM
5306 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5307 we have a color cache, check that the cached color equals the
5308 allocated color. If not, clear the color cache.
5309
1d3baf74
GM
5310 * window.c (displayed_window_lines): Change buffers if necessary.
5311 Fix computation of displayed lines.
5312
a1d34b1e
GM
5313 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5314 update_menu_bindings to DEFVAR_BOOL.
5315
70737ea9
KH
53162000-10-30 Kenichi Handa <handa@etl.go.jp>
5317
70c825df 5318 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5319
fa0cb51d
KH
5320 * puresize.h (BASE_PURESIZE): Increase to 680000.
5321
70737ea9
KH
5322 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5323
0e4c08e8
JR
53242000-10-29 Jason Rumney <jasonr@gnu.org>
5325
5326 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5327
5328 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5329 (w32_cache_char_metrics): Handle possibility that 'x' does not
5330 exist in a BDF font.
5331 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5332
5333 * w32bdf.h (bdffont): Add nchars.
5334
5335 * w32bdf.c (set_bdf_font_info): Set it.
5336 (w32_BDF_TextOut): Swap byte order of double byte characters.
5337 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5338
45b84006
EZ
53392000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5340
5341 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5342 don't override the colors in frame's param_alist, unless they are
5343 unspecified.
5344
5345 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5346 reverse the effect of the highlight flag.
5347
caf9deee
KR
53482000-10-27 Ken Raeburn <raeburn@gnu.org>
5349
5350 * window.h (Fwindow_live_p): Declare.
5351
ae0b9b46
KR
5352 * undo.c (record_delete): Check that last_undo_buffer is really a
5353 buffer before applying XBUFFER to it.
5354
5355 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5356 Faref.
5357
02067692
SM
53582000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5359
5360 * lisp.h (KEYMAPP): New macro.
5361 (get_keymap): Remove.
5362 (get_keymap_1): Rename get_keymap.
5363
5364 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5365
5366 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5367
5368 * xmenu.c (single_submenu): Use KEYMAPP.
5369 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5370 Use KEYMAPP rather than Fkeymapp.
5371
5372 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5373
5374 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5375 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5376 Use KEYMAPP rather than Fkeymapp.
5377 (single_submenu): Use KEYMAPP.
5378 (w32_menu_show, w32_dialog_show): Use TRUE.
5379
5380 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5381
5382 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5383 (Fkeymapp): Use KEYMAPP.
5384 (get_keymap): Rename from get_keymap_1. Remove old def.
5385 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5386 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5387 (Fminor_mode_key_binding): Don't raise an error if the binding
5388 is not a keymap.
5389 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5390 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5391
5392 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5393 Allow Vspecial_event_map to be autoloaded.
5394 (menu_bar_items): Fetch the keymap rather than using keymapp.
5395 (menu_bar_one_keymap): No need to follow func-indirect any more.
5396 (parse_menu_item): get_keymap_1 -> get_keymap.
5397 (tool_bar_items): Fetch the keymap rather than using keymapp.
5398 (read_key_sequence): Use KEYMAPP.
5399
5400 * intervals.c (get_local_map): Use get_keymap rather than following
5401 function-indirections explicitly.
5402
5403 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5404
f9d80af3
JR
54052000-10-27 Jason Rumney <jasonr@gnu.org>
5406
5407 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5408 point, as Windows has oversized fonts.
5409
5410 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5411
a3ba27da
GM
54122000-10-27 Gerd Moellmann <gerd@gnu.org>
5413
5414 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5415 (freehook, reallochook): Handle null pointer arguments.
5416 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5417
aa3b80cc
SM
54182000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5419
5420 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5421 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5422 Giving in to popular pressure to shut up the compiler with casts.
5423
e24e84cc
GM
54242000-10-27 Gerd Moellmann <gerd@gnu.org>
5425
5426 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5427 signed value, and use a default value computed from the font's
5428 maximum descent.
5429
05ea7ef2
MB
54302000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5431
5432 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5433 that specify a negative underline position can still use underlines.
5434
5435 * window.c (Fpos_visible_in_window_p): Make POS default to
5436 WINDOW's point, not the current buffer's point.
5437
0b95284b
DL
54382000-10-26 Dave Love <fx@gnu.org>
5439
5440 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5441 when it's necessary.
5442
6c5b90af
GM
54432000-10-26 Gerd Moellmann <gerd@gnu.org>
5444
8b6d9dc9
GM
5445 * window.c (size_window): Compute size difference from sum of old
5446 child window sizes instead of from parent's size.
5447
6bc92b2e
GM
5448 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5449 Handle obscured lines at the top of the window.
5450
5451 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5452 down after the last error condition check.
5453
6c5b90af
GM
5454 * frame.c (Fdelete_frame): Run delete-frame-hook.
5455
42f92d4d
KH
54562000-10-26 Kenichi Handa <handa@etl.go.jp>
5457
5458 * coding.c (decode_coding): Fix previous change (check also
5459 CODING_MODE_LAST_BLOCK).
5460
d97151cb
SM
54612000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5462
e7efc503
SM
5463 * regex.c: More `unsigned char' -> `re_char' changes.
5464 Also change several `int' into `re_wchar_t'.
5465 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5466 (PUSH_FAILURE_POINTER): Don't cast any more.
5467 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5468 We want GCC to complain, since this piece of code makes
5469 re_match non-reentrant, which *should* be fixed.
5470 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5471 (EXTEND_BUFFER): Use RETALLOC.
5472 (SET_LIST_BIT): Don't cast.
5473 (re_wchar_t): New type.
5474 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5475 that those two functions will always properly return.
5476 (IMMEDIATE_QUIT_CHECK): Cast to void.
5477 (analyse_first): Use recursion rather than an explicit stack.
5478 (re_compile_fastmap): Can't fail anymore.
5479 (re_search_2): Don't check re_compile_fastmap for failure.
5480 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5481 Now also sets the new value (passed in a new argument).
5482 (re_match_2_internal): Use it.
5483 Also, use a new var `reg' of type size_t when looping through regs
5484 rather than reuse the inappropriate `mcnt'.
5485
d97151cb
SM
5486 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5487 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5488 (where_is_internal): Renamed from Fwhere_is_internal.
5489 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5490 (Fwhere_is_internal): New function wrapping where_is_internal.
5491 (where_is_internal_1): Handle the case where we're filling the cache.
5492 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5493
d5789b65
MB
54942000-10-25 Miles Bader <miles@gnu.org>
5495
5496 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5497
4ecda532
GM
54982000-10-25 Gerd Moellmann <gerd@gnu.org>
5499
5500 * window.c (pos_fully_visible_p): Removed.
5501 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5502 if position is visible and/or fully visible.
5503
5504 * lisp.h (pos_visible_p): Add prototype.
5505
5506 * xdisp.c (pos_visible_p): New function.
5507
68c3a137
KH
55082000-10-25 Kenichi Handa <handa@etl.go.jp>
5509
5510 * process.c (send_process): If OBJECT is t, it means that the data
5511 is from C string, but we should encode it. Before calling
5512 setup_raw_text_coding_system, be sure to flush out data by the
5513 previous coding system.
5514
7ae1c032
MB
55152000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5516
ff4dcd4b
MB
5517 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5518 assignment of startpos to prev when startpos == pos.
5519
7ae1c032
MB
5520 * editfns.c (find_field): Set the field stickiness correctly from
5521 overlay fields. Use renamed `text_property_stickiness'.
5522 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5523 Only check text properties, not overlays.
7ae1c032
MB
5524 * textprop.c (get_char_property_and_overlay): New function.
5525 (Fget_char_property): Use it.
5526 * intervals.h (get_char_property_and_overlay): Add declaration.
5527
49801145
SM
55282000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5529
5530 * keymap.c: Use AREF, ASET and ASIZE macros.
5531 (Fmake_sparse_keymap): Docstring fix.
5532 (synkey): Remove.
5533 (shadow_lookup): Move up.
5534 Handle the case where lookup-key returns an integer.
5535 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5536 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5537 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5538 Simplify/rewrite the keymap-finding code.
5539 Add check for command shadowing, using shadow_lookup.
5540
39e776cd
SM
55412000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5542
5543 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5544 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5545 a symbol.
5546
2488aba5
AI
55472000-10-24 Andrew Innes <andrewi@gnu.org>
5548
5549 * dired.c (directory_files_internal_unwind): New function.
5550 (directory_files_internal): Use it to ensure closedir is called
5551 even if expand-file-name or file-attributes throw, eg. because of
5552 a user interrupt. Also enable immediate_quit while calling
5553 re_search, so that matching can be interrupted as well.
5554
b94fdf61
AI
55552000-10-24 Andrew Innes <andrewi@gnu.org>
5556
5557 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5558 NT-Emacs only.
5559 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5560 so that re_search functions only quit when callers expect them to.
5561
55622000-10-24 Kenichi Handa <handa@etl.go.jp>
5563
5564 * regex.c (regex_compile): Change the way of handling a range from
5565 a char less than 256 to a char not less than 256.
5566
1946f901
GM
55672000-10-24 Gerd Moellmann <gerd@gnu.org>
5568
7ae2f10f
GM
5569 * window.c (size_window): Prevent setting window's width or
5570 height to a negative value (esp. with XSETFASTINT).
5571
5dcab13e
GM
5572 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5573 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5574 (protect_malloc_state) [GC_MALLOC_CHECK &&
5575 GC_PROTECT_MALLOC_STATE]: New function.
5576 (PROTECT_MALLOC_STATE): New macro.
5577 (__malloc_initialize, morecore, _malloc_internal)
5578 (_free_internal) _realloc_internal): Use it to make _heapinfo
5579 read-only outside of gmalloc.
5580
63e1b552
GM
5581 * keymap.c: Update copyright.
5582
1946f901
GM
5583 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5584 a symbol.
5585
4fa09beb
GM
55862000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5587
5588 * filelock.c (unlock_all_files): Use unlock_file to expand each
5589 buffer's file_truename before trying remove its lock file.
5590
23afac01
EZ
55912000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5592
5593 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5594 or CRLF, decode EOLs.
5595
04448b95
KH
55962000-10-24 Kenichi Handa <handa@etl.go.jp>
5597
5598 * window.c (Fdisplay_buffer): Fix doc.
5599
3090a5a5
JR
56002000-10-23 Jason Rumney <jasonr@gnu.org>
5601
5602 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5603 ASCII font of default fontset on Windows.
5604
5605 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5606 xterm.c comment below).
5607
5608 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5609
a83fee2c
GM
56102000-10-23 Gerd Moellmann <gerd@gnu.org>
5611
5612 * xterm.c (x_connection_closed): Reset handling_signal.
5613
52283633 5614 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5615
6ffdb539
MB
56162000-10-23 Miles Bader <miles@gnu.org>
5617
5618 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5619 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5620 maintain old behavior.
5621 * minibuf.c (Fminibuffer_complete): Likewise.
5622
7f1c969b
MB
56232000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5624
5625 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5626 that when a font can't be exactly centered, it errs up rather than
5627 down.
5628
23afac01 56292000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5630
52283633 5631 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5632
1a578e9b
AC
56332000-10-23 Andrew Choi <akochoi@i-cable.com>
5634
5635 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5636
5637 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5638 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5639
5640 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5641 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5642 syms_of_search, x_term_init, and init_keyboard before calling
5643 init_window_once. Also, call syms_of_xmenu.
5644
5645 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5646 default fontset to Monaco.
5647
5648 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5649 NewMacWindow and DisposeMacWindow.
5650 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5651 instead of calling NewMacWindow and setting fields of
5652 f->output_data.mac directly. Call init_frame_faces.
5653 (Fdelete_frame) [macintosh]: Remove unused code.
5654 (Fmodify_frame_parameters) [macintosh]: Call
5655 x_set_frame_parameters instead of mac_set_frame_parameters.
5656
5657 * frame.h [macintosh]: Define menu_bar_lines field in struct
5658 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5659
5660 * keyboard.c [macintosh]: Include macterm.h.
5661 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5662 and menu_bar_activate_event type events as for X and NT.
5663 (make_lispy_event) [macintosh]: Construct lisp events of type
5664 MENU_BAR_EVENT as for X and NT.
5665
5666 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5667 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5668 (sys_subshell) [macintosh]: Remove definition entirely.
5669 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5670 Vwindow_system_version here. Remove initialization of
5671 Vx_bitmap_file_path.
5672 (read_input_waiting): Correct the number of parameters passed to
5673 read_socket_hook.
5674 Move all Macintosh functions to mac/mac.c.
5675
5676 * term.c [macintosh]: Include macterm.h.
5677
5678 * window.c [macintosh]: Include macterm.h.
5679
5680 * xdisp.c [macintosh]: Include macterm.h. Declare
5681 set_frame_menubar and pending_menu_activation.
5682 (echo_area_display) [macintosh]: Do not return if terminal frame
5683 is the selected frame.
5684 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5685 Allow only the selected frame to set menu bar.
5686 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5687 calling FRAME_EXTERNAL_MENU_BAR (f).
5688 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5689
5690 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5691 and check_x. Declare XCreateGC. Define x_create_gc and
5692 x_free_gc. Initialize font_sort_order.
5693 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5694 but call x_list_fonts instead of w32_list_fonts.
5695 (Finternal_face_x_get_resource) [macintosh]: Do not call
5696 display_x_get_resource.
5697 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5698 (realize_x_face) [macintosh]: Load the font if it is specified in
5699 ATTRS.
52283633 5700 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5701
1ffbabe3
SM
57022000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5703
5704 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5705 is nil: since we go to the end of submap anyway, we'd end up
5706 setting nil to nil.
5707 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5708 doesn't obey autoload.
5709
bed43f1d
EZ
57102000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5711
1ffbabe3 5712 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5713
ea4233a7
JR
57142000-10-21 Jason Rumney <jasonr@gnu.org>
5715
5716 * w32term.c (w32_cache_char_metrics): Double check that font is
5717 really fixed pitch before trusting tmPitchAndFamily.
5718
f3d3c491
AI
57192000-10-21 Andrew Innes <andrewi@gnu.org>
5720
5721 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5722
5723 * w32term.h: Extern decl for w32_cache_char_metrics.
5724
5725 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5726
5727 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5728 (w32_unload_font): Free per_char array if present.
5729
5730 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5731 cached information in emulated XFontStruct to handle common cases
5732 quickly. Do not allocate XCharStruct for return.
5733 (w32_native_per_char_metric): New function.
5734 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5735 allocating one.
5736 (x_produce_glyphs): Don't get an HDC. Change calls to
5737 w32_per_char_metric to match arg change above. Remove calls to
5738 free results.
5739 (w32_get_glyph_overhangs): Ditto.
5740 (w32_cache_char_metrics): New function.
5741
5742 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5743 ($(BLD)/casefiddle.$(O)): Remove compile command.
5744 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5745 ($(BLD)/dispnew.obj):
5746 ($(BLD)/keyboard.obj):
5747 ($(BLD)/w32inevt.obj):
5748 ($(BLD)/w32bdf.obj):
5749 ($(BLD)/alloc.obj):
5750 ($(BLD)/buffer.obj):
5751 ($(BLD)/editfns.obj):
5752 ($(BLD)/emacs.obj):
5753 ($(BLD)/fileio.obj):
5754 ($(BLD)/fns.obj):
5755 ($(BLD)/indent.obj):
5756 ($(BLD)/insdel.obj):
5757 ($(BLD)/intervals.obj):
5758 ($(BLD)/minibuf.obj):
5759 ($(BLD)/print.obj):
5760 ($(BLD)/scroll.obj):
5761 ($(BLD)/sysdep.obj):
5762 ($(BLD)/textprop.obj):
5763 ($(BLD)/widget.obj):
f3d3c491
AI
5764 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5765 ($(BLD)/term.obj): Add dependency on dispextern.h.
5766
52283633
SM
5767 * makefile.nt ($(BLD)\dispnew.obj):
5768 ($(BLD)\keyboard.obj):
5769 ($(BLD)\w32inevt.obj):
5770 ($(BLD)\w32bdf.obj):
5771 ($(BLD)\alloc.obj):
5772 ($(BLD)\buffer.obj):
5773 ($(BLD)\editfns.obj):
5774 ($(BLD)\emacs.obj):
5775 ($(BLD)\fileio.obj):
5776 ($(BLD)\fns.obj):
5777 ($(BLD)\indent.obj):
5778 ($(BLD)\insdel.obj):
5779 ($(BLD)\intervals.obj):
5780 ($(BLD)\minibuf.obj):
5781 ($(BLD)\print.obj):
5782 ($(BLD)\scroll.obj):
5783 ($(BLD)\sysdep.obj):
5784 ($(BLD)\textprop.obj):
5785 ($(BLD)\widget.obj):
f3d3c491
AI
5786 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5787 ($(BLD)\term.obj): Add dependency on dispextern.h
5788
18ad4821
EZ
57892000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5790
5791 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5792 with an additional argument of Qt.
5793
de54681a
MB
57942000-10-21 Miles Bader <miles@gnu.org>
5795
5796 * window.c (pos_fully_visible_in_window_p): New function.
5797 (Fpos_visible_in_window_p): Add FULLY argument.
5798 Use pos_fully_visible_in_window_p.
5799 (window_scroll_pixel_based, window_scroll_line_based): Update
5800 calls to Fpos_visible_in_window_p.
5801 * lisp.h (Fpos_visible_in_window_p): Update prototype
5802
13c844fb
GM
58032000-10-20 Gerd Moellmann <gerd@gnu.org>
5804
5805 * alloc.c (toplevel): Conditionalize compilation of mem_*
5806 functions differently.
52283633 5807
d9506268
JR
58082000-10-20 Jason Rumney <jasonr@gnu.org>
5809
5810 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5811 mem_init where it used to be. mem_z etc not defined otherwise.
5812
8094989b
GM
58132000-10-20 Gerd Moellmann <gerd@gnu.org>
5814
5815 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5816 GC_MALLOC_CHECK.
5817 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5818 structure definition and related variabled to the top of the file.
5819 Include this code when GC_MALLOC_CHECK is defined.
5820 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5821 register/unregister allocated region.
5822 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5823 which isn't allocated.
5824 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5825 something which is already in use.
5826 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5827 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5828 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5829 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5830
5831 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5832 _malloc_internal instead of malloc.
5833 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5834 of free.
5835
ea456eb4
AI
58362000-10-20 Andrew Innes <andrewi@gnu.org>
5837
5838 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5839 Windows.
5840 (my_strftime) <macro>: Don't use macro arg list when redefining as
5841 _strftime_copytm.
5842 (my_strftime) <function>: Supply 0 as ut argument.
5843
e64c3a75
JR
58442000-10-19 Jason Rumney <jasonr@altavista.net>
5845
5846 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5847 including dispextern.h, as it stops faces from working.
5848
5849 * w32fns.c (Fx_create_frame): Don't bother calling
5850 face-set-after-frame-default since the caller does it for us
5851 anyway. Clean up calls to x_get_arg to be consistent with X.
5852
5853 * w32term.c (x_produce_glyphs): Handle
5854 unibyte_display_via_language_environment correctly.
5855 (w32_draw_box_rect): Fix the calculation of width and height.
5856
5857 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5858 as it has stopped working.
5859 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5860 menu-bar.
5861
17401c97
GM
58622000-10-19 Gerd Moellmann <gerd@gnu.org>
5863
5864 * eval.c (skip_debugger): Prevent a compiler warning.
5865 (Fcondition_case): Likewise.
5866 (Fbacktrace_frame): Use a null interactive spec.
5867
773272d8
KH
58682000-10-19 Kenichi Handa <handa@etl.go.jp>
5869
5870 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5871
a42943e9
GM
58722000-10-18 Gerd Moellmann <gerd@gnu.org>
5873
e50517d9
GM
5874 * strftime.c: Sync with glibc, file version 1.78.
5875 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5876 should no longer be used according to ISO 8601.
5877
9035a35a
GM
5878 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5879 no map for meta_prefix_char, don't try to use it as a keymap.
5880 Instead, if T_OK is non-zero, look up a default binding, if any,
5881 otherwise, if T_OK is zero, return nil.
5882
a42943e9
GM
5883 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5884 (x_to_xcolors, png_load): Use x_query_color.
5885
52283633
SM
5886 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5887 New functions.
a42943e9
GM
5888 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5889 which can be slow.
5890 (x_copy_color, x_alloc_lighter_color): Likewise.
5891
5892 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5893 (x_query_color, x_query_colors): Add prototype.
5894
5895 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5896 check_string_bytes only if not noninteractive, increase count to 50.
5897
00de2987
MB
58982000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5899
5900 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5901 markers correctly.
5902
54918e2b
GM
59032000-10-17 Gerd Moellmann <gerd@gnu.org>
5904
1f0b3fd2
GM
5905 * alloc.c (pure_bytes_used): Renamed from pureptr.
5906 (ALIGN): New macro.
5907 (pure_alloc): New function.
5908 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5909 Use it.
5910 (Fpurecopy): Use PURE_POINTER_P.
5911
68c5d1db
GM
5912 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5913 PT has moved backward.
52283633 5914
9a038881
GM
5915 * xdisp.c (cursor_row_p): Take continued lines into account.
5916
361b097f
GM
5917 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5918 string's size_byte.
5919 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5920 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5921 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5922 string allocated.
5923
54918e2b
GM
5924 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5925 of selective display off while searching for the next line start.
5926
03ed0806
KH
59272000-10-17 Kenichi Handa <handa@etl.go.jp>
5928
5929 * Makefile.in (term.o): Depend on dispextern.h.
5930
7e05cdaf
SM
59312000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5932
5933 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5934
a6801fd1
GM
59352000-10-16 Gerd Moellmann <gerd@gnu.org>
5936
483de32b
GM
5937 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5938 the iterator at the beginning, so that they can be set later on,
5939 for instance in reseat_at_next_visible_line_start, without being
5940 overwritten.
5941
a6801fd1
GM
5942 * xfns.c (pbm_format): Add :foreground and :background keywords.
5943 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5944 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5945
dbf1fcc1
EZ
59462000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5947
5948 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5949
52283633 5950 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5951
5952 * msdos.c (IT_set_face): Compare highlighted face with the default
5953 face, and invert colors if these faces' colors are identical.
5954 (Fmsdos_remember_default_colors): Don't swap foreground and
5955 background colors in initial_colors[].
5956 (IT_set_frame_parameters): Don't swap frame's foreground and
5957 background pixels. If ALIST includes "(reverse . t)", swap
5958 foreground-color and background-color properties in frame's
5959 param_alist. If the original frame's param_alist doesn't specify
5960 the colors, store unspecified-fg and unspecified-bg, reversed if
5961 required.
5962
5963 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5964 the colors are unspecified and reversed, reverse fore- and back-
5965 ground in the returned value.
5966 (Fframe_parameter): Ditto.
5967
b41fe2c3 59682000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5969
3a6b59d9
GM
5970 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5971 get_last_unchanged_at_beg_row.
5972 (find_first_unchanged_at_end_row): Renamed from
5973 get_first_unchanged_at_end_row.
5974 (find_first_unchanged_at_end_row): Convert assertions to
5975 unconditional tests which abort. When looking for a row in
5976 unchanged text, don't go further back than first_text_row.
5977
b41fe2c3
GM
5978 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5979 Don't add in the last line's height when deciding if the new
5980 position is below the scroll margin.
9d1af64f 5981
b41fe2c3 59822000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5983
5984 * editfns.c (Fconstrain_to_field): Check carefully for field
5985 boundaries if either OLD_POS or NEW_POS has a non-nil field
5986 property, even if they're the same.
5987
c412cb7b
KH
59882000-10-16 Kenichi Handa <handa@etl.go.jp>
5989
5990 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5991 height for XFillRectangle.
5992
5586f3eb
SM
59932000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5994
5995 * syntax.c (Fstring_to_syntax): New function extracted from
5996 Fmodify_syntax_entry.
5997 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5998 (skip_chars, Fforward_comment): Remove unused variables.
5999 (syms_of_syntax): Add defsubr for string-to-syntax.
6000 (describe_syntax): Add code for comment and string fences.
6001
db785038
SM
60022000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6003
6004 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6005 Do the meta->esc mapping. Call get_keyelt before returning.
6006 Start scanning from the second element (the first is always `keymap')
6007 to make it easier to detect when we reach a parent map.
6008 Handle the case of inheriting from a symbol whose function is a map.
6009 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6010 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6011 (get_keyelt, Flookup_key): Update call to access_keymap.
6012 Remove the meta->esc mappings.
6013 (define_as_prefix): Delete old disabled code.
6014 (menu_item_p): New function.
6015 (where_is_internal_1): Skip over the few remaining menu items.
6016 * lisp.h (access_keymap): Update prototype.
6017 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6018 Update call to access_keymap.
6019 (follow_key, read_key_sequence): Update calls to access_keymap.
6020 Remove the meta->esc mappings.
6021
cafafe0b
GM
60222000-10-13 Gerd Moellmann <gerd@gnu.org>
6023
a2e2a7f6
GM
6024 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6025 with additional argument.
6026
cafafe0b
GM
6027 * xdisp.c (cursor_row_p): New function.
6028 (try_cursor_movement, display_line): Use it.
52283633 6029
cafafe0b
GM
6030 * xdisp.c (append_space): Also save/restore iterator's current
6031 character and its length.
6032
6033 * xdisp.c (init_from_display_pos): Add an assertion.
6034 (handle_stop): Don't set iterator's add_overlay_start.
6035 (handle_invisible_prop): Likewise.
6036 (load_overlay_strings): If text under an overlay is invisible,
6037 take both before- and after-strings into account when the iterator
6038 is positioned either at the start or at the end of the overlay.
6039 (forward_to_next_line_start): Rewritten.
6040 (reseat_at_next_visible_line_start): Rewritten.
6041 (set_iterator_to_next): Add parameter RESEAT_P.
6042
6043 * dispextern.h (struct it): Remove member add_overlay_start.
6044 (set_iterator_to_next): Change prototype.
6045
c744452b
KH
60462000-10-13 Kenichi Handa <handa@etl.go.jp>
6047
6048 * coding.c (code_convert_region): Be sure to initialize
6049 coding->category_idx.
e4a3f4e1
KH
6050 (decode_coding_string): Set coding->src_multibyte and
6051 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6052 (encode_coding_string): Set coding->src_multibyte and
6053 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6054
321fd26f
SM
60552000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6056
6057 * xfns.c (Fx_create_frame): Don't bother calling
6058 face-set-after-frame-default since the caller does it for us anyway.
6059
76832439
EZ
60602000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6061
6062 * window.c (coordinates_in_window): Fix detection of vertical line
6063 on character terminals.
6064
2483cf58
GM
60652000-10-12 Gerd Moellmann <gerd@gnu.org>
6066
6067 * editfns.c (save_excursion_save): Additionally record the
6068 selected window.
6069 (save_excursion_restore): If buffer was visible in a window, and a
6070 different window was selected, and the old selected window is
6071 still live, restore point in that window.
6072
eb991b25
KH
60732000-10-12 Kenichi Handa <handa@etl.go.jp>
6074
8a0eba09
KH
6075 * xterm.c (x_produce_glyphs): Handle
6076 unibyte_display_via_language_environment correctly.
6077
20401fcc
KH
6078 * regex.c (regex_compile): Change the way of handling a range from
6079 unibyte char to multibyte char.
6080
6081 * syntax.c (skip_chars): Change the way of handling a range from
6082 unibyte char to multibyte char.
6083
eb991b25
KH
6084 * process.c (read_process_output): Cancel previous change.
6085
365dd325
EZ
60862000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6087
c1b096cb
EZ
6088 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6089
365dd325
EZ
6090 * charset.c (Ffind_charset_string): Doc fix.
6091 (Ffind_charset_region): Doc fix.
6092
eb483c2b
KH
60932000-10-11 Kenichi Handa <handa@mule.m17n.org>
6094
6095 * process.c (read_process_output): Fix previous change. Adjust
6096 multibyteness of text to insert in a buffer by
52283633 6097 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6098
b40bfb99
AS
60992000-10-10 Andreas Schwab <schwab@suse.de>
6100
6101 * alloc.c (mark_object): Remove all workarounds installed on
6102 1993-08-08.
6103
caff31d4
KH
61042000-10-10 Kenichi Handa <handa@etl.go.jp>
6105
52283633 6106 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6107 (base64_encode_1): Make it work for a text of multibyte form.
6108 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6109 case. Don't call str_to_multibyte because base64_decode_1
6110 produces correct multibyte form for eight-bit codes.
52283633 6111 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6112 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6113 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6114 codes.
6115
6116 * charset.h (CHAR_STRING): Optimized for single byte characters.
6117
cba026ef
AS
61182000-10-09 Andreas Schwab <schwab@suse.de>
6119
6120 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6121 -1 after socket is closed, to fall through to error processing.
6122
1e21fe48
EZ
61232000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6124
6125 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6126 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6127 background-color, change also the colors of the default face for
6128 this frame.
6129
a640322e
EZ
61302000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6131
6132 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6133 them extern (they are defined on xfaces.c).
6134 (syms_of_msdos): Don't intern and don't staticpro
6135 Qbackground_color and Qforeground_color.
6136
a115794c
EZ
61372000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6138
6139 * frame.c (Fframe_parameter): For non-windowed frames, if
6140 f->param_alist says foreground or background color is unspecified,
6141 call tty_color_name to return the color name computed from the
6142 frame's current colors.
6143
f5533b63
DL
61442000-10-06 Dave Love <fx@gnu.org>
6145
6146 * terminfo.c (ospeed): Don't declare.
6147
6148 * sysdep.c: Don't include string.h.
6149 (h_errno): Declare conditional also on TRY_AGAIN.
6150
6151 * charset.c (Ffind_charset_string): Doc fix.
6152
52283633 6153 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6154 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6155 error messages.
6156
2b06561a
DL
61572000-10-05 Dave Love <fx@gnu.org>
6158
6159 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6160 position like menu-bar.
6161
ca839c85
GM
61622000-10-05 Gerd Moellmann <gerd@gnu.org>
6163
6164 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6165
6166 * xdisp.c (handle_single_display_prop): Use safe_call1.
6167 (safe_call): Renamed from call_function.
6168 (safe_call1): New function.
6169 (handle_fontified_prop): Use safe_call1 instead of call1.
6170 (safe_eval): Renamed from eval_form.
6171 (safe_eval_handler): Renamed from eval_handler.
6172 (handle_single_display_prop, display_mode_element): Use safe_eval
6173 instead of eval_form.
6174
6175 * xfaces.c (merge_face_heights): Use safe_call instead of
6176 call_function.
6177
6178 * keyboard.c (show_help_echo): Use safe_call instead of
6179 call_function; use safe_eval instead of eval_form.
6180
6181 * lisp.h (safe_call): Renamed from call_function.
6182 (safe_eval): Renamed from eval_form.
6183 (safe_call1): Add prototype.
6184
a3489ece
MB
61852000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6186
6187 * xfns.c (image_ascent): Rearrange ascent calculation for the
6188 has-a-font case.
6189
35810b6f
SM
61902000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6191
6192 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6193 (where_is_internal_1): Don't bother ignoring menu-items any more.
6194
3dc78168
GM
61952000-10-04 Gerd Moellmann <gerd@gnu.org>
6196
6197 * keyboard.c (update_menu_bindings): New variable.
6198 (parse_menu_item): Use AREF. If update_menu_bindings
6199 is 0, don't update menu bindings.
6200 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6201
1efc2bb9
EZ
62022000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6203
6204 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6205 to `mark_object'.
6206
3f679f55
SM
62072000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6208
6209 * syntax.c (forw_comment): Match nestedness of ender/starter.
6210 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6211 (prev_char_comstart_first): Remove.
6212 (back_comment): Check two-char comment markers more carefully
6213 to better handle overlapping cases like *//* or /* */* */ ...
6214 Match nestedness of ender/starter.
6215
2021ab61
DL
62162000-10-02 Dave Love <fx@gnu.org>
6217
6218 * config.in (HAVE_GAI_STRERROR): Add undef.
6219
6220 * process.c (Fopen_network_stream): Use it.
6221
6222 * m/alpha.h (NO_REMAP): Don't define.
6223
64e6cc18
GM
62242000-10-02 Gerd Moellmann <gerd@gnu.org>
6225
6226 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6227 return with a string converted to an integer or vice versa when
6228 Vmocklisp_arguments is t.
6229 (Fsignal): Likewise. The function can return for `quit'.
6230 (struct gcpro): Declare member `var' to point to a volatile
6231 Lisp_Object.
6232
6233 * eval.c (error): Prevent compiler warning.
6234
b1904cd9
SM
62352000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6236
6237 * keymap.c (keymap_memberp): New function.
6238 (Fset_keymap_parent): Use it.
6239 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6240 Use keymap_memberp to avoid creating cycles.
6241 (access_keymap): Use KEYMAPP.
6242
71c9ec51
GM
62432000-09-30 Gerd Moellmann <gerd@gnu.org>
6244
6245 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6246 gai_strerror. Make sure xerrno is set if connect fails. Improve
6247 error recovery.
71c9ec51 6248
c70c6b58
JR
62492000-09-29 Jason Rumney <jasonr@gnu.org>
6250
6251 * w32term.c (w32_char_font_type, w32_encode_char)
6252 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6253 (w32_bdf_per_char_metric): New function.
6254 (w32_per_char_metric): Use it.
6255 (x_draw_glyph_string_background): Always draw background for BDF
6256 glyphs.
6257
6258 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6259 GDI object which is a scarce resource.
6260
6261 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6262 (get_quoted_string): Fix limit on memchr search.
6263 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6264 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6265 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6266 (get_cached_font_char, cache_char_offset): Use macro
6267 BDF_CODEPOINT_RANGE_COVER_P.
6268 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6269 (clear_cached_bitmap_slots): New function.
6270 (GET_HEX_VALUE): G-Z, g-z are not hex.
6271 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6272 (get_bitmap_with_cache): Use new cache implementation.
6273 (create_offscreen_bitmap): New function.
6274 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6275
6276 * w32term.c (x_produce_glyphs): If the distance from the current
6277 position to the next tab stop is less than a canonical character
6278 width, use the tab stop after that.
6279 (x_draw_glyphs): Handle case START and END are out of bounds more
6280 carefully.
6281 (x_clear_mouse_face): Block/unblock input.
6282 (x_display_and_set_cursor): Don't show a hollow box cursor for
6283 buffers whose cursor_type is nil.
6284
fe01239f
GM
62852000-09-29 Gerd Moellmann <gerd@gnu.org>
6286
52283633 6287 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6288
6289 * dispextern.h (updating_frame): Declare extern.
6290
e7c52f1f
AS
62912000-09-29 Andreas Schwab <schwab@suse.de>
6292
6293 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6294
de6e1f7c
GM
62952000-09-29 Gerd Moellmann <gerd@gnu.org>
6296
25126faa
GM
6297 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6298 use its function definition.
6299 (tool_bar_items): Likewise.
6300
de6e1f7c 6301 * lisp.h (fatal): Declare NO_RETURN.
52283633 6302
454ee39b
KH
63032000-09-29 Kenichi Handa <handa@etl.go.jp>
6304
6305 * keymap.c: Remove the line "#undef NULL".
6306
96301c5f
GM
63072000-09-28 Gerd Moellmann <gerd@gnu.org>
6308
52283633 6309 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6310
efffeeb4
DL
63112000-09-28 Dave Love <fx@gnu.org>
6312
ecb8b666
DL
6313 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6314
dc3cd20f
DL
6315 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6316
6317 * .gdbinit (xreload): Note its need on GNU/Linux.
6318
efffeeb4
DL
6319 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6320 r_alloc, r_alloc_free.
6321
8610d903
KH
63222000-09-28 Kenichi Handa <handa@etl.go.jp>
6323
6324 * syntax.c (skip_chars): Handle negation correctly.
6325
8901d1ac
GM
63262000-09-27 Gerd Moellmann <gerd@gnu.org>
6327
6f22f1ad
GM
6328 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6329 with non-zero FORCE_P argument.
6330
52283633 6331 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6332 Add assertions.
6333
6334 * xdisp.c (window_box_height): Add an assertion.
6335
6336 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6337 tool-bar than is available.
6338 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6339
36f1966f
DL
63402000-09-27 Dave Love <fx@gnu.org>
6341
efffeeb4 6342 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6343
31d929e5
GM
63442000-09-26 Gerd Moellmann <gerd@gnu.org>
6345
c98863bf
GM
6346 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6347 instead of BITS_PER_INT.
6348 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6349 EMACS_UINT, respectively.
6350 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6351
6352 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6353
6354 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6355
77072ab1
GM
6356 * window.c (freeze_window_starts): Construct last argument for
6357 foreach_window differently.
6358
6359 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6360
6361 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6362 EMACS_UINT instead of `int' and `unsigned int'.
6363 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6364
6365 * frame.h (struct frame): Make the `nothing' member of union
6366 output_data an EMACS_INT.
6367
52283633 6368 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6369 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6370 size in the sdata structure.
6371 (SDATA_NBYTES, SDATA_DATA): New macros.
6372 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6373 differently for the different layout of the sdata structure.
6374 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6375 in sdata.
6376 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6377 Check that size recorded in the string size and size recorded in
6378 the sdata structure agree.
6379
3e60b029
DL
63802000-09-25 Dave Love <fx@gnu.org>
6381
6382 * buffer.c: Include stdio.h.
6383
6384 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6385
3e60b029
DL
6386 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6387
6388 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6389 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6390 (__malloc_extra_blocks): Declare as __malloc_size_t.
6391
8ff16b4e
GM
63922000-09-25 Gerd Moellmann <gerd@gnu.org>
6393
755a2ccd
GM
6394 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6395
d8b4516f
GM
6396 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6397 (read_char): If help-echo is showing, preserve the echo area
6398 when redisplaying.
6399
6400 * xdisp.c (help_echo_showing_p): New variable.
6401 (set_message): Reset it to 0.
6402 (init_xdisp): Initialize help_echo_showing_p.
6403
6404 * dispextern.h (help_echo_showing_p): Declare extern.
6405
6406 * config.in: Fix typo in __GNUC_MINOR__.
6407
6408 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6409
b11af2dd
GM
6410 * s/freebsd.h (POSIX_SIGNALS): Define.
6411
8ff16b4e
GM
6412 * xterm.c (x_clear_mouse_face): Block/unblock input.
6413
844eb643
DL
64142000-09-24 Dave Love <fx@gnu.org>
6415
6416 * fns.c (base64_encode_1): Fix last change.
6417
b30ab1b3
GM
64182000-09-22 Gerd Moellmann <gerd@gnu.org>
6419
6420 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6421
6422 * xdisp.c (try_window_reusing_current_matrix): More fixes
6423 for the case window has a header-line.
6424
c6cbe5f0
DL
64252000-09-22 Dave Love <fx@gnu.org>
6426
4c7c1f3f
DL
6427 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6428 a doc string.
6429
6430 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6431
c6cbe5f0
DL
6432 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6433
550a625e
GM
64342000-09-21 Gerd Moellmann <gerd@gnu.org>
6435
4c7c1f3f 6436 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6437 for GCC >= 2.5.
6438
52283633
SM
6439 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6440 Declare NO_RETURN.
fca99116 6441
80d26f99
GM
6442 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6443 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6444 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6445 warnings.
52283633 6446
80d26f99
GM
6447 * marker.c (byte_char_debug_check): Return void.
6448
623a0aae
GM
6449 * xfns.c (Fx_create_frame): Set default frame parameter value
6450 for tool-bar-lines to 1.
6451
6452 * dispnew.c (scrolling_window): Compare y-positions of rows
6453 equal at the start. Some simplification.
6454
6455 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6456 reused rows' y-position in the case window has a header-line, and
6457 new window start is greater than old window start.
6458
42ac0ae5
GM
6459 * process.c (process_sent_to): New variable.
6460 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6461 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6462 Declare more parameters volatile.
6463
550a625e
GM
6464 * lread.c (Vrecursive_load_depth_limit): New variable.
6465 (Fload): Check recursive loads whose recursion depth exceeds
6466 Vrecursive_load_depth_limit.
6467 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6468
8320414c
GM
64692000-09-20 Gerd Moellmann <gerd@gnu.org>
6470
f46c275e
GM
6471 * fileio.c (Fread_file_name): Doc fix.
6472
6473 * editfns.c (Fmessage_or_box): Doc fix.
6474
6475 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6476
b7e11c5b 6477 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6478
8320414c
GM
6479 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6480 symbols are specified, add color translations to the cache.
52283633 6481 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6482 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6483 xpm_cache_color.
6484 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6485 structures to xpm_init_color_cache.
6486
da1608d9
GM
64872000-09-19 Gerd Moellmann <gerd@gnu.org>
6488
52283633 6489 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6490
6badfa25
AI
64912000-09-19 Andrew Innes <andrewi@gnu.org>
6492
6493 * makefile.nt (bootstrap-emacs): Don't change directory.
6494
3a5f42bb
KH
64952000-09-19 Kenichi Handa <handa@etl.go.jp>
6496
1b7649bd
KH
6497 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6498
3a5f42bb
KH
6499 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6500 If output buffer is too small, signal an appropriated error.
6501
9f83cf0b
DL
65022000-09-18 Dave Love <fx@gnu.org>
6503
52283633 6504 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6505 (current_active_maps): Remove redundant get_local_map call.
6506
28c7826c
GM
65072000-09-18 Gerd Moellmann <gerd@gnu.org>
6508
5cefa566
GM
6509 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6510 cursor for buffers whose cursor_type is nil.
52283633 6511
6fed3546
GM
6512 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6513 a feature to implement that is already implemented.
6514 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6515 warnings.
6516
6517 * xfns.c (x_clear_image_1): New function.
6518 (x_clear_image): Use it.
52283633 6519 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6520
05b1f851
GM
6521 * dispnew.c (update_window): Move test for invisible lines
6522 at the top to update_window_line.
6523 (update_window_line): Handle invisible lines here.
6524
f4779de9
GM
6525 * xfns.c (clear_image_cache): Clear current matrices of all
6526 frames sharing an image cache. Block input while freeing
6527 images. Fix timestamp comparison.
6528 (x_clear_image): Also free the mask.
6529
28c7826c
GM
6530 * xfns.c (lookup_image): Block input while loading the image so
6531 that we won't get interrupted in a state where the image isn't yet
6532 set up completely.
6533 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6534 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6535 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6536 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6537
b7412313
GM
65382000-09-16 Gerd Moellmann <gerd@gnu.org>
6539
6540 * dispnew.c (update_window): Make sure to make desired rows
6541 current even if they are completely invisible at the top
6542 of a window.
6543
47e351a3
GM
65442000-09-15 Gerd Moellmann <gerd@gnu.org>
6545
7f8f1edc
GM
6546 * xfns.c (lookup_image): Build mask before applying an algorithm.
6547 Recognize algorithm `disabled'.
6548 (cross_disabled_images): New variable.
6549 (COLOR_INTENSITY): New macro.
6550 (x_detect_edges): Use COLOR_INTENSITY.
6551 (x_disable_image): New function.
6552 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6553
6554 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6555 disabled state, don't apply an image transformation algorithm if
6556 the user specified an image for the disabled state. Use
28c7826c 6557 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6558 user hasn't specified an image.
6559
ebb8f116
GM
6560 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6561 allocation functions with the XPM lib.
6562 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6563 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6564 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6565 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6566 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6567 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6568 functions, if possible, because these handle color allocation
6569 failure more gracefully.
6570 (Fimage_mask_p): New function.
6571
47e351a3
GM
6572 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6573 (Qedge_detection, Qheuristic): New symbols.
6574 (syms_of_xfns): Initialize new symbols.
6575 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6576 `algorithm (edge-detection ...)'.
6577 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6578 (tiff_format, gif_format, gs_format): Add `:mask'.
6579 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6580 (GIF_MASK, GS_MASK): New enumerators.
6581 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6582 (emboss_matrix, laplace_matrix): New variables.
6583 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6584 (x_edge_detection): New functions.
6585 (x_laplace): Rewritten in terms of x_detect_edges.
6586 (x_build_heuristic_mask): If image has a mask, free it.
6587
fe83b953
AI
65882000-09-14 Andrew Innes <andrewi@gnu.org>
6589
6590 * makefile.w32-in: Revert to Unix line endings.
6591
3021e816
AI
65922000-09-14 Andrew Innes <andrewi@gnu.org>
6593
6594 * makefile.w32-in: Standardize indentation somewhat.
6595 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6596 cater for differences between shells.
6597
6598 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6599
2a32b5ea
GM
66002000-09-14 Gerd Moellmann <gerd@gnu.org>
6601
6602 * xterm.c (x_produce_glyphs): If the distance from the current
6603 position to the next tab stop is less than a canonical character
6604 width, use the tab stop after that.
6605
b4331e96
DL
66062000-09-14 Dave Love <fx@gnu.org>
6607
6608 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6609
ef9e4345
GM
66102000-09-14 Gerd Moellmann <gerd@gnu.org>
6611
085536c2
GM
6612 * xdisp.c (handle_fontified_prop): While running fontification
6613 functions, bind `fontification-functions' and
6614 `after-change-functions' to nil.
6615
ef9e4345
GM
6616 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6617 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6618
6619 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6620
6621 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6622 USE_MMAP_FOR_BUFFERS.
6623
6624 * insdel.c (make_gap): Use enlarge_buffer_text.
6625
6626 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6627 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6628 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6629 from former r_alloc_* functions in ralloc.c.
52283633 6630 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6631 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6632 (mmap_init) [REL_ALLOC_MMAP]: New function.
6633 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6634 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6635 BUFFER_FREE.
6636
6637 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6638 (enlarge_buffer_text): Add prototype.
6639
6640 * ralloc.c: Remove everything having to do with the use of mmap.
6641
f8608968
GM
66422000-09-13 Gerd Moellmann <gerd@gnu.org>
6643
2a494b2d
GM
6644 * sound.c (Fplay_sound): Doc fix.
6645
8c907a56
GM
6646 * keyboard.c: Avoid some more compiler warnings.
6647 (parse_tool_bar_item): Ignore cached key bindings.
6648
f8608968
GM
6649 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6650 and allocation of Lisp data.
6651
6ab70e9a
GM
66522000-09-12 Gerd Moellmann <gerd@gnu.org>
6653
d12d0a9b
GM
6654 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6655 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6656 defaults first.
6657
6ab70e9a
GM
6658 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6659
63c36c3c
KH
66602000-09-12 Miyashita Hisashi <himi@meadowy.org>
6661
6662 * ccl.c: Comment fixed.
6663 (MAX_MAP_SET_LEVEL): Increased to 30.
6664 (PUSH_MAPPING_STACK): Enclose with do-while block.
6665 (POP_MAPPING_STACK): Likewise.
6666 (stack_idx_of_map_multiple): New variable.
6667 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6668 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6669 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6670 (ccl_driver) <CCL_MapSingle>: Likewise.
6671 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6672 with the case where looking up process reaches to the end of
6673 map-set, and call CCL programs as the above change.
6674
7ee3bd7b
GM
66752000-09-11 Gerd Moellmann <gerd@gnu.org>
6676
8ec8a5ec
GM
6677 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6678 that might be clobbered by longjmp.
6679 (check_x_display_info, x_decode_color, create_frame_xic)
6680 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6681 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6682
f74b0705
GM
6683 * lread.c (init_lread): Set Vloads_in_progress to nil.
6684 (Fload): Show list of recursively loaded files, when signaling an
6685 error.
6686
7ee3bd7b
GM
6687 * lread.c (Vloads_in_progress): New variable.
6688 (record_load_unwind): New function.
6689 (Fload): Check for recursive loads.
6690 (syms_of_lread): Initialize Vloads_in_progress.
6691 (read_integer, read1): Avoid some compiler warnings.
6692
6693 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6694 compiler warnings.
6695
974e1e5b
MB
66962000-09-11 Miles Bader <miles@gnu.org>
6697
6698 * editfns.c (Fbuffer_string): Doc fix.
6699
9824c4e3
GM
67002000-09-10 Gerd Moellmann <gerd@gnu.org>
6701
6702 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6703
6a72fdd1
KR
67042000-09-09 Ken Raeburn <raeburn@gnu.org>
6705
6706 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6707 whether to include other header files.
6708
28e6fb66
GM
67092000-09-09 Gerd Moellmann <gerd@gnu.org>
6710
52283633 6711 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6712 by Fmemq as a boolean.
28e6fb66 6713
7f8b6551
SM
67142000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6715
6716 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6717
a8710abf
GM
67182000-09-08 Gerd Moellmann <gerd@gnu.org>
6719
d1a02881
GM
6720 * ralloc.c (mmap_fd): Remove initializer which can make it
6721 read-only in a dumped Emacs.
6722 (mmap_fd_1): New variable.
6723 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6724 restore it from there.
6725 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6726 unconditionally so that mmap_fd can be initialized there.
6727 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6728 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6729 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6730
c454aac1
GM
6731 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6732
6733 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6734 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6735
fc653ef2
GM
6736 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6737
3015eec0
GM
6738 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6739 inheritance.
6740
bfe0ee88
GM
6741 * xdisp.c (try_window_id): When trying to locate cursor in
6742 unchanged rows at the top, handle the case that we can't find it.
6743
a8710abf
GM
6744 * xterm.c (x_draw_glyphs): Handle case START and END are out
6745 of bounds more carefully.
6746
6b7d4ae4
DL
67472000-09-08 Dave Love <fx@gnu.org>
6748
423193c5
DL
6749 * s/sol2.h (REL_ALLOC_MMAP): Define.
6750 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6751
6752 * ralloc.c: Don't include string.h (redundant).
6753 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6754 [!MAP_ANON]: Include fcntl.h.
6755 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6756 (r_alloc, r_re_alloc, r_alloc_free)
6757 (mmap_enlarge, mmap_set_vars): Use it.
6758 (r_alloc_init_fd): New function.
6759 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6760 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6761 malloc type.
6762
6763 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6764 Remove vm-limit.o.
6765
6b7d4ae4
DL
6766 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6767 change to __NetBSD__.
6768
44d31981
KH
67692000-09-08 Kenichi Handa <handa@etl.go.jp>
6770
6771 * search.c (compile_pattern): Check the multibyteness of cached
6772 string and PATTERN.
6773
aad40737
MB
67742000-09-08 Miles Bader <miles@gnu.org>
6775
6776 * xfaces.c (default_face_vector): Function removed.
6777 (Finternal_merge_in_global_face): Restore old global/local
6778 attribute override order. Use inline loop instead of calling
6779 default_face_vector.
6780
91a211b5
GM
67812000-09-07 Gerd Moellmann <gerd@gnu.org>
6782
6783 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6784 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6785 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6786 where necessary, in case POINTER_TYPE is `void'.
6787
03419440
EZ
67882000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6789
6790 * frame.c (make_terminal_frame): Initialize frame foreground and
6791 background colors to unspecified, for the initial instance of an
6792 MSDOS frame.
6793
f46f845b
GM
67942000-09-07 Gerd Moellmann <gerd@gnu.org>
6795
24f76fbf
GM
6796 * ralloc.c (mmap_find): Fix overlap computation.
6797 (mmap_enlarge): Compute nbytes before trying to find an
6798 overlapping region.
6799
f46f845b
GM
6800 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6801 instead of `!='.
6802
6803 * lread.c (syms_of_lread): Change value of regexp
6804 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6805
6806 * xmenu.c (xdialog_show): When looking up the selection in
6807 menu_items, take `quote' boundaries into account; this corresponds
6808 to a nil ITEM in x-popup-dialog.
6809
3c014385
KH
68102000-09-07 Kenichi Handa <handa@etl.go.jp>
6811
fd6f711b
KH
6812 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6813 not 0x81.
6814 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6815
3c014385 6816 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6817 encoding, not decoding. Fix the handling of latin-jisx0201.
6818 Check for the charset katakana-jisx0201 too.
3c014385 6819 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6820 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6821
0da3ecef
GM
68222000-09-07 Gerd Moellmann <gerd@gnu.org>
6823
ab0ee409
GM
6824 * xfaces.c (Vparam_value_alist): New variable.
6825 (syms_of_xfaces): Initialize it.
6826 (Finternal_set_lisp_face_attribute): Avoid more consing.
6827
6828 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6829 specially.
6830 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6831 (Qbackground_mode): New variable.
6832 (syms_of_frame_1): Initialize Qbackground_mode.
6833
6834 * lisp.h (Qdisplay): Declare extern.
1091dd67 6835
0da3ecef
GM
6836 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6837 change face on all frames, and change the default for new frames.
6838
b14654b9
DL
68392000-09-07 Dave Love <fx@gnu.org>
6840
6841 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6842
d24fd56f
KH
68432000-09-07 Kenichi Handa <handa@etl.go.jp>
6844
794f3670
KH
6845 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6846
0fddd0dc
KH
6847 * charset.c: Include composite.h
6848 (lisp_string_width): New function.
6849 (Fstring_width): Call lisp_string_width instead of strwidth.
6850
6851 * Makefile.in (charset.o): Depends on composite.h.
6852
d24fd56f
KH
6853 * process.c (read_process_output): Before inserting the decoded
6854 text in the buffer, adjust the multibyteness.
6855
fa0b693c
GM
68562000-09-06 Gerd Moellmann <gerd@gnu.org>
6857
52283633 6858 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6859 buffer's text buffer is null, map new memory.
6860
0a58f946
GM
6861 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6862 POINTER_TYPE and size_t.
6863 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6864 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6865 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6866 [REL_ALLOC_MMAP]: New macros.
6867 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6868 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6869 [REL_ALLOC_MMAP]: New functions.
6870
6871 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6872 before and after unexec.
6873
6874 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6875 text buffers if necessary.
6876
6877 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6878 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6879 in prototypes.
6880
fa0b693c
GM
6881 * config.in (HAVE_MMAP): Add #undef.
6882
877055f6
GM
68832000-09-05 Gerd Moellmann <gerd@gnu.org>
6884
08ba3862
GM
6885 * frame.c (Qdisplay_type): New variable.
6886 (syms_of_frame_1): Initialize it.
6887 (Fframe_parameter): New function that avoids consing.
6888 (syms_of_frame): Defsubr it.
6889
66ffe51c
GM
6890 * buffer.c (Fother_buffer): Consider buffers as invisible when
6891 they are displayed in a window on an invisible frame.
6892
877055f6
GM
6893 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6894 get-largest-window always return nil.
6895
bb970e67
GM
68962000-09-04 Gerd Moellmann <gerd@gnu.org>
6897
6898 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6899 variable; recognize Emacs 19 elc files.
6900
7a3d0e0e
MB
69012000-09-04 Miles Bader <miles@gnu.org>
6902
6903 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6904 before initially popping up the menu, so the menu doesn't flash
52283633 6905 when the face settings are significantly different from the defaults.
7a3d0e0e 6906
14473664
SM
69072000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6908
6909 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6910 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6911 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6912 (BIT_UNIBYTE): Remove.
6913 (re_match_2_internal): Delete corresponding code and streamline the
6914 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6915 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6916 (re_wctype_t): New type.
6917 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6918 (regex_compile): Use them and fix handling of overly long char classes.
6919
c1174479
AI
69202000-09-03 Andrew Innes <andrewi@gnu.org>
6921
f8803e97
AI
6922 * makefile.w32-in: Change to DOS line endings.
6923
c1174479
AI
6924 * s/ms-w32.h (ORDINARY_LINK): New define.
6925
6926 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6927 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6928
6929 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6930 (distclean): Delete them here instead.
6931
44ef7cf6
AI
6932 * w32proc.c (compare_env): Convert to uppercase for comparison,
6933 not lowercase, to match how the native Windows shell works.
6934
49b3bd82
JR
69352000-09-03 Jason Rumney <jasonr@gnu.org>
6936
6937 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6938 CVS changes the line-ends when checking in/out on DOS/Windows.
6939
6940 * makefile.nt (emacs): Do not change directory to run temacs, as
6941 the load-path is set relative to current directory.
6942
a3d35a39
MB
69432000-09-03 Miles Bader <miles@gnu.org>
6944
6945 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6946
d276b0cf
GM
69472000-09-02 Gerd Moellmann <gerd@gnu.org>
6948
715e84c9
GM
6949 * xdisp.c (redisplay_mode_lines): New function.
6950 (display_mode_lines): Return number of mode lines displayed.
6951 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6952 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6953
8892f40b
GM
6954 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6955 string.h and strings.h.
6956 (index) [HAVE_INDEX]: Add prototype.
6957
d276b0cf
GM
6958 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6959 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6960
6961 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6962 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6963
38404229
GM
69642000-09-01 Gerd Moellmann <gerd@gnu.org>
6965
6966 * lread.c (read1): Accept `?' as symbol constituent, for
6967 compatiblity with XEmacs.
6968
c0f9ea08
SM
69692000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6970
6971 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6972 (struct re_pattern_buffer): Remove newline_anchor.
6973 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6974 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6975 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6976 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6977 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6978 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6979 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6980 Get rid of references to newline_anchor.
6981 (regcomp): Allocate and precompute a fastmap.
6982
8c0f83fe
GM
69832000-08-31 Gerd Moellmann <gerd@gnu.org>
6984
6985 * lread.c (openp): GCPRO local variable `filename'.
6986
4bb91c68
SM
69872000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6988
6989 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6990
6991 * regex.c: Merge some changes from GNU libc. Add prototypes.
6992 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6993 Use memcmp and memcpy instead of bcopy and bcmp.
6994 (init_syntax_once): Use ISALNUM.
6995 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6996 (REG_UNSET_VALUE): Remove. Use NULL instead.
6997 (REG_UNSET, re_match_2_internal): Use NULL.
6998 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6999 New macros.
7000 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7001 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7002 (regex_compile): In handle_interval, return an error rather than try to
7003 unfetch the interval if we can't find the closing brace.
7004 Obey the RE_NO_GNU_OPS syntax bit.
7005 (TOLOWER): New macro.
7006 (regcomp): Use it.
7007 (regexec): Allocate regs.start and regs.end as one block.
7008
5226a931
GM
70092000-08-30 Gerd Moellmann <gerd@gnu.org>
7010
868dd24b
GM
7011 * xdisp.c (echo_area_display): Check display_completed instead
7012 of calling detect_input_pending.
7013
7014 * dispnew.c (update_frame): Only set display_completed here; move
7015 the update_begin and update_end calls here from update_frame_1.
7016 (update_frame_1): Don't set display_completed here, don't call
7017 update_begin/update_end.
7018
5226a931
GM
7019 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7020 instead of store_frame_param.
7021
2a8bd25f
GM
70222000-08-29 Gerd Moellmann <gerd@gnu.org>
7023
7024 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7025 desired window matrix hasn't been displayed, use the current row
7026 instead. Make sure that only those frame rows are updated for
7027 which there exists a corresponding enabled desired row.
52283633 7028
ba3478d9
MB
70292000-08-29 Miles Bader <miles@gnu.org>
7030
7031 * xfaces.c (default_face_vector): New function.
7032 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7033
87d0f685
GM
70342000-08-29 Gerd Moellmann <gerd@gnu.org>
7035
7036 * lread.c (openp): Prevent temporary string passed to
7037 Ffile_readable_p from being garbage collected.
7038
6fa86045
DL
70392000-08-28 Dave Love <fx@gnu.org>
7040
7041 * keymap.c (store_in_keymap): Add `static' to declaration.
7042
bb17930d
GM
70432000-08-28 Gerd Moellmann <gerd@gnu.org>
7044
7045 * emacs.c, callint.c, doc.c, editfns.c
7046 (toplevel) [HAVE_STRING_H]: Include string.h.
7047 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7048 (index): Remove prototypes which might conflict with non-standard
7049 definitions of index/strchr.
7050
7051 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7052 (rindex): Define only if !HAVE_RINDEX.
7053
7054 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7055
7056 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7057
87188200
MB
70582000-08-28 Miles Bader <miles@gnu.org>
7059
7060 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7061 made inconsistent by a font-related attribute in FROM.
7062 (merge_face_inheritance): Add function comment.
7063
41a68aef
KH
70642000-08-28 Kenichi Handa <handa@etl.go.jp>
7065
7066 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7067 the 4th arg (PREV_EVENT) Qt to suppress input method.
7068
f7c436c1
SM
70692000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7070
0b32bf0e
SM
7071 * regex.c: Indent cpp directives and remove parens after `defined'.
7072 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7073 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7074 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7075 (re_compile_pattern): Use size_t for length.
7076 (init_syntax_once): Move to a better place.
7077 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7078 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7079
f7c436c1
SM
7080 * syntax.c (back_comment): Detect cases where a comment-starter is
7081 actually inside another comment as in: /* a // b */ c // d \n.
7082 Make it clear that `comstart_pos' is unused for nested comments.
7083
7084 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7085 (KEYMAPP): New macro.
7086 (Fkeymap_parent, Fset_keymap_parent): Use it.
7087 (fix_submap_inheritance): Mark it static.
7088 (define_as_prefix, describe_buffer_bindings, describe_command)
7089 (describe_translation, describe_map): Complete prototypes.
7090
7091 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7092
7093 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7094 to better match the key-lookup behavior.
7095
6288c62f
GM
70962000-08-27 Gerd Moellmann <gerd@gnu.org>
7097
7098 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7099 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7100
e931344e
EZ
71012000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7102
7103 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7104 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7105 (xterm.o): Depend on coding.h
7106
d10dfeef
KH
71072000-08-26 Kenichi Handa <handa@etl.go.jp>
7108
7109 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7110 the corresponding '#endif'.
7111
2d73e8d3
MB
71122000-08-26 Miles Bader <miles@gnu.org>
7113
7114 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7115 * xfaces.c (QCinherit): New variable.
7116 (syms_of_xfaces): Initialize it.
7117 (LFACE_INHERIT): New macro.
7118 (Finternal_get_lisp_face_attribute)
52283633 7119 (merge_face_vector_with_property)
2d73e8d3
MB
7120 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7121 (check_lface_attrs): Allow new types of face height. Check
7122 inherit attribute.
7123 (CYCLE_CHECK): New macro.
7124 (merge_face_inheritance): New function.
7125 (merge_face_vectors): Merge inherited faces too. Add F and
7126 CYCLE_CHECK arguments.
7127 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7128 (lookup_named_face, lookup_derived_face, realize_named_face)
7129 (face_at_string_position, face_at_buffer_position): Supply
7130 new F and CYCLE_CHECK arguments to merge_face_vectors.
7131 (merge_face_heights): New function.
52283633 7132 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7133 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7134 handle relative face heights.
7135 (lface_same_font_attributes_p): Compare heights using EQ.
7136
6ce974d4
KH
71372000-08-26 Kenichi Handa <handa@etl.go.jp>
7138
7139 * charset.c (char_to_string): Check the character validity.
52283633 7140 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7141
dc1e502d
SM
71422000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7143
7144 * regex.c (PUSH_FAILURE_COUNT): New macro.
7145 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7146 Handle popping of a register's or a counter's data.
7147 (POP_FAILURE_POINT): Use the new name.
7148 (re_match_2_internal): Push counter data on the stack for succeed_n,
7149 jump_n and set_number_at and remove misleading dead code in succeed_n.
7150
bd9d0f3f
GM
71512000-08-25 Gerd Moellmann <gerd@gnu.org>
7152
7153 * xdisp.c (redisplay_internal): If considering all windows on all
7154 frames, update the display for each frame as soon as possible,
7155 instead of first building all desired matrices for all frames, and
7156 then updating them all.
7157 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7158
aa5b8e15
GM
71592000-08-24 Gerd Moellmann <gerd@gnu.org>
7160
17494071
GM
7161 * bytecode.c (mark_byte_stack): Add a comment.
7162
52283633
SM
7163 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7164 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7165 a graphical frame.
7166
c543db81
KH
71672000-08-24 Kenichi Handa <handa@etl.go.jp>
7168
d246d5f5
KH
7169 * minibuf.c (do_completion): Always use compare-string, not
7170 string-equal because the latter doesn't pay attention to
7171 multibyteness of strings.
7172
c543db81
KH
7173 * process.c (create_process): Don't setup raw-text coding here.
7174 (Fopen_network_stream): Don't set coding->src_multibyte and
7175 coding->dst_multibyte here.
7176 (read_process_output): For process filter, return unibyte string
7177 if default-enable-multibyte-characters is nil.
7178 (send_process): If OBJECT is multibyte text, be sure to encoded it
7179 by the specified coding system for the process. Otherwise, setup
7180 raw-text coding.
52283633 7181 (init_process): Don't initialize default-process-coding-system here.
c543db81 7182
9b47cfe0
EZ
71832000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7184
7185 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7186 <scroll-down-aggressively>: Likewise.
7187
f5a36960
KH
71882000-08-23 Kenichi Handa <handa@etl.go.jp>
7189
7190 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7191 zero. Set coding->produced_char correctly.
7192
69a7ffa7
AI
71932000-08-22 Andrew Innes <andrewi@gnu.org>
7194
7195 * makefile.w32-in: New file.
7196
7197 * unexw32.c (unexec): Ignore old_name, and use the actual location
7198 of the current executable instead. Base new_name on this.
7199
7200 * w32proc.c (create_child): Remove reference to security
7201 descriptor, which isn't needed and doesn't compile with mingw32.
7202
7203 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7204 up dllimport attributes.
7205 (x_update_window_end): Update prototype.
7206
7207 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7208 extern, which screws up dllimport attributes.
7209
7210 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7211 up dllimport attributes.
7212
7213 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7214 screws up dllimport attributes.
7215
7216 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7217 up dllimport attributes.
7218 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7219 screws up dllimport attributes.
7220
7221 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7222 up dllimport attributes.
7223
7224 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7225 screws up dllimport attributes.
7226
7227 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7228 screws up dllimport attributes.
7229
7230 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7231 up dllimport attributes.
7232
7233 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7234 unnecessary extern, which screws up dllimport attributes.
7235 (main): Ditto.
7236
7237 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7238 up dllimport attributes.
7239
7240 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7241 unnecessary extern, which screws up dllimport attributes.
7242
7243 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7244 screws up dllimport attributes.
7245
7246 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7247 up dllimport attributes.
7248
7249 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7250
52283633
SM
7251 * w32bdf.c (search_file_line):
7252 (set_bdf_font_info):
7253 (seek_char):
7254 (w32_get_bdf_glyph):
69a7ffa7
AI
7255 (w32_BDF_to_x_font): Fix compile warnings.
7256
52283633 7257 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7258
7259 * w32select.c: Include keyboard.h before frame.h.
7260
7261 * w32fns.c (max): Define macro.
7262 (JOHAB_CHARSET): Define if not known.
7263 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7264 (Fx_show_tip): Synch with X version.
7265
7266 * w32xfns.c: Include keyboard.h before frame.h.
7267
7268 * w32fns.c: Include keyboard.h before frame.h.
7269
7270 * w32term.c: Include keyboard.h before frame.h.
7271
7272 * fontset.c: Include keyboard.h before frame.h.
7273
7274 * w32inevt.c: Include keyboard.h before frame.h.
7275 (MOUSE_MOVED): Define if not known.
7276
7277 * minibuf.c: Include keyboard.h before frame.h.
7278
7279 * keyboard.c: Include keyboard.h before frame.h.
7280
7281 * indent.c: Include keyboard.h before frame.h.
7282
7283 * dispnew.c: Include keyboard.h before frame.h.
7284
7285 * buffer.c: Include keyboard.h before frame.h.
7286
7287 * alloc.c: Include keyboard.h before frame.h.
7288
7289 * print.c: Include keyboard.h before frame.h.
7290
7291 * process.c: Include keyboard.h before frame.h.
7292
7293 * scroll.c: Include keyboard.h before frame.h.
7294
7295 * sysdep.c: Include keyboard.h before frame.h.
7296
7297 * term.c: Include keyboard.h before frame.h.
7298
7299 * window.c: Include keyboard.h before frame.h.
7300
7301 * xdisp.c: Include keyboard.h before frame.h.
7302 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7303
7304 * frame.c: Include keyboard.h before frame.h.
7305
7306 * w32heap.h: Undefine min, max.
7307
7308 * w32gui.h: Undefine min, max.
7309
7310 * unexw32.c: Change PUCHAR to PCHAR.
7311 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7312 (relocate_offset):
7313 (get_section_info):
69a7ffa7
AI
7314 (copy_executable_and_dump_data): Remove unnecessary static defs.
7315 (copy_executable_and_dump_data): Fix compile warnings.
7316
7317 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7318
7319 * w32console.c (min): Define macro.
7320 (clear_frame, write_glyphs): Fix compile warning.
7321
52283633 7322 * w32proc.c (compare_env):
69a7ffa7
AI
7323 (find_child_console): Fix compile warning.
7324
7325 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7326 sys_errlist instead of _sys_errlist.
7327 (get_emacs_configuration_options): New function.
7328
7329 * s/ms-w32.h (sys_nerr): Provide default definition.
7330 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7331 name with _ prepended.
7332 (NSIG): Define if not known.
7333 (get_emacs_configuration): Provide extern declaration.
7334 (get_emacs_configuration_options): Provide extern declaration.
7335 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7336
7337 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7338 (map_w32_filename):
69a7ffa7
AI
7339 (read_unc_volume): Fix compile warning.
7340
7341 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7342 definitions from being used.
7343
7344 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7345
52283633 7346 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7347 (open_unc_volume): Make arg const.
7348
7349 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7350 (read_input_waiting): Remove excess parameter.
7351
7352 * w32.c (init_environment): Call _access.
7353 (check_windows_init_file): Call _close.
7354 (init_user_info): Call _putenv.
7355 (init_environment): Call _putenv and _strdup.
7356 (init_ntproc): Reset volume info cache on startup.
7357
7358 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7359 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7360 cannot override the CRT malloc.
7361
7362 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7363 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7364
7365 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7366 unless we are linking with a static CRT.
7367 (RVA_TO_PTR): Cast result to unsigned char*.
7368
7369 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7370 (add_volume_info): Use xstrdup.
7371
25060080
SM
73722000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7373
7374 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7375 (do_completion, Fminibuffer_complete_word): Use it.
7376 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7377 var so it can take non-boolean values.
7378
6917e6bb
GM
73792000-08-21 Gerd Moellmann <gerd@gnu.org>
7380
acb7cc89 7381 * editfns.c (find_field): Formatting changes.
52283633 7382 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7383 changed to prototypes, some new protypes added, some functions
7384 made static.
7385
7386 * lisp.h (set_time_zone_rule): Add prototype.
7387 (use_dialog_box): External declaration.
7388
0bbfdc25
GM
7389 * keyboard.c (gen_help_event): Add parameter SIZE.
7390 (kbd_buffer_events_waiting): Slightly rewritten.
7391 (clear_event): New function.
7392 (kbd_buffer_get_event): Use it, and clear the input_events of
7393 HELP_EVENTs.
7394 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7395 don't fill the newly created array with nils.
7396 (toplevel): Convert some old-style function forward declarations
7397 to prototypes.
7398
7399 * keyboard.h (gen_help_event): Change prototype.
7400
7401 * xterm.c (XTread_socket): Change calls to gen_help_event.
7402
7403 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7404
6917e6bb
GM
7405 * eval.c (Fmacroexpand): Doc fix.
7406
e5cd3d11
JR
74072000-08-20 Jason Rumney <jasonr@gnu.org>
7408
7409 * w32term.h (x_display_info_for_display): Remove as this function
7410 does not exist on W32.
7411
7412 * w32term.c (help_echo_window): New variable.
7413 (syms_of_w32term): staticpro it.
7414 (note_mode_line_highlight): Set it.
7415 (XTextExtents16): Removed as there is no equivalent on W32.
7416 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7417 the X way of doing this will not work for W32.
7418 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7419 (x_draw_image_foreground): Avoid drawing outside of the clip area
7420 when image doesn't have a mask.
7421 (note_mouse_highlight): Process overlays in the right order of
7422 priority. Set help_echo_window.
7423 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7424 because that's more visible for large images.
7425
7426 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7427 name to single_keymap_panes.
7428 (w32_menu_show): Set wv->title when dealing with titles.
7429 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7430
6e69ab8c
MB
74312000-08-21 Miles Bader <miles@gnu.org>
7432
7433 * minibuf.c (do_completion): Try again if we rewrite the input
7434 string, but no completion was done, so that any completion message
7435 will be correct.
7436
511bd4eb
GM
74372000-08-20 Gerd Moellmann <gerd@gnu.org>
7438
7439 * xfaces.c (lface_equal_p): Compare strings differently.
7440 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7441 (realize_tty_face): Use them.
7442 (syms_of_xfaces): Initialize new variables.
7443 (map_tty_color): New function, extracted from realize_tty_face.
7444 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7445 foreground or background color, store the new color name in the
7446 realized face; previous code trying to do this had no effect.
7447 (realize_tty_face): Use map_tty_color.
7448 (Fclear_face_cache): Set face_change_count and ensure thorough
7449 redisplay.
7450
1433385f
GM
74512000-08-19 Gerd Moellmann <gerd@gnu.org>
7452
511bd4eb
GM
7453 * undo.c (record_first_change, record_marker_adjustment): Don't
7454 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7455
419ac0a2
KH
74562000-08-18 Kenichi Handa <handa@etl.go.jp>
7457
7458 * coding.c (decode_coding_string): Set members consumed,
7459 consumed_char, produced, produced_char of *coding correctly. If
7460 decode_coding doesn't consume any byte, don't try anymore.
7461 (encode_coding_string): Likewise.
7462
7eb9e30d
GM
74632000-08-18 Gerd Moellmann <gerd@gnu.org>
7464
511bd4eb
GM
7465 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7466 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7467
7468 * xdisp.c (redisplay_internal): Compare windows for equality with
7469 EQ, instead of applying XWINDOW to something that might not
7470 be a window.
52283633 7471
dd34a735
KH
74722000-08-18 Kenichi Handa <handa@etl.go.jp>
7473
7474 * fontset.c (Finternal_char_font): Search only the selected frame
7475 for a window of the current buffer.
7476
385ff9e3
GM
74772000-08-18 Gerd Moellmann <gerd@gnu.org>
7478
511bd4eb 7479 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7480 Lisp_Objects.
7481
385ff9e3
GM
7482 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7483 second half of a HELP_EVENT is found at the start of kbd_buffer.
7484
d6abb4c7
MB
74852000-08-18 Miles Bader <miles@gnu.org>
7486
4618074a
MB
7487 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7488
d6abb4c7
MB
7489 * editfns.c (save_restriction_save): Rewrite to use markers.
7490 (save_restriction_restore): Rewrite to understand new form of data
7491 saved by save_restriction_save.
7492 (Fsave_restriction): Remove cautionary note in doc-string.
7493
a7b28523
GM
74942000-08-17 Gerd Moellmann <gerd@gnu.org>
7495
7496 * fileio.c (build_annotations): Add a comment explaining the
7497 return value of format-annotate-function. Replace a spurious call
7498 to Flength with a CONSP test. Call format-annotate-function with
7499 a fifth arg specifying how many times the function is been called
7500 in a row, to let it choose temporary buffers appropriately.
7501
03c9ed77
DL
75022000-08-17 Dave Love <fx@gnu.org>
7503
7504 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7505 declare make_temp_name twice.
7506
52283633 7507 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7508 (unreadpure): Give it an arg.
7509
7510 * unexalpha.c: Prototype fatal_unexec, mark_x,
7511 update_dynamic_symbols. Declare unexec as void.
7512
7513 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7514 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7515
7516 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7517 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7518
7519 * alloca.c: Use #error.
7520 [POINTER_TYPE]: Use it.
7521
7522 * eval.c (Fdefvar): Doc fix.
7523
7524 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7525 INITIALIZE_INTERVAL.
7526
7527 * buffer.h: Avoid DECLARE_INTERVALS.
7528
7529 * config.in: Add size_t.
7530
aae41d97
EZ
75312000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7532
7533 * w16select.c (set_clipboard_data): If there's not enough memory
7534 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7535 expects. In case of other failures, return 3.
7536 (system_error_msg): New error message.
7537 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7538 system_error_msg.
7539
65aa5e85
GM
75402000-08-16 Gerd Moellmann <gerd@gnu.org>
7541
7542 * term.c (write_glyphs): Also turn off inverse video after turning
7543 off other appearances in case TS_exit_attribute_mode is not equal
7544 to TS_end_standout_mode.
7545 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7546 with the same face.
7547 (turn_off_face): Reset standout_mode only if
7548 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7549 is equal to TS_end_standout_mode.
7550
ece23901
KH
75512000-08-16 Kenichi Handa <handa@etl.go.jp>
7552
9d7bcb2e
KH
7553 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7554 sequence at the end of the source block.
7555
ece23901
KH
7556 * ccl.c (Fccl_program_p): Docstring modified.
7557 (Fccl_execute): Likewise.
7558 (Fccl_execute_on_string): Likewise.
7559
5e30eaa2
EZ
75602000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7561
7562 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7563
290602fd
KH
75642000-08-16 Kenichi Handa <handa@etl.go.jp>
7565
7566 The following changes are mainly to fix bugs of
7567 encode/decode-coding-string failing if encoding/decoding return
7568 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7569 variable conversion_buffer.
7570
7571 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7572 decrement dst_end to avoid buffer overflow in the later call of
7573 string_as_multibyte
7574
7575 * coding.h (conversion_buffer_size, conversion_buffer)
7576 (get_conversion_buffer): Extern deleted.
7577
7578 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7579 (conversion_buffer, conversion_buffer_size): Variables deleted.
7580 (get_conversion_buffer): Function deleted.
7581 (struct conversion_buffer): New structure.
7582 (MAX_ALLOCA): New macro.
7583 (allocate_conversion_buffer): New macro.
7584 (extend_conversion_buffer, free_conversion_buffer): New functions.
7585 (ccl_coding_driver): Set coding->result.
7586 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7587 this is the last block of source.
7588 (encode_coding): Likewise. Handle the source block as the last
7589 one only when the whole source text is consumed.
7590 (decode_coding_string): Handle the case that the output buffer is
7591 too small to decode the whole source text. Use
7592 allocate_conversion_buffer, extend_conversion_buffer and
7593 free_conversion_buffer, not get_conversion_buffer.
7594 (encode_coding_string): Likewise.
7595 (init_coding): Function deleted.
52283633 7596 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7597
7598 * emacs.c (main): Don't call init_coding.
7599
52283633 7600 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7601
7602 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7603 (insert_glyphs): Likewise.
7604
7605 * w32console.c (write_glyphs): Use a locally declared
7606 conversion_buffer.
7607
b9f80d41
EZ
76082000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7609
7610 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7611 member of display_info is NULL.
7612
32dc52f7
GM
76132000-08-15 Gerd Moellmann <gerd@gnu.org>
7614
52283633 7615 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7616
32dc52f7 7617 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7618 appearances with capability `me'.
32dc52f7
GM
7619 (write_glyphs): Switch on inverse video before each face change.
7620
4eb22d33
DL
76212000-08-14 Dave Love <fx@gnu.org>
7622
7623 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7624 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7625 (lisp_free): Declare and make static.
7626
7627 * window.c: Fix embedded comment.
7628 (syms_of_window): Fix doc string.
7629
90cbf47e
GM
76302000-08-14 Gerd Moellmann <gerd@gnu.org>
7631
52283633 7632 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7633 make sure to print `C-' before `M-', like in the manual.
7634
440fc135
GM
76352000-08-11 Gerd Moellmann <gerd@gnu.org>
7636
7637 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7638 since they aren't relocated anymore.
52283633 7639 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7640
7641 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7642 partially visible line which is smaller than the window's height.
440fc135 7643
6e264fad
KH
76442000-08-11 Kenichi Handa <handa@etl.go.jp>
7645
7646 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7647 the multibyte form of eight-bit-control characters.
6e264fad
KH
7648 (Fccl_execute_on_string): Initialize ccl->multibyte.
7649
7650 * ccl.h (struct ccl_program): New member multibyte.
7651
7652 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7653
c371f69a
KH
76542000-08-11 Kenichi Handa <handa@etl.go.jp>
7655
7656 * regex.c (regex_compile) <normal_char>: Pay attention to
7657 multibyteness.
7658 (analyse_first) <exactn>: Setup fastmap correctly for
7659 eight-bit-control characters.
7660
76612000-08-11 Kenichi Handa <handa@etl.go.jp>
7662
52283633 7663 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7664
7665 * keyboard.c (make_lispy_event): Handle the new event type
7666 multibyte_char_keystroke.
7667
7668 * xterm.c: Include coding.h.
7669 (XTread_socket): Work around a bug of XmbLookupString. If the
7670 input is from XIM, decode it according to the current locale. In
7671 that case, generate multibyte_char_keystroke events.
7672
b8ddbe71
KH
76732000-08-11 Kenichi Handa <handa@etl.go.jp>
7674
7675 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7676 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7677
47589c8c
GM
76782000-08-10 Gerd Moellmann <gerd@gnu.org>
7679
7680 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7681 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7682 (move_it_in_display_line_to): Record iterator's ascent and descent
7683 before producing glyphs, and restore them when we know the glyph
7684 doesn't fit on the line.
7685 (move_it_to): Restructured so that it's easier to debug. If
7686 moving to a vpos, and not moving to an x or character position,
7687 stop as soon as the specified vpos is reached; don't move further
7688 into that line because that might change the computed line height.
7689 (try_cursor_movement): New function, extracted from the cursor
7690 movement branch of redisplay_window. If ending on a partially
7691 visible line, don't try to scroll if the cursor line is taller
7692 than the window.
7693 (redisplay_window): Use try_cursor_movement.
7694
7695 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7696 because that function doesn't cope with variable-height lines.
7697
7698 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7699 box cursor because that's better visible for large images.
52283633 7700
c51bacd6
MB
77012000-08-10 Miles Bader <miles@gnu.org>
7702
7703 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7704
bea56df7
GM
77052000-08-10 Gerd Moellmann <gerd@gnu.org>
7706
7707 * xdisp.c (Vmessages_buffer_name): New variable.
7708 (message_dolog): Use it.
7709 (syms_of_xdisp): Initialize it.
7710
99cd7364
EZ
77112000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7712
52283633 7713 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7714 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7715 redundant now that keyboard.h is included.
7716
7d093d56
EZ
77172000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7718
7719 * keyboard.c (kbd_buffer_events_waiting): New function.
7720
7721 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7722
7723 * msdos.c: Include keyboard.h.
7724 (XMenuActivate): Empty no_event events from the event buffer. If
7725 no events are left after that, call clear_input_pending.
7726 (mouse_clear_clicks): New function, code moved from mouse_init.
7727 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7728 mouse driver to ``forget'' any past clicks.
7729
7730 * Makefile.in (msdos.o): Depend on keyboard.h.
7731
41e757a6
GM
77322000-08-09 Gerd Moellmann <gerd@gnu.org>
7733
8e7bd231
GM
7734 * lisp.h (input_pending): External declaration.
7735
7736 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7737
8e7bd231
GM
7738 * xdisp.c (echo_area_display): Display thoroughly if input is
7739 pending. Bind redisplay-dont-pause to t during the redisplay.
7740 in case input is pending.
7741
7742 * dispnew.c (Qredisplay_dont_pause): New variable.
7743 (syms_of_display): Initialize and staticpro it.
7744 (update_frame_1): Don't interrupt the display for pending input if
7745 redisplay_dont_pause is set.
52283633 7746
43028b7e
GM
7747 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7748
41e757a6
GM
7749 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7750
2f2174fa
KH
77512000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7752
7753 * callproc.c (Fcall_process): Terminate the unwind-protect around
7754 the post-read-conversion of coding system.
7755
0a6fd67e
MB
7756 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7757 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7758 * buffer.h (overlays_at): Update prototype.
7759 * xdisp.c (next_overlay_change): Update call to overlays_at.
7760 * xfaces.c (face_at_buffer_position): Likewise.
7761 * textprop.c (Fget_char_property): Likewise.
7762 * xterm.c (note_mouse_highlight): Likewise.
7763
0c80756e
MB
7764 * minibuf.c (do_completion): Don't consider a simple change of
7765 case as `completion'.
7766
975f250a
KR
77672000-08-08 Ken Raeburn <raeburn@gnu.org>
7768
52283633 7769 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7770 * undo.c (record_delete): Make sure last_point_position_buffer is
7771 a buffer before comparing pointers.
7772
7773 * coding.h (decode_coding_string): Declare.
7774
7775 * intervals.h (Fprevious_single_char_property_change): Declare.
7776
7777 * textprop.c (Fprevious_single_char_property_change): Don't do
7778 arithmetic directly on lisp objects.
7779
52283633 7780 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7781
7782 * keyboard.h (menu_item_eval_property): Declare.
7783
7784 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7785 reuse as buffer name, instead of recreating (and discarding) every
7786 time a message is logged.
7787 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7788 (current_message_1, truncate_message_1, set_message_1)
7789 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7790 (current_message, truncate_echo_area, display_echo_area)
7791 (resize_echo_area_axactly): Changed calls.
b347b3fd 7792
975f250a 7793 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7794 Lisp object.
975f250a 7795 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7796 must be an integer, not a Lisp object.
975f250a 7797
46dc9912
KH
77982000-08-08 Kenichi Handa <handa@etl.go.jp>
7799
7800 * charset.c (Fchar_width): Doc fix.
7801
9f6d1a6c
GM
78022000-08-08 Gerd Moellmann <gerd@gnu.org>
7803
7804 * charset.c (Fstring_width): Doc fix.
7805
ff3d9573
GM
78062000-08-07 Gerd Moellmann <gerd@gnu.org>
7807
41e757a6 7808 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7809 line, clear ascent and descent members of the iterator structure;
7810 the height of the continued line does not affect the height of the
7811 continuation line.
7812 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7813 line taller than the window.
7814 (redisplay_window) <forced window start>: Handle case that the
7815 middle of the window is not found in any row.
7816 (dump_glyph_row): Show more information.
7817 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7818 first text line in a glyph matrix.
7819
7820 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7821 of the clip area when image doesn't have a mask.
7822
70fc58b3
GM
7823 * fns.c (sweep_weak_table): Fix survival conditions for
7824 key-or-value and key-and-value weakness.
7825
7826 * .gdbinit (xhashtable): New command.
7827
ac0e96ee
GM
7828 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7829 tables out of the list of all weak hash tables.
7830
ff3d9573
GM
7831 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7832 a new buffer is created, make sure echo_area_buffer[] references
7833 the new buffer.
7834
e0d8827b
EZ
78352000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7836
7837 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7838 the doc string.
7839
c6f35378
KH
78402000-08-07 Kenichi Handa <handa@etl.go.jp>
7841
7842 * syntax.c (skip_chars): Fix previous change. Make the handling
7843 of unibyte string consistent with that of regex search.
7844
1fd4c450
GM
78452000-08-05 Gerd Moellmann <gerd@gnu.org>
7846
e49aa397
GM
7847 * xmenu.c (popup_get_selection): Use xfree instead of free.
7848
7849 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7850
7851 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7852
7853 * callproc.c (child_setup): Use xfree instead of free.
7854
7855 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7856 instead of malloc.
7857 (run_mac_command, closedir): Use `xfree' instead of `free'.
7858
7859 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7860
7861 * eval.c (error): Use xfree instead of free.
7862
1fd4c450
GM
7863 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7864
7865 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7866 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7867
82d497fc
KH
78682000-08-05 Kenichi Handa <handa@etl.go.jp>
7869
7870 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7871 conversion.
7872
59f953a2
NF
78732000-08-04 Noah Friedman <friedman@splode.com>
7874
7875 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7876 docstring.
7877
688351f2
GM
78782000-08-04 Gerd Moellmann <gerd@gnu.org>
7879
7880 * syntax.c (skip_chars): Fix typo in error message.
7881
2dad51cc
AS
78822000-08-04 Andreas Schwab <schwab@suse.de>
7883
7884 * m/ia64.h: Moved from s/ia64.h.
7885
99bb2c60
KH
78862000-08-04 Kenichi Handa <handa@etl.go.jp>
7887
082a1df2
KH
7888 * process.c (read_process_output): Big simplification. Handle
7889 composition and post-read-conversion of coding system correctly.
7890 (send_process): Handle composition correctly.
7891
7892 * callproc.c (Fcall_process): Handle post-read-conversion of
7893 coding system if any.
7894
99bb2c60
KH
7895 * coding.c (decode_coding_iso2022): More strict check for handling
7896 single shifting.
082a1df2
KH
7897 (coding_restore_composition): Pay attention to the case that
7898 cmp_data is not set properly (because of invalid code in the
7899 source text).
7900 (run_pre_post_conversion_on_str): Include text properties in the
7901 resulting string.
7902 (decode_coding_string): Set members of coding correctly.
99bb2c60 7903
f4988be7
GM
79042000-08-03 Gerd Moellmann <gerd@gnu.org>
7905
7906 * s/ia64.h: New file.
7907
7908 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7909 Use NULL instead of 0 at the end of variable argument list of
7910 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7911 sizeof (int) < sizeof (void *).
7912
7913 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7914 of variable argument lists of XtVaGetValues and XtVaSetValues.
7915
7916 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7917 variable argument lists of XtVaGetValues and XtVaSetValues.
7918
ead53494
GM
79192000-08-02 Gerd Moellmann <gerd@gnu.org>
7920
7921 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7922 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7923
7924 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7925 prototype.
7926
7927 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7928 in call to Fsingle_key_description.
7929
7930 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7931 Callers changed.
7932
79332000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7934
7935 * window.c (display_buffer_reuse_frames): New variable.
7936 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7937 frames displaying BUFFER.
52283633 7938 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7939
10b0f752
MB
79402000-08-01 Miles Bader <miles@gnu.org>
7941
7942 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7943 when to constrain NEW_POS (they were pretty screwed up before).
7944
16425c4a
EZ
79452000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7946
7947 * msdos.c (run_msdos_command): Save and restore the master
7948 environment, for the case that child_setup signals an error.
7949 When mirroring slashes in DOS shell commands, don't fail when
7950 argv[2] has embedded blanks.
da288c14
EZ
7951 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7952 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7953 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7954
7955 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7956 using alloca; free it after run_msdos_command returns.
7957
27f73852
DL
79582000-07-27 Dave Love <fx@gnu.org>
7959
52283633
SM
7960 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7961 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7962
7963 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7964
c0261b5e
EZ
79652000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7966
7967 * editfns.c (lisp_time_argument): Fix last change.
7968
b548072f
GM
79692000-07-27 Gerd Moellmann <gerd@gnu.org>
7970
3ab82477
GM
7971 * fns.c (Fdelete): Make it work on vectors and strings in addition
7972 to lists.
7973
b548072f
GM
7974 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7975 (syms_of_fns): Initialize new variables.
52283633 7976 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7977 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7978 weakness, with t meaning the same as `key-and-value'.
7979
91ae8751
KH
79802000-07-27 Kenichi Handa <handa@etl.go.jp>
7981
7982 * coding.h (struct coding_system): Member safe_charset deleted.
7983
7984 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7985 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7986 New variables.
91ae8751
KH
7987 (coding_safe_chars): New function.
7988 (CODING_SAFE_CHAR_P): New macro.
7989 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7990 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7991 (detect_coding_iso2022): New local variable safe_chars.
7992 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7993 safe_charsets member of the coding system.
7994 (decode_coding_iso2022): New local variable safe_chars.
7995 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7996 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7997 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7998 (ENCODE_UNSAFE_CHARACTER): New macro.
7999 (encode_coding_iso2022): New local variable safe_chars. Check
8000 unsafe chars.
8001 (setup_coding_system): Delete the code to initialize
8002 coding->safe_charses
8003 (intersection, find_safe_codings): New functions.
8004 (Ffind_coding_systems_region_internal): New function.
8005 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8006 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8007 variable and initialize it.
8008
8009 * fns.c (char_table_ref_and_index): New function.
8010
8011 * lisp.h (char_table_ref_and_index): Add prototype.
8012
34a7a267
SS
80132000-07-26 Sam Steingold <sds@gnu.org>
8014
8015 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8016 (Ffloat_time): New built-in Lisp function.
34a7a267 8017
a95cb10a
GM
80182000-07-26 Gerd Moellmann <gerd@gnu.org>
8019
3353ef5a
GM
8020 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8021 for the character code.
8022
8023 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8024 GNU/Linux.
8025
a95cb10a
GM
8026 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8027 if called for a popup menu.
8028 (xmenu_show): Store help string in widget values.
8029
b4a12321
DL
80302000-07-26 Dave Love <fx@gnu.org>
8031
8032 * syswait.h: Move some definitions.
8033 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8034 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8035 perspicuous definitions.
8036 (WTERMSIG): Fix bit pattern used.
8037
13f5ad37
KH
80382000-07-26 Kenichi Handa <handa@etl.go.jp>
8039
8040 * print.c (print_object): If vector printing is truncated, print
8041 "..." to indicate it as well as the case of list printing.
8042
070fe99c
GM
80432000-07-25 Gerd Moellmann <gerd@gnu.org>
8044
969065c3
GM
8045 * xdisp.c (next_element_from_display_vector): Improve comments.
8046
8047 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8048 for the character code, and the rest for the face id as in 20.x.
8049 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8050
8051 * window.c (window_display_table): Cleaned up.
8052
070fe99c
GM
8053 * syntax.c (Fforward_word): Add last arg nil in call of
8054 Fconstrain_to_field.
8055
bad77ef7
EZ
80562000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8057
969065c3 8058 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8059 identical but for the letter-case, don't call
8060 barf_or_query_if_file_exists.
bad77ef7 8061
c28da489
MB
80622000-07-25 Miles Bader <miles@gnu.org>
8063
8064 * editfns.c (find_field): Honor special `boundary' fields.
8065 (Qboundary): New variables.
8066 (syms_of_editfns): Initialize Qboundary.
8067 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8068 Use scan_buffer instead of find_before_next_newline, because it
8069 allows us to detect the boundary case where there's a newline at
8070 the search limit.
8071 * lisp.h (Fconstrain_to_field): Update external declaration.
8072
e3c31fd5
GM
80732000-07-24 Gerd Moellmann <gerd@gnu.org>
8074
8075 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8076 if that is nil.
c28da489 8077
c66c29a2
DL
80782000-07-24 Dave Love <fx@gnu.org>
8079
8080 * s/sunos4-0.h, s/sol2.h:
8081 (LIBS_TERMCAP): Move from m/sparc.h.
8082
8083 * m/sparc.h (TERMINFO): Moved to system files (probably only
8084 relevant for sunos4 judging by its vintage).
8085 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8086 __arch64__.
8087
fbe0a958
EZ
80882000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8089
8090 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8091 name to single_keymap_panes.
8092
7d88e5c9
AS
80932000-07-24 Andreas Schwab <schwab@suse.de>
8094
8095 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8096
e024b101
GM
80972000-07-24 Gerd Moellmann <gerd@gnu.org>
8098
8099 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8100 parameters instead of using int parameters. Expect FN to accept
8101 EMACS_INT parameters.
8102 (display_echo_area, resize_echo_area_axactly, current_message)
8103 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8104 with new argument list.
8105 (resize_mini_window_1): New callback function.
8106 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8107 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8108
25c1a9ce
KH
81092000-07-24 Kenichi Handa <handa@etl.go.jp>
8110
8111 * fontset.c (fontset_ref): Remove INLINE declaration.
8112 (fontset_ref_via_base): Likewise.
8113 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8114 to downcase.
8115
7f987ac0
EZ
81162000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8117
8118 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8119 correct order of priority. If help echo was found in an overlay,
8120 use that overlay as the object in which the help echo was found.
8121
e2db3069
MB
81222000-07-22 Miles Bader <miles@gnu.org>
8123
8124 * textprop.c (Fprevious_single_char_property_change): The initial
8125 property value should be from the position preceding POSITION, not
8126 following it.
8127
5e3203e4
EZ
81282000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8129
8130 * coding.c (syms_of_coding): Doc fix for
8131 inhibit-iso-escape-detection.
8132
62145073
GM
81332000-07-21 Gerd Moellmann <gerd@gnu.org>
8134
c20aeb83
GM
8135 * xterm.c (note_mouse_highlight): Process overlays in the right
8136 order of priority.
34a7a267 8137
743934db
GM
8138 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8139
8140 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8141 overlay, use that overlay as the object in which the help was found.
743934db 8142
d1dc7e43 8143 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8144
62145073
GM
8145 * window.c (foreach_window): Instead of a fake variable argument
8146 list, take one USER_DATA argument.
8147 (foreach_window_1): Likewise, and call callback functions with two
8148 args, the window and USER_DATA.
8149 (struct check_window_data): New struct.
8150 (check_window_containing): Use it.
8151 (window_from_coordinates): Set up a struct check_window_data for
8152 foreach_window.
8153 (add_window_to_list, freeze_window_start): Change parameters
8154 according to new calling convention.
8155
8156 * window.h (foreach_window): Change prototype.
8157
8158 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8159
81602000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8161
8162 * xmenu.c (menu_help_callback): Call show_help_echo with
8163 additional arguments OBJECT and POS.
8164
11270583
KH
81652000-07-21 Kenichi Handa <handa@etl.go.jp>
8166
07b14857
KH
8167 * data.c (Faset): Allow storing any multibyte character in a
8168 string. Convert unibyte string to multibyte if necessary.
8169
11270583
KH
8170 * xfns.c (x_encode_text): New function.
8171 (x_set_name): Use x_encode_text.
8172 (x_set_title): Likewise.
8173
8174 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8175
8176 * xterm.h (x_encode_text): Add prototype.
8177
bc75b4fd
DL
81782000-07-20 Dave Love <fx@gnu.org>
8179
8180 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8181 xfree, not free.
8182
48c14970
EZ
81832000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8184
8185 * msdos.c (help_echo_window): New variable.
8186 (syms_of_msdos): Initialize and staticpro it.
8187 (IT_note_mode_line_highlight): Set help_echo_window.
8188 (IT_note_mouse_highlight): Ditto.
8189 (dos_rawgetc): Store help_echo_window in the second event produced
8190 for HELP_EVENTs.
8191
8192 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8193 Record the object that generated the help echo and the position of
8194 that object in help_echo_object and help_echo_pos. Record that
8195 some glyphs in a row are displayed in mouse-face.
8196 (IT_update_begin): Don't clear mouse highlight unless one of the
8197 enabled glyph rows is marked as being displayed in mouse-face.
8198 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8199 and position recorded in help_echo_object and help_echo_pos to the
8200 event queue.
8201 (IT_menu_display): Accept a new argument PN: the pane number of
8202 the current menu pane. Record the pane number and the item
8203 number of the item which has associated help string.
8204 (XMenuActivate): Update the prototype for help_callback in
8205 function declaration. Call IT_menu_display with the current menu
8206 pane number as an additional argument. Call help_callback with
8207 two additional arguments: the pane number and the item number of
8208 the menu item associated with the help text.
8209 (help_echo_object, help_echo_pos): New variables.
8210 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8211
8212 * msdos.h (XMenuActivate): Update prototype.
8213
4279296d
GM
82142000-07-19 Gerd Moellmann <gerd@gnu.org>
8215
47db06aa
GM
8216 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8217 Add some more prototypes.
8218
8219 * xterm.c, xterm.h: Add some more prototypes.
8220
8221 * lisp.h (Fnext_single_char_property_change): Add prototype.
8222
8223 * dispnew.c (direct_output_for_insert): Remove confusing
8224 outer local variable mouse_face_overwritten_p.
8225 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8226
4279296d
GM
8227 * alloc.c (allocate_string_data): Don't copy old string contents.
8228
670acd62
KH
82292000-07-19 Kenichi Handa <handa@etl.go.jp>
8230
8231 * coding.c (code_convert_region): Delete text properties before
8232 shrinking the conversion region.
8233
7cea38bc
GM
82342000-07-18 Gerd Moellmann <gerd@gnu.org>
8235
dc1cac59
GM
8236 * dispnew.c (update_text_area): Write the whole row if it
8237 has mouse-face in it.
8238
85a8aca9
GM
8239 * xfaces.c (face-alternative-font-family-alist): Remove
8240 DEFVAR_LISP; staticpro instead.
8241
34a7a267 8242 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8243 new arguments.
8244
8245 * keyboard.c (show_help_echo): Add parameter WINDOW.
8246 (read_char): Call show_help_echo with window extracted from Lisp
8247 help event.
8248 (gen_help_event): Add parameter WINDOW.
8249
8250 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8251
8252 * xterm.c (help_echo_window): New variable.
52283633 8253 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8254 (XTread_socket): Pass help_echo_window to gen_help_event.
8255 (syms_of_xterm): Initialize and staticpro help_echo_window.
8256
f8276b77
DL
82572000-07-18 Dave Love <fx@gnu.org>
8258
52283633 8259 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8260
088831a6
GM
82612000-07-18 Gerd Moellmann <gerd@gnu.org>
8262
3d6cd763
GM
8263 * alloc.c (allocate_string_data): If string had already data
8264 assigned, copy old contents to new string data.
8265
8266 * coding.c (syms_of_coding): Fix typo in spelling of variable
8267 `inhibit-iso-escape-detection'.
8268
088831a6
GM
8269 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8270
8271 * Makefile.in: Add dependencies on dispextern.h.
8272 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8273 `free'; both can conflict with system header files.
8274
bc8a8d55
KH
82752000-07-18 Kenichi Handa <handa@etl.go.jp>
8276
8277 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8278 undefined.
8279
069f5950
DL
82802000-07-18 Dave Love <fx@gnu.org>
8281
8282 * window.c (Fwindow_list): Declare arg `window'.
8283
aa96c820
KH
82842000-07-18 Kenichi Handa <handa@etl.go.jp>
8285
8286 * coding.c (setup_coding_system): Don't override the explicitly
8287 specified designations.
8288
06be8d32
MB
82892000-07-15 Miles Bader <miles@gnu.org>
8290
8291 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8292 from `text_property_eq' and `text_property_stickiness', respectively.
8293 (find_field, Fconstrain_to_field, char_property_eq)
8294 (char_property_stickiness): Changed to call char-property functions
8295 instead of text-property-only ones.
8296
8297 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8298 `next_single_char_property_change'). Do more error checking, and
8299 cleanup limit behavior.
8300 (Fprevious_single_char_property_change): New function.
8301 (syms_of_textprop): Initialize new subrs.
8302
8303 * xdisp.c (display_prop_end, invisible_text_between_p):
8304 Call Fnext_single_char_property_change instead of
8305 next_single_char_property_change.
8306
3fddcdc3
JR
83072000-07-15 Jason Rumney <jasonr@gnu.org>
8308
8309 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8310 after menu is finished with.
8311 (add_menu_item): Only consider wv->title as a menu title.
8312 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8313
8314 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8315 null title.
8316 (FONT_REGEXP): Remove unused macro, and its sub-components.
8317 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8318
8319 * w32term.c (help_echo_object, help_echo_pos): New variables.
8320 (note_mode_line_highlight): Store additional information about the
8321 help-echo in help_echo_object and help_echo_pos. Check both
8322 `local-map' and `keymap' properties for changing the cursor
8323 (note_mouse_highlight): Store additional information about the
8324 help-echo in help_echo_object and help_echo_pos.
8325 (note_tool_bar_highlight): Set help_echo_object to nil and
8326 help_echo_pos to -1.
8327 (w32_read_socket): Use gen_help_event instead of filling
8328 input_events manually.
8329 (syms_of_w32term): Staticpro help_echo_object.
8330 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8331 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8332 (x_clear_mouse_face): New function.
8333 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8334 (x_update_window_begin): No need to turn off the mouse
8335 highlight here.
8336 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8337 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8338 (x_fill_stretch_glyph_string): Consume runs of stretch
8339 glyphs instead of a single one.
8340 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8341 with new argument list.
8342 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8343 (x_append_glyph, x_append_composite_glyph)
8344 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8345 changes in struct glyph starting 1999-12-27. See comments for
8346 xterm.c on 2000-07-05.
8347
178c5d9c
SS
83482000-07-14 Sam Steingold <sds@gnu.org>
8349
8350 * xfaces.c (realize_x_face): Fix the last patch:
8351 check `default_face' before dereferencing.
8352
6fe533f6
DL
83532000-07-14 Dave Love <fx@gnu.org>
8354
069f5950 8355 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8356
dd7b81cf
KH
83572000-07-14 Kenichi Handa <handa@etl.go.jp>
8358
0693904a 8359 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8360 default_face's fontset, not using the default fontset.
0693904a 8361
dd7b81cf
KH
8362 * coding.c (inhibit_iso_escape_detection): New variable.
8363 (syms_of_coding): Make it a Lisp variable.
8364 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8365 nonzero, ignore ISO2022's escape sequence.
8366
d5aa31d8
GM
83672000-07-14 Gerd Moellmann <gerd@gnu.org>
8368
e5acf0ca
GM
8369 * alloca.c (malloc) [emacs]: Define as xmalloc.
8370
bd23a692
GM
8371 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8372 use that instead of the mouse position. Add parameters DX and DY.
8373
8374 * dispextern.h (Fx_show_tip): Adjust number of parameters
8375 in prototype.
8376
9662da0b
GM
8377 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8378 if HELP is a function, call it with OBJECT and POS as parameters
8379 to get the help to display.
8380 (gen_help_event, kbd_buffer_store_help_event): New functions.
8381 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8382 (read_char): Call show_help_echo with new parameters.
8383
178c5d9c 8384 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8385 Add prototypes.
8386
8387 * xterm.c (help_echo_object, help_echo_pos): New variables.
8388 (note_mode_line_highlight): Store additional information about the
8389 help-echo in help_echo_object and help_echo_pos. Check both
8390 `local-map' and `keymap' properties for changing the cursor
8391 (note_mouse_highlight): Store additional information about the
8392 help-echo in help_echo_object and help_echo_pos.
8393 (note_tool_bar_highlight): Set help_echo_object to nil and
8394 help_echo_pos to -1.
8395 (XTread_socket): Use gen_help_event instead of filling
8396 input_events manually.
8397 (syms_of_xterm): Staticpro help_echo_object.
8398
8399 * xmenu.c (menu_highlight_callback): Use
8400 kbd_buffer_store_help_event instead of setting up and input_event
8401 structure manually.
8402
8403 * xdisp.c (eval_form): GCPRO argument sexpr.
8404 (call_function): New function.
8405 (handle_single_display_prop): Use call_function and FUNCTIONP
8406 instead of checking whether if font_height is a symbol and
8407 using eval_form.
8408
8409 * eval.c (internal_condition_case_2): New function.
8410
8411 * lisp.h (FUNCTIONP): New macro.
8412 (internal_condition_case_2, call_function): Add prototypes.
8413
d5aa31d8
GM
8414 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8415 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8416 Always set `arg' member of input_events.
8417 (construct_menu_click): Unused function removed.
8418
8419 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8420
8421 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8422 (construct_drag_n_drop, x_scroll_bar_handle_click)
8423 (w32_read_socket): Always set `arg' member of input_events.
8424
8425 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8426
8427 * lisp.h (eval_form): Add prototype.
8428
8429 * xdisp.c (eval_form): Make it externally visible.
8430
0f1a9b23
GM
84312000-07-13 Gerd Moellmann <gerd@gnu.org>
8432
8433 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8434 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8435 consing. For prefix events, store the frame in the `arg' slot of
8436 the event, otherwise store the key there.
8437 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8438 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8439
8440 * xmenu.c (menu_highlight_callback): Store help string in the
8441 `arg' member of the input event; don't cons.
8442 (menubar_selection_callback): Use the `arg' slot of input events
8443 to queue additional information, instead of consing.
8444
8445 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8446
8447 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8448 TOOL_BAR_EVENTs.
8449 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8450
8451 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8452 input events to queue additional information, instead of consing.
8453
8454 * keyboard.c (kbd_buffer_gcpro): Renamed from
8455 kbd_buffer_frame_or_window. Now used for all Lisp objects
8456 referenced from the input queue.
8457 (kbd_buffer_store_event): Always use structure assignment for
8458 copying input events. Record all Lisp objects referenced from
8459 events in kbd_buffer_gcpro.
8460 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8461 differently from input events. Test for prefix menu_bar_events
8462 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8463 event in kbd_buffer_gcpro to nil.
8464 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8465 frame_or_window is equal to its arg member as prefix events.
8466 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8467 used by an input event to nil.
8468 (init_keyboard): Use two times the size of the input queue
8469 for kbd_buffer_gcpro.
8470 (syms_of_keyboard): Likewise.
8471
52283633
SM
8472 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8473 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8474
8475 * termhooks.h (struct input_event): Add member `arg'.
8476 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8477 (USER_SIGNAL_EVENT): Renamed from user_signal.
8478
8479 * xfaces.c (ASET): Remove definition.
8480
8481 * lisp.h (AREF, ASET, ASIZE): New macros.
8482
8483 * fontset.c (AREF, ASIZE): Remove definitions.
8484
8485 * fns.c (AREF): Remove definition.
178c5d9c 8486
0f1a9b23
GM
8487 * composite.c (AREF): Remove definition.
8488
712eaef2
GM
84892000-07-12 Gerd Moellmann <gerd@gnu.org>
8490
d8ee7803
GM
8491 * dispnew.c (redraw_overlapped_rows): Add missing local.
8492 (scrolling_window): Remove debug code.
8493
712eaef2
GM
8494 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8495 Before scrolling, turn off a mouse-highlight in the window
8496 being scrolled.
8497
8498 * xterm.c (x_update_window_end): Add parameter
8499 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8500 redisplay in XTframe_up_to_date.
8501 (x_clear_mouse_face): New function.
8502 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8503
8504 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8505 current glyph row.
8506 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8507 it when any row is written to that contains glyphs highlighted in
8508 mouse-face.
8509 (update_window): Call the window update end hook with new
8510 parameter MOUSE_FACE_OVERWRITTEN_P.
8511 (direct_output_for_insert): Give up if row contains mouse-face.
8512
8513 * dispextern.h (struct redisplay_interface): Add parameter
8514 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8515 (clear_mouse_face): New function pointer member.
8516
02010917
SM
85172000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8518
8519 * syntax.c (back_comment): Use one switch rather than a few `if's.
8520 Obey open_paren_in_column_0_is_defun_start.
8521 When reverting to the `slow' method, try to nicely handle the case
8522 of nested comments by checking that the comment-starter we found
8523 does indeed match the comment-ender.
8524 (scan_sexps_forward, scan_sexps_forward):
8525 Ignore excessive opening parenthesis rather than throwing an error.
8526
d76c03ea
GM
85272000-07-11 Gerd Moellmann <gerd@gnu.org>
8528
8529 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8530 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8531
8532 * dispnew.c (direct_output_forward_char): Give up if currently
8533 displaying a message instead of the minibuffer contents.
8534
8535 * xterm.c (x_update_window_begin): No need to turn off the mouse
8536 highlight here.
8537 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8538 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8539
8540 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8541 compare the mouse_face_p flags of both rows.
8542
8543 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8544
d55ead18
EZ
85452000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8546
8547 * keyboard.c (show_help_echo): Accept additional parameter
8548 ok_to_overwrite_keystroke_echo.
8549 (read_char): Call show_help_echo with a zero
8550 ok_to_overwrite_keystroke_echo argument.
52283633 8551 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8552 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8553 ok_to_overwrite_keystroke_echo argument.
8554 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8555 non-zero ok_to_overwrite_keystroke_echo argument.
8556
df75b1a3
GM
85572000-07-10 Gerd Moellmann <gerd@gnu.org>
8558
4b92c49a
GM
8559 * xdisp.c (try_window_id): If changes are all below what is
8560 displayed in the window, and point is in the window, we still
8561 might have to find point on the display.
8562
8563 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8564 glyphs instead of a single one.
8565 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8566 with new argument list.
8567 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8568
df75b1a3
GM
8569 * keymap.c (get_keymap_1): Add comment that this function can GC.
8570 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8571 comment that functions can GC.
8572 (Fset_keymap_parent): GCPRO arg KEYMAP.
8573
4314cf3e
EZ
85742000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8575
8576 * msdos.c (XMenuActivate): After exiting the menu, restore the
8577 echo area message and erase it.
8578
ab49ce15
KH
85792000-07-10 Kenichi Handa <handa@etl.go.jp>
8580
8581 * fontset.c (Ffontset_info): Make the return value more compatible
8582 with that of Emacs 20.
8583
090a072f
GM
85842000-07-07 Gerd Moellmann <gerd@gnu.org>
8585
8586 * eval.c (Fsignal): Handle case that backtrace_list is null.
8587
f92de4a6
KH
85882000-07-07 Kenichi Handa <handa@etl.go.jp>
8589
8590 * ccl.c (Fccl_execute): Typo fixed.
8591
dd8888a1
GM
85922000-07-06 Gerd Moellmann <gerd@gnu.org>
8593
e5c81191 8594 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8595
dd8888a1
GM
8596 * window.c (Fwindow_list): Reverse list at the end.
8597 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8598 means allow windows on OWINDOW's frame, only.
8599 (window_loop): Simplified; use Fwindow_list.
8600
8601 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8602
485266d0
GM
86032000-07-05 Gerd Moellmann <gerd@gnu.org>
8604
8605 * xterm.c (XTread_socket): Increment handling_signal at the start,
8606 decrement it at the end.
8607
8608 * eval.c (handling_signal): New variable.
8609 (Fsignal): Abort if handling_signal is non-zero.
8610
8611 * lisp.h (handling_signal): External declaration.
178c5d9c 8612
485266d0
GM
8613 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8614
80fcd514
KR
86152000-07-05 Ken Raeburn <raeburn@gnu.org>
8616
8617 Sound support for NetBSD through "Linux emulation" support:
8618 * config.in (HAVE_SOUNDCARD_H): Undef.
8619 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8620 * Makefile.in (LIBSOUND): New variable.
8621 (LIBES): Include it.
52283633
SM
8622 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8623 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8624 (vox_open): Use DEFAULT_SOUND_DEVICE.
8625 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8626
d5c5cddd
GM
86272000-07-05 Gerd Moellmann <gerd@gnu.org>
8628
8629 * print.c (print_error_message): If Vsignaling_function is set,
8630 show it in *Messages*.
8631
8632 * lisp.h (Vsignaling_function): External declaration.
8633
8634 * eval.c (Vsignaling_function): New variable.
8635 (Fsignal): Compute it.
8636 (syms_of_eval): Staticpro it.
8637
65171e3a
DL
86382000-07-05 Dave Love <fx@gnu.org>
8639
8640 * syswait.h: Use the autoconf recommended approach. Old code
8641 #if'd out in case we need to revert.
8642
178c5d9c 8643 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8644
e2c46326
AI
86452000-07-05 Andrew Innes <andrewi@gnu.org>
8646
8647 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8648 when non-NULL instead of __morecore, to take account of buffer
8649 memory. This also solves a problem with spurious memory warnings
8650 on Windows.
8651
8652 * ralloc.c: Make real_morecore non-static.
8653
8654 * eval.c (internal_condition_case): Comment out abort if
8655 interrupt_input_blocked is not zero.
8656
8657 * makefile.nt: Add support for `bootstrap' and related targets.
8658 Include minimal debug info in emacs.exe in release build.
8659 Remove all dependencies on lisp.h, and fixup some others.
8660
8661 * w32.c (init_environment): Install code from 20.7 for providing
8662 default values for environment variables, based on the
8663 executable's own location.
52283633 8664 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8665 (sys_socket): Install socket inheritance bug fix from 20.7.
8666
8667 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8668 here via blockinput.h).
8669
a027a91b
SM
86702000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8671
e4b31601
SM
8672 * w32menu.c (w32_menu_display_help):
8673 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8674
8675 * keyboard.h (show_help_echo): Declare.
8676
8677 * keyboard.c (show_help_echo): New function, extracted from read_char.
8678 Feval its `msg' argument if it's a cons cell.
8679 (read_char): Use it.
4cf8d9d5 8680 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8681
178c5d9c 8682 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8683 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8684 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8685 (dos_rawgetc):
8686 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8687 (note_tool_bar_highlight, w32_read_socket):
8688 Do not gratuitously ignore non-string `help-echo' properties.
8689
88d75730
GM
86902000-07-05 Gerd Moellmann <gerd@gnu.org>
8691
969f7e79
GM
8692 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8693
71201b00
GM
8694 * window.c (delete_all_subwindows): Reset Vwindow_list.
8695
88d75730
GM
8696 * xterm.c (x_append_glyph, x_append_composite_glyph)
8697 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8698 changes in struct glyph starting 1999-12-27. Some bit-fields of
8699 struct glyph were not set, which made glyphs unequal when compared
8700 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8701 effects were the result. This also depended on the contents of
8702 memory returned by xmalloc. If flickering happens again, activate
8703 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8704 gone with that, chances are that it is caused by something similar.
88d75730
GM
8705
8706 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8707
88d75730
GM
8708 * dispextern.h: Add some comments.
8709
8710 * window.c (add_window_to_list): Add parameter LIST.
8711 (window_list): Order list so that, for each frame, windows are
8712 in canonical order, and so that frames appear in the list in
8713 the order given by Vframe_list.
8714 (next_window): Reverse the handling of NEXT_P.
8715
53654733
GM
87162000-07-04 Gerd Moellmann <gerd@gnu.org>
8717
87efd256
GM
8718 * window.c (Vwindow_list): New variable.
8719 (make_window, delete_window): Set Vwindow_list to nil.
8720 (check_window_containing): New function.
8721 (window_from_coordinates): Rewritten.
8722 (add_window_to_list, window_list, candidate_window_p)
8723 (decode_next_window_args, next_window): New functions.
52283633 8724 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8725 (Fwindow_list): New function.
8726 (Fother_window): Cleaned up.
8727 (foreach_window): Add a longer "variable argument list". Let
8728 callback function return 0 to indicate that cycling over windows
8729 should stop.
8730 (foreach_window_1): Likewise.
8731 (freeze_window_start): Return int.
8732 (init_window): New function.
8733 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8734
8735 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8736 input_event with bzero.
8737 (main): Call init_window.
8738
53654733
GM
8739 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8740 a menu filter.
8741
4a8c194f
KH
87422000-07-04 Kenichi Handa <handa@etl.go.jp>
8743
8744 * composite.h (make_composition_value_copy): Extern it.
8745
8746 * composite.c (make_composition_value_copy): New function.
8747
8748 * editfns.c (Fformat): While copying text properties, make each
8749 composition property value a copy.
8750
8751 * fns.c (concat): While copying text properties, make each
8752 composition property value a copy.
8753
831a6cb0
GM
87542000-07-03 Gerd Moellmann <gerd@gnu.org>
8755
2f516940
GM
8756 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8757
178c5d9c 8758 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8759 marked already.
8760
831a6cb0
GM
8761 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8762 include those frames as candidates which have their focus
8763 redirected to the minibuffer frame.
8764
d9c4f922
SM
87652000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8766
8767 * fns.c (Fputhash): Return `value' rather than nil.
8768
3780bc22
GM
87692000-06-30 Gerd Moellmann <gerd@gnu.org>
8770
97d176db
GM
8771 * frame.c (next_frame): Don't check focus redirection in case
8772 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8773 unless their focus is redirected, which contradicts the
8774 specification of next-frame, and leads to infinite loops in
8775 certain situations when cycling through windows with next-window.
8776
dca9961d
KH
87772000-06-30 Kenichi Handa <handa@etl.go.jp>
8778
8779 * coding.c (code_convert_region): Even if the length of text is
8780 zero, try to convert it if coding->type is coding_type_ccl.
8781 (decode_coding_string, encode_coding_string): Likewise.
8782
d5483ab1
GM
87832000-06-28 Gerd Moellmann <gerd@gnu.org>
8784
af5c25e1 8785 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8786 the display if windows_or_buffers_changed.
af5c25e1
GM
8787
8788 * dispnew.c (struct row_entry): New structure.
8789 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8790 (row_table_size, old_lines, new_lines, old_lines_size)
8791 (new_lines_size, run_pool, runs_size, runs): New variables.
8792 (add_row_entry): New function.
8793 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8794 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8795 holding them in local variables. Use a larger hash table whose
8796 size depends on glyph matrix sizes. Don't use bzero to clear the
8797 hash table; instead, clear used slots only.
8798
8799 * fns.c (next_almost_prime): Make it externally visible.
8800
8801 * lisp.h (next_almost_prime): Add prototype.
8802
d5483ab1
GM
8803 * s/isc4-0.h (sigunblock): Define.
8804
8805 * s/sco5.h (sigunblock): Define.
8806
93e40f40
DL
88072000-06-27 Dave Love <fx@gnu.org>
8808
8809 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8810 (moved to osf5-0.h).
8811 [!NOT_C_CODE]: Protect string.h stuff.
8812
8813 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8814 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8815
3c4b7685
GM
88162000-06-27 Gerd Moellmann <gerd@gnu.org>
8817
97d176db 8818 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8819 below the last line from the needed window height.
8820
32cad0aa
SM
88212000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8822
8823 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8824 (Fwidget_get): Use it.
8825 (syms_of_fns): Defsubr it.
8826
2c69ced2
GM
88272000-06-26 Gerd Moellmann <gerd@gnu.org>
8828
178c5d9c 8829 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8830 display info for XIM.
8831 (xim_open_dpy): Likewise.
8832 (xim_close_dpy): Don't free the display info's XIM.
8833
8834 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8835
8836 * config.in (USE_XIM): New define.
8837
3fc720e4
GM
8838 * keymap.c (get_keyelt): For menu-items containing a `:filter
8839 FILTER', apply FILTER to the menu-item's definition to get the
8840 real definition to use.
8841
8842 * lisp.h (QCfilter): External declaration.
8843
2c69ced2
GM
8844 * xfns.c (Fimage_size): New function.
8845 (syms_of_xfns): Defsubr it.
8846
f978b2a2
AS
88472000-06-26 Andreas Schwab <schwab@suse.de>
8848
8849 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8850 Fstring_as_unibyte.
8851
94cc7892
DL
88522000-06-25 Dave Love <fx@gnu.org>
8853
52283633 8854 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8855
8856 * Makefile.in (blockinput.h): Depend on atimer.h.
8857 (atimer.h): Depend on systime.h.
8858
52283633 8859 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8860
52283633 8861 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8862
8863 * lisp.h (swap_in_global_binding): Declare.
8864
b8c24556
KR
88652000-06-24 Ken Raeburn <raeburn@gnu.org>
8866
8867 * process.c (Fopen_network_stream): Turn off atimers for duration
8868 of call to connect. (Patch from Gerd.)
8869
8cf8560b
DL
88702000-06-23 Dave Love <fx@gnu.org>
8871
511c7541
DL
8872 * ralloc.c: Maybe include unistd.h
8873
8cf8560b
DL
8874 * emacs.c (setgrp): Undefine before defining.
8875 (malloc_warning, set_time_zone_rule, index): Prototype.
8876
8877 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8878 HAVE_STRUCT_TIMEZONE.
8879
8880 * s/osf1.h: Move string.h hack here from alpha.h and make it
8881 conditional.
8882 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8883 _XOPEN_SOURCE.
8884 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8885 (SOCKLEN_TYPE): Don't define.
8886
8887 * m/alpha.h: Remove string.h hack.
8888
8889 * s/osf5-0.h: New file.
8890
8891 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8892 include time.h, done by systime.h.
8893 [__FreeBSD__]: Remove redundant includes.
8894
3fc720e4 8895 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8896 (delete_temp_file): Return Qnil to avoid warning.
8897
8898 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8899
8900 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8901 HAVE_X_WINDOWS.
8902
8903 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8904
8905 * composite.h (compose_text): Declare.
8906
8907 * xterm.c: Don't include sys/types.h unconditionally. Don't
8908 protect its inclusion with !USG (following xmenu.c).
8909
ea055732
GM
89102000-06-23 Gerd Moellmann <gerd@gnu.org>
8911
8912 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8913 in x_create_frame.
8914
74b01b80
EZ
89152000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8916
8917 * coding.c (decode_eol_post_ccl): Special handling for undecided
8918 and inconsistent EOL types.
8919
64f3a166
GM
89202000-06-22 Gerd Moellmann <gerd@gnu.org>
8921
16cf31f7
GM
8922 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8923 trough color and main window's background color.
8924
52283633 8925 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8926
8927 * xterm.h (Xt_app_con): External declaration.
8928
8929 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8930
486a103d
GM
8931 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8932
64f3a166
GM
8933 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8934 (handle_invisible_prop): Record the start of invisible text in
8935 it->add_overlay_start.
8936 (struct overlay_entry): Add member `overlay'.
8937 (handle_overlay_change): Simplify.
8938 (next_overlay_string): After having processed overlay strings at the
8939 end of the buffer, record that fact in
8940 it->overlay_strings_at_end_processed_p.
8941 (compare_overlay_entries): If before- and after-strings come
8942 from the same overlay, let before-strings come first.
8943 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8944 (load_overlay_strings): Take it->add_overlay_start into account
8945 when adding overlay strings.
8946
8947 * dispextern.h (struct it): Add member add_overlay_start.
8948
bb746ea6
DL
89492000-06-22 Dave Love <fx@gnu.org>
8950
8951 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8952
8953 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8954
a8f573f3
KH
89552000-06-22 Kenichi Handa <handa@etl.go.jp>
8956
8957 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8958 is greater than 0.
8959
9f2bbc92
DL
89602000-06-21 Dave Love <fx@gnu.org>
8961
178c5d9c 8962 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8963
3ee5041c
SM
89642000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8965
8966 * syntax.c (back_comment): Simplify string-parity counting (with
8967 the added benefit of handling multiple string-styles as long as
8968 they are not intertwined).
8969 Jump to the slow code as soon as a comment starter is found in
8970 a "string_lossage" position. Fixes the case: " /* " /* " */.
8971
4c343001
DL
89722000-06-21 Dave Love <fx@gnu.org>
8973
8974 * Makefile.in: Use GETLOADAVG_LIBS.
8975
8976 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8977 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8978
e6365855
SM
89792000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8980
8981 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8982 (Fforward_comment, scan_lists):
8983 Check the comstyle of single-char comment-starters.
8984 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8985 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8986 Check the comstyle of single-char comment-starters.
8987 Clarify control-flow around the Scomment case.
e6365855 8988
5700d2cc
DL
89892000-06-20 Dave Love <fx@gnu.org>
8990
d355bd8a
SM
8991 * fns.c (make_hash_table, maybe_resize_hash_table):
8992 Cast arg of next_almost_prime.
5700d2cc 8993
178c5d9c 8994 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8995
8996 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8997 and unistd.h.
8998
4a27bdfb
GM
89992000-06-20 Gerd Moellmann <gerd@gnu.org>
9000
a61d762c 9001 * keyboard.c (adjust_point_for_property): Check if display
52283633 9002 property should be treated as intangible by looking at its value.
a61d762c 9003
178c5d9c 9004 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9005 (display_prop_intangible_p): New functions.
9006
9007 * dispextern.h (display_prop_intangible_p): Add prototype.
9008
9009 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9010
4a27bdfb
GM
9011 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9012 argument to sigprocmask.
9013
9014 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9015 argument to sigprocmask.
9016
9017 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9018 sigprocmask_set, and pass a pointer to it to sigprocmask.
9019
9020 * sysdep.c (sigprocmask_set): New variable.
9021
9022 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9023 report_file_error.
9024
427ec082
SS
90252000-06-20 Sam Steingold <sds@gnu.org>
9026
9027 * xrdb.c: Don't declare xmalloc, xrealloc.
9028
8972fe79 90292000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9030
9031 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9032 (re_comp): Cast gettext return value to avoid complaints when
9033 !HAVE_LIBINTL.
9034
074b6efe
DL
90352000-06-20 Dave Love <fx@gnu.org>
9036
52283633 9037 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9038
5700d2cc 9039 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9040
d355bd8a 9041 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9042
9043 * m/alpha.h: Don't declare xmalloc, xrealloc.
9044
0af4f205
DL
9045 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9046
9047 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9048
9049 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9050
9051 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9052 HAVE_GETWD.
9053
074b6efe
DL
9054 * keyboard.h (poll_for_input_1): Declare.
9055
9056 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9057
9058 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9059
9060 * doprnt.c: Don't declare xmalloc, xrealloc.
9061
9062 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9063 (getenv, ctime, getwd): Removed.
9064 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9065
9066 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9067 x_set_tool_bar_lines.
9068
9069 * config.in: Add HAVE_GETWD. Move some definitions above
9070 machine/system includes.
9071
68a5e97b
KH
90722000-06-20 Kenichi Handa <handa@etl.go.jp>
9073
95417e1e
KH
9074 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9075
68a5e97b
KH
9076 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9077 contain information about ENCODING.
9078
9079 * fontset.c (FONTSET_ASCII): Use the first element of char table
9080 for an ASCII font, not defalt slot.
9081 (fontset_ref_via_base): If FONTSET doesn't contain information for
9082 C, try the default fontset.
9083 (make_fontset): Don't copy the default fontset.
9084 (fontset_font_pattern): Likewise.
9085 (accumulate_font_info): If ELT is nil, use the corresponding
9086 element in the default fontset.
9087
3b4fa1b2
DL
90882000-06-19 Dave Love <fx@gnu.org>
9089
943e731c
DL
9090 * syntax.c (Fparse_partial_sexp): Doc fix.
9091
9092 * regex.h: Test PROTOTYPES as well as __STDC__.
9093
3b4fa1b2
DL
9094 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9095 errno, strerror. Put text after #endif in comment.
9096
52283633 9097 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9098
9099 * xterm.c (x_frame_of_widget): Likewise.
9100
cdf0357b
GM
91012000-06-19 Gerd Moellmann <gerd@gnu.org>
9102
9103 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9104 to Vfundamental_mode_abbrev_table.
9105
9106 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9107 bogus objects are marked. This slows down GC by ~80 percent, but
9108 it might be worth trying when debugging GC-related problems.
9109 This feature requires conservative stack marking to be enabled.
9110
9111 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9112 returns XLookupChars, reset `modifiers' to zero.
9113
998e9f8c
DL
91142000-06-19 Dave Love <fx@gnu.org>
9115
9116 * mktime.c: Unprotoized.
9117
18e21ce8 91182000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9119
9120 * data.c (set_internal): If variable is frame-local,
9121 store the new value immediately into the frame parameter alist.
9122
140c4ac6
KR
91232000-06-19 Ken Raeburn <raeburn@gnu.org>
9124
14358466
KR
9125 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9126 in the custom handler pointer.
9127
140c4ac6
KR
9128 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9129 value, or checks for CHAR_META can fail when Lisp_Object is a
9130 union type.
9131 * keymap.c (get_keyelt): Likewise.
9132
10d7bf84
KH
91332000-06-19 Kenichi Handa <handa@etl.go.jp>
9134
9135 * ccl.h (struct ccl_program): New member eol_type.
9136 (struct ccl_spec): New member cr_carryover.
9137
9138 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9139 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9140
9141 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9142 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9143 (decode_eol_post_ccl): New function.
9144 (decode_coding): Don't detect EOL format here for CCL based coding
9145 systems.
9146 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9147 decode_eol_post_ccl after running the CCL program.
9148 (code_convert_region): Don't detect EOL format here for CCL based
9149 coding systems.
9150 (decode_coding_string): Likewise.
9151
52e386c2
KR
91522000-06-18 Ken Raeburn <raeburn@gnu.org>
9153
9154 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9155 when treating it as an integer.
9156
9157 * coding.h (encode_coding_string): Declare.
9158
9159 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9160 it as an integer.
9161
9162 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9163 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9164 to be passed to get_local_map.
9165
9166 * sound.c (Fplay_sound): Don't call make_number on
9167 Frun_hook_with_args count argument.
9168
9169 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9170 for lisp objects in X event structure data field, when lisp
9171 objects are represented with unions.
9172 (x_scroll_bar_to_input_event): Ditto.
9173
b357b9d4
KR
91742000-06-16 Ken Raeburn <raeburn@gnu.org>
9175
9176 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9177 termination of string. Fix sense of test whether
9178 Vline_number_display_limit is an integer.
b357b9d4 9179
a871441d
GM
91802000-06-16 Gerd Moellmann <gerd@gnu.org>
9181
a9021acd
GM
9182 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9183 only if HAVE_X_WINDOWS.
9184
6344985d
GM
9185 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9186 of titles.
9187
427ec082 9188 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9189 out of bounds.
9190
228b083e
EZ
91912000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9192
9193 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9194 of its headers.
9195
c25b53a2
KH
91962000-06-15 Kenichi Handa <handa@etl.go.jp>
9197
9198 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9199 start of the while loop.
9200
a6981b11
GM
92012000-06-15 Gerd Moellmann <gerd@gnu.org>
9202
e9924e52
GM
9203 * atimer.c (alarm_signal_handler): Add forward declaration.
9204
a6981b11
GM
9205 * data.c (set_internal): Remove debug code.
9206
25fa6deb
GM
92072000-06-14 Gerd Moellmann <gerd@gnu.org>
9208
dce6b995
GM
9209 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9210
9f817ea4
GM
9211 * unexec.c (toplevel) [COFF]: Include coff.h.
9212
9213 * s/lynxos.h: New file.
9214
9215 * keymap.c (Fsingle_key_description): Enclose function key and
9216 event symbol names in angle brackets.
9217
8a4e3c0c
GM
9218 * xdisp.c (setup_echo_area_for_printing): Call
9219 message_log_maybe_newline if message_buf_print is not set.
9220
9221 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9222 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9223 function does something useful even when message_buf_print is
9224 already set.
9225
52283633
SM
9226 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9227 New variables.
25fa6deb
GM
9228 (ensure_echo_area_buffers): Initialize echo buffer's
9229 truncate lines setting to nil.
9230 (with_echo_area_buffer): Don't set the echo buffer's truncate
9231 lines setting here.
8a4e3c0c 9232 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9233 of message_truncate_lines.
9234 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9235 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9236 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9237
9238 * keyboard.c (read_char): Bind message-truncate-lines to t
9239 while displaying a help-echo.
9240
9241 * lisp.h (Qmessage_truncate_lines): External declaration.
9242
163dcff3
GM
92432000-06-13 Gerd Moellmann <gerd@gnu.org>
9244
1681ead6
GM
9245 * xdisp.c (Vline_number_display_limit): Renamed from
9246 line_number_display_limit.
9247 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9248 Extend documentation string. Initialize
9249 Vline_number_display_limit to nil meaning no limit.
9250 (decode_mode_spec): Use Vline_number_display_limit with its new
9251 meaning.
9252
163dcff3
GM
9253 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9254
18e21ce8 92552000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9256
9257 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9258
163dcff3
GM
9259 * xfns.c (x_set_frame_parameters): Comment fix.
9260
9261 * frame.c (store_frame_param): Call swap_in_global_binding if the
9262 variable's current binding was chosen based on this frame.
9263
9264 * data.c (swap_in_global_binding): New function.
9265
a704139d
EZ
92662000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9267
9268 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9269 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9270
9b6610db
EZ
92712000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9272
9273 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9274
c68833d2
JR
92752000-06-12 Jason Rumney <jasonr@gnu.org>
9276
9277 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9278
9279 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9280
9281 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9282
9283 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9284
ed1056b3
GM
92852000-06-12 Gerd Moellmann <gerd@gnu.org>
9286
9287 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9288 (syms_of_xfaces): Defsubr Sdump_colors.
9289 (x_free_colors): Don't treat b&w specially on default visual.
9290 (x_free_dpy_colors): New function.
9291 (free_face_colors): Don't check visual class; it's done
9292 in x_free_colors.
9293
9294 * xterm.c (x_frame_of_widget): New function.
9295 (x_alloc_nearest_color_for_widget): Use it.
9296 (x_copy_dpy_color): New function.
9297 (x_destroy_window): Free various colors.
9298
5050a2ef
KH
92992000-06-12 Kenichi Handa <handa@etl.go.jp>
9300
9301 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9302
9303 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9304
9305 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9306
9307 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9308
9309 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9310
fb1b041d
DL
93112000-06-11 Dave Love <fx@gnu.org>
9312
9313 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9314
ff96b5f4
EZ
93152000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9316
9317 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9318
db8eeecd
GM
93192000-06-11 Gerd Moellmann <gerd@gnu.org>
9320
ed1056b3 9321 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9322 to `XEvent *'.
9323
49b71c5f
KH
93242000-06-10 Kenichi Handa <handa@etl.go.jp>
9325
c479bd55
KH
9326 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9327 (regex_compile): Fix the code for handling the case of single byte
9328 char and multibyte char being mixed in a range within [...].
9329
ff6a65c2
KH
9330 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9331 and dst_multibyte members of coding.
9332
49b71c5f
KH
9333 * charset.c (update_charset_table): Update the table
9334 bytes_by_char_head.
9335 (init_charset_once): Initialize elements of bytes_by_char_head to
9336 1 except for leading codes for private charases.
9337
9338 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9339 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9340
9e80b57d
KR
93412000-06-09 Ken Raeburn <raeburn@gnu.org>
9342
9343 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9344 access the data it doesn't point to.
9345
f83fe4b4
GM
93462000-06-08 Gerd Moellmann <gerd@gnu.org>
9347
9348 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9349 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9350 event queue. This is necessary because Emacs otherwise won't
9351 perform a switch-frame to a new frame until some other event, for
9352 example a keystroke event, forces it to do so. This has various
9353 effects, one visible being that the cursor of a frame created with
9354 C-x 5 2 or switched to with a window manager key binding like
9355 A-TAB stays hollow because selected_window isn't on the newly
9356 focused frame until the switch-frame is performed.
9357
9358 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9359 generating a switch-frame event if necessary.
9360
9361 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9362
9363 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9364 it's an integer.
9365
0890801b
KH
93662000-06-08 Kenichi Handa <handa@etl.go.jp>
9367
52283633 9368 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9369
173cbca8
GM
93702000-06-07 Gerd Moellmann <gerd@gnu.org>
9371
3091c2a6
GM
9372 * window.c (displayed_window_lines): Take empty lines at
9373 the bottom of a window into account.
427ec082 9374
f38952fe
GM
9375 * window.c (displayed_window_lines): New function.
9376 (Fmove_to_window_line): Use displayed_window_lines to determine
9377 the number of lines to move, instead of using the window's height.
9378
9379 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9380 to stop reading, even if the form read sets point to a different
9381 value when evaluated.
9382
427ec082 9383 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9384 put the cursor.
9385
6ba6c818
KH
93862000-06-07 Kenichi Handa <handa@etl.go.jp>
9387
9388 * fileio.c (e_write): Free composition data if stored in
9389 coding->cmp_data.
9390
5f1aea9a
GM
93912000-06-06 Gerd Moellmann <gerd@gnu.org>
9392
666852af
GM
9393 * xdisp.c (display_line): Set row's and iterator's
9394 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9395 Set cursor even if row ends in the middle of a character.
9396 (dump_glyph_row): Print values of new flags.
9397 (redisplay_window) <cursor movement in unchanged window>: When
9398 point has been moved forward, and PT is at the end of the cursor
9399 row, don't place the cursor in the next row if the cursor row ends
9400 in the middle of a character or at ZV.
9401
9402 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9403 (struct glyph_row): Add starts_in_middle_of_char_p and
9404 ends_in_middle_of_char_p.
9405 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9406 ends_in_middle_of_char_p flag.
9407 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9408
d13f3e2e
GM
9409 * term.c (append_glyph): Revert change of 2000-06-06.
9410
9411 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9412 padding glyph not fitting on line as whole character not
9413 fitting on line.
9414
5f1aea9a
GM
9415 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9416 this isn't true for images with `:ascent 100'.
9417
10cda9b0
KH
94182000-06-06 Kenichi Handa <handa@etl.go.jp>
9419
ed00559d
KH
9420 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9421 as modified if it is originally unmodified.
9422
10cda9b0
KH
9423 * term.c (encode_terminal_code): Change the way to check if
9424 terminal coding does any conversion.
9425 (append_glyph): Set glyph->pixel_width correctly.
9426
9427 * xdisp.c (display_line): While checking line continuation, pay
9428 attention to a padding glyph.
9429
1969fae2
GM
94302000-06-05 Gerd Moellmann <gerd@gnu.org>
9431
9432 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9433
162ccef4
DL
94342000-06-05 Dave Love <fx@gnu.org>
9435
f19f32dd
DL
9436 * xdisp.c: Include fontset.h.
9437
9438 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9439
9440 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9441
9442 * dispnew.c: Conditionally include term.h.
9443
9444 * coding.h: Declare code_convert_string_norecord.
9445
9446 * frame.h (struct frame): Use volatile unconditionally.
9447
9448 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9449
9450 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9451
9452 * systime.h: Protect against multiple inclusion.
9453 (timezone) [USG5_4]: Define as time_t.
9454
9455 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9456 (Foptimize_char_table, make_temp_name): Declare.
9457
9458 * Makefile.in (xdisp.o): Depend on fontset.h.
9459
9460 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9461
9462 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9463 (Foptimize_char_table, make_temp_name): Declare.
9464
427ec082 9465 * s/irix4-0.h:
162ccef4
DL
9466 * s/irix5-0.h:
9467 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9468
2082fe81
DL
94692000-06-02 Dave Love <fx@gnu.org>
9470
9471 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9472
dcf671d2
GM
94732000-06-02 Gerd Moellmann <gerd@gnu.org>
9474
9475 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9476 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9477 be freed.
9478
9479 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9480 glyph, use the ASCII NUL character to determine the face.
9481
d42122a3
DL
94822000-06-02 Dave Love <fx@gnu.org>
9483
9484 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9485 (VFORK_RETURN_TYPE): Remove.
427ec082 9486
d42122a3
DL
9487 * config.in: Add NO_MATHERR.
9488
dd432f16
DL
94892000-06-01 Dave Love <fx@gnu.org>
9490
90aa4ea8
DL
9491 * cmds.c (internal_self_insert): Don't check
9492 Vbefore_change_function, Vafter_change_function.
9493
9494 * insdel.c (signal_before_change, signal_after_change): Likewise.
9495
9496 * buffer.c (Vbefore_change_function, Vafter_change_function):
9497 Variables and their initializations deleted.
9498
2330c9d4
DL
9499 * callint.c (Fcall_interactively): Doc fix.
9500
dd432f16
DL
9501 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9502
bf9e8804
DL
95032000-05-31 Dave Love <fx@gnu.org>
9504
9505 * textprop.c: Revert last change -- duplicated.
9506
3694b4ab
GM
95072000-05-31 Gerd Moellmann <gerd@gnu.org>
9508
9509 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9510 in #if 0.
9511
9512 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9513
f14156cd
JR
95142000-05-31 Jason Rumney <jasonr@gnu.org>
9515
8119aab8
JR
9516 * search.c (Fre_search_forward, Fre_search_backward)
9517 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9518
f14156cd
JR
9519 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9520
4aab9be3
JR
95212000-05-30 Jason Rumney <jasonr@gnu.org>
9522
9523 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9524 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9525
52283633 9526 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9527
9528 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9529 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9530 expand a nil default_filename.
9531
9532 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9533 pointer to glyph_to_pixel_coords, not a frame.
9534
9535 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9536 coding.h to dependencies.
9537
9538 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9539
9540 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9541 window pointer to be consistent with w32term.c and xterm.c.
9542
9543 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9544 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9545 (Qline_spacing, Qcenter): New variables.
9546 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9547 (x_set_line_spacing): New function.
52283633 9548 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9549 (x_specified_cursor_type): New function.
9550 (x_set_cursor_type): Use it.
9551 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9552 and icon strings.
9553 (validate_x_resource_name, x_get_resource_string): Measure lengths
9554 of external strings in bytes.
9555 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9556 GetTextExtentPoint32 with NULL title.
9557 (Fx_create_frame): Initialize Qline_spacing.
9558 (w32_load_system_font): Initialize font->double_byte_p.
9559 (x_to_w32_charset): Use Vw32_charset_info_alist.
9560 (Image, busy cursor, tooltip functions): Merged changes from
9561 xfns.c. Not yet functional on Windows.
9562
9563 * w32gui.h (W32FontStruct): Add double_byte_p member.
9564
9565 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9566 (emacs_button_translation): Use it.
9567 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9568 in `mask' to be set.
9569
9570 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9571 menu strings.
9572
9573 * w32term.c: Format and doc changes to bring closer to xterm.c.
9574 (w32_char_font_type): New enum.
9575 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9576 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9577 (w32_encode_char): New function.
9578 (x_encode_char): Removed.
9579 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9580 x_encode_char and w32_font_is_double_byte.
9581 (x_produce_image_glyph): Use image_ascent.
9582 (x_produce_glyphs): Use new version of w32_per_char_metric and
9583 handle NULL return value. Allow extra line spacing.
9584 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9585 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9586 w32_font_type member of glyph instead.
9587 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9588 (fast_find_position): Make sure not to consider rows not visible
9589 in the window.
9590 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9591 w32_menu_display_help with input blocked, as it can abort.
9592 (x_display_and_set_cursor): Choose cursor depending
9593 on buffer-local value of cursor_type.
9594 (x_draw_bar_cursor): Add parameter WIDTH.
9595
9596 * w32term.h (CP_DEFAULT): Define.
9597 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9598
10fc3187
GM
95992000-05-30 Gerd Moellmann <gerd@gnu.org>
9600
9601 * search.c (Fre_search_forward, Fre_search_backward)
9602 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9603
d0555360
KH
96042000-05-30 Kenichi Handa <handa@etl.go.jp>
9605
9606 * coding.c (detect_coding_iso2022): Fix code for checking
9607 CODING_CATEGORY_MASK_ISO_8_2.
9608
f1ad044f
SM
96092000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9610
9611 * regex.c (PREFETCH_NOLIMIT): New function.
9612 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9613
84ec3b4b
GM
96142000-05-29 Gerd Moellmann <gerd@gnu.org>
9615
66254a13
GM
9616 * syntax.c (find_defun_start): Move test for
9617 open_paren_in_column_0_is_defun_start outside of the loop.
9618
49e70dec
GM
9619 * xdisp.c (redisplay_window): Really switch buffers when
9620 displaying mode lines, and temporarily set selected_frame to the
9621 frame of the window that's redisplayed.
9622
84ec3b4b
GM
9623 * xfaces.c (free_realized_faces): Block/unblock input.
9624 (free_realized_multibyte_face): Ditto.
9625
869a3a14
DL
96262000-05-29 Dave Love <fx@gnu.org>
9627
9628 * textprop.c (Qkeymap): New variable.
9629 (syms_of_textprop): Intern it.
9630
9631 * keymap.c: Include intervals.h.
9632 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9633
9634 * Makefile.in (keymap.o): Depend on intervals.h.
9635
9636 * keyboard.c (menu_bar_items, tool_bar_items)
9637 (Fexecute_extended_command): Deal with `keymap' property.
9638 (read_key_sequence): Track map from `keymap' property as well as
9639 `local_map'.
9640
9641 * intervals.c (get_local_map): Extra arg to allow looking for
9642 `keymap' too.
9643
9644 * intervals.h (map_property): New enum.
9645 (get_local_map): Extra arg using it.
9646 (Qkeymap): Declare.
9647
84ec3b4b 9648 * lisp.h (get_local_map): Don't declare here.
869a3a14 9649
89d0c844
KH
96502000-05-29 Kenichi Handa <handa@etl.go.jp>
9651
9652 * Makefile.in (callproc.o): Depend on composite.h.
9653
9654 * callproc.c: Include composite.h.
9655 (Fcall_process): Handle composition correctly.
9656
9657 * coding.h (coding_allocate_composition_data): Extern it.
9658 (coding_restore_composition): Likewise.
9659
9660 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9661 yet allocated, finish decoding with result
9662 CODING_FINISH_INSUFFICIENT_CMP.
9663 (coding_allocate_composition_data): Make it non-static.
9664 (coding_restore_composition): Likewise.
9665
797a084a
EZ
96662000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9667
9668 * charset.c (syms_of_charset): Revert last change.
9669
cf872af5
EZ
96702000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9671
9672 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9673 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9674 Handa.
cf872af5 9675
5b1ae051
EZ
96762000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9677
9678 * charset.c (syms_of_charset): Set width of character sets
9679 eight-bit-control and eight-bit-graphic to 1 column.
9680
34ec9ebe
GM
96812000-05-26 Gerd Moellmann <gerd@gnu.org>
9682
9683 * config.in (HAVE_SPEED_T): New define.
9684
9685 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9686 `extern speed_t'.
9687
dd854dc2
DL
96882000-05-26 Dave Love <fx@gnu.org>
9689
9690 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9691
9692 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9693 (Fsubr_arity): New function.
9694 (syms_of_data): Install them.
9695
ba9f8f95
KH
96962000-05-26 Kenichi Handa <handa@etl.go.jp>
9697
0f3e0672
KH
9698 * charset.c (init_charset_once): Set the table bytes_by_char_head
9699 correctly.
9700
cebefb44
KH
9701 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9702 the default fontset to what Emacs uses by default.
0f3e0672
KH
9703 (check_registry_encoding): This function deleted.
9704 (Fset_fontset_font): Remove the adhoc condition for the default
9705 fontset. Allow cons in FONTNAME.
cebefb44 9706
0f3e0672
KH
9707 * fns.c (map_char_table): Ignore char-table entries for
9708 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9709
7a18af49
KR
97102000-05-25 Ken Raeburn <raeburn@gnu.org>
9711
9712 * emacs.c (main): Initialize keyboard syms before initializing
9713 window code, so face names are available.
9714
d2af47df
SM
97152000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9716
9717 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9718 of an anchor at the beginning of a shy-group.
9719
fc6a6a4e
GM
97202000-05-25 Gerd Moellmann <gerd@gnu.org>
9721
9722 * xdisp.c (handle_invisible_prop): Don't try to skip over
9723 invisible text if end of text is already reached.
9724
005f0d35
DL
97252000-05-25 Dave Love <fx@gnu.org>
9726
02513cdd
DL
9727 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9728
005f0d35
DL
9729 * coding.c (encode_eol): Add null statement after label.
9730
89f6ca4e
EZ
97312000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9732
9733 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9734 2000-05-20.
9735
a4e1759e
KH
97362000-05-25 Kenichi Handa <handa@etl.go.jp>
9737
9738 * ccl.c (ccl_driver): Fix previous change.
9739
eacfd7fe
KH
97402000-05-25 Kenichi Handa <handa@etl.go.jp>
9741
46ab33a9
KH
9742 * coding.c (run_pre_post_conversion_on_str): Set point to the
9743 beginning of buffer before calling coding->post_read_conversion.
9744 (decode_coding_string): Give correct args to
9745 run_pre_post_conversion_on_str.
9746 (encode_coding_string): Likewise.
9747
eacfd7fe
KH
9748 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9749 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9750 eight-bit-graphic correctly.
9751
f8569325
DL
97522000-05-24 Kenichi HANDA <handa@etl.go.jp>
9753
9754 * fileio.c (Finsert_file_contents): Even if a file is not found,
9755 execute codes for setting up coding system. Call
9756 after-insert-file-functions unconditionally.
9757
04545643
GM
97582000-05-24 Gerd Moellmann <gerd@gnu.org>
9759
9760 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9761 BSD_PGRPS are not defined.
9762
747d90ea
KH
97632000-05-24 Kenichi Handa <handa@etl.go.jp>
9764
9765 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9766 DESCRIPTION.
9767 (syms_of_charset): Avoid building same strings.
9768
716e3b88
GM
97692000-05-23 Gerd Moellmann <gerd@gnu.org>
9770
9771 * lread.c (Fload): Add a comment about the meaning of
9772 Vuser_init_file being t.
9773
9774 * puresize.h (BASE_PURESIZE): Increase to 675000.
9775
9776 * s/gnu-linux.h (setpgrp): Don't define it here because this
9777 prevents compilation on GNU/Linux systems with glib 2.2.
9778
9779 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9780 as setpgid.
427ec082 9781
9aeb39fa
EZ
97822000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9783
9784 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9785 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9786 version.
9787 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9788
29ced61b
KH
97892000-05-23 Kenichi Handa <handa@etl.go.jp>
9790
52283633 9791 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9792
3d80f24d
KH
9793 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9794
52283633 9795 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9796
29ced61b
KH
9797 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9798
d7e00792
KH
97992000-05-22 Kenichi Handa <handa@etl.go.jp>
9800
c9d80d38
KH
9801 * keyboard.c (read_char): Allow character codes 128..255 to be
9802 handled by input-method-function.
9803
d7e00792
KH
9804 * insdel.c (adjust_markers_for_replace): Fix previous change.
9805 (adjust_after_replace): If PREV_TEXT is nil, call
9806 adjust_markers_for_insert, not adjust_markers_for_replace.
9807
087121cc 98082000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9809
087121cc
GM
9810 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9811 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9812 [HAVE_GRANDPT]: Define.
9813 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9814
9815 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9816 like SYSV_PTYS.
9817
9818 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9819
9820 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9821
c9671f81
KH
98222000-05-20 Kenichi Handa <handa@etl.go.jp>
9823
9824 The following changes are to handle 8-bit characters in a
9825 multibyte buffer/string without facing with byte combining
9826 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9827 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9828
9829 * Makefile.in (fns.o): Depend on charset.h.
9830
9831 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9832 convert it to unibyte.
9833 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9834
9835 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9836 apparent char boundary.
9837 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9838 0x80..0x9F to/from multibyte form.
9839
9840 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9841 to unibyte.
9842
9843 * callproc.c (Fcall_process): Always encode an argument string if
9844 it is multibyte. Setup src_multibyte and dst_multibyte members of
9845 process_coding properly.
ce75fd23 9846
c9671f81
KH
9847 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9848 SPLIT_NON_ASCII_CHAR.
9849
9850 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9851 as is.
9852 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9853
52283633 9854 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9855 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9856 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9857 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9858 and eight-bit-graphic.
9859 (char_to_string): Likewise. Signal an error for too large
9860 character code.
9861 (char_printable_p): Return 0 for 8-bit characters.
9862 (update_charset_table): Update iso_charset_table only when a final
9863 character is non-negative.
9864 (find_charset_in_text): Renamed from find_charset_in_str.
9865 Arguments and return value changed. Callers changed.
9866 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9867 be -1 if CHARSET is used only internally.
9868 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9869 eight-bit-graphic.
9870 (Fcharset_after): Simplified.
9871 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9872 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9873 (multibyte_chars_in_text): Simplified by assuming there's no
9874 invalid multibyte sequence.
52283633
SM
9875 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9876 (str_as_unibyte): New functions.
9877 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9878 (init_charset_once): Initialization for
9879 LEADING_CODE_8_BIT_CONTROL.
9880 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9881 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9882 eight-bit-control and eight-bit-graphic.
9883
52283633
SM
9884 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9885 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9886 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9887 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9888 (CHARSET_REVERSE_CHARSET): Likewise.
9889 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9890 eight-bit-graphic.
9891 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9892 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9893 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9894 encounter an invalid multibyte sequence.
9895 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9896 sequence is always valid.
9897 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9898 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9899 (CHAR_STRING): For 8-bit characters, call char_to_string.
9900 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9901 multibyte sequence is always valid.
9902 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9903 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9904 (str_as_unibyte): Extern them.
c9671f81 9905 (BCOPY_SHORT): Fix a bug.
52283633 9906 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9907 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9908 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9909 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9910
bd4bde7f 9911 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9912 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9913 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9914 (EMIT_BYTES): New macros.
9915 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9916 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9917 macros deleted.
9918 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9919 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9920 check the validity of multibyte sequence.
9921 (decode_coding_emacs_mule): New function.
9922 (encode_coding_emacs_mule): New macro.
9923 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9924 the source.
9925 (DECODE_ISO_CHARACTER): Just return a character code.
9926 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9927 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9928 EMIT_CHAR to produced decoded characters. Exit the loop only by
9929 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9930 block here.
9931 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9932 only position codes for an invalid character.
9933 (encode_designation_at_bol): Return new destination pointer. 5th
9934 arg DSTP is changed to DST.
9935 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9936 from the source by ONE_MORE_CHAR. Don't handle the case of last
9937 block here.
9938 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9939 macros deleted.
52283633
SM
9940 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9941 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9942 TWO_MORE_BYTES to fetch a byte from the source.
9943 (encode_eol): Pay attention to coding->src_multibyte.
9944 (detect_coding, detect_eol): Preserve members src_multibyte and
9945 dst_multibyte.
9946 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9947 (encoding_buffer_size): Set magnification to 3 for all coding
9948 systems that require encoding.
9949 (ccl_coding_driver): For decoding, be sure that the result is
9950 valid multibyte sequence.
9951 (decode_coding): Initialize coding->errors and coding->result.
9952 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9953 and raw-text, always call decode_eol. Handle the case of last
9954 block here. If not coding->dst_multibyte, convert the resulting
9955 sequence to unibyte.
9956 (encode_coding): Initialize coding->errors and coding->result.
9957 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9958 and raw-text, always call encode_eol. Handle the case of last
9959 block here.
9960 (shrink_decoding_region, shrink_encoding_region): Detect cases
9961 that we can't skip data more rigidly.
9962 (code_convert_region): Setup src_multibyte and dst_multibyte
9963 members of coding. For decoding, if the buffer is multibyte,
9964 convert the source sequence to unibyte in advance. For encoding,
9965 if the buffer is multibyte, convert the resulting sequence to
9966 multibyte afterward.
9967 (run_pre_post_conversion_on_str): New function.
9968 (code_convert_string): Deleted and divided into the following two.
9969 (decode_coding_string, encode_coding_string): New functions.
9970 (code_convert_string1, code_convert_string_norecord): Call one of
9971 above.
9972 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9973 MAKE_NON_ASCII_CHAR.
52283633
SM
9974 (Fset_terminal_coding_system_internal)
9975 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9976 and dst_multibyte members.
9977 (init_coding_once): Initialize iso_code_class with new enum
9978 ISO_control_0 and ISO_control_1.
9979
9980 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9981 devided into ISO_control_0 and ISO_control_1.
9982 (struct coding_system): New members src_multibyte, dst_multibyte,
9983 errors, and result. Delete member fake_multibyte.
9984 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9985 nonzero.
9986 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9987 nonzero.
9988
9989 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9990 (Faset): Likewise.
9991
9992 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9993 multibyte form.
9994 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9995 combining occurs.
9996 (Ftranspose_region): Delete codes for handling byte combining.
9997
9998 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9999 dst_multibyte members of coding. On handling REPLACE on unibyte
10000 buffer, convert the result of decode_coding to unibyte. On
10001 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10002 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10003 multibyteness of the source (buffer or string).
10004
10005 * fns.c (concat): Handle 8-bit characters correctly.
10006 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10007 unibyte in the result.
10008 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10009 valid multibyte form in the result.
10010 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10011 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10012 return -1, signal an error.
10013 (base64_encode_1): New arg MULTIBYTE. Get each character by
10014 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10015 character is found, return -1.
10016 (Fbase64_decode_region): Delete codes for handling byte-combining.
10017 Treat each decoded byte as a unibyte character.
10018 (Fbase64_decode_string): Return unibyte string.
10019 (Fcompare_strings, concat, string_byte_to_char): Use
10020 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10021 FETCH_STRING_CHAR_ADVANCE.
10022 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10023 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10024
10025 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10026 SPLIT_NON_ASCII_CHAR.
10027 (fontset_ref_via_base, fontset_set): Likewise
10028
10029 * insdel.c (adjust_markers_for_record_delete): Deleted.
10030 (adjust_markers_for_insert): Argument changed. Caller changed.
10031 (adjust_markers_for_replace): Likewise.
52283633
SM
10032 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10033 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10034 (copy_text): Delete unused local varialbe c_save. For converting
10035 to multibyte, be sure to make all 8-bit characters in valid
10036 multibyte form.
10037 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10038 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10039 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10040 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10041 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10042 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10043 handling byte combining.
10044 (adjust_before_replace): Deleted.
427ec082 10045
c9671f81
KH
10046 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10047 SPLIT_NON_ASCII_CHAR.
10048 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10049 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10050 (Fkey_description): Likewise.
10051
10052 * lread.c (read1): On reading multibyte string, be sure to make
10053 all 8-bit chararacters in valid multibyte form.
10054 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10055
10056 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10057 unconditionally.
10058
10059 * process.c (Fstart_process): GCPRO current_dir before calling
10060 Ffind_operation_coding_system. Encode arguments here.
10061 (create_process): Don't encode arguments here. Setup
10062 src_multibyte and dst_multibyte members of struct coding.
10063 (read_process_output): Setup src_multibyte and dst_multibyte
10064 members of struct coding. If the output is to multibyte buffer,
10065 always decode the output of the process. Adjust the
52283633 10066 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10067 (send_process): Setup coding->src_multibyte according to the
10068 multibyteness of the source.
10069
52283633 10070 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10071 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10072 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10073
52283633 10074 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10075
10076 * w16select.c (Fw16_set_clipboard_data): Setup members
10077 src_multibyte and dst_multibyte of coding. Adjusted for the
10078 change for find_charset_in_str.
10079 (Fw16_get_clipboard_data): Likewise.
10080
10081 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10082 dst_multibyte of coding.
10083 (x_to_w32_font): Likewise.
10084
10085 * w32select.c (Fw32_set_clipboard_data): Setup members
10086 src_multibyte and dst_multibyte of coding. Adjusted for the
10087 change for find_charset_in_str.
10088 (Fw32_get_clipboard_data): Likewise.
10089
10090 * xdisp.c (get_next_display_element): Handle 8-bit characters
10091 correctly.
52283633
SM
10092 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10093 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10094
10095 * xselect.c (selection_data_to_lisp_data): Setup members
10096 src_multibyte and dst_multibyte of coding. Adjusted for the
10097 change for find_charset_in_str.
10098 (lisp_data_to_selection_data): Likewise.
10099
5f64c9e0
GM
101002000-05-19 Gerd Moellmann <gerd@gnu.org>
10101
52283633 10102 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10103
5f64c9e0
GM
10104 * dispextern.h (Vimage_types): Add extern declaration.
10105
10106 * xdisp.c (Vimage_types): Moved here from xfns.c.
10107 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10108
10109 * xfns.c (Vimages_types): Moved to xdisp.c.
10110 (syms_of_xfns): Move `image-types' to xdisp.c.
10111
10112 * w32fns.c (Vimage_types): Removed.
10113 (syms_of_w32fns): Remove `image-types'.
10114
813086ea
KH
101152000-05-18 Kenichi Handa <handa@etl.go.jp>
10116
10117 * fns.c (map_char_table): Pay attention to character number of
10118 charset. Check the validity of charset at the first level. For
10119 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10120 the default value.
10121
10122 * fontset.c: Include "buffer.h".
10123 (fs_load_font): If the face has fontset, record the face ID in
10124 that fontset.
10125 (Finternal_char_font): New function.
10126 (accumulate_font_info): New function.
10127 (Ffontset_info): Rewritten for the new fontset implementation.
10128 (syms_of_fontset): Register Vdefault_fontset in the first element
10129 of Vfontset_table. Include Vdefault_fontset in
10130 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10131 function.
10132
bdaebbf0
DL
101332000-05-16 Dave Love <fx@gnu.org>
10134
10135 * m/iris5d.h: Deleted -- unused.
10136
cb613bb8
GM
101372000-05-16 Gerd Moellmann <gerd@gnu.org>
10138
b15f3b77
GM
10139 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10140 `invalid' instead of `illegal'.
10141
10142 * indent.c (Fmove_to_column): When ending within a tab, insert
10143 spaces first so that markers at the end of the tab get adjusted.
10144
835c1b36
GM
10145 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10146 buffer list that wasn't selected in that frame.
10147
cb613bb8
GM
10148 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10149 is needed on mescaline, use a 2 char prefix, and call
10150 make_temp_name with second arg non-zero.
10151
10152 * fileio.c (make_temp_name): New function, extracted from
10153 Fmake_temp_name.
10154 (Fmake_temp_name): Use it.
10155
f685bea9
EZ
101562000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10157
52283633 10158 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10159
a1b8d58b
GM
101602000-05-15 Gerd Moellmann <gerd@gnu.org>
10161
10162 * Makefile.in (lisp): Add env.elc.
10163
10164 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10165
a265079f
GM
101662000-05-12 Gerd Moellmann <gerd@gnu.org>
10167
10168 * search.c (Freplace_match): Handle case of `\N' in the
10169 replacement when there's no group N.
10170
da4496b6
GM
101712000-05-11 Gerd Moellmann <gerd@gnu.org>
10172
0ace421a
GM
10173 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10174 of the message to message_dolog.
10175
1172eb8d
GM
10176 * keyboard.c (read_char): Don't clear current message for help
10177 events; let the code handling help events handle this. Change
10178 code detecting help events that should be ignored.
10179
da4496b6
GM
10180 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10181 we're interating over a string.
10182
0623e40f
DL
101832000-05-09 Dave Love <fx@gnu.org>
10184
10185 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10186 that offset before writing. Move gcpro region past call of
10187 Ffile_regular_p.
10188
bae2503b
DL
101892000-05-04 Dave Love <fx@gnu.org>
10190
10191 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10192
ec82fb2f
GM
101932000-05-04 Gerd Moellmann <gerd@gnu.org>
10194
10195 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10196 of inserted characters when BUF equals the current buffer, and PT
10197 is in front of or equal to FROM.
10198
cbf18892
GM
101992000-05-03 Gerd Moellmann <gerd@gnu.org>
10200
4ff40dd0
GM
10201 * xdisp.c (handle_single_display_prop): If display property value
10202 is invalid, or something not supported on the frame, restore
10203 iterator's position to what it was initially. Make sure to return
10204 0 for invalid and unsupported property values.
10205
cbf18892
GM
10206 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10207 that x_per_char_metric returns null.
10208
1b0672c3
GM
102092000-05-02 Gerd Moellmann <gerd@gnu.org>
10210
576da55d
GM
10211 * xterm.h (struct face): Add forward declaration.
10212 (struct image): Ditto.
10213 (image_ascent): Add prototype.
10214
10215 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10216 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10217 image_ascent instead of using IMAGE_ASCENT.
10218
10219 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10220 (IMAGE_ASCENT): Removed.
10221
10222 * xfns.c (Qcenter): New variable.
10223 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10224 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10225 (image_ascent): New function.
10226 (lookup_image): Recognize `:ascent center'.
10227 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10228 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10229 (xbm_load): Don't set image's ascent here.
10230 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10231 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10232 check ascent values here.
10233 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10234 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10235 (syms_of_xfns): Initialize Qcenter.
10236
1b0672c3
GM
10237 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10238 to the limits, increase the limits.
10239
0d7811ed
KH
102402000-05-01 Kenichi Handa <handa@etl.go.jp>
10241
10242 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10243 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10244
a943a5ca
GM
102452000-04-28 Gerd Moellmann <gerd@gnu.org>
10246
10247 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10248 taller than the window.
10249
5dba1e29
KH
102502000-04-28 Kenichi Handa <handa@etl.go.jp>
10251
10252 * xfaces.c (realize_x_face): Fix the argument of the second
10253 xassert. BASE_FACE may not be a face for ASCII.
10254
353964e3
GM
102552000-04-27 Gerd Moellmann <gerd@gnu.org>
10256
c76e04a8
GM
10257 * print.c (print_object): Treat print-length < 0 as nil.
10258
10259 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10260
10261 * s/freebsd.h (TERMCAP_OBJ): Removed.
10262 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10263
10264 * lread.c (read1): Don't treat period followed by certain
10265 characters as symbol start.
10266
10267 * xfns.c (slurp_file): New function.
10268 (xbm_image_p): Handle case of in-memory XBM files.
10269 (xbm_scan): Rewritten to work on memory buffers instead of files.
10270 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10271 Work on memory buffers instead of files. If DATA is null test
10272 if buffer looks like an in-memory XBM file.
10273 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10274 memory buffers instead of files.
10275 (xbm_file_p): New function.
10276 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10277
353964e3
GM
10278 * lread.c (end_of_file_error): New function.
10279 (read1): Call it instead of signaling `end-of-file' directly.
10280
427ec082 10281 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10282 with Fprinc instead of Fprin1.
10283
24d744ac
KR
102842000-04-26 Ken Raeburn <raeburn@gnu.org>
10285
10286 * window.c (freeze_window_start): Check that minibuffer scroll
10287 window isn't nil before extracting the window structure pointer
10288 from it.
10289
10290 * undo.c (record_delete): If we hit the end of the undo list, stop
10291 picking elements apart.
10292
7464346d
GM
102932000-04-26 Gerd Moellmann <gerd@gnu.org>
10294
10295 * xdisp.c (display_line): If lines are continued, restore
10296 iterator's ascent/descent information to the values before the
10297 first glyph not fitting on the line.
10298
612839b6
GM
102992000-04-25 Gerd Moellmann <gerd@gnu.org>
10300
10301 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10302 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10303
10304 * dispnew.c (increment_matrix_positions): Renamed from
10305 increment_glyph_matrix_buffer_positions.
10306 (increment_row_positions): Renamed from
10307 increment_glyph_row_buffer_positions.
10308
10309 * dispextern.h: Change names of renamed functions from dispnew.c
10310 in prototypes.
10311
cc181e95
GM
103122000-04-24 Gerd Moellmann <gerd@gnu.org>
10313
abfcc168
GM
10314 * fileio.c (Fdo_auto_save): Create directories for auto-save
10315 list file if necessary.
10316
cc181e95
GM
10317 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10318 from buffer or frame.
10319 (automatic_hscrolling_p): New variable.
10320 (hscroll_windows): Scroll windows horizontally only if automatic
10321 hscrolling is allowed.
10322 (syms_of_xdisp): New variable `automatic-hscrolling'.
10323
10324 * frame.h (struct frame): Add member extra_line_spacing.
10325
10326 * xfns.c (x_set_line_spacing): New function.
10327 (Fx_create_frame): Set line spacing from resources.
10328 (Qline_spacing): New variable.
10329 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10330
cc181e95
GM
10331 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10332
10333 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10334 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10335 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10336 extra_line_spacing from default value.
10337 (init_buffer_once): Initialize default value of extra_line_spacing.
10338
10339 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10340 and extra3.
10341
10342 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10343 prompt_width. Add extra line spacing.
10344
10345 * term.c (produce_glyphs): Remove reference to struct it's
10346 prompt_width.
10347
10348 * dispextern.h (struct it): Remove member prompt_width, add
10349 extra_line_spacing.
10350
58827478
GM
103512000-04-22 Gerd Moellmann <gerd@gnu.org>
10352
10353 * dispnew.c (update_frame_line): When writing a whole line, make
10354 sure cursor is in the right row afterwards, otherwise a use of
10355 capability `ch' in cmgoto might leave the cursor in the row below.
10356
25a87f42
GM
103572000-04-21 Gerd Moellmann <gerd@gnu.org>
10358
10359 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10360
10361 * keyboard.c (timer_check): Fix typo in comment.
10362
54edf5c2
KH
103632000-04-21 Kenichi Handa <handa@etl.go.jp>
10364
10365 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10366 name change: ch -> character.
10367
3a64eef5
GM
103682000-04-20 Gerd Moellmann <gerd@gnu.org>
10369
10370 * keyboard.c (echo_message_buffer): New variable.
10371 (echo_now): Set echo_message_buffer to the echo area buffer used
10372 to display the echo.
10373 (cancel_echoing): Reset echo_message_buffer to nil.
10374 (read_char): Code rewritten that handles canceling an echo or
10375 echoing a dash, respectively.
10376
10377 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10378 directory doesn't exist.
10379
6142fdcb
DL
103802000-04-19 Dave Love <fx@gnu.org>
10381
10382 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10383 (concat): Don't allow numeric args.
10384 (Fconcat): Doc change.
6142fdcb 10385
ac6b5352
SM
103862000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10387
10388 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10389 instead define end_match(1|2) more carefully.
10390 Use GET_CHAR_BEFORE_2 for `begline'.
10391
cb9215e4
GM
103922000-04-19 Gerd Moellmann <gerd@gnu.org>
10393
5e3dac3f
GM
10394 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10395 on 64-bit systems where NULL is defined as `0'.
10396
10397 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10398 the `variable argument list' to make it work on Alpha.
10399
cb9215e4
GM
10400 * m/alpha.h (_LP64) [!_LP64]: Define.
10401 (ORDINARY_LINK): Define for NetBSD.
10402
10403 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10404
f532dca0
DL
104052000-04-19 Dave Love <fx@gnu.org>
10406
c750667e
DL
10407 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10408 change.
10409
10410 * Makefile.in (LIBS): Don't use.
10411 (GETLOADAVG_OBJ): Define again.
10412 (otherobj): Add GETLOADAVG_OBJ.
10413
f532dca0
DL
10414 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10415
1c7e22fd
GM
104162000-04-18 Gerd Moellmann <gerd@gnu.org>
10417
f6d3257b
GM
10418 * lread.c (read_filtered_event): Cancel and start busy cursor.
10419
427ec082 10420 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10421 that the per-character metrics may be null.
10422
e10f64e7
GM
104232000-04-17 Gerd Moellmann <gerd@gnu.org>
10424
0daee095
GM
10425 * buffer.c (clone_per_buffer_values): New function.
10426 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10427 clone_per_buffer_values if CLONE is not nil.
10428
e10f64e7
GM
10429 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10430
38687d43
DL
104312000-04-16 Dave Love <fx@gnu.org>
10432
10433 * Makefile.in: Remove obsolete localcpp stuff.
10434 (GETLOADAVG_OBJ): Don't define.
10435 (obj): Move LIBOBJS...
10436 (otherobj): ... to here.
10437 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10438 whitespace-only lines after the continuation (Irix).
10439
c21c7262
GM
104402000-04-14 Gerd Moellmann <gerd@gnu.org>
10441
10442 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10443
10444 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10445
314767c0
DL
104462000-04-14 Dave Love <fx@gnu.org>
10447
10448 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10449 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10450 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10451 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10452 NLIST_STRUCT.
10453
10454 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10455 autoconfiscated HAVE_GETLOADAVG.
10456
10457 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10458 BROKEN_MKTIME.
10459
a2522dca
GM
104602000-04-14 Gerd Moellmann <gerd@gnu.org>
10461
10462 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10463 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10464
33744b5d
DL
104652000-04-14 Dave Love <fx@gnu.org>
10466
c21c7262 10467 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10468 (INTERVAL_SRC): Convert to make variable.
10469 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10470 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10471 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10472 add LIBOBJS.
10473 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10474 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10475 (shortlisp): Add facemenu, float-sup, frame.
10476 (SOME_MACHINE_LISP): Remove them from here.
10477 (LIBES): Change unused LDLIBS to autoconf LIBS.
10478
10479 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10480
9d3d5916
KH
104812000-04-14 Kenichi Handa <handa@etl.go.jp>
10482
10483 * composite.c (update_compositions): If FROM and TO are not in a
10484 valid range, do nothing.
10485
198e3c7a
GM
104862000-04-13 Gerd Moellmann <gerd@gnu.org>
10487
52283633 10488 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10489
52283633 10490 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10491
10492 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10493 as TERMCAP_OBJ.
10494
055a28c9
EZ
104952000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10496
10497 * fileio.c (a_write): Remove redundant semi-colons.
10498 (e_write): Return -1 if failed to write all the data.
10499 This fixes the changes made at 1999-12-15.
10500
f5c75033
DL
105012000-04-12 Dave Love <fx@gnu.org>
10502
10503 * fns.c (mapcar1): Test for null vals to support mapc.
10504 (Fmapc): New function.
10505
0c3cfc51
EZ
105062000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10507
10508 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10509 (IT_frame_up_to_date): Support the buffer local value of
10510 cursor-type, if defined.
10511
33465a31
DL
105122000-04-10 Dave Love <fx@gnu.org>
10513
10514 * editfns.c (preceding-char, following-char): Doc fix.
10515
6ed56568
KR
105162000-04-10 Ken Raeburn <raeburn@gnu.org>
10517
10518 * Makefile.in (temacs): Revert 2000-03-12 change.
10519
7cf80d4e
JR
105202000-04-10 Jason Rumney <jasonr@gnu.org>
10521
10522 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10523
34f3f342
GM
105242000-04-10 Gerd Moellmann <gerd@gnu.org>
10525
1a1b1895
GM
10526 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10527 area buffer, if it's not set up yet.
10528
34f3f342
GM
10529 * indent.c (compute_motion): Set immediate_quit.
10530
be0dbdab
GM
105312000-04-09 Gerd Moellmann <gerd@gnu.org>
10532
52283633 10533 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10534 (realize_tty_face): Suppress boldness if colors are the inverse of
10535 the default colors, and tty_suppress_bold_inverse_default_colors_p
10536 is set.
10537 (Ftty_suppress_bold_inverse_default_colors): New function.
10538 (syms_of_xfaces): Defsubr it.
10539
be0dbdab
GM
10540 * buffer.c (Frestore_buffer_modified_p): New function.
10541 (syms_of_buffer): Defsubr it.
10542
e8413c3b
KR
105432000-04-08 Ken Raeburn <raeburn@gnu.org>
10544
87f67317
KR
10545 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10546 charset id (int) argument, not a charset (Lisp_Object).
10547
e8413c3b
KR
10548 * coding.h (code_convert_string): Declare.
10549 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10550 object, as the fourth argument to code_convert_string.
10551
52283633 10552 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10553 (Fset_fontset_font): Use EQ to compare lisp objects.
10554
7c752c80
KR
105552000-04-05 Ken Raeburn <raeburn@gnu.org>
10556
c0333abc
KR
10557 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10558 a pointer that looks like a lisp object.
10559 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10560 zero, instead see whether it's an integer object, since they can't
10561 have intervals.
10562 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10563
52283633
SM
10564 * dispnew.c (allocate_matrices_for_frame_redisplay)
10565 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10566 to convert between (unsigned) int values and lisp integers.
10567 * keyboard.c (read_key_sequence): Likewise.
10568 * lread.c (substitute_object_recurse): Likewise.
10569 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10570 * minibuf.c (do_completion, Fminibuffer_complete_word)
10571 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10572 * term.c (produce_special_glyphs): Likewise.
10573
10574 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10575 * print.c (print_preprocess, print_object): Likewise.
10576
10577 * search.c (compile_pattern): Use NILP when checking for nil.
10578
74e49b38
KR
10579 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10580 __OPTIMIZE__]: Provide a GNU C macro version that handles
10581 lisp-object unions.
10582 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10583 field, to better cope with ENABLE_CHECKING and calls that modify a
10584 Lisp_Object using its old value.
10585
685e5ed2
GM
105862000-04-04 Gerd Moellmann <gerd@gnu.org>
10587
c407c570
GM
10588 * window.c (compare_window_configurations): Signal an error
10589 if parameters C1 or C2 aren't window configurations.
10590
685e5ed2
GM
10591 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10592 AFTER_POTENTIAL_GC calls around calls to functions that can
10593 signal an error and thus invoke the debugger.
10594
587a49ab
GM
105952000-04-03 Gerd Moellmann <gerd@gnu.org>
10596
62f20204
GM
10597 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10598 an error if decoding fails.
10599
587a49ab
GM
10600 * keyboard.c (lispy_mouse_names): Variable removed.
10601 (Vlispy_mouse_stem): New variable.
10602 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10603 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10604 for any mouse button number. Increase size of mouse_syms and
10605 button_down_location as needed. Call modify_event_symbol with
10606 different arguments.
10607 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10608 Call modify_event_symbol with different arguments.
10609 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10610 for any button number. Call modify_event_symbol with different
10611 arguments.
10612 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10613 Accept a string for NAME_ALIST_OR_STEM.
10614
10615 * lisp.h (larger_vector): Add prototype.
10616
10617 * fns.c (larger_vector): Make externally visible.
10618
10619 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10620
2d1675e4
SM
106212000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10622
10623 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10624 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10625 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10626 we are between str1 and str2.
10627 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10628 (PATFETCH): Use `TRANSLATE'.
10629 (PATFETCH_RAW): Fetch multibyte char if applicable.
10630 (PATUNFETCH): Remove.
10631 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10632 When writing a char, write it directly into the pattern buffer rather
10633 than going needlessly through a temp char-array.
10634 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10635 multibyte magic and remove the useless `#ifdef emacs'.
10636 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10637 buffer.
10638
10639 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10640 conditional on `emacs'.
10641
10642 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10643
cc2d8c6b
KR
106442000-04-01 Ken Raeburn <raeburn@gnu.org>
10645
10646 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10647 non-union-type versions of XMARK and friends here, because XMARK
10648 and friends won't work on an integer field if NO_UNION_TYPE is not
10649 defined.
52283633 10650 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10651
52283633 10652 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10653 (syms_of_composite): Delete local var NARGS, pass an int as first
10654 argument to Fmake_hash_table.
10655
2387b382
KR
10656 * editfns.c (text_property_stickiness): Use NILP to test
10657 Lisp_Object boolean value.
10658 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10659 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10660 problems reading from and changing the same lisp value in an
10661 XSETSTRING call.
10662
27660e89
GM
106632000-04-01 Gerd Moellmann <gerd@gnu.org>
10664
10665 * term.c (TN_no_color_video): New variable.
10666 (term_init): Intitialize TN_no_color_video.
10667 (enum no_color_bit): New enumeration.
10668 (MAY_USE_WITH_COLORS_P): New macro.
10669 (turn_on_face): Use it to determine if attributes may be used
10670 combined with colors.
10671
3578db3c
KR
106722000-04-01 Ken Raeburn <raeburn@gnu.org>
10673
10674 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10675 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10676 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10677 proper accessor macros.
10678 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10679 (grow_mini_window): Fix typo getting int value of root->height.
10680
6fc556fd
KR
10681 * xdisp.c (compute_string_pos): Fix order of arguments to
10682 string_pos_nchars_ahead.
10683 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10684 count arg to variable-arg routines like Frun_hook_with_args and
10685 Fformat.
587a49ab
GM
10686 (back_to_previous_visible_line_start)
10687 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10688 fixed-arg routines like Fget_char_property and Fmake_string.
10689 (reconsider_clip_changes): Use XINT when comparing integer lisp
10690 objects, or passing them as int arguments.
587a49ab
GM
10691 (mark_window_display_accurate, insert_left_trunc_glyphs)
10692 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10693 storing or passing integer values as lisp objects.
10694 (set_cursor_from_row, highlight_trailing_whitespace): Use
10695 INTEGERP, not implicit test against zero, for glyph object.
10696 (try_window_id): Don't use make_number when we want an int value.
10697
10698 * xfaces.c (xlfd_symbolic_value): Make last argument a
10699 Lisp_Object, to be consistent with callers.
10700 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10701 (lface_hash): Apply XFASTINT to lisp values before folding in.
10702
10703 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10704 fill in window width and height. Pass an int, not a lisp object,
10705 as first arg to Finsert.
10706
6e7b2457
GM
107072000-04-01 Gerd Moellmann <gerd@gnu.org>
10708
610d841e
GM
10709 * xfaces.c (realize_basic_faces): Block input while realizing
10710 the faces.
10711
6e7b2457
GM
10712 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10713
10714 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10715
aa110c0c
GM
107162000-03-31 Gerd Moellmann <gerd@gnu.org>
10717
10718 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10719 or ASCII, handle case that per-char metric is null.
aa110c0c 10720
8801a864
KR
107212000-03-30 Ken Raeburn <raeburn@gnu.org>
10722
c6129d7e
KR
10723 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10724
52283633
SM
10725 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10726 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10727 pointer, using eassert.
10728 * frame.h (XFRAME): Likewise.
10729
52283633
SM
10730 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10731 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10732 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10733 * data.c (set_internal): Likewise.
52283633
SM
10734 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10735 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10736 * fileio.c (auto_save_1): Likewise.
10737 * insdel.c (check_markers): Likewise.
10738 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10739 * undo.c (record_insert): Likewise.
10740 * vmsproc.c (child_sig): Likewise.
10741 * window.c (unshow_buffer, window_loop): Likewise.
10742 * xterm.c (x_erase_phys_cursor): Likewise.
10743
8e7af858
GM
107442000-03-30 Gerd Moellmann <gerd@gnu.org>
10745
10746 * xfns.c (free_image_cache): Free the cache structure itself
10747 last, after all its members have been freed.
10748
10749 * lisp.h (xstrdup): Add prototype.
10750
10751 * alloc.c (xstrdup): Moved here from xfaces.c.
10752 (allocating_for_lisp): Variable removed.
52283633 10753 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10754
10755 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10756 of Fsymbol_value.
10757 (xstrdup): Moved to alloc.c.
10758
e0b8c689
KR
107592000-03-29 Ken Raeburn <raeburn@gnu.org>
10760
b96f9fb7
KR
10761 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10762
10763 * emacs.c (main): Fix sense of no-loadup test.
10764
e0b8c689
KR
10765 * config.in (ENABLE_CHECKING): Undef.
10766
10767 * lisp.h (struct interval): Replace "parent" field with a union of
10768 interval pointer and Lisp_Object; add new bitfield to use as
10769 discriminant. Change other flag fields to bitfields.
10770 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10771 is defined and the supplied test fails, print a message and abort.
10772 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10773
10774 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10775 pointers; abort if the value looks like a lisp object.
52283633
SM
10776 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10777 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10778 Modify for new interval parent definition.
10779
52283633
SM
10780 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10781 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10782 addressable lisp object in the interval structure.
10783 (die): New function.
10784 (suppress_checking): New variable.
10785
10786 * intervals.c (interval_start_pos): Just return 0 if there's no
10787 parent object.
10788
f83c5440
GM
107892000-03-29 Gerd Moellmann <gerd@gnu.org>
10790
10791 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10792 and earlier Emacs versions.
10793
10794 * keyboard.c (Ftop_level): Cancel busy-cursor.
10795
10796 * eval.c (call_debugger): Cancel busy-cursor.
10797
fdce64ff
KH
107982000-03-29 Kenichi Handa <handa@etl.go.jp>
10799
10800 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10801 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10802
f6a3f532
SM
108032000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10804
10805 * regex.c (analyse_first): New function obtained by ripping out most
10806 of re_compile_fastmap and generalizing it a little bit so that it
10807 can also just return whether a given (sub)pattern can match the empty
10808 string or not.
10809 (regex_compile): Use `analyse_first' to decide whether the loop-check
10810 needs to be done or not for *, +, *? and +? (the loop check is costly
10811 for non-greedy repetition).
10812 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10813
e9b309ac
DL
108142000-03-28 Dave Love <fx@gnu.org>
10815
52283633 10816 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10817
e9b309ac
DL
10818 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10819
ed0767d8
SM
108202000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10821
10822 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10823 an expression.
10824 (enum re_opcode_t): Update description of succeed_n.
10825 (PATFETCH): Always define.
10826 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10827 operators, char classes, shy-groups and intervals).
10828 Optimize special cases of intervals so as to only use succeed_n and
10829 jump_n when really needed.
10830 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10831 that we don't have to handle the special cases any more.
10832 Simplify on_failure_jump handling as well.
10833
e11e7e46
JR
108342000-03-28 Jason Rumney <jasonr@gnu.org>
10835
10836 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10837
88faab89
GM
108382000-03-27 Gerd Moellmann <gerd@gnu.org>
10839
182ff242
GM
10840 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10841
10842 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10843
182ff242
GM
10844 * alloc.c (mark_maybe_object): New function.
10845 (mark_memory): Use it.
10846 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10847 (setjmp_tested_p, longjmp_done): New variables.
10848 (test_setjmp): New function.
10849 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10850 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10851
c1005d06
GM
10852 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10853 to DEC_TEXT_POS and INC_TEXT_POS.
10854
10855 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10856 with parameter MULTIBYTE_P.
10857
52283633 10858 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10859
7439e5b9 10860 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10861 buffers because it looks for multibyte character byte sequences
10862 which don't exist in unibyte text.
7439e5b9 10863
d9c545da
GM
10864 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10865
11fd416e 10866 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10867 [DEBUG_X_COLORS]: New functions.
10868 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10869
10870 * xfns.c (x_set_cursor_color): Get color reference counts right.
10871
10872 * xterm.c (x_copy_color): New function.
10873 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10874
10875 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10876 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10877 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10878 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10879 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10880 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10881 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10882 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10883 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10884 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10885
11fd416e
GM
10886 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10887 names for handling per-buffer variables.
d9c545da
GM
10888
10889 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10890 instead of MAX_BUFFER_LOCAL_VARS.
10891 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10892
10893 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10894
88faab89
GM
10895 * xfns.c (x_specified_cursor_type): New function.
10896 (x_set_cursor_type): Use it.
10897
10898 * buffer.h (struct buffer): Add cursor_type.
10899
d80f42b7
SM
109002000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10901
10902 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10903 (print_partial_compiled_pattern, re_compile_fastmap):
10904 Handle new opcode.
d80f42b7
SM
10905 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10906 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10907 executing it as well as when popping it off the stack to find infinite
10908 loops in non-greedy repetition operators.
10909
89e80928
GM
109102000-03-26 Gerd Moellmann <gerd@gnu.org>
10911
3d4ff2dd
GM
10912 * doc.c (Qfunction_documentation): New variable.
10913 (syms_of_doc): Initialize Qfunction_documentation.
10914 (Fdocumentation): If FUNCTION is a symbol with non-nil
10915 `function-documentation' property, return a documentation derived
10916 from that.
10917
bd96bd79
GM
10918 * buffer.c (syms_of_buffer): Add default-cursor-type.
10919 (init_buffer_once): Don't let cursor_type have a local value
10920 in every buffer.
10921
19d1bc27
GM
10922 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10923 on buffer-local value of cursor_type.
10924 (x_draw_bar_cursor): Add parameter WIDTH.
10925
10926 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10927 (init_buffer_once): Set default cursor_type value to t.
10928 Mark cursor_type as local everywhere.
10929 (syms_of_buffer): New per-buffer variable cursor-type.
10930
89e80928
GM
10931 * buffer.h (struct buffer): Remove member local_var_flags,
10932 add local_flags.
10933 (MAX_BUFFER_LOCAL_VARS): New macro.
10934 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10935 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10936 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10937 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10938
52283633 10939 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10940
10941 * category.c (Fset_category_table): Use new macros for per-buffer
10942 variables.
10943
10944 * buffer.c (buffer_permanent_local_flags): Make a char array.
10945 (max_buffer_local_idx): New variable.
10946 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10947 for new handling of per-buffer variables.
10948 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10949 (init_buffer_once): Initialize per-buffer vars differently.
10950 Set max_buffer_local_idx.
10951
10952 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10953 variables.
10954
52283633 10955 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10956
10957 * data.c (do_symval_forwarding, store_symval_forwarding)
10958 (find_symbol_value, set_internal, default_value, Fset_default)
10959 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10960 per-buffer variables.
10961
10962 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10963
9a0dd3dc
GM
109642000-03-24 Gerd Moellmann <gerd@gnu.org>
10965
b68c375f
GM
10966 * xterm.c (x_term_init): Unblock input around call1 of
10967 Qvendor_specific_keysyms.
10968
9a0dd3dc
GM
10969 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10970 (find_defun_start): Consider an open parenthesis in column 0
10971 a defun start only if open_paren_in_column_0_is_defun_start is set.
10972 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10973
7973e637
SM
109742000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10975
10976 * eval.c (Fautoload): Add entry in load-history (if after dump).
10977 * lread.c (load-history): Update docstring.
10978
39210e90
GM
109792000-03-24 Gerd Moellmann <gerd@gnu.org>
10980
10981 * indent.c (Fvertical_motion): Always use the current buffer.
10982 Temporarily change the window's buffer, if necessary.
10983
72db3ab5
GM
109842000-03-23 Gerd Moellmann <gerd@gnu.org>
10985
10986 * xterm.c (fast_find_position): Make sure not to consider rows
10987 not visible in the window.
10988
990b2375
SM
109892000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10990
10991 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10992 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10993
ff4df011
JR
109942000-03-22 Jason Rumney <jasonr@gnu.org>
10995
10996 * w32menu.c (single_submenu): Set help string to NULL if none.
10997 (w32_menu_show): Set help string correctly.
10998 (add-menu-item): Set help string in MIIM_DATA for menu item.
10999 Load SetMenuItemInfoA explicitly.
11000 (w32_menu_display_help): New function.
427ec082 11001
ff4df011
JR
11002 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11003 (QCdata): Moved to xdisp.c.
11004
11005 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11006 (Vw32_charset_to_codepage_alist): Removed.
11007 (Vw32_charset_info_alist): New variable.
52283633
SM
11008 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11009 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11010 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11011 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11012 with TODO comment.
11013 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11014 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11015 Define Vw32_charset_info_alist and w32_charset symbols.
11016
110172000-03-22 Jason Rumney <jasonr@gnu.org>
11018
11019 * makefile.nt (w32bdf.obj): Update dependencies.
11020
11021 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11022
11023 * w32fns.c: Include fontset.h after dispextern.h.
11024 (Fx_create_frame): Do not create fontset.
11025 (w32_load_system_font): Doc fix.
11026 (Fx_close_connection): Free full_name if it is not shared.
11027
11028 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11029 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11030 Callers updated.
ff4df011
JR
11031 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11032 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11033 (w32_font_is_double_byte): New function, needs body.
11034 (x_append_glyph): Set glyph->glyph_not_available_p.
11035 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11036 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11037 character, convert it to a unibyte character.
11038 (struct glyph_string): Delete member `charset'.
11039 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11040 calculating it is found.
11041 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11042 the case that per char metric is not available correctly.
11043 (x_fill_glyph_string): Handle the case that the specific glyph is
11044 not available correctly.
11045 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11046 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11047 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11048 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11049 fontset. Don't call FS_LOAD_FONT.
11050
439d5cb4
KR
110512000-03-22 Ken Raeburn <raeburn@gnu.org>
11052
11053 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11054 (INT_LISPLIKE): New macro.
11055 (NULL_INTERVAL_P): Use it.
52283633
SM
11056 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11057 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11058 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11059
11060 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11061 explicit references to "parent" field of struct interval and
11062 associated unclean type conversions.
52283633
SM
11063 * intervals.c (create_root_interval, root_interval, rotate_right)
11064 (rotate_left, balance_possible_root_interval, split_interval_right)
11065 (split_interval_left, interval_start_pos, find_interval)
11066 (next_interval, previous_interval, update_interval)
11067 (adjust_intervals_for_insertion, delete_node, delete_interval)
11068 (adjust_intervals_for_deletion, merge_interval_right)
11069 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11070 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11071 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11072 Likewise.
11073 * syntax.c (update_syntax_table): Likewise.
11074
11075 * intervals.c (reproduce_tree_obj): New function, like
11076 reproduce_tree but takes a Lisp_Object for the parent. Declare
11077 with prototype.
11078 (graft_intervals_into_buffer): Use it when appropriate.
11079 (reproduce_tree): Declare with prototype.
11080 (balance_possible_root_interval): Check that the parent is a lisp
11081 object before trying to examine its type.
11082
ee1c5b21
GM
110832000-03-22 Gerd Moellmann <gerd@gnu.org>
11084
11085 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11086 as strings only if both are known to be strings.
11087
11088 * s/openbsd.h (LIBS_TERMCAP): Undef.
11089
1fb352e0
SM
110902000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11091
11092 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11093 definitions for non-Emacs compilation.
11094 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11095 outside of `#ifdef emacs'.
11096 (print_partial_compiled_pattern): Update.
11097 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11098 (re_compile_fastmap): Merge handling of charset and charset_not (for
11099 emacs and non-emacs compilation as well).
11100 Similarly for (not)categoryspec and (not)syntaxspec.
11101 Don't use the fastmap when reaching `anychar' since the added
11102 complexity is not justified.
11103 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11104 and (not)syntaxspec. Merge (not)categoryspec.
11105
fdaa1f77
KH
111062000-03-22 Kenichi Handa <handa@etl.go.jp>
11107
52283633
SM
11108 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11109 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11110 --without-x.
fdaa1f77 11111
d152fb46
DL
111122000-03-21 Dave Love <fx@gnu.org>
11113
11114 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11115 doc string.
11116
d2cafc8c
GM
111172000-03-21 Gerd Moellmann <gerd@gnu.org>
11118
11119 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11120 (lface_fully_specified_p): Don't check contents of
11121 LFACE_FONT_INDEX because that attribute is optional.
11122 (realize_x_face): Remove now unwarranted xassert.
11123
9111d4b5
KH
111242000-03-21 Kenichi HANDA <handa@etl.go.jp>
11125
11126 The following changes are to make font selection based on
11127 characters, not charset. In addition, they recover fontset
11128 facilities while utilizing the new font selection mechanism.
11129
6c4bfdc0
KH
11130 * Makefile.in (fontset.o): Depend on dispextern.h.
11131
11132 * alloc.c (mark_face_cache): Don't mark face->registry.
11133
9111d4b5
KH
11134 * dispextern.h (struct glyph): New member glyph_not_available_p.
11135 Use 22 bits for face_id.
11136 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11137 (struct face): Delete member registry, new member ascii_face.
11138 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11139 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11140 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11141 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11142
11143 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11144 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11145 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11146 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11147 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11148 (fs_free_face_fontset, fontset_font_pattern)
11149 (face_suitable_for_char_p, face_for_char)
11150 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11151 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11152 (FS_LOAD_FACE_FONT): New macro.
11153
11154 * fontset.c: All codes rewritten or adjusted for the change of
11155 fontset implementation. Now fontset is represented by char table.
52283633
SM
11156 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11157 Variables removed.
9111d4b5 11158 (my_strcasecmp): Function removed.
52283633 11159 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11160 (AREF, ASIZE): New macros.
52283633
SM
11161 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11162 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11163 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11164 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11165 (fontset_id_valid_p, font_family_registry, fontset_name)
11166 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11167 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11168 New functions.
11169 (fs_load_font): New arg FACE. Caller changed.
11170 (fs_query_fontset): Argument changed. Caller changed.
11171 (Fquery_fontset): call fs_query_fontset.
11172 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11173 Functions removed.
52283633
SM
11174 (clear_fontset_elements, check_registry_encoding)
11175 (check_fontset_name): New functions.
9111d4b5
KH
11176 (syms_of_fontset): Set char-table-extra-slots property of fontset
11177 to 3. Staticpro and initialize Vfontset_table and
11178 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11179
11180 * frame.h (struct frame): Member `fontset_data' removed.
11181 (FRAME_FONTSET_DATA): Macro removed.
11182
11183 * frame.c (make_frame): Don't allocate f->fontset_data.
11184 (Fdelete_frame): Don't free f->fontset_data.
11185
6c4bfdc0
KH
11186 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11187
9111d4b5
KH
11188 * xdisp.c (charset_at_position): Function removed.
11189 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11190 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11191 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11192 Likewise.
11193 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11194 FACE_FOR_CHARSET.
52283633
SM
11195 (get_next_display_element, append_space)
11196 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11197
11198 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11199 Variables removed.
11200 (clear_font_table, frame_update_line_height, load_face_font):
11201 Adjusted for the change of fontset implementation.
11202 (load_face_fontset_font): Function removed.
11203 (pixel_point_size): New function.
11204 (font_list): Argument type changed. Caller changed.
11205 (LFACE_FONT): New macro.
11206 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11207 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11208 Lisp_Object. Determine the font name by actually loading a font
11209 by the specified pattern. Set LFACE_FONT (lface) to the specified
11210 pattern. Even if a font is not found, don't try alternatives.
11211 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11212 (set_font_frame_param): If `font' is specified in lface, use it.
11213 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11214 (lface_same_font_attributes_p): Likewise.
11215 (make_realized_face): Arguent changed. Caller changed. Set
11216 face->ascii_face to face itself.
11217 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11218 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11219 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11220 (free_realized_multibyte_face): New function.
11221 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11222 changed. Caller changed.
11223 (try_font_list): Argument type changed.
11224 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11225 (choose_face_font): Argument changed. Handle fontset properly.
11226 (choose_face_fontset_font): Function removed.
11227 (realize_default_face, realize_named_face): Don't remove the
11228 former face here.
11229 (realize_face): Argument changed. Caller changed. Remove face
52283633 11230 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11231 (realize_x_face): Argument changed. Caller changed. For a
11232 multibyte character, share fontset with base_face. For a single
52283633 11233 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11234 (realize_tty_face): Argument changed. Caller changed.
11235 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11236 (face_at_buffer_position): Don't check multibyte_p for returning
11237 DEFAULT_FACE_ID.
11238 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11239 FACE_SUITABLE_FOR_CHARSET_P.
11240 (syms_of_xfaces): Remove code for Qx_charset_registry and
11241 Vface_default_registry.
11242
6c4bfdc0
KH
11243 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11244 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11245 (x_per_char_metric): Don't try FONT->default_char. Even if
11246 pcm->width is zero, glyph bits may exist.
11247 (x_encode_char): Always initialize char2b->byte1.
11248 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11249 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11250 (x_append_glyph): Set glyph->glyph_not_available_p.
11251 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11252 it->charset. Handle the case that per char metric is not
11253 available. If it->multibyte_p is zero and it->c is a multibyte
11254 character, convert it to a unibyte character.
11255 (struct glyph_string): Delete member `charset'.
11256 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11257 the case that per char metric is not available correctly.
11258 (x_fill_glyph_string): Handle the case that the specific glyph is
11259 not available correctly.
11260 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11261 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11262 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11263 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11264 fontset. Don't call FS_LOAD_FONT.
11265
11266 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11267 (x_create_tip_frame): Likewise.
11268 (Fx_close_connection): Free full_name of font_info.
11269
11270 * fns.c (optimize_sub_char_table): New function.
11271 (Foptimize_char_table): New function.
11272 (syms_of_fns): Defsubr Soptimize_char_table.
11273
b33dd3b0
GM
112742000-03-20 Gerd Moellmann <gerd@gnu.org>
11275
11276 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11277 only if buffer is displayed in some window.
11278
11279 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11280 (try_window_reusing_current_matrix): Don't call scroll run
11281 function if run's current and desired position are the same;
11282 this prevents cursor flickering.
11283
4e8a9132
SM
112842000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11285
11286 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11287
11288 * regex.c (RE_STRING_CHAR): New macro.
11289 (GET_CHAR_AFER_2): Remove.
11290 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11291 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11292 (print_partial_compiled_pattern, re_compile_fastmap)
11293 (re_match_2_internal): Remove on_failure_jump_exclusive.
11294 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11295 optimization only need to work for * (ie. can use of_keep_string_jump).
11296 Remove the special case for .*\n since it is now covered by the general
11297 optimization.
11298 (re_search_2): Don't bother with `room'.
11299 (skip_one_char): New function.
11300 (skip_noops): Simplify since `memory' is not needed any more.
11301 (mutually_exclusive_p): Restructure slightly to use `switch' and
11302 add handling for "all" remaining cases.
11303 (re_match_2_internal): Change on_failure_jump_smart to use
11304 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11305 rather than on_failure_jump_exclusive.
11306
2136fdd4
GM
113072000-03-19 Gerd Moellmann <gerd@gnu.org>
11308
11309 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11310 number of bits per RGB because it's everywhere used as the depth
11311 of the visual.
11312
11313 * term.c (calculate_costs): Remove code dealing with X frames.
11314
18e21ce8 113152000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11316
11317 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11318
d7b511c4
GM
113192000-03-18 Gerd Moellmann <gerd@gnu.org>
11320
11321 * lread.c (read_integer): Unread the last char not consumed.
11322
16b5d424
GM
113232000-03-17 Gerd Moellmann <gerd@gnu.org>
11324
11325 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11326 which are in the process of being deleted.
16b5d424 11327
1fa28578
GM
113282000-03-16 Gerd Moellmann <gerd@gnu.org>
11329
83488cce
GM
11330 * Makefile.in (mostlyclean): Add `*.core'.
11331 (clean): Add `bootstrap-emacs'.
11332
1fa28578
GM
11333 * lread.c (read_integer): New function.
11334 (read1): Support read syntax #o, #x, #b, #r.
11335
99633e97
SM
113362000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11337
1fa28578
GM
11338 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11339 make sure POINTER_TO_OFFSET gives the same value before and after
11340 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11341 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11342 (debug): Now only active if > 0 rather than if != 0.
11343 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11344 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11345 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11346 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11347 (store_op1, store_op2, insert_op1, insert_op2)
11348 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11349 (group_in_compile_stack): Move to after its arg's types are
11350 declared and add a prototype.
99633e97 11351 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11352 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11353 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11354 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11355 indentation of the greedy-op and shy-group code.
99633e97
SM
11356 (at_(beg|end)line_loc_p): Fix argument's types.
11357 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11358 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11359 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11360 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11361 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11362 QUIT unconditionally.
99633e97 11363
699238d9
GM
113642000-03-15 Gerd Moellmann <gerd@gnu.org>
11365
11366 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11367 a sole completion.
11368
11369 * process.c (send_process): Add a hint that the function
11370 can call Lisp code to its comment.
11371
11372 * lread.c (load_dangerous_libraries): New variable.
11373 (Vbytecomp_version_regexp): New variable.
11374 (safe_to_load_p): New function.
11375 (Fload): Handle files not compiled with Emacs specially.
11376 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11377
34e23e5a
GM
113782000-03-14 Gerd Moellmann <gerd@gnu.org>
11379
9c763cca
GM
11380 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11381
11382 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11383 support functions only if HAVE_X11R6_XIM is defined.
11384 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11385
11386 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11387
11388 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11389 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11390 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11391
11392 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11393 (HAVE_X11R6_XIM): Define.
11394
11395 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11396
34e23e5a
GM
11397 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11398 If set, call XSynchronize.
11399
66f0296e
SM
114002000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11401
34e23e5a
GM
11402 * regex.c: Declare a new type `re_char' used throughout the code
11403 for the string char type. It's `const unsigned char' to match the
11404 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11405 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11406 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11407 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11408 code duplication.
66f0296e
SM
11409
11410 * charset.h (GET_CHAR_AFTER_2): Remove.
11411 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11412
854a025c
KR
114132000-03-12 Ken Raeburn <raeburn@gnu.org>
11414
11415 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11416 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11417 of them try to use backquotes.
11418
b9d2c7e2
DL
114192000-03-12 Dave Love <fx@gnu.org>
11420
11421 * unexelf.c: Restore changes of 1999-10-19.
11422 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11423 fix its type and alignment; copy it from current process.
11424
5e5dff44
GM
114252000-03-12 Gerd Moellmann <gerd@gnu.org>
11426
9b2f3c38
GM
11427 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11428 has been found. Fix bug not computing timer's predecessor.
11429
427ec082 11430 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11431 file name.
11432
e1cff360
GM
11433 * window.c (Fsave_window_excursion): Doc fix.
11434
52283633 11435 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11436
e411ce4b
EZ
114372000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11438
11439 * msdos.c (vga_installed): New function, code moved from
11440 dos_set_window_size.
11441 (Qbar, Qcursor_type, outside_cursor): New variables.
11442 (syms_of_msdos): Intern and staticpro them.
11443 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11444 shape used outside Emacs when called for the first time.
11445 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11446 cursor shape used outside Emacs.
11447 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11448 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11449 type has changed.
11450 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11451 parameters specify the cursor. Make qreverse a global
11452 variable (renamed to Qreverse).
11453
80460654
GM
114542000-03-09 Gerd Moellmann <gerd@gnu.org>
11455
11456 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11457
95cd4c40
SM
114582000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11459
11460 This is a big redesign of failure-stack and register handling, prompted
11461 by bugs revealed when trying to add shy-groups. Overall, what happened
11462 is that loops are now structured a little differently, groups can be
11463 shy and the code is a little simpler.
11464
11465 * regex.h: Update the copyright.
11466 (RE_SHY_GROUPS): New value.
11467 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11468 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11469
80460654
GM
11470 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11471 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11472 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11473 for (start|stop)_memory since they now only take one argument (the
11474 second has becomes unnecessary).
52283633 11475 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11476 (print_compiled_pattern): Use %ld to printf long ints and flush to
11477 make debugging a little easier.
95cd4c40
SM
11478 (union fail_stack_elt): Make the integer unsigned.
11479 (struct fail_stack_type): Add a `frame' element.
11480 (INIT_FAIL_STACK): Init `frame' as well.
11481 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11482 (DEBUG_PUSH, DEBUG_POP): Remove.
11483 (NUM_REG_ITEMS): Remove.
11484 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11485 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11486 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11487 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11488 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11489 New macros.
80460654
GM
11490 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11491 address pushed is not the destination of the jump but the source
11492 of it instead.
95cd4c40
SM
11493 (NUM_FAILURE_ITEMS): Remove.
11494 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11495 registers before the actual failure point). Don't hardcode any
11496 meaning for str==NULL anymore.
95cd4c40 11497 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11498 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11499 Remove.
95cd4c40
SM
11500 (REG_UNSET_VALUE): Use NULL (why not?).
11501 (compile_range): Remove declaration since it doesn't exist.
11502 (struct compile_stack_elt_t): Remove inner_group_offset.
11503 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11504 (regex_grow_registers): Remove dead code.
11505 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11506 (regex_compile): Add shy-groups Change loops to use
11507 on_failure_jump_smart&jump instead of
11508 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11509 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11510 variable to me). Use `jump' instead of `jump_past_alt' and don't
11511 bother with push_dummy_failure in alternatives since it is now
11512 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11513 emacs' for (re)allocating the stack.
11514 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11515 from loop when bufp->can_be_null rather than jumping to `done'.
11516 Avoid jumping backwards so as to ensure termination. Use
11517 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11518 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11519 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11520 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11521 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11522 (lowest_active_reg, highest_active_reg)
11523 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11524 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11525 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11526 variables. Push register (in `start_memory') on the stack rather
11527 than storing it in old_reg(start|end). Remove the cycle detection
11528 from `stop_memory', replaced by the use of on_failure_jump_loop
11529 for greedy loops. Add code for the new on_failure_jump_<foo>.
11530 Remove ad-hoc code in `on_failure_jump' to push more registers in
11531 the case of a loop. Take out code from `maybe_pop_jump' into
11532 separate functions and adapt it to the semantics of
11533 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11534 and push_dummy_failure. Remove dummy_failure handling and
11535 handling of `failures to jump to on_failure_jump' (this last one
11536 was already dead code, it seems).
11537 (group_match_null_string_p, alt_match_null_string_p)
11538 (common_op_match_null_string_p): Remove.
95cd4c40 11539
7397acc4
DL
115402000-03-08 Dave Love <fx@gnu.org>
11541
11542 * config.in: Don't depend on __STDC__ for volatile.
11543 Add POINTER_TYPE, PTR, PROTOTYPES.
11544
11545 * hftctl.c, strftime.c: Use PROTOTYPES.
11546 * eval.c (find_handler_clause): Likewise.
11547
11548 * mem-limits.h: Use POINTER_TYPE.
11549
11550 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11551 (memory_warnings): Declare using POINTER_TYPE.
11552
5e91ff9e
GM
115532000-03-08 Gerd Moellmann <gerd@gnu.org>
11554
feab4fba
GM
11555 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11556
52283633 11557 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11558
5e91ff9e
GM
11559 * xfns.c: Remove obsolete code in #if 0.
11560 (Fx_focus_frame): New function.
11561
a735b7e1
KH
115622000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11563
11564 * coding.c (coding_category_name): Add coding-category-utf-8,
11565 coding-category-utf-16-be, coding-category-utf-16-le.
11566 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11567 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11568 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11569 (detect_coding_utf_8): New function.
11570 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11571 UTF_16_LOW_SURROGATE_P): New macros.
11572 (detect_coding_utf_16): New function
11573 (detect_coding_mask): When priorities are specified, skip any
11574 categories that have `nil' coding-system. Fix bug of returning
11575 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11576 returns a mask not set in PRIORITIES.
11577 (detect_eol_type_in_2_octet_form): New function.
11578 (detect_eol): selects detect_eol_type_XXX to call according to
11579 cooding->category_idx.
11580 (detect_coding_system): Remove `nil' coding-system in the result.
11581 (Fupdate_coding_systems_internal): Update all coding-categories.
11582
52283633
SM
11583 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11584 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11585 New macros.
11586 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11587 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11588 (CODING_CATEGORY_IDX_UTF_16_LE)
11589 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11590 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11591 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11592 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11593
9994cc69
GM
115942000-03-07 Gerd Moellmann <gerd@gnu.org>
11595
e9b4e5ff
GM
11596 * doc.c (Fdocumentation_property): If value is not a string,
11597 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11598
f7daf1e1
GM
11599 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11600 close the display with XtCloseDisplay. This caused a bus error
11601 on OpenWindows.
11602
9994cc69
GM
11603 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11604 complete but not unique.
11605
4336c705
GM
116062000-03-06 Gerd Moellmann <gerd@gnu.org>
11607
18bb0684
GM
11608 * process.c (send_process): Remove local variable `procname' that
11609 might become invalid when a GC happens. Instead, access the
11610 process name slot directly.
11611
4336c705
GM
11612 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11613 orig_height if set.
11614
11615 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11616 orig_height if set.
11617
515d0d0e
EZ
116182000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11619
11620 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11621 glyph matrices have been freed.
11622
100b3cbb
GM
116232000-03-05 Gerd Moellmann <gerd@gnu.org>
11624
50df5e5a 11625 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11626 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11627
11628 * xfns.c (QCdata): Moved to xdisp.c.
11629
11630 * xdisp.c (QCdata): Moved here from xfns.c.
11631 (syms_of_xdisp): Initialize QCdata.
11632
11633 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11634
11635 * window.c (coordinates_in_window): Use
11636 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11637 FRAME_INTERNAL_BORDER_WIDTH.
11638
100b3cbb 11639 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11640 it is obviously invalid.
100b3cbb
GM
11641
11642 * xterm.c (x_term_init): Create a colormap if not using the
11643 default visual.
11644
11645 * xterm.h (select_visual): Change prototype.
11646
11647 * xfns.c (select_visual): Rewritten. Recognize user-specified
11648 visual classes.
11649 (visual_classes): New variable.
11650
64d739c4
GM
116512000-03-04 Gerd Moellmann <gerd@gnu.org>
11652
11653 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11654 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11655 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11656 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11657 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11658 XtNcolormap resources.
11659 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11660 (Fx_create_frame): Initialize color members of x_output structure.
11661 (xpm_load): Pass colormap to XPM lib.
11662
11663 * xfaces.c (x_free_colors): Access colormap of frame using
11664 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11665 when default colormap is used.
11666
11667 * xterm.c (x_term_init): Set Colormap member of x_display_info
11668 structure. Copy colormap if resource `privateColormap' is
11669 specified (PseudoColor only).
11670 (x_setup_relief_color): Access colormap of frame using
11671 FRAME_X_COLORMAP.
11672
11673 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11674 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11675
c3cee013
JR
116762000-03-04 Jason Rumney <jasonr@gnu.org>
11677
11678 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11679 other non-platform-specific equivalents.
64d739c4 11680 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11681 specific functions and macros as their w32 equivalents where
11682 non-platform-specifics are not available.
11683 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11684 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11685 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11686 (frame_update_line_height): Use macros to access f->output_data.
11687 (defined_color): Remove FIXME comments; fixed.
11688 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11689 into #ifdef blocks. Add WINDOWSNT blocks.
11690 (Fx_list_fonts): Use macros for accessing font data.
11691 (set_lface_from_font_name): Different default fonts for X and
11692 WINDOWSNT.
11693 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11694 scalable for backward compatibility.
64d739c4 11695 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11696 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11697
64d739c4 11698 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11699 syms_of_w32faces.
11700
11701 * makefile.nt (w32faces.obj): Remove.
11702 (xfaces.obj): Add.
11703
807cc41c
JR
117042000-03-03 Jason Rumney <jasonr@gnu.org>
11705
11706 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11707 correct parameters.
11708
0007072a
KR
117092000-03-03 Ken Raeburn <raeburn@gnu.org>
11710
11711 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11712 standard ELF definitions here if the system header does not.
11713
71a6ba55
GM
117142000-03-03 Gerd Moellmann <gerd@gnu.org>
11715
11716 * xterm.c (PER_CHAR_METRIC): Removed.
11717 (x_per_char_metric_1, x_default_char): New functions.
11718 (x_per_char_metric): If font's default char is invalid, return
11719 metrics of a suitably chosen usable default char.
11720 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11721 char, replace occurrences of unprintable chars with a suitably
11722 chosen usable default char.
71a6ba55 11723
900fa1f1
GM
117242000-03-02 Gerd Moellmann <gerd@gnu.org>
11725
42f55fe0
GM
11726 * xterm.c (note_mouse_highlight): Return quickly if frame's
11727 glyph matrices have been freed.
11728
11729 * dispnew.c (free_glyphs): Block input while freeing matrices.
11730
900fa1f1
GM
11731 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11732
52283633
SM
11733 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11734 Use x_free_colors.
900fa1f1
GM
11735
11736 * dispextern.h (x_free_colors): Add prototype.
11737
11738 * xfaces.c (x_free_colors): New function.
11739 (unload_color, free_face_colors): Use it.
11740
2f950292
EZ
117412000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11742
11743 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11744
11745 * window.c [MSDOS]: Include msdos.h.
11746
54d04320
DL
117472000-03-02 Dave Love <fx@gnu.org>
11748
11749 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11750
11751 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11752 set C_OPTIMIZE_SWITCH for gcc.
11753
0ba93ac4
KH
117542000-03-02 Kenichi Handa <handa@etl.go.jp>
11755
11756 * coding.c (coding_save_composition): Be sure to allocate
11757 composition data area in coding even if there's no composition in
11758 the current run.
11759
a2bc11d4
JR
117602000-03-01 Jason Rumney <jasonr@gnu.org>
11761
11762 * w32term.c: Equivalent changes to those made to xterm.c on
11763 2000-02-25 and 2000-02-24.
11764
11765 * w32fns.c: Equivalent changes to those made to xfns.c on
11766 2000-02-25 and 2000-02-21.
11767
11768 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11769 correct line-end convention is followed.
11770
11771 * w32menu.c [HAVE_BOXES]: Remove #undef.
11772 (single_keymap_panes): Remove code for simulating checkmarks.
11773 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11774 Remove code for drawing simulated checkmarks.
11775 (w32_menu_show): make unibyte help string correctly.
11776 (add_menu_item): draw standard Windows checkmarks. Draw radio
11777 buttons as radio buttons if possible.
11778
72d19d75
GM
117792000-03-01 Gerd Moellmann <gerd@gnu.org>
11780
2df636f4
GM
11781 * sysdep.c (start_of_text): Don't define this function for NetBSD
11782 with ELF.
11783
427ec082 11784 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11785 Don't define.
11786 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11787 (LINKER): Don't undef if __NetBSD__ is defined.
11788
11789 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11790
11791 * fileio.c [__NetBSD__]: Define `unix'.
11792
72d19d75
GM
11793 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11794
ed4d0512
GM
117952000-02-29 Gerd Moellmann <gerd@gnu.org>
11796
50b1039f
GM
11797 * atimer.c (start_atimer): Don't abort when timers are stopped.
11798 (append_atimer_lists): New function.
11799 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11800 arbitrary lists of stopped and running atimers.
11801
ed4d0512
GM
11802 * atimer.c (cancel_atimer): Handle canceling an atimer when
11803 some timers are stopped.
11804
11805 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11806 after canceling it.
11807
11808 * fns.c (maybe_resize_hash_table): Handle case of new size
11809 coming out as being the same as old size.
11810
387023ee
JR
118112000-02-27 Jason Rumney <jasonr@gnu.org>
11812
11813 * makefile.nt: Add atimer.h to dependencies.
11814 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11815 * w32console.c: Only disable window system features for dispextern.h
11816 (initialize_w32_display): Build a display info for the console.
11817 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11818 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11819 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11820 as 2 button mice.
11821 * w32gui.h (struct W32FontStruct): Revert last change after change
11822 to xdisp.c.
11823 * w32menu.c (single_submenu): Set up help string.
11824 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11825 (w32_dialog_show): Set up help string.
11826 * w32term.c (w32_display_info_for_display): Remove unused function.
11827 (w32_draw_bitmap): Use pre-built bitmaps.
11828 (w32_initialize_display_info): New function to initialize parts of
11829 display info that are common to both GUI and console frames.
11830 (w32_term_init): Use w32_initialize_display_info. Do not set
11831 Vw32_num_mouse_buttons here, as it is not called for console
11832 frames. Build bitmaps for indicating truncated lines etc.
11833 (x_delete_display): Destroy pre-built bitmaps.
11834 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11835 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11836
4516715a
DL
118372000-02-27 Dave Love <fx@gnu.org>
11838
11839 * lisp.h: Add a bunch of prototypes.
11840
171ca836
KH
118412000-02-26 Kenichi Handa <handa@etl.go.jp>
11842
11843 * keyboard.c (read_char): Set `usec' correctly.
11844
4013921d
KH
118452000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11846
11847 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11848 `lambda', set reg[RRR] to the map index.
11849 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11850 reg[RRR] to 0. Otherwise, set it to -1.
11851
9244a058
GM
118522000-02-25 Gerd Moellmann <gerd@gnu.org>
11853
2df636f4 11854 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11855
18e21ce8 118562000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11857
f43d79c1
GM
11858 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11859 and contains a `:', prepend `/:'.
11860
11861 * window.c (select_window_1): If selected_window is nil,
11862 don't "swap out" the buffer's point.
11863 (Fset_window_configuration): Set selected_window to nil
11864 before calling Fselect_window.
11865 (unshow_buffer): Don't set point in buffer from window's point
11866 if another more recently selected window also shows the buffer.
11867
bed0c171
GM
118682000-02-25 Gerd Moellmann <gerd@gnu.org>
11869
449c3c52
GM
11870 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11871
f5b58615
GM
11872 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11873 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11874 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11875 New variables.
f5b58615
GM
11876 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11877 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11878 (hide_busy_cursor): New functions.
11879 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11880
11881 * minibuf.c (read_minibuf): Cancel busy-cursor.
11882
11883 * keyboard.c (command_loop_1): Call start_busy_cursor before
11884 Fcommand_execute and cancel_busy_cursor after it.
11885 (timer_check): Remove busy-cursor code.
11886 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11887 cursor timer.
11888
11889 * process.c (wait_reading_process_input): Remove busy-cursor code.
11890
11891 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11892 Fx_hide_busy_cursor.
11893
11894 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11895 Remove prototyoes.
11896 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11897
11898 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11899
11900 * xterm.c (XTread_socket): Remove busy-cursor code.
11901
4eb8436f
GM
11902 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11903 (build_frame_matrix_from_leaf_window): Put code handling
11904 glyph row's not being a slice of a frame row in #if 0.
11905 (sync_window_with_frame_matrix_rows): New function.
11906 (frame_row_to_window): New function.
11907 (mirror_line_dance): Handle copies between windows.
11908
3cb65b0e
GM
11909 * lread.c (Fload): Use `xfree' instead of `free'.
11910 (init_obarray): Use `xmalloc' instead of `malloc'.
11911
bed0c171
GM
11912 * window.c (Fset_window_buffer): Set WINDOW to the window
11913 after decoding.
2add4349
GM
11914 (coordinates_in_window): Take frame's internal border width
11915 into account.
bed0c171 11916
42088c12
GM
119172000-02-24 Gerd Moellmann <gerd@gnu.org>
11918
11919 * xterm.c (x_display_and_set_cursor): Display cursor of
11920 non-selected windows depending on the setting of
11921 cursor_in_non_selected_windows.
11922
11923 * xdisp.c (cursor_in_non_selected_windows): New variable.
11924 (syms_of_xdisp): DEFVAR_BOOL it.
11925
d1e103b2
GM
119262000-02-23 Gerd Moellmann <gerd@gnu.org>
11927
723e779c
GM
11928 * data.c (Fstring_to_number): If number is greater than what
11929 fits into an integer, return a float.
11930
d1e103b2
GM
11931 * eval.c (specbind): Remove references to
11932 keyword_symbols_constant_flag.
11933
11934 * data.c (keyword_symbols_constant_flag): Removed.
11935 (Fmakunbound, set_internal, syms_of_data): Remove references to
11936 keyword_symbols_constant_flag.
11937
11938 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11939
214f877f
KH
119402000-02-23 Kenichi Handa <handa@etl.go.jp>
11941
11942 * syntax.c (multibyte_syntax_as_symbol): New variable.
11943 (syms_of_syntax): Declare it as a Lisp variable.
11944 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11945 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11946 nonzero, treat all multibyte characters as symbol.
52283633 11947 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11948
130adcb7
EZ
119492000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11950
3cb65b0e 11951 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11952 a deleted frame.
130adcb7 11953
17cbbf95
GM
119542000-02-21 Gerd Moellmann <gerd@gnu.org>
11955
11956 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11957
11958 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11959 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11960
beb0bc36
DL
119612000-02-21 Dave Love <fx@gnu.org>
11962
11963 * frame.c (Vmouse_position_function): New variable.
11964 (Fmouse_position): Use it.
11965 (syms_of_frame): Install it.
11966
11967 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11968
1d92afcd
GM
119692000-02-20 Gerd Moellmann <gerd@gnu.org>
11970
11971 * fileio.c (Finsert_file_contents): Unbind the binding of
11972 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11973
11974 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11975 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11976 (specbind, unbind_to): Handle most common case of non-constant
11977 symbol with trivial value specially.
11978
11979 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11980
18e21ce8 119812000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11982
11983 * data.c (Fmake_variable_buffer_local): Doc fix.
11984 Init found_for_buffer to 0.
11985 (Fmake_variable_frame_local): If the variable has already
11986 been buffer-local, set the check_frame field.
11987
1d4311c3
EZ
119882000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11989
11990 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11991 produced for CODING_MODE_LAST_BLOCK requires.
11992
2dc95ddd
DL
119932000-02-18 Dave Love <fx@gnu.org>
11994
11995 * keyboard.c (echo_keystrokes): Remove declaration.
11996 (Vecho_keystrokes) New variable.
11997 (read_char, record_menu_key, read_key_sequence): Use it to allow
11998 use of float value.
11999 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12000
12001 * lread.c: Undef feature selection macros before defining.
12002
f0930f35
GM
120032000-02-18 Gerd Moellmann <gerd@gnu.org>
12004
12005 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12006 for symbols other than the symbol in question.
12007
e3d4de90
DL
120082000-02-17 Dave Love <fx@gnu.org>
12009
12010 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12011
0b378936
GM
120122000-02-17 Gerd Moellmann <gerd@gnu.org>
12013
d621caf7
GM
12014 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12015
0b378936
GM
12016 * alloc.c (enum mem_type): Compile unconditionally.
12017
3b451f74
EZ
120182000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12019
12020 * xfaces.c (tty_defined_color): Don't return faulire indication
12021 for unspecified-fg and unspecified-bg pseudo-colors.
12022
10689a01
GM
120232000-02-17 Gerd Moellmann <gerd@gnu.org>
12024
1216f5e4
GM
12025 * alloc.c (mark_object): Don't mark symbol names in pure space.
12026 (gc_sweep): Don't unmark symbol names in pure space.
12027
12028 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12029 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12030 [GC_MARK_STACK]: New defines.
427ec082 12031 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12032 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12033
12034 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12035
12036 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12037 allocate_buffer instead of xmalloc.
12038
12039 * alloc.c (toplevel): Include setjmp.h.
12040 (PURE_POINTER_P): New define.
12041 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12042 (Vdead) [GC_MARK_STACK]: New variable.
12043 (lisp_malloc): Add parameter TYPE, call mem_insert if
12044 GC_MARK_STACK is defined.
12045 (allocate_buffer): New function.
427ec082 12046 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12047 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12048 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12049 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12050 (MEM_NIL) [GC_MARK_STACK]: New define.
12051 (struct mem_node) [GC_MARK_STACK]: New structure.
12052 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12053 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12054 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12055 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12056 (mark_stack) [GC_MARK_STACK]: New functions.
12057 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12058 (clear_marks): Removed.
12059 (gc_sweep): Set free conses' car, free floats' type, free
12060 symbols' function to Vdead. Use lisp_free to free buffers.
12061 (init_alloc_once): Initialize Vdead.
12062 (survives_gc_p): Return non-zero for pure objects.
12063
12064 * alloc.c: Add comments throughout the file.
12065
2503c8b1
GM
12066 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12067 that unblocks alarms.
12068
8389e1e2
GM
12069 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12070 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12071 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12072
10689a01 12073 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12074
bfc17d18
KH
120752000-02-17 Kenichi Handa <handa@etl.go.jp>
12076
4a09dee0
KH
12077 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12078 avoid infinite error signaling. Allocate sufficient memory for
12079 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12080
2b927d02
SM
120812000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12082
12083 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12084 depends on the previous behavior.
12085
b49cb764
GM
120862000-02-16 Gerd Moellmann <gerd@gnu.org>
12087
12088 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12089
99e95407
GM
120902000-02-15 Gerd Moellmann <gerd@gnu.org>
12091
12092 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12093
12094 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12095 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12096 write(2).
12097
6ffd3cf7
RS
120982000-02-15 Richard M. Stallman <rms@gnu.org>
12099
12100 * data.c (set_internal): Don't make variable buffer-local
12101 if within a let-binding for the same buffer.
12102 (let_shadows_buffer_binding_p): New function.
12103
12104 * eval.c (specbind): For buffer-local value,
12105 record the current buffer also.
12106 (unbind_to): Cope with that change.
12107
cad53475
GM
121082000-02-15 Gerd Moellmann <gerd@gnu.org>
12109
12110 * window.c (Fsave_window_excursion): Doc fix.
12111
1aa963c8
SM
121122000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12113
12114 * syntax.c (back_comment): Make sure we only consider comment-starters
12115 of the relevant style and return -1 in case of a failure to find the
12116 beginning of the comment.
12117 (Fforward_comment): If back_comment fails, go back to the position just
12118 after the comment-end.
12119 (scan_lists): Add comment describing a very minor bug.
12120
b9b84fd3
SM
121212000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12122
12123 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12124 `completion-regexp-list' in the docstring.
12125
3a28db80
DL
121262000-02-14 Dave Love <fx@gnu.org>
12127
12128 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12129
fb4a568d
SM
121302000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12131
12132 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12133 to Emacs' syntax. Also fix the comment about set/not-set meanings
12134 since Emacs syntax is not the value 0 any more.
12135 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12136 since it's now part of RE_SYNTAX_EMACS.
12137
1063ebb5
DL
121382000-02-12 Dave Love <fx@gnu.org>
12139
52283633 12140 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12141
fb07a302
GM
121422000-02-12 Gerd Moellmann <gerd@gnu.org>
12143
12144 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12145
aaf2320c
DL
121462000-02-12 Dave Love <fx@gnu.org>
12147
12148 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12149
12150 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12151 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12152 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12153
12154 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12155
12156 * s/nextstep.h: Don't define HAVE_ALLOCA.
12157
12158 * config.in: Add vfork bits.
12159
eedf8bde
GM
121602000-02-12 Gerd Moellmann <gerd@gnu.org>
12161
12162 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12163 unwind function to undo the effect of stopping atimers.
12164
52283633 12165 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12166
12167 * atimer.c (stopped_atimers): New variable.
12168 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12169 New functions.
12170
12171 * atimer.h (stop_other_atimers, run_all_atimers)
12172 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12173
eedf8bde
GM
12174 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12175
8476c2f8
KR
121762000-02-11 Ken Raeburn <raeburn@gnu.org>
12177
12178 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12179 library may depend on jpeg.
12180 (atimer.o): Depends on atimer.c.
12181
0e85e4a3
KH
121822000-02-11 Kenichi Handa <handa@etl.go.jp>
12183
12184 * insdel.c (del_range_1): Call update_compositions.
12185 (del_range_both): Call update_compositions just once..
12186
97fa0cc8
DL
121872000-02-10 Dave Love <fx@gnu.org>
12188
12189 * xfns.c (create_frame_xic): Fix initialization of automatic
12190 aggregates for pcc.
12191
25566a3c
KH
121922000-02-09 Kenichi Handa <handa@etl.go.jp>
12193
12194 * ccl.c (CCL_MAKE_CHAR): New macro.
12195 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12196 registers by CCL_MAKE_CHAR before calling translate_char.
12197 <CCL_TranslateCharacterConstTbl> Likewise.
12198
69da54ba
DL
121992000-02-08 Dave Love <fx@gnu.org>
12200
12201 * lread.c (__EXTENSIONS__): Define.
12202
f7136ee8
GM
122032000-02-08 Gerd Moellmann <gerd@gnu.org>
12204
12205 * puresize.h (BASE_PURESIZE): Increase to 650000.
12206
7768790b
EZ
122072000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12208
12209 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12210 the help message.
12211
38fd211b
EZ
122122000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12213
12214 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12215 md, mh, mb, mr, and me to the fake termcap entry.
12216
66e4690f
KR
122172000-02-06 Ken Raeburn <raeburn@gnu.org>
12218
12219 * sound.c (sound_cleanup): Don't call device close routine if the
12220 function pointer is null.
12221
a75dfea0
AI
122222000-02-06 Andrew Innes <andrewi@gnu.org>
12223
12224 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12225 around image definitions and prototypes.
12226 (gamma_correct) [WINDOWSNT]: New prototype.
12227
12228 * w32term.c (x_make_frame_visible): Replace call to
12229 input_poll_signal with poll_for_input.
12230
12231 * window.c [WINDOWSNT]: Include w32term.h.
12232
12233 * xdisp.c [WINDOWSNT]: Include w32term.h.
12234
12235 * makefile.nt: Add dependencies on w32gui.h.
12236 (OBJ1): Include atimer.obj.
12237 ($(BLD)\atimer.obj): New dependency rule.
12238
12239 * w32.c (sigmask): New function (does nothing).
12240 (sigunblock): Ditto.
12241
12242 * frame.c [WINDOWSNT]: Include w32term.h.
12243
12244 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12245
12246 * lread.c (syms_of_lread): Fix literal newlines.
12247
12248 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12249 the string constant limit (2048 bytes) in MSVC.
12250 (main): Ditto.
12251
59ddecde
GM
122522000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12253
52283633 12254 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12255 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12256 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12257 dispatch the event.
12258
07590973
DL
122592000-02-04 Dave Love <fx@gnu.org>
12260
12261 * fileio.c: Remove some unused vars.
12262 (_GNU_SOURCE): Define (for euidaccess).
12263
12264 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12265
12266 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12267 gcpro1, gcpro2.
12268 (read_minibuf): Deal with allow_props correctly.
12269
649351f9
EZ
122702000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12271
12272 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12273
66e4690f 122742000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12275
12276 * search.c (compile_pattern): If a cache entry has a nil regexp,
12277 fill in that entry instead of clobbering a previously cached
12278 string regexp.
12279
66e4690f 122802000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12281
12282 * puresize.h (BASE_PURESIZE): Increase to 610000.
12283
d240a249
GM
122842000-02-02 Gerd Moellmann <gerd@gnu.org>
12285
12286 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12287 can GC.
12288
ca91fb26
KH
122892000-02-02 Kenichi Handa <handa@etl.go.jp>
12290
25660570
KH
12291 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12292 instead of incrementing ic directly.
12293 <CCL_WriteExprConst> Likewise.
12294 <ccl_set_expr>: Set ic to jump_address.
12295
ca91fb26
KH
12296 * fileio.c (e_write): Fix the handling of
12297 CODING_FINISH_INSUFFICIENT_SRC.
12298
2ede9689
DL
122992000-02-01 Dave Love <fx@gnu.org>
12300
12301 * editfns.c (Fpropertize): Doc fix.
12302
12303 * process.c (Fstart_process): Doc fix.
12304
12305 * eval.c: Fix various doc strings not to duplicate information
12306 from help-manyarg-func-alist.
12307
52283633 12308 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12309
12310 * doc.c (Vhelp_manyarg_func_alist): New variable.
12311 (Fdocumentation): Use it.
12312 (syms_of_doc): Define it.
12313
b6680a0e
GM
123142000-01-31 Gerd Moellmann <gerd@gnu.org>
12315
2cb750ba
GM
12316 * xterm.c (xim_open_dpy): Remove unused local variable.
12317
52283633 12318 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12319
12320 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12321 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12322
b6680a0e
GM
12323 * fns.c (sweep_weak_table): New function.
12324 (sweep_weak_hash_tables): Use it. Keep on marking until there
12325 is no more change.
12326
994c5afe
GM
123272000-01-30 Gerd Moellmann <gerd@gnu.org>
12328
12329 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12330 that XTread_socket does not crash by trying to call XNoOp on a
12331 closed display.
427ec082 12332
f00276e3
JR
123332000-01-30 Jason Rumney <jasonr@gnu.org>
12334
12335 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12336 Change selected_frame to SELECTED_FRAME ().
12337 (w32_console_mouse_position): Remove #ifndef MULE from around
12338 `insist' parameter.
12339
12340 * makefile.nt: Remove dosfns.obj.
12341
12342 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12343
12344 * w32fns.c (w32_defined_color): Check for valid frame before
12345 applying gamma correction. Eliminate dependency on frame elsewhere.
12346 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12347 (w32_to_x_font): Use resx and resy not height_in and width_in.
12348 (x_to_w32_font): Doc fix.
12349 (xlfd_strip_height): New function to strip and return font height.
12350 (w32_font_match): Compare height separately from rest of xlfd
12351 spec, using xlfd_strip_height.
12352
12353 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12354 width_in. Use w32_defined_color in place of defined_color.
12355
12356 * w32faces.c: Merge more of DOS and X specifics in preparation for
12357 merge with xfaces.c.
12358 (defined_color): Remove FIXME comment.
12359 (tty_color_name): Provide w32-specific function.
12360 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12361
12362 * w32console.c (turn_on_face, turn_off_face): Removed.
12363 (w32_face_attributes): New function.
12364 (Global_variables): Reduce scope where possible.
12365 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12366 fill attribute.
12367 (hl_mode): Don't modify text attributes.
12368 (write_glyphs): Don't do anything if len <= 0. Use
12369 w32_face_attributes to get attributes for drawing. Write
12370 terminating codes using char_attr_normal.
12371 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12372 (update_begin, update_end): Likewise.
12373 (vga_stdcolor_name): New function.
12374 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12375 (Fset_screen_color): Remove char_attr_reverse.
12376
b08e8bb2
GM
123772000-01-29 Gerd Moellmann <gerd@gnu.org>
12378
12379 * xfns.c (xic_set_preeditarea): Take window parameter and
12380 window-relative pixel-positions.
12381
12382 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12383 is its frame's selected window.
12384 (xim_instantiate_callback): Likewise.
12385
12386 * xfns.c (x_create_im): Removed.
12387 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12388 (supported_xim_styles): Renamed from supported_styles.
12389 (best_xim_style): Renamed from best_style.
12390 (create_frame_xic): Renamed from xic_create_frame.
12391 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12392
b08e8bb2
GM
123932000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12394
12395 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12396 our frames, call XFilterEvent with 2nd parameter `None'.
12397 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12398 returning XBufferOverflow.
52283633 12399 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12400 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12401 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12402 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12403 (xim_initialize, xim_close)
12404 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12405 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12406 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12407 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12408
12409 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12410 and `xim_styles'.
12411 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12412 `xic_style' and `xic_xfs'.
12413 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12414 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12415 (FRAME_XIM): Removed.
12416
12417 * xfns.c (supported_styles): New variable.
12418 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12419 (xic_create_xfontset, best_style, xic_create_frame)
12420 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12421 (xic_set_xfontset): New functions.
12422
142e109c
DL
124232000-01-28 Dave Love <fx@gnu.org>
12424
12425 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12426
12427 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12428
b02786f9
GM
124292000-01-28 Gerd Moellmann <gerd@gnu.org>
12430
d060bc9f
GM
12431 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12432 for *scratch* if it already existed.
12433
b02786f9
GM
12434 * emacs.c (USAGE): New macro.
12435 (main): Use it to display usage information.
12436
2c52d7e4
EZ
124372000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12438
12439 Support for the menu-help feature:
12440
52283633 12441 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12442
12443 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12444 part of the line to the termscript file.
12445 (IT_clear_to_end): Clear the entire line, not just its beginning.
12446 (menu_help_message, prev_menu_help_message): New variables.
12447 (IT_menu_make_room): Make room for the help_text member.
12448 (IT_menu_display): New argument disp_help; all callers changed.
12449 If disp_help is non-zero, store the help text of the active menu
12450 item in menu_help_message.
12451 (XMenuAddPane): Initialize the help_text member to NULL.
12452 (XMenuAddSelection): New argument help_text. Store it in the
12453 XMenu structure.
12454 (XMenuActivate): New argument help_callback. If the value of
12455 menu_help_message has changed since the last time, display the
12456 menu help message text while waiting for the mouse to move. Clear
12457 the echo area before exiting.
12458 (XMenuDestroy): Free the help_text member.
12459
ffe0bcd1
GM
124602000-01-27 Gerd Moellmann <gerd@gnu.org>
12461
12462 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12463 XMenuAddSelection. Pass help callback to XMenuActivate.
12464 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12465
50dbd23f
EZ
124662000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12467
12468 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12469 and EMACS_SET_USECS.
12470
f5941bf8
GM
124712000-01-26 Dave Love <fx@gnu.org>
12472
6c67ddee
DL
12473 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12474
f5941bf8
GM
12475 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12476 an error may be signalled.
12477
9e49c990
GM
124782000-01-26 Gerd Moellmann <gerd@gnu.org>
12479
fc3cb460
GM
12480 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12481 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12482
9e49c990
GM
12483 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12484
d0c037d8
GM
124852000-01-25 Gerd Moellmann <gerd@gnu.org>
12486
12487 * charset.c (Fstring): If there is a multibyte char among
12488 the args, always return a multibyte string.
12489
e12489f9
GM
124902000-01-25 Gerd Moellmann <gerd@gnu.org>
12491
12492 * sysdep.c (sys_select): Turn atimers off and on instead of
12493 recording and restoring old alarm handler
12494
12495 * process.c (toplevel): Include atimer.h.
12496 (create_process_1): Rewritten.
12497 (create_process): Use atimers instead of alarm.
12498 (wait_reading_process_input) [hpux]: Turn atimers off instead
12499 of turning off SIGALRM.
12500 (wait_reading_process_input): Turn off atimers instead off
12501 calling stop_polling.
12502
12503 * emacs.c (main): Call init_atimer.
12504
12505 * keyboard.c (toplevel): Include systime.h and atimer.h.
12506 (polling_for_input): Removed because unused.
12507 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12508 (poll_timer): New variable.
12509 (poll_for_input, poll_for_input_1): New functions.
12510 (start_polling, stop_polling): Rewritten.
12511
12512 * keyboard.h (polling_for_input): Removed.
427ec082 12513
e12489f9
GM
12514 * atimer.h, atimer.c: New files.
12515
12516 * Makefile.in (obj): Add atimer.o.
12517 (atimer.o): New target.
12518
12519 * blockinput.h (pending_atimers): Add extern declaration.
12520 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12521
12522 * lisp.h (popup_activated_flag): Add extern declaration.
12523
12524 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12525 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12526 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12527
12528 * xterm.c (toplevel): Include atimer.h.
12529 (toolkit_scroll_bar_interaction): New variable.
12530 (Fxt_process_timeouts): Removed.
12531 (x_process_timeouts): New function.
12532 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12533 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12534 (x_make_frame_visible): Call poll_for_input_1 instead of
12535 input_poll_signal. Don't call alarm.
12536 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12537
1e5279b9
DL
125382000-01-24 Dave Love <fx@gnu.org>
12539
6c67ddee 12540 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12541 Don't use -cckr -- apparently not now necessary.
12542
edf6aeb8
EZ
125432000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12544
12545 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12546 screen boundary.
12547
9badad41
JR
125482000-01-23 Jason Rumney <jasonr@gnu.org>
12549
12550 * w32fns.c (w32_defined_color): Apply gamma correction before
12551 trying to map to the palette.
12552 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12553 to w32_clear_rect.
12554
12555 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12556 here. Callers changed to always pass real device context.
12557 (w32_draw_bitmap): Likewise.
12558 (w32_get_glyph_overhangs): Likewise.
52283633 12559 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12560 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12561 pfnSetScrollInfo and SetScrollRange.
12562 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12563 back into MULE characters after decoding them.
12564 (x_get_glyph_face_and_encoding): Likewise.
12565 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12566 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12567 (x_produce_glyphs): Calculate per char metrics for a character
12568 that we know exists in default font when font_not_found_p is true.
12569
63bd786b
JR
125702000-01-22 Jason Rumney <jasonr@gnu.org>
12571
12572 * makefile.nt (intervals.obj, composite.obj): New modules.
12573 (composite.h): Added as dependency where appropriate.
12574
12575 * w32gui.h (XGCValue): New struct for emulating X GCs.
12576
12577 * w32term.h (XCharStruct): New struct for emulating X.
12578
12579 * w32console.c (turn_on_face, turn_off_face): New functions.
12580 (change_line_highlight): New prototype for new redisplay.
12581 (write_glyphs): Support multibyte text. Support faces.
12582
52283633 12583 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12584
12585 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12586 throughout. struct frame * in place of FRAME_PTR.
12587 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12588 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12589 (w32_get_arg): Renamed from x_get_arg.
12590 (Fx_file_dialog): New function.
12591 (w32_list_fonts): Check cache before asking system.
12592 (Vw32_enable_synthesized_fonts): New variable.
12593 (Vw32_enable_italics): Obsolete, removed.
12594
12595 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12596 Use SELECTED_FRAME macro.
12597
12598 * w32menu.c: Add skeleton support for help strings on menus.
12599 (add_menu_item): Native checkbox and radio support added, but not
12600 yet enabled due to bugs.
12601 (push_menu_item): Add parameters type, selection and help.
12602 Callers updated.
12603 Formatting changes to reduce unnecessary diffs with xmenu.c.
12604
12605 * w32select.c (Fw32_set_clipboard_data): Update call to
12606 find_charset_in_str.
12607
12608 * w32term.c: Complete rewrite for new redisplay based on new
12609 xterm.c with necessary sections merged back in from old w32term.c.
12610
6ffd3cf7 126112000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12612
12613 * data.c (set_internal): Further fix in same criterion.
12614
6ffd3cf7 126152000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12616
12617 * data.c (set_internal): Fix the criteria for whether
12618 to swap out the old cached binding.
12619
60af03f1
DL
126202000-01-19 Dave Love <fx@gnu.org>
12621
12622 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12623
f9be074f
KH
126242000-01-18 Kenichi Handa <handa@etl.go.jp>
12625
12626 * regex.c (re_compile_fastmap): While checking a range table for
12627 `charset', skip flag bits for a character class correctly.
12628
52b8dbf9
GM
126292000-01-17 Gerd Moellmann <gerd@gnu.org>
12630
d36100c9
GM
12631 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12632
52283633 12633 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12634
12635 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12636 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12637
12638 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12639 MENU_ITEMS_ITEM_.*.
12640 (MENU_ITEMS_ITEM_HELP): New enumerator.
12641 (push_menu_item): Add parameter HELP. Record help in menu_items.
12642 (single_menu_item, single_submenu, list_of_items): Call
12643 push_menu_item with new parameter.
12644 (single_submenu): Set help string in widget value.
12645 (menu_highlight_callback): New function.
12646 (set_frame_menubar): Call lw_create_widget with new
12647 parameter list.
12648 (xmenu_show, xdialog_show): Ditto.
12649
3139018f
GM
126502000-01-13 Gerd Moellmann <gerd@gnu.org>
12651
12652 * sound.c (Fplay_sound): Improve doc string.
12653
83c8f461
RS
126542000-01-11 Richard M. Stallman <rms@gnu.org>
12655
12656 * lisp.h (set_internal): Enter the new arg.
12657
12658 * eval.c (specbind): Record buffer-local variables specially,
12659 indicating which buffer's binding was saved.
12660 (unbind_to): Restore buffer-local variables specially
12661 in the proper buffer.
12662
12663 * data.c (set_internal): New arg BUF.
427ec082 12664
83c8f461
RS
12665 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12666 * data.c (Fset): Pass new arg to set_internal.
12667 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12668
1fab1775
GM
126692000-01-11 Gerd Moellmann <gerd@gnu.org>
12670
52283633 12671 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12672
83c8f461 126732000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12674
12675 * minibuf.c (Ftry_completion): Doc fix.
12676
7a85e4df
GM
126772000-01-11 Gerd Moellmann <gerd@gnu.org>
12678
12679 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12680 vector, too.
12681
a970dae4
AS
126822000-01-11 Andreas Schwab <schwab@suse.de>
12683
12684 * coding.c (code_convert_region): Initialize total_skip.
12685
c65d14ee
DL
126862000-01-08 Dave Love <fx@gnu.org>
12687
12688 * eval.c (Fuser_variable_p): Check customizability too.
12689
834938d2
GM
126902000-01-07 Gerd Moellmann <gerd@gnu.org>
12691
12692 * minibuf.c (Fcompleting_read): Doc fix.
12693
e0303cd6
GM
126942000-01-05 Gerd Moellmann <gerd@gnu.org>
12695
8a26744b
GM
12696 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12697 -L /usr/local/lib.
12698
e0303cd6
GM
12699 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12700 Check that input style is supported before trying to create an
12701 IC for it.
12702 (x_window): Call x_create_im.
427ec082 12703
2e471eb5
GM
127042000-01-04 Gerd Moellmann <gerd@gnu.org>
12705
560a7bd2
GM
12706 * xfns.c (current_gif_memory_src): New variable.
12707 (gif_load): Record the address of the current memory source
12708 in current_gif_memory_src.
12709 (gif_read_from_memory): Use current_gif_memory_src.
12710
f9ee84a3
GM
12711 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12712 macros statement form.
12713
d1299cde
GM
12714 * sound.c (struct sound): Renamed from struct sound_file.
12715 (struct sound): Add members `data' and `header_size'.
12716 (enum sound_attr): Add SOUND_DATA.
12717 (current_sound, current_sound_device): Variables renamed from
12718 sound_file and sound_device.
12719 (parse_sound): Parse :data.
12720 (parse_sound): Handle sound data in strings.
12721 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12722 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12723 needed header size.
12724 (wav_play, au_play): Play sounds from string data.
12725
2e471eb5
GM
12726 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12727
12728 * lisp.h: Add prototype for allocate_string_data.
12729
52283633 12730 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12731
12732 * alloc.c (mark_buffer): Remove code in #if 0.
12733 (gc_sweep): Ditto.
12734 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12735 (strings_consed): New variable.
12736 (allocate_string): Set it.
12737 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12738 (Fmemory_use_counts): Return strings_consed. Use Flist.
12739
12740 * alloc.c: General cleanup in comments etc. Remove conditional
12741 compilation for `standalone'.
12742
12743 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12744
12745 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12746 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12747 (DONT_COPY_FLAG): Removed.
12748 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12749 (struct sdata, struct sblock): New
12750 (struct string_block): Rewritten.
12751 (STRINGS_IN_STRING_BLOCK): New macro.
12752 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12753 (large_sblocks, string_blocks, string_free_list): New variables.
12754 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12755 (init_strings): Rewritten.
12756 (allocate_string, allocate_string_data, compact_small_strings)
12757 (free_large_strings, sweep_strings): New functions.
12758 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12759 (struct string_block_head, current_string_block)
12760 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12761 (STRING_PAD): Removed.
12762 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12763 (Fgarbage_collect): Don't set mark bit in large strings.
12764 (mark_object): Mark strings differently. Mark symbol names
12765 differently.
12766 (survives_gc_p): Test marked strings differently.
427ec082 12767 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12768 symbol names.
12769 (compact_strings): Removed.
12770
42608ba8
EZ
127712000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12772
12773 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12774 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12775
e0a09e1a
KH
127762000-01-04 Kenichi Handa <handa@etl.go.jp>
12777
dd9f0750 12778 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12779 in a non-empty buffer.
dd9f0750 12780
3c0f3b15 12781 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12782
44cd3ae5
GM
127832000-01-03 Gerd Moellmann <gerd@gnu.org>
12784
12785 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12786 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12787
12788 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12789
c182a70f
EZ
127902000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12791
12792 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12793 need to test for MSDOS frames.
12794
24480d5b
EZ
127952000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12796
12797 * dosfns.c (unspecified_colors): Remove.
12798 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12799 unspecified_bg.
12800 (msdos_stdcolor_name): Return strings for unspecified fore- and
12801 back-ground colors.
12802
12803 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12804 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12805 (tty_color_name): Return Lisp strings for unspecified fore- and
12806 back-ground colors.
12807 (Finternal_set_lisp_face_attribute): Remove the special treatment
12808 for Qunspecified_{f,b}g.
52283633 12809 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12810
047f434a
GM
128112000-01-03 Gerd Moellmann <gerd@gnu.org>
12812
12813 * xdisp.c (reseat_at_next_visible_line_start): Position before
12814 newline only if ending up on a newline.
12815 (next_element_from_ellipsis): Return success. Handle case of
52283633 12816 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12817 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12818 returns 0.
12819
d684c676
EZ
128202000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12821
12822 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12823 (Fcolor_supported_p): Renamed from face-color-supported-p.
12824
5fe1d139
EZ
128252000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12826
12827 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12828 list of colors renamed to tty-defined-color-alist.
12829 (tty_color_name): Pass the frame to tty-color-by-index.
12830 (realize_tty_face): tty-color-alist is now a function which
12831 accepts the frame as argument.
12832
52283633 12833 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12834
816be8b8
EZ
128352000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12836
12837 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12838 encode_terminal_code.
12839
b635321e
EZ
128402000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12841
12842 * dispnew.c (mode_line_string): Support termcap frames as well.
12843
9b784e96
GM
128442000-01-01 Gerd Moellmann <gerd@gnu.org>
12845
27189709
GM
12846 * syntax.c (Fforward_word): Undo previous change.
12847
12848 * editfns.c (Fconstrain_to_field): Don't constrain if
12849 inhibit-field-text-motion is non-nil.
12850 (Fline_beginning_position): Undo previous change.
12851 (Fline_end_position): Ditto.
12852
12853 * syntax.c (Fforward_word): Notice field boundaries only if
12854 inhibit-field-text-motion is nil.
12855
12856 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12857
12858 * editfns.c (Vinhibit_field_text_motion): New variable.
12859 (inhibit-field-text-motion): New DEFVAR_LISP.
12860 (Fline_beginning_position, Fline_end_position): Notice field
12861 boundaries only if inhibit-field-text-motion is nil.
12862
45158a91
GM
12863 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12864 All calls adjusted.
12865 (x_build_heuristic_mask): Likewise.
12866 (xbm_load_image_from_file): Change error output.
12867 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12868 (gif_load, gs_load, x_kill_gs_process): Ditto.
12869
9b784e96
GM
12870 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12871 color indices when accessing raster pixels.
63cec32f
GM
12872 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12873 one of :file or :data.
12874 (enum pbm_keyword_index): Add PBM_DATA.
12875 (pbm_format): Add :data.
12876 (pbm_image_p): Allow either :file or :data.
12877 (pbm_read_file): New function.
12878 (pbm_scan_number): Rewritten to read from string.
12879 (pbm_load): Support :data.
9b784e96 12880
2cb085db 12881See ChangeLog.8 for earlier changes.
6922b018
KH
12882
12883;; Local Variables:
49b3bd82 12884;; coding: iso-2022-7bit
6922b018 12885;; End:
2a34a036
GM
12886
12887 Copyright (C) 2001 Free Software Foundation, Inc.
12888 Copying and distribution of this file, with or without modification,
12889 are permitted provided the copyright notice and this notice are preserved.