(define-button-type): Respect any `supertype' property.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
76ba8daf
AI
12001-10-08 Andrew Innes <andrewi@gnu.org>
2
3 * lisp.h [max]: Undef min and max before redefining them.
4
5 * w32gui.h: Do not undef min and max.
6
7 * w32heap.h: Do not undef min and max.
8
9 * s/ms-w32.h: Do not undef min and max.
10
166253cb
SM
112001-10-08 Stefan Monnier <monnier@cs.yale.edu>
12
13 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
14
0c4d9527
SS
152001-10-08 Sam Steingold <sds@gnu.org>
16
17 * keymap.c (current-active-maps): Quote newlines (compilation error).
18
14bfa771
EZ
192001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
20
21 * Makefile.in (lisp, shortlisp): Replace bindings.el with
22 bindings.elc, since otherwise doc strings in bindings.el get wrong
23 offsets in etc/DOC.
24
bdb7aa47
SM
252001-10-08 Stefan Monnier <monnier@cs.yale.edu>
26
9985827f
SM
27 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
28
29 * keyboard.h (map_prompt): Remove.
30
31 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 32 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 33
bdb7aa47
SM
34 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
35
36 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
37
38 * keyboard.c (map_prompt): Remove.
39 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
40 Use Fkeymap_prompt.
41
42 * keymap.h: New file. Extracted from lisp.h.
43
9985827f
SM
44 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
45 (accessible_keymaps_1): New function.
46 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
47 (Fwhere_is_internal): Use Fcurrent_active_maps.
48 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
49 Insert in current buffer rather than standard-output.
50 Don't call `help-mode'. Export to elisp.
51 (describe_buffer_bindings): New wrapper.
52 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
53 and Sdescribe_buffer_bindings.
54
402c9a51
GM
552001-10-08 Gerd Moellmann <gerd@gnu.org>
56
9985827f 57 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
58 Remove code setting signal handler.
59
9985827f 60 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
61 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
62
3fe81fdf
PJ
632001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
64
65 * keyboard.c: Don't define min/max.
66
55fa7820
GM
672001-10-08 Gerd Moellmann <gerd@gnu.org>
68
9985827f 69 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 70 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 71 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 72 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 73 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
74 Don't define min/max.
75
76 * lisp.h (min, max): New macros.
77
55fa7820
GM
78 * puresize.h (BASE_PURESIZE): Increase to 725000.
79
1aad31e4
PJ
802001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
81
9180dc8c
PJ
82 * xfaces.c (free_frame_menubar): Add prototype.
83
01f67d2c
PJ
84 * lisp.h (init_window): Add prototype.
85
86 * editfns.c: Include ctype.h.
87
88 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 89 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
90 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
91 variable `sb'.
92
5f351ff1
PJ
93 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
94 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
95 `popup_activated_flag' and `title'.
96
479dfe87
PJ
97 * doc.c (Fdocumentation_property): Fix typo in a doc string.
98
dff49fc8
PJ
99 * emacs.c (main): Remove extra `;'.
100
248ac615
PJ
101 * atimer.h (struct atimer): Fix typos in a comment.
102
103 * atimer.c: Fix typo.
104
af232c7d
PJ
105 * Makefile.in: Fix typo.
106
107 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 108
d876f455
MB
1092001-10-07 Miles Bader <miles@gnu.org>
110
111 * Makefile.in (lisp, shortlisp): Add `button.elc'.
112
0037e2f2
KR
1132001-10-07 Ken Raeburn <raeburn@gnu.org>
114
b056f36d
KR
115 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
116 Lisp_Object.
117
0037e2f2
KR
118 * lisp.h (Ffield_end): Declare.
119
1a4372ef
GM
1202001-10-07 Gerd Moellmann <gerd@gnu.org>
121
a4a74e8c
GM
122 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
123
124 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
125
126 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
127
128 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
129
1a4372ef
GM
130 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
131 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
132
133 * alloc.c (inhibit_garbage_collection): Simplify.
134 (Fmemory_use_counts): Ditto.
135
9985827f 136 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
137 (syms_of_data): DEFVAR_INT most-positive-fixnum and
138 most-negative-fixnum.
139
9985827f 140 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
141 (FIXNUM_OVERFLOW_P): New macros.
142
4650e362
MB
1432001-10-06 Miles Bader <miles@gnu.org>
144
145 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
146 scroll_bar_bottom_shadow_pixel fields.
147 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
148 for the shadows, and tell the toolkit about them if we succeed.
149 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
150 Free scroll-bar shadow colors.
151 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
152 Free scroll-bar shadow colors when the background color changes.
153 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
154 Initialize scroll-bar shadow-color fields.
155
ace64e0a
GM
1562001-10-05 Gerd Moellmann <gerd@gnu.org>
157
158 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
159
ec66bdc7
MB
1602001-10-05 Miles Bader <miles@gnu.org>
161
9985827f
SM
162 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
163 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 164 New functions (were in simple.el).
9985827f 165 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
166 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
167 (syms_of_minibuf): Initialize them.
168
a0fb4492
GM
1692001-10-05 Gerd Moellmann <gerd@gnu.org>
170
171 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
172 (tiff_load): Install them as error and warning handler.
173
0bcf87c1
AI
1742001-10-04 Andrew Innes <andrewi@gnu.org>
175
176 * w32fns.c (x_to_w32_color): Fix argument to alloca.
177 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 178 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
179 (x_to_w32_charset): Handle private format for unknown charsets.
180 Handle wildcards in charset spec, by ignoring them.
181 (w32_codepage_for_font): Fix argument to alloca. Don't remove
182 "*-" prefix from charset.
183 (x_to_w32_font): Enlarge remainder array for safety. Specifically
184 handle the truncated font spec form constructed by font_list_1, so
185 that we correctly identify the charset fields. Don't remove "*-"
186 prefix from charset.
187 (w32_list_synthesized_fonts): Fix argument to alloca.
188
c89e4bc5
GM
1892001-10-04 Stefan Monnier <monnier@cs.yale.edu>
190
191 * window.h (MINI_WINDOW_P): Use NILP.
192
193 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
194
195 * termhooks.h (struct input_event): Use proper type for `kind'.
196
1972001-10-04 Gerd Moellmann <gerd@gnu.org>
198
199 This handles unknown keysyms better than before. For example,
200 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
201 Emacs formerly completely ignored F5. With the change, it derives
202 a key symbol from the name of the X keysym, `ccaron' in this case.
203 Reported by Martin Buchholz.
204
205 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
206 unknown keysyms.
207
208 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
209 that EVENT->code isn't a function key, use the keysym's name.
210
2112001-10-04 Gerd Moellmann <gerd@gnu.org>
212
213 FOREACH is a macro that should make it easier to loop over Lisp
214 lists with checks for cycles and proper lists.
215
216 * lisp.h (LIST_END_P, FOREACH): New macros.
217
2182001-10-04 Gerd Moellmann <gerd@gnu.org>
219
220 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
221 called for a lost connection. Prevent dumping core in this case.
222 Instead print the X error, and exit. On user request.
223
224 * xterm.c (error_msg): New variable.
225 (x_fatal_error_signal): New function.
226 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
227 as fatal_error_signal_hook around the call to XtCloseDisplay.
228
229 * emacs.c (fatal_error_signal_hook): New variable.
230 (fatal_error_signal): Call that function.
231
2322001-10-04 Gerd Moellmann <gerd@gnu.org>
233
234 With this, Emacs prints how much pure storage it will
235 approximately need in case pure storage overflows while dumping.
236
237 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
238 New variables.
239 (init_alloc_once): Initialize new variables.
240 (PURE_POINTER_P): Use new variables.
241 (pure_alloc): If pure storage overflows, allocate from the heap.
242 (check_pure_size): New function.
243 (Fgarbage_collect): Don't GC if pure storage has overflowed.
244
245 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
246 (check_pure_size): Add prototype.
247
248 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
249
2502001-10-04 Gerd Moellmann <gerd@gnu.org>
251
252 This adds a post-gc-hook that's run with GC inhibited.
253 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
254
255 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
256 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
257 (Fgarbage_collect): Run post-gc-hook.
258
2592001-10-04 Gerd Moellmann <gerd@gnu.org>
260
261 This adds `defvaralias' and `indirect-variable'. Changes not
262 directly related to this feature are there to gain the same
263 performance again as before variable aliases.
264
265 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
266 code to get and set symbol values, to take defvaralias into account.
267
268 (Note: the new `constant' bit-flag in symbols would make it
269 possible to define arbitrary read-only variables, e.g. with
270 `defconst'.)
271
272 Documentation is in lispref/variables.texi. Added to NEWS.
273
274 * lisp.h (enum symbol_interned): New enumeration.
275 (struct Lisp_Symbol): Remove member `obarray', add
276 `indirect_variable', `constant', and `interned'.
277 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
278 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
279 (indirect_variable): Add prototype.
280
281 * print.c (print_preprocess, print_object): Test internedness of
282 symbols differently.
283
284 * lread.c (Fintern, Funintern): Set symbol's interned and constant
285 bit-fields.
286 (init_obarray): Likewise for t and nil.
287
288 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
289 (Fdefvaralias): New function.
290 (specbind): Simplify the test if symbol is a constant.
291 (syms_of_eval): Defsubr Fdefvaralias.
292
293 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
294 (Qcyclic_variable_indirection): New variable.
295 (Fkeywordp): Check for internedness differently.
296 (Fmakunbound): Simplify the test if symbol is a constant.
297 (indirect_variable, Findirect_variable): New functions.
298 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
299 aliased symbol.
300 (let_shadows_buffer_binding_p): Check for variable aliases.
301 (set_internal): Simplify the test if SYMBOL is a constant.
302 If SYMBOL has a buffer-local value and is an alias, use the aliased
303 symbol instead.
304 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
305 Sindirect_variable.
306
307 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
308 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
309 set directly.
310
311 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
312
313 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
314 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
315 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
316
ba88ff28
MB
3172001-10-03 Miles Bader <miles@gnu.org>
318
319 * callproc.c (syms_of_callproc): Explicitly state in the
320 documentation for `process-environment' that earlier entries take
321 precedence over later ones.
322
ae1a9581
MB
3232001-10-02 Miles Bader <miles@gnu.org>
324
325 * textprop.c (Fnext_char_property_change)
326 (Fprevious_char_property_change): Remove reference to non-existant
327 argument OBJECT from doc-string.
328
257e3f57
GM
3292001-10-01 Gerd Moellmann <gerd@gnu.org>
330
331 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
332 (try_window_id): Skip back over lines ending in a newline from a
333 string.
334
335 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
336 New bit flag
337
c1f29759
RS
3382001-10-01 Richard M. Stallman <rms@gnu.org>
339
340 * search.c (Freplace_match): Doc fix.
341
c30dce3d
AI
3422001-09-28 Andrew Innes <andrewi@gnu.org>
343
344 * w32menu.c (set_frame_menubar): Take into account that
345 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
346 <raeburn@gnu.org>.
347
03be5931
EZ
3482001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
349
350 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
351
75bec752
PJ
3522001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
353
354 * s/gnu-linux.h: Fix a typo in comment.
355
83100e0a
AS
3562001-09-28 Andreas Schwab <schwab@suse.de>
357
358 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
359 nocombreloc, in case -z combreloc is the default.
360
a74b48cf
GM
3612001-09-28 Gerd Moellmann <gerd@gnu.org>
362
363 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
364 really going on here.
365
09c4719e
SM
3662001-09-27 Stefan Monnier <monnier@cs.yale.edu>
367
368 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
369
f7d5d963
EZ
3702001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
371
372 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
373 utf-8, menu-bar, and latin-N.
374 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
375 unconditionally now.
376 (lisp): Add latin-N, since they are preloaded.
377
9240e746
GM
3782001-09-27 Gerd Moellmann <gerd@gnu.org>
379
14531065
GM
380 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
381 to the left. Some cleanup.
382
9240e746
GM
383 * xdisp.c (display_mode_element): One more case where a string's
384 multibyteness should be used for display.
385
edd1e654
GM
3862001-09-26 Gerd Moellmann <gerd@gnu.org>
387
b02439c8
GM
388 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
389 reading at EOF.
390
032906b1 391 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 392 of the only temporarily set echoing flag for deciding when
032906b1
GM
393 the cancel echoing.
394
395 * keyboard.c (echo_kboard): Make externally visible.
396
397 * lisp.h (echo_kboard): Declare extern.
398
cb617e7c 399 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 400 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
401 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
402 this round of redisplay if make_cursor_line_fully_visible fails.
403 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 404 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
405
406 * dispextern.h (required_matrix_width, required_matrix_height):
407 Add prototypes.
408
09c4719e
SM
409 * dispnew.c (required_matrix_width, required_matrix_height):
410 New functions.
cb617e7c 411 (allocate_matrices_for_window_redisplay)
09c4719e
SM
412 (allocate_matrices_for_frame_redisplay: Use them.
413 Remove parameters CH_DIM.
cb617e7c 414
edd1e654
GM
415 * xdisp.c (display_mode_lines): Temporarily set selected_frame
416 and selected_window to the frame of the window whose mode-lines
417 are displayed, and to the window itself.
418 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 419 here.
edd1e654 420
924b604c
GM
4212001-09-25 Gerd Moellmann <gerd@gnu.org>
422
daba7643
GM
423 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
424 the image cache under us.
425
b7a22712 426 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 427 with a string value, use that string's multibyteness for displaying.
b7a22712 428
ad648212
GM
429 * keyboard.c (read_char): Don't clear a message for a switch-frame
430 event. From Stefan Monnier <monnier@cs.yale.edu>.
431
9f8531e5
GM
432 * xterm.c (fast_find_position) [0]: Add a presumably more correct
433 version for after 21.1.
434
435 * xdisp.c (row_containing_pos): Make externally visible.
436
437 * dispextern.h (row_containing_pos): Add prototype.
438
924b604c
GM
439 * process.c (send_process): Disable composition if from_byte < 0.
440 From Kenichi Handa <handa@etl.go.jp>.
441
6f3f0db4
GM
4422001-09-24 Gerd Moellmann <gerd@gnu.org>
443
c69c0ebc
GM
444 * xterm.c (refreshicon): Function removed.
445
d1182bc4
GM
446 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
447
448 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
449
450 * xterm.c (toplevel): Remove includes in #if 0.
451
6f3f0db4
GM
452 * process.c (sigchld_handler) [LINUX]: Don't return from
453 the signal handler at the end of the loop.
454
59957f85
GM
4552001-09-21 Gerd Moellmann <gerd@gnu.org>
456
09c4719e
SM
457 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
458 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 459
a0528984
EZ
4602001-09-21 Markus Rost <rost@math.ohio-state.edu>
461
462 * Makefile.in (shortlisp): Add ../lisp/env.elc.
463
db92b288
GM
4642001-09-20 Gerd Moellmann <gerd@gnu.org>
465
3fed8ad5
GM
466 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
467 since this function can be called during GC.
468
db92b288
GM
469 * callproc.c (Fcall_process): Handle errors from pipe(2).
470 (child_setup): Delete code in #ifdef vipc.
471
7121b85a
GM
4722001-09-19 Gerd Moellmann <gerd@gnu.org>
473
72f62cb5
GM
474 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
475 (display_mode_element): Display the string from decode_mode_spec
476 depending on its multibyteness.
477
a2697022
GM
478 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
479
7121b85a
GM
480 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
481
bfc97351
GM
4822001-09-18 Gerd Moellmann <gerd@gnu.org>
483
c9063433
GM
484 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
485 recursive_edit_unwind.
486 (recursive_edit_unwind): Set kboard state according to
487 SINGLE-KBOARD.
488
3fbdba3e
GM
489 * buffer.c (modify_overlay): Don't do nothing if START == END;
490 This can still be a modification, for example when an overlay has
491 a before-string or after-string.
492 (Fdelete_overlay): Prevent redisplay optimizations when deleting
493 an overlay with before-string or after-string.
494
1270031d
GM
495 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
496 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
497
bfc97351
GM
498 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
499 first_unchanged_at_end_row is in front of
500 last_unchanged_at_beg_row. This code should be removed after the
501 release of 21.1.
502
d8a973aa
GM
5032001-09-17 Gerd Moellmann <gerd@gnu.org>
504
e18c8b8d
GM
505 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
506 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
507
d8a973aa
GM
508 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
509 versions >= 2.95.
510
ed7d6ba4
EZ
5112001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
512
513 * dired.c (Ffile_attributes): Doc fix.
514
551629f9
GM
5152001-09-14 Gerd Moellmann <gerd@gnu.org>
516
517 * fileio.c (Ffile_symlink_p): Fix last change.
518
519 * filelock.c (current_lock_owner): Fix last change.
520
4c8c7926
GM
5212001-09-13 Gerd Moellmann <gerd@gnu.org>
522
620c4704
GM
523 * filelock.c (current_lock_owner): If readlink returns ERANGE,
524 take that to mean that the buffer is too small.
525
81c3310d
GM
526 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
527 that to mean that the buffer is too small.
528
06fd3792
GM
529 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
530 current buffer's multibyteness when discarding the iterator's
531 stack.
532
4c8c7926
GM
533 * xfns.c (Fx_window_property): Handle case that property gets
534 deleted between the two calls to XGetWindowProperty.
535
9a72e4c1
GM
5362001-09-11 Gerd Moellmann <gerd@gnu.org>
537
bd819d14
GM
538 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
539
a41edd99
GM
540 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
541 in addition to read-only.
542
543 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
544 to t in addition to read-only.
545
546 * lisp.h (Qinhibit_modification_hooks): Declare.
547
548 * insdel.c (Qinhibit_modification_hooks): New variable.
549 (syms_of_insdel): Initialize and staticpro it.
550
d4881c6a
GM
551 * textprop.c (verify_interval_modification): Don't run
552 modification-hooks if inhibit_modification_hooks.
553
554 * dispnew.c (set_window_cursor_after_update): Fix code
555 finding glyph row containing cursor when cursor_in_echo_area
556 is >= 0.
557
9a72e4c1
GM
558 * xdisp.c (init_from_display_pos): Put some code in #if 0.
559 (add_to_log): Use bcopy instead of strcpy.
560 (init_from_display_pos): Use an explicit loop over bytes in
561 overlay strings instead of calling index.
562
f4a374a1
GM
5632001-09-10 Gerd Moellmann <gerd@gnu.org>
564
300e57bd
GM
565 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
566
567 * dispnew.c (direct_output_for_insert): Don't change IT's
568 stop_charpos to something in front of its current position.
569
f4a374a1
GM
570 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
571 `format'.
572
7e4cbc91
RS
5732001-09-10 Richard M. Stallman <rms@gnu.org>
574
575 * frame.c (Fmouse_position): Doc fix.
576
6afad91e
GM
5772001-09-07 Gerd Moellmann <gerd@gnu.org>
578
579 * xdisp.c (init_from_display_pos): Don't compare the result
580 of calling index with NULL.
581
f76e0368
GM
5822001-09-06 Gerd Moellmann <gerd@gnu.org>
583
584 * xfns.c (x_set_background_color): Don't change the colors
585 of the X window of scroll bar widgets.
586
9ead1b60
AI
5872001-09-05 Andrew Innes <andrewi@gnu.org>
588
589 * w32fns.c (w32_createwindow): Undo last change.
590
c3b497b3
GM
5912001-09-05 Gerd Moellmann <gerd@gnu.org>
592
08e1d6df
GM
593 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
594
c3b497b3
GM
595 * xdisp.c (string_buffer_position): Use *single_char_property*
596 functions instead of the *single_property* functions.
597
8f860180
AI
5982001-09-04 Andrew Innes <andrewi@gnu.org>
599
9a72e4c1
GM
600 * w32term.c (w32_read_socket): Add more information to debugging
601 output.
8f860180
AI
602
603 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
604 from Emacs frames, so that calls to GetClipBox in w32term.c
605 correctly report when part of a frame is visible (including
606 scrollbars, etc). This prevents repeated redrawing of frames when
607 only a scrollbar is visible.
608 (w32_wnd_proc): Add more frame information to debugging output.
609
2ee1aa00
SM
6102001-09-03 Stefan Monnier <monnier@cs.yale.edu>
611
612 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
613
e3b22517
GM
6142001-09-03 Gerd Moellmann <gerd@gnu.org>
615
7e376260
GM
616 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
617 help-echo for a string which doesn't have help-echo itself, use
618 get-char-property to obtain the help-echo from the string's buffer
619 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
620 have mouse-face, look ``under'' the string for mouse-face from an
621 overlay.
622 (fast_find_position): Add parameter STOP. In the final row, stop
623 before glyphs having STOP as object. Don't consider glyphs that
624 are not from a buffer.
625
e3b22517
GM
626 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
627
9a249bba
EZ
6282001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
629
630 * fns.c (Fmd5): Doc fix.
631
c9979669
GM
6322001-08-31 Gerd Moellmann <gerd@gnu.org>
633
634 * composite.c (update_compositions): Do nothing if
635 inhibit-modification-hooks is set.
636
9584e63a
GM
6372001-08-30 Gerd Moellmann <gerd@gnu.org>
638
986ec8f2 639 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 640 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
641 glyph matrices etc. in a core dump.
642
92a25631
GM
643 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
644 (syms_of_xdisp): Initialize them.
645 (handle_single_display_prop): Don't change point, bind `object',
646 `position', and `buffer-position' instead to the object having the
2ee1aa00 647 `display' property, position in the object and position in the buffer.
92a25631 648
9584e63a
GM
649 * fileio.c (Finsert_file_contents): Don't change the multibyteness
650 of the buffer if REPLACE is non-nil.
651
d38633a3
GM
6522001-08-29 Gerd Moellmann <gerd@gnu.org>
653
654 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
655
f4fccc1e
EZ
6562001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
657
658 * w32term.c (x_set_glyph_string_background_width)
659 (show_mouse_face): Track the last changes in xterm.c.
660
eaaa65b0
GM
6612001-08-28 Gerd Moellmann <gerd@gnu.org>
662
7b0870b2
GM
663 * xterm.c (x_set_glyph_string_background_width): Set the glyph
664 string's background width so that multi-line mouse-face is drawn
665 to the right edge of the window.
666 (show_mouse_face): Set the row's mouse_face_p flag after drawing
667 glyphs.
668
6b6e2422 669 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 670 before inserting/writing glyphs.
6b6e2422 671
eaaa65b0
GM
672 * xdisp.c (display_mode_element): Use string_byte_to_char to
673 determine character positions in strings, use chars_in_text
674 instead of strwidth.
675 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
676 a matrix as parameter; this is easier to use from GDB.
677
9ad62cf8
MB
6782001-08-28 Miles Bader <miles@gnu.org>
679
2ee1aa00
SM
680 * textprop.c (Fprevious_single_char_property_change)
681 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 682
32171635
GM
6832001-08-27 Gerd Moellmann <gerd@gnu.org>
684
47d57b22
GM
685 * fileio.c (Finsert_file_contents): Allocate, restore, and
686 free composition data in the case of REPLACE not being nil.
687
688 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
689 there exist overlay strings with newlines at POS.
690 (text_outside_line_unchanged_p): Return 0 if changes start at
691 START and overlays exist at START. Likewise for END.
692 (try_window_id): Give up if init_to_row_end returns 0.
693
32171635
GM
694 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
695 unconditionally.
696
e1249666
GM
6972001-08-24 Gerd Moellmann <gerd@gnu.org>
698
33954c45
GM
699 * keymap.c (access_keymap): Return the cdr of the binding of
700 a generic character instead of its definition (KEY . BINDING).
701
e1249666
GM
702 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
703 to 0 also in the REPLACE case.
704
fb4c6c96
AC
7052001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
706
707 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
708 open to determine whether file is readable (as for DOS_NT).
709
59ecf80b
GM
7102001-08-23 Gerd Moellmann <gerd@gnu.org>
711
712 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
713 coding.type is coding_type_no_conversion or coding_type_raw_text,
714 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
715 non-nil instead of just setting enable_multibyte_characters in the
716 buffer to nil.
717
40e33037
GM
7182001-08-22 Gerd Moellmann <gerd@gnu.org>
719
374388c3
GM
720 * dispextern.h (struct face_cache): Add member
721 menu_face_changed_p.
722
723 * xfaces.c (menu_face_changed_default): New variable.
724 (menu_face_changed_count): Variable removed.
725 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
726 the menu_face_changed_default flag, otherwise set the FRAME's
727 menu_face_changed_p flag if the `menu' face has been changed.
728 Prevent calling set_font_frame_param if FRAME is t.
729 (make_face_cache): Initialize cache's menu_face_changed_p
730 from menu_face_changed_default.
731 (realize_basic_faces): Look into the frame's face cache to
732 determine if the menu appearance needs updating.
733
40e33037
GM
734 * keymap.c (access_keymap): Fix last change to not consider
735 IDX when it has modifiers.
736
859ea4b8
GM
7372001-08-21 Gerd Moellmann <gerd@gnu.org>
738
739 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
740 . BINDING) exists, where GENERIC-CHAR is the generic character of
741 the charset of IDX, return BINDING unless there exists a binding
742 for IDX itself.
743
e8660d73
GM
7442001-08-16 Gerd Moellmann <gerd@gnu.org>
745
cca1b1d7
GM
746 * xrdb.c (SYSV): Don't define on Solaris 2.
747 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
748
e8660d73 749 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 750 of the screen line, not text line, containing IT's current position.
e8660d73 751
93aba6fc
GM
7522001-08-15 Gerd Moellmann <gerd@gnu.org>
753
288d4e06
GM
754 * window.c (window_scroll_pixel_based): Don't recenter if
755 PT is partially visible in the window.
756
3452efc2
SM
757 * xterm.c (expose_window_tree, expose_window, expose_line):
758 Return 1 when overwriting mouse-face.
82f053ab
GM
759 (expose_frame): If mouse-face was overwritten, redo it.
760
93aba6fc
GM
761 * xfaces.c (x_update_menu_appearance): Don't call
762 set_frame_menubar, let the next redisplay do it.
763
858a55c1
AI
7642001-08-14 Andrew Innes <andrewi@gnu.org>
765
766 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
767 drawing glyph string.
768
3a990b67
EZ
7692001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
770
771 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
772 running HI-UX/MPP.
773
04386463
GM
7742001-08-14 Gerd Moellmann <gerd@gnu.org>
775
776 * xfaces.c (x_update_menu_appearance): Save and restore value of
777 interrupt_input_blocked.
778
3e6385a4
GM
7792001-08-13 Gerd Moellmann <gerd@gnu.org>
780
b0e619b4
GM
781 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
782 a line start, move back to the line start.
3452efc2 783
0de73d5a
GM
784 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
785 exactly when a mini-buffer is active.
786
3e6385a4
GM
787 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
788 in units of 1/8 character on non window-system frames.
789 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
790
d1b5f629
EZ
7912001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
792
793 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
794 a doc string.
795
eaa2319f
GM
7962001-08-09 Gerd Moellmann <gerd@gnu.org>
797
8e3189f0
GM
798 * keyboard.c (Vpre_help_message): New variable.
799 (syms_of_keyboard): Initialize and staticpro it.
800 (show_help_echo): Record current message before displaying a
801 help-echo, and restore that message when clearing the help.
802
eaa2319f
GM
803 * xfns.c (x_create_im): Remove prototype.
804
805 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
806
807 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 808
eaa2319f
GM
8092001-08-08 Gerd Moellmann <gerd@gnu.org>
810
811 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 812 windows whose height has changed, disable partially visible lines.
eaa2319f 813
17fdcfc8
GM
8142001-08-07 Gerd Moellmann <gerd@gnu.org>
815
22d01aed 816 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 817 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 818
17fdcfc8
GM
819 * xdisp.c (start_display): Don't try to determine the continuation
820 lines width if lines are truncated. It's superfluous and leads to
821 incorrect results if POS is not visible in the window after
822 reseating the iterator at the previous line start.
823
8e3fe78e
GM
8242001-08-06 Gerd Moellmann <gerd@gnu.org>
825
826 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
827
98a8938c
GM
8282001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
829
830 * alloc.c (init_stack): Remove declaration.
831
18f9986a
GM
8322001-08-03 Gerd Moellmann <gerd@gnu.org>
833
5e1f85e0
GM
834 * keyboard.c (read_key_sequence): Check that key is an integer
835 before comparing it with quit_char.
836 (add_command_key): Use larger_vector.
837 (read_char_x_menu_prompt): Instead of converting symbol and
838 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 839 which cannot be confused with valid events.
5e1f85e0
GM
840 (read_char): When reading from Vunread_command_events, check for
841 events of the form (EVENT . disabled) instead of
842 (EVENT . nil).
843
18f9986a
GM
844 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
845 a float, determine the max height from the frame's height.
846
fbc7f2a6
GM
8472001-08-02 Gerd Moellmann <gerd@gnu.org>
848
849 * xdisp.c (redisplay_internal): Take message_cleared_p into
850 account only if minibuf_level == 0.
851
81b1a79d
GM
8522001-08-01 Gerd Moellmann <gerd@gnu.org>
853
e5c60873
GM
854 * xdisp.c (redisplay_internal): Add a check for the last
855 displayed message.
3452efc2 856
6e019995
GM
857 * xdisp.c (message_cleared_p): New variable.
858 (clear_message): Set message_cleared_p when clearing the current
859 message.
860 (redisplay_internal): Look at message_cleared_p to capture
861 the case that the echo area should be cleared.
862
308a74d8
GM
863 * keyboard.c (command_loop_1): Fix spelling of
864 resize_echo_area_exactly.
865
3452efc2 866 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
867
868 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
869
81b1a79d
GM
870 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
871 current matrix when the window gets smaller.
872
ada329e6
EZ
8732001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
874
875 * print.c (strout): Cast the character passed to insert_char to
876 unsigned char, to avoid sign extension when it is promoted to int.
877
ed86208c
GM
8782001-07-31 Gerd Moellmann <gerd@gnu.org>
879
880 * fileio.c (Finsert_file_contents): Don't treat a return value
881 of 0 from emacs_read as an IO error.
882
6594ac22
GM
8832001-07-30 Gerd Moellmann <gerd@gnu.org>
884
cef68af5
GM
885 * keyboard.c (abs): New macro.
886 (double_click_fuzz): New variable.
887 (make_lispy_event): Use it to determine what makes a double-click.
888 (syms_of_keyboard): DEFVAR_INT it.
889
6594ac22
GM
890 * xmenu.c (set_frame_menubar): Take into account that
891 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
892 <raeburn@gnu.org>.
893
75c5350a
GM
8942001-07-27 Gerd Moellmann <gerd@gnu.org>
895
896 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
897
898 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
899 of row's visible height.
900
901 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
902 deal with the first overlay string having an image `display' property.
903 (try_window_reusing_current_matrix, compute_line_metrics):
904 Fix computation of row's visible height for the case that part of the
75c5350a
GM
905 row is invisible above and part of the row is at the same time
906 invisible below the window.
907
ac49effe
GM
9082001-07-26 Gerd Moellmann <gerd@gnu.org>
909
910 * xfns.c (x-show-tip): Doc fix.
3452efc2 911
ac49effe
GM
912 * xfns.c (Vx_max_tooltip_size): New variable.
913 (syms_of_xfns): DEFVAR_LISP it.
914 (Fx_show_tip): Set frame's window_width to the width of the
915 window. Use a maximum tooltip size specified by
916 Vx_max_tooltip_size, if that has valid contents.
917 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 918
8c3b00cb
AI
9192001-07-26 Andrew Innes <andrewi@gnu.org>
920
921 * w32term.c (x_display_list): New variable.
922 (w32_term_init): Set it.
923
924 * w32term.h (x_display_list): New extern.
925
16098288
GM
9262001-07-26 Gerd Moellmann <gerd@gnu.org>
927
928 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
929 is non-nil, instead of when redisplaying_p is non-zero.
930 See comment there.
16098288
GM
931 (mark_window_display_accurate_1): Add an assertion.
932
64c5be50
GM
9332001-07-25 Gerd Moellmann <gerd@gnu.org>
934
e743f599
GM
935 * dispextern.h (struct it): Increase size of ctl_chars to 16.
936
563b384d
GM
937 * xfns.c (Fx_file_dialog): Block/unblock input while processing
938 events so that we get a chance of processing expose events.
939
64c5be50
GM
940 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
941
296808a5
GM
9422001-07-24 Gerd Moellmann <gerd@gnu.org>
943
944 * xfns.c (valid_image_p): Protect better against invalid image
945 specifications. Previous code could signal an error.
946
5247262a
GM
9472001-07-23 Gerd Moellmann <gerd@gnu.org>
948
3452efc2 949 * indent.c (current_column): Fix column computation in the
f1004faf
GM
950 presence of display table entries.
951 (current_column_1, Fmove_to_column, compute_motion): Likewise.
952
dd42b31a
GM
953 * dispnew.c (adjust_glyph_matrix): In the optimization for
954 windows whose height has changed, use the new window height
955 to compute which rows to invalidate.
956
9e5a7f2a
GM
957 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
958 (MAX_10_EXP): New macro.
959 (Fformat): Use it.
960
5247262a
GM
961 * coding.c (code_convert_region): Handle the multibyte case if
962 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
963
177ab8ce
GM
9642001-07-20 Gerd Moellmann <gerd@gnu.org>
965
6e07c0a5
GM
966 * dispextern.h (struct face): Change type of `stipple' to
967 int; it's an ID.
968
177ab8ce
GM
969 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
970
b5b80599
GM
9712001-07-19 Gerd Moellmann <gerd@gnu.org>
972
4e2a256b
GM
973 * dispnew.c (update_window): Don't set the cursor at the end
974 of the update if display update has been paused.
975
3452efc2 976 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 977
c1fd9232
KR
9782001-07-18 Ken Raeburn <raeburn@gnu.org>
979
980 * fns.c (Fset_char_table_default): Check that a charset is defined
981 before checking its dimension.
982
928a85c1
KR
9832001-07-17 Ken Raeburn <raeburn@gnu.org>
984
985 * coding.c (setup_coding_system): Don't do any designation based
986 on reg_bits if charset is not yet defined.
987
fb4c6c96 988 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
989 pointer, using eassert.
990
de11c1ea
GM
9912001-07-17 Gerd Moellmann <gerd@gnu.org>
992
3452efc2
SM
993 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
994 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 995
467f1209
GM
9962001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
997
998 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
999
c3d6be34
GM
10002001-07-16 Gerd Moellmann <gerd@gnu.org>
1001
c1d61a7d
GM
1002 * fileio.c (unwind_read): Function removed.
1003 (read_non_regular, read_non_regular_quit): New functions.
1004 (Finsert_file_contents): When reading from non-regular files,
1005 arrange to catch a `quit' and terminate the loop. Rearrange
1006 code so that a `quit' when reading from a regular file doesn't
1007 insert text in the buffer.
1008
c3d6be34
GM
1009 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1010 Clear faces afterwards.
1011 (clear_font_table): Take a x_display_info parameter. Don't free
1012 fonts being the default font of any frame on the given display.
1013
e06aa1f9
GM
10142001-07-13 Gerd Moellmann <gerd@gnu.org>
1015
1016 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1017 instead of CHAR_STRING which can signal an error.
1018
1019 * charset.c (char_to_string_1): Extracted from char_to_string.
1020 Return -1 instead of signaling an error.
1021 (char_to_string): Use it.
1022
1023 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1024
176c92e6
SM
10252001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1026
1027 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1028 is t, don't try to append anything to it.
1029
1c56232f
EZ
10302001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1031
1032 * dired.c (file_name_completion): Pass dp->d_name to
1033 Fstring_match, not elt, which is always nil here.
1034
1d2b2268
GM
10352001-07-12 Gerd Moellmann <gerd@gnu.org>
1036
1037 * xselect.c (x_decline_selection_request): Handle errors
1038 caused by receivers that have vanished.
1039
1040 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1041 ignoring events on foreign windows in #if 0. Always dispatch
1042 the event after checking it with x_handle_property_notify.
1043
1044 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1045 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1046 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1047 (toplevel): Add prototypes for file-local functions.
1048 (x_atom_to_symbol): Remove DPYINFO parameter.
1049
fe5a0162
SM
10502001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1051
1052 * w32menu.c (menubar_selection_callback, w32_menu_show):
1053 Initialize `entry' to nil.
1054 (w32_dialog_show): Remove unused `save_wv' variable.
1055 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1056
a777242c
GM
10572001-07-11 Gerd Moellmann <gerd@gnu.org>
1058
8ee5b6a3
GM
1059 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1060
d0e2444e
GM
1061 * fileio.c (unwind_read): Print a message when discarding inserted
1062 text or switching the buffer to unibyte. Change parameter.
1063 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1064
a777242c
GM
1065 * fileio.c (unwind_read): New function.
1066 (Finsert_file_contents): Record it as unwind-function for
1067 the case that reading is interrupted by C-g.
1068
ae794295
GM
10692001-07-10 Gerd Moellmann <gerd@gnu.org>
1070
fe5a0162 1071 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1072 update when scrolling_window returns 0.
1073
6b05fae3
GM
1074 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1075
1076 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1077 for the case that x_decode_color signals an error.
6b05fae3 1078
ae794295
GM
1079 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1080
bb6e8cee
GM
10812001-07-09 Gerd Moellmann <gerd@gnu.org>
1082
1083 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1084 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1085 around ioctls.
1086
36b40a8a
EZ
10872001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1088
24b97d4b
EZ
1089 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1090 doc string line for dos-timezone-offset.
1091
36b40a8a
EZ
1092 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1093 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1094 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1095 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1096
1097 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1098
0967b4b0
GM
10992001-07-05 Gerd Moellmann <gerd@gnu.org>
1100
f25cfe53
GM
1101 * sound.c: Include Emacs' header files with #include "...".
1102
0967b4b0
GM
1103 * eval.c (specbind): Additionally record the buffer that was
1104 current when a buffer-local or frame-local variable was bound.
1105
c347a1c3
GM
11062001-07-04 Gerd Moellmann <gerd@gnu.org>
1107
1108 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1109 to unibyte characters in unibyte buffers.
1110
6332ca8a
GM
11112001-07-03 Gerd Moellmann <gerd@gnu.org>
1112
38472d44
GM
1113 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1114 the frame on the binding stack. Change format of entries for
1115 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1116 (unbind_to): Handle unbinding a frame-local variable.
1117
6332ca8a 1118 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1119 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1120 (dump_glyph_row): Print row's continuation_lines_width.
1121 (try_window_id): Take the shortcut if ZV is visible in the
1122 window, but there are actually no changes at ZV.
1123
63d1b174
GM
11242001-07-02 Gerd Moellmann <gerd@gnu.org>
1125
4c175203
GM
1126 * xterm.h (x_free_dpy_colors): Add prototype.
1127
1128 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1129 right number of arguments.
1130
0b54ce28
GM
1131 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1132 ($(lwlibdir)TAGS): New target.
4c175203 1133 (TAGS): Fix dependency list.
0b54ce28 1134
63d1b174
GM
1135 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1136 with input blocked.
1137
d827466c
GM
11382001-06-30 Gerd Moellmann <gerd@gnu.org>
1139
1140 * emacs.c (main): Remove extern declaration for sys_nerr, which
1141 isn't used and causes a compilation error with GCC 3.0 on
1142 FreeBSD 4.3.
1143
b5cb1ada
GM
11442001-06-27 Gerd Moellmann <gerd@gnu.org>
1145
a5d3ec3f 1146 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1147 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1148 (toplevel): Include <signal.h> and syssignal.h.
1149
b5cb1ada
GM
1150 * sound.c (vox_configure, vox_close): Turn off atimers
1151 around ioctls.
1152
d9bad487
GM
11532001-06-26 Gerd Moellmann <gerd@gnu.org>
1154
fdbb67fe
GM
1155 * keyboard.c (read_char) <non_reread>: Record the previous idle
1156 start time before calling timer_stop_idle.
1157 (read_char) <reread_first>: After processing a help-echo event,
1158 restore the previous idle start time.
1159
d9bad487
GM
1160 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1161 the start of invisible text.
1162 (setup_for_ellipsis): New function.
1163 (next_overlay_string): After all overlay strings have been
1164 processed, display an ellipsis if necessary.
1165 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1166 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1167
1168 * dispextern.h (struct iterator_stack_entry): Add member
1169 display_ellipsis_p.
1170
2b9c25e0
GM
11712001-06-25 Gerd Moellmann <gerd@gnu.org>
1172
80de57df
GM
1173 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1174 on the value of the wait-for-wm frame parameter.
1175
1176 * xterm.h (struct x_output): Add member wait_for_wm.
1177
1178 * xfns.c (Qwait_for_wm): New variable.
1179 (x_frame_parms): Add entry for `wait-for-wm".
1180 (x_set_wait_for_wm): New function.
1181 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1182 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1183
2b9c25e0
GM
1184 * xdisp.c (try_window_id) <all changes below window end>: Don't
1185 take this shortcut if ZV is visible in the window.
1186 (try_window_id): When checking for window start being in changed
1187 text, don't check that the buffer's size has changed.
1188
f772775c
RS
11892001-06-23 Richard M. Stallman <rms@gnu.org>
1190
1191 * minibuf.c (Fcompleting_read): Doc fix.
1192
fa9090b8
GM
11932001-06-19 Gerd Moellmann <gerd@gnu.org>
1194
1195 * composite.c (Ffind_composition_internal): Accept ZV
1196 and a string's end position as POS.
1197
f6f1beba
GM
11982001-06-18 Gerd Moellmann <gerd@gnu.org>
1199
1200 * composite.c (Ffind_composition_internal): Check POS
1201 for validity.
1202
0ae83348
EZ
12032001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1204
1205 * editfns.c (Fmessage_box): If the frame is not under a window
1206 system, output the message in the echo area.
1207
e4cdc335
RS
12082001-06-14 Richard M. Stallman <rms@gnu.org>
1209
1210 * xdisp.c (try_window_id): When EOB is visible, don't treat
1211 insertion at EOB as if it were "off the bottom of the screen."
1212
a55a5f3c
AI
12132001-06-11 Andrew Innes <andrewi@gnu.org>
1214
1215 * w32proc.c (create_child): Add new parameter is_gui_app.
1216 (w32_executable_type): Add new parameter is_gui_app.
1217 (sys_spawnve): Use it.
1218 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1219 SIGQUIT. This matches better how the signals are interpreted by
1220 MSVC compiled programs.
1221 (syms_of_ntproc): Update docstring.
1222
1b85dc1c
SM
12232001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1224
1225 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1226 well otherwise note_mouse_highlight might optimize away highlighting
1227 if we pass over that same overlay again.
1228
b75f8eab
EZ
12292001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1230
1231 * lread.c (Fload): Document that the argument is run via
1232 substitute-in-file-name.
1233
94843cc1
GM
12342001-05-31 Gerd Moellmann <gerd@gnu.org>
1235
b14659e6
GM
1236 * Makefile.in (bootstrap-doc): New target.
1237 (bootstrap-emacs): Depend on it.
1238
0894672f
GM
1239 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1240 auto-save-list-file-name when shutting down Emacs, because
1241 creating the directory might signal an error, and leaves
1242 Emacs in a strange state.
1243
94843cc1
GM
1244 * term.c: (tty_cursor_hidden): New variable.
1245 (update_begin): Don't call tty_hide_cursor. Clean up.
1246 (update_end, set_terminal_window, set_scroll_region): Clean up.
1247 (ring_bell, reset_terminal_modes): Clean up.
1248 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1249 on tty_cursor_hidden.
1250 (write_glyphs): Call tty_hide_cursor.
1251
db3a49a6
SM
12522001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1253
1254 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1255
8bd189fb
GM
12562001-05-30 Gerd Moellmann <gerd@gnu.org>
1257
6f1be3b9
GM
1258 * xfns.c (enum image_value_type): New enumerator
1259 IMAGE_STRING_OR_NIL_VALUE.
1260 (parse_image_spec): Handle it.
1261 (xbm_format, pbm_format): Use it for :foreground and :background.
1262 (xbm_load, pbm_load): Check for nil color names.
1263
8bd189fb
GM
1264 * xterm.c (note_mouse_highlight): If an overlapping overlay
1265 exists, but we find that we highlight the same overlay as before,
1266 don't do the highlighting again.
1267
7bdba03c
GM
12682001-05-29 Gerd Moellmann <gerd@gnu.org>
1269
4c329aa8
GM
1270 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1271 Protect unibyte strings created by replacing their multibyte
1272 equivalents in menu_items.
1273
e15e2828
GM
1274 * keymap.c (Fsingle_key_description): NUL-terminate the string
1275 buffer before calling build_string.
1276
7bdba03c
GM
1277 * callproc.c (Fcall_process): Deal with decode_coding returning
1278 CODING_FINISH_INCONSISTENT_EOL.
1279
89c8dc6c
GM
12802001-05-28 Gerd Moellmann <gerd@gnu.org>
1281
db3a49a6 1282 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1283 an item's name with its key description in case the description
1284 is a multibyte string.
1285
1286 * keymap.c (Fsingle_key_description): Create a multibyte string
1287 only if necessary.
1288
eb04d6cd
GM
1289 * macros.c (Fstart_kbd_macro): Doc fix.
1290
8bd6307f
GM
1291 * xterm.c (cursor_in_mouse_face_p): New function.
1292 (x_draw_stretch_glyph_string): Use it to choose a different GC
1293 when drawing a cursor within highlighted text.
1294
e26c4089
GM
1295 * editfns.c (char_property_eq): Put in #if 0.
1296
1297 * indent.c (string_display_width): Put in #if 0.
1298
1299 * lread.c (Fload): Remove unused label.
1300
89c8dc6c
GM
1301 * termcap.c (speeds): Put in #if 0.
1302
9a1211f2
GM
13032001-05-18 Gerd Moellmann <gerd@gnu.org>
1304
29148a3f
GM
1305 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1306
9a1211f2
GM
1307 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1308 transformation matrix by 10.
1309
09393d07
GM
13102001-05-16 Gerd Moellmann <gerd@gnu.org>
1311
1312 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1313 only if it's equal to the former foreground pixel color.
db3a49a6 1314 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1315 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1316
460e6bae
GM
13172001-05-16 Dave Love <fx@gnu.org>
1318
1319 * insdel.c (signal_before_change, signal_after_change): Consider a
1320 local change hook which changes the buffer.
99c78ce8
GM
1321
1322 * process.c (read_process_output): Don't call signal_after_change
1323 and update_compositions after insert_from_string_before_markers.
1324
dbcf3c03
GM
13252001-05-16 Gerd Moellmann <gerd@gnu.org>
1326
a90b3d3c
GM
1327 * xfaces.c (split_font_name): Use the right field when
1328 checking for `[...]' syntax.
1329
1b7818b4
GM
1330 * buffer.c (copy_overlays): New function.
1331 (clone_per_buffer_values): Use it.
1332
1333 * buffer.h (OVERLAY_PLIST): New macro.
1334
9bae8781
GM
1335 * keymap.c (Fsingle_key_description): Replace a build_string with
1336 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1337
dbcf3c03
GM
1338 * fontset.c (Ffontset_info): Check that face is non-null
1339 before accessing its fields.
1340
8a1ae4dd
GM
13412001-05-15 Gerd Moellmann <gerd@gnu.org>
1342
18a0a39e
GM
1343 * keyboard.c (read_key_sequence): Prevent generating a fake
1344 prefix key twice.
1345
e335b66a
GM
1346 * xfaces.c (split_font_name): Handle `[...]' for the right
1347 font name fields.
1348
8a1ae4dd
GM
1349 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1350 of CCL_STAT_INVALID_CMD.
1351
3cf80731
SM
13522001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1353
33568849
SM
1354 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1355 in <var> has no default value yet.
1356
3cf80731
SM
1357 * xfaces.c (try_alternative_families): First try the FAMILY.
1358 And if nothing is found in the end, try again with scalable fonts.
1359 (try_font_list): Let try_alternative_families do a bit more of
1360 the work. Only use FAMILY if it is not nil.
1361 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1362
933b0249
GM
13632001-05-14 Gerd Moellmann <gerd@gnu.org>
1364
58e5af83
GM
1365 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1366 pointer shape when show_mouse_face has already done it.
33568849 1367
58e5af83 1368 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1369 full-width rows.
1370
7b16a6bf
GM
1371 * xfaces.c (split_font_name): Make sure to leave the loop
1372 with the right value of `i'.
3cf80731 1373
933b0249
GM
1374 * xfaces.c (split_font_name): Handle matrix transformations
1375 in the pixel and point size fields of XLFD font names.
1376 (xlfd_point_size): Likewise.
1377
dddcbf00
EZ
13782001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1379
3cf80731 1380 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1381 (x_to_w32_font): Add prototype.
1382
7689ef0b
EZ
1383 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1384 redefining, to avoid compiler warnings.
1385
e7c15bba
EZ
1386 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1387
dddcbf00
EZ
1388 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1389 (w32_get_bdf_glyph): Cast between unsigned char and char when
1390 passing arguments to subroutines, to shut up compiler warnings.
1391 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1392 GET_HEX_VAL.
1393
1394 * xfaces.c: Include keyboard.h before frame.h, not after it.
1395
1396 * widget.c: Include keyboard.h before frame.h.
1397
1398 * w32term.h (struct image, struct face): Forward declaration, to
1399 avoid compiler warnings.
1400
7bd2d083
GM
14012001-05-11 Gerd Moellmann <gerd@gnu.org>
1402
47e72862
GM
1403 * keyboard.c (read_key_sequence): Don't modify events when
1404 generating fake prefix keys (mode-line, scroll-bar, ...) since
1405 this prevents proper processing of such events when pushed back
1406 into unread-command-events.
1407
dd5f324b
GM
1408 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1409 actually redrawn. Make the function static.
1410 (note_mouse_highlight): Fix a case where the mouse cursor
1411 was changed back to the text cursor.
1412
1413 * xterm.h (clear_mouse_face): Remove prototype.
1414
d88a79d4
GM
1415 * xdisp.c (try_window_id): Fix the fix and set the right
1416 window_end_vpos.
1417
1418 * xdisp.c (try_window_id): Fix computation of window end in the
1419 case that lines were deleted at the end of the window. Add some
1420 more debug_method_adds.
0416532f 1421
7bd2d083
GM
1422 * xfaces.c (try_alternative_families): New function.
1423 (try_font_list): Use it. If ATTRS specifies a family, check
1424 fonts from that family first.
1425 (choose_face_font): Remove code setting the family part of
1426 the pattern to nil.
1427
23fca891
GM
14282001-05-10 Gerd Moellmann <gerd@gnu.org>
1429
ff9aa2ca
GM
1430 * xdisp.c (try_window_id): Fix case of all changes before
1431 the window start.
7b2654b5 1432
23fca891
GM
1433 * xdisp.c (try_window_id): Add some xasserts.
1434
e9726794
GM
14352001-05-09 Gerd Moellmann <gerd@gnu.org>
1436
1437 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1438
9e53a675
GM
14392001-05-09 Dave Love <fx@gnu.org>
1440
1441 * xdisp.c (GIVE_UP): Fix for K&R C.
1442
0d487c52
GM
14432001-05-09 Gerd Moellmann <gerd@gnu.org>
1444
fe88d421
GM
1445 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1446
0d487c52
GM
1447 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1448 back to the text cursor shape without need.
1449
1e9fc92e
GM
14502001-05-07 Gerd Moellmann <gerd@gnu.org>
1451
a2a6232e
GM
1452 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1453
1454 * dispextern.h (inverse_video): Declare extern.
1455
1e9fc92e
GM
1456 * keyboard.c (delete_kboard): Handle the case that selected_frame
1457 has been deleted in the course of x_connection_closed.
1458
12949a7f
EZ
14592001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1460
7b2654b5
SM
1461 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1462 Fix the change from 2001-04-30.
12949a7f 1463
2fa2f461
GM
14642001-05-03 Gerd Moellmann <gerd@gnu.org>
1465
a779d213
GM
1466 * xfns.c (file_dialog_unmap_cb): New function.
1467 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1468 where a dialog is closed via the window manager.
1469
7b2654b5 1470 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1471 the window start or all below the window end mostly rewritten.
1472 (redisplay_window): Move the tests if try_window_id is
1473 applicable to try_window_id.
1474 (GIVE_UP): New macro.
1475
3356df63
GM
14762001-05-02 Gerd Moellmann <gerd@gnu.org>
1477
a39202f6 1478 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1479 currently being updated, mark the frame garbaged.
1480 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1481 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1482
3356df63
GM
1483 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1484 again if it has already been drawn.
1485
a9d2fd1d
SM
14862001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1487
1488 * syntax.c (update_syntax_table): Check that oldi has the same
1489 properties as old_prop before deciding not to invalidate.
1490
c95fc5f1
GM
14912001-04-30 Gerd Moellmann <gerd@gnu.org>
1492
a9793e45
GM
1493 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1494 read-only text that is so because of text properties.
1495
c95fc5f1 1496 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1497 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1498 windows that are components of a Lucid menu bar.
1499
5a5d9185
GM
15002001-04-27 Gerd Moellmann <gerd@gnu.org>
1501
1502 * term.c (turn_on_face): Fix reverse video handling on terminals
1503 that don't support colors.
1504
ba973f7a
GM
15052001-04-26 Gerd Moellmann <gerd@gnu.org>
1506
1507 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1508 a non-buffer.
1509
8c56a983
GM
15102001-04-25 Gerd Moellmann <gerd@gnu.org>
1511
a728644c
GM
1512 * term.c (toggle_highlight): New function.
1513 (turn_on_face): Change handling of reverse video.
1514
7b2654b5
SM
1515 * process.c (wait_reading_process_input):
1516 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1517
bfd8410f
GM
1518 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1519 of the number of overlays to check.
1520
be2488ca
GM
1521 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1522
8c56a983
GM
1523 * xdisp.c (try_window_id): Fix a case where window_end_pos
1524 and window_end_bytepos were not adjusted.
1525
522d42f7
GM
15262001-04-23 Gerd Moellmann <gerd@gnu.org>
1527
1528 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1529 zero instead of -1.
1530
78c1afb6
EZ
15312001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1532
a9d2fd1d
SM
1533 * process.c (wait_reading_process_input) [!subprocesses]:
1534 Don't reference waiting_for_user_input_p, it's not defined in the
1535 branch without async subprocesses support.
78c1afb6 1536
a2fab450
GM
15372001-04-19 Gerd Moellmann <gerd@gnu.org>
1538
a122a38e
GM
1539 * keyboard.c (delete_kboard): Prevent a dangling reference
1540 from current_kboard to KB, which is freed.
1541
a9d2fd1d
SM
1542 * process.c (wait_reading_process_input):
1543 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1544 read_key_sequence aware of buffer changes from under it.
1545
0f8d6dc7
GM
15462001-04-18 Gerd Moellmann <gerd@gnu.org>
1547
eeffb293
GM
1548 * xfaces.c (Qscalable_fonts_allowed): New variable.
1549 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1550 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1551 removed.
eeffb293 1552 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1553 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1554 for scalable-fonts-allowed to t.
eeffb293 1555
0f8d6dc7
GM
1556 * fileio.c (Finsert_file_contents): If the file size returned from
1557 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1558 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1559
eec2d1de
EZ
15602001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1561
1562 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1563 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1564 (__memalign_hook): Make the two prototypes consistent.
1565
f4f480bd
GM
15662001-04-17 Gerd Moellmann <gerd@gnu.org>
1567
1568 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1569 matrix of mini-windows.
1570
52283633
SM
15712001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1572
1573 * intervals.c (find_interval): Don't rebalance during signal handling.
1574
ec2423c9
GM
15752001-04-11 Gerd Moellmann <gerd@gnu.org>
1576
30cb0001 1577 * fns.c: Include blockinput.h.
52283633 1578
ec2423c9
GM
1579 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1580
719d83ad
GM
15812001-04-10 Gerd Moellmann <gerd@gnu.org>
1582
60f8d735
GM
1583 * fns.c (Fcompare_strings): Fix return values.
1584
afffeb57
GM
1585 * window.c (window_scroll): Change the meaning of N to mean
1586 N screen-fulls or N lines.
1587 (window_scroll_pixel_based, window_scroll_line_based)
1588 (scroll_command, Fscroll_other_window): Change accordingly.
1589
52283633
SM
1590 * window.c (window_scroll_pixel_based, Frecenter):
1591 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1592 height of the window.
1593
1594 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1595 instead of using it.last_visible_y for the height of the window.
52283633 1596
719d83ad 1597 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1598 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1599
1600 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1601 able to write to hidden and system files. From Dan Holmsand
1602 <dan@eyebee.com>.
719d83ad 1603
8ddf3ee1
GM
1604 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1605 Holmsand <dan@eyebee.com>.
719d83ad 1606
522ed7fb
GM
16072001-04-09 Gerd Moellmann <gerd@gnu.org>
1608
9170e5d4
GM
1609 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1610
522ed7fb
GM
1611 * window.c (window_internal_height): Return 1 less if the
1612 window has a header line.
1613
1614 * xdisp.c (try_window_id): When scrolling on a terminal, take
1615 the change of window_internal_height into account.
1616
ceeb3d7d
EZ
16172001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1618
1619 * gmalloc.c (align): If the argument SIZE would overflow
1620 __malloc_ptrdiff_t, fail right away.
1621
63685b9d
GM
16222001-04-06 Gerd Moellmann <gerd@gnu.org>
1623
1624 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1625 Make sure the tooltip is completely visible.
1626 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1627
1628 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1629
1630 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1631
3ffb33bb
DL
16322001-04-06 Dave Love <fx@gnu.org>
1633
52283633
SM
1634 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1635 Fix test of `from'.
3ffb33bb 1636
869fb12c
GM
16372001-04-06 Gerd Moellmann <gerd@gnu.org>
1638
52283633 1639 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1640
869fb12c
GM
1641 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1642
441bf856
GM
16432001-04-05 Gerd Moellmann <gerd@gnu.org>
1644
4d664b04
GM
1645 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1646
52283633 1647 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1648
30ca89f5
GM
1649 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1650 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1651
1652 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1653 shell widget's position only if it is non-null.
1654
52283633
SM
1655 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1656 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1657
81a81c0f
GM
1658 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1659 FILENAME to bring it in synch with the documentation.
1660
441bf856
GM
1661 * xfaces.c (realizing_basic_faces_p): Renamed from
1662 realize_default_face_p.
1663 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1664 (realize_default_face): Don't set the flag.
1665
702a1e8e
GM
16662001-04-04 Gerd Moellmann <gerd@gnu.org>
1667
1013f4e3
GM
1668 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1669
52283633
SM
1670 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1671
1013f4e3
GM
1672 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1673 the buffer that was used for echoing.
1674
702a1e8e
GM
1675 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1676 (first_font_matching): Removed unused function.
1677 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1678 (may_use_scalable_font_p): Remove parameter FONT; rename
1679 parameter NAME to FONT.
1680 (x_face_list_fonts): Fix missing bounds check.
1681 (realizing_default_face_p): New variable.
1682 (realize_default_face): Set and clear that flag.
1683 (x_face_list_fonts): When called during the realization of the
1684 default face, and no matching fonts are found when ignoring
1685 scalable fonts and fonts matching a regexp from
1686 face-ignored-fonts, try without ignoring fonts.
1687
f9dbcda4
GM
16882001-04-03 Gerd Moellmann <gerd@gnu.org>
1689
ad18ffb1
GM
1690 * xfns.c (postprocess_image): New function.
1691 (lookup_image): Call it for all image types except PostScript.
1692 (x_kill_gs_process): Call postprocess_image.
1693
f9dbcda4
GM
1694 * xterm.c (x_use_underline_position_properties): New variable.
1695 (x_draw_glyph_string): Use it.
1696 (syms_of_xterm): DEFVAR_BOOL it.
1697
651f03b6
GM
16982001-04-02 Gerd Moellmann <gerd@gnu.org>
1699
1700 * xterm.c (x_alloc_nearest_color_1): New function.
1701 (x_alloc_nearest_color): Use it.
1702 (x_color_cells): Take a Display as argument, instead of a frame.
1703 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1704 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1705 (x_initialize): Register cvt_string_to_pixel as resource converter
1706 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1707
73d75a62
GM
17082001-03-30 Gerd Moellmann <gerd@gnu.org>
1709
b2046df8
GM
1710 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1711 (set_iterator_to_next): If a string from a display property ends,
1712 consider the case that this might also be the end of an
1713 overlay string having the display property.
1714
52283633 1715 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1716
87d8eba4
GM
1717 * xdisp.c (reseat_to_string): Undo last change.
1718
73d75a62
GM
1719 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1720 matrix of a window when the header line changes, when
1721 new rows are allocated, or when the width changes.
1722
911a2406
EZ
17232001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1724
52283633 1725 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1726
aea51abe
EZ
17272001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1728
1729 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1730 deprecated.
1731
176bc847
GM
17322001-03-29 Gerd Moellmann <gerd@gnu.org>
1733
ed31fabf
GM
1734 * data.c (Fsubr_interactive_form): New function.
1735 (syms_of_data): Defsubr it.
1736
176bc847
GM
1737 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1738 (live_float_p, live_misc_p): Return 1 only if the offset of the
1739 pointer in its block is >= 0.
1740
e59d0e9d
GM
17412001-03-28 Paul Eggert <eggert@twinsun.com>
1742
1743 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1744 microseconds calcuation. Avoid double-rounding problem.
1745 In doc string, warn that the result is approximate.
1746
f827b862
GM
17472001-03-28 Gerd Moellmann <gerd@gnu.org>
1748
30a3f61c
GM
1749 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1750 bind `inhibit-eval-during-redisplay' to t.
1751
1752 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1753
1754 * xdisp.c (inhibit_eval_during_redisplay)
1755 (Qinhibit_eval_during_redisplay): New variables.
1756 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1757 don't eval, return nil instead.
1758 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1759 Initialize Qinhibit_eval_during_redisplay.
1760
e719f5ae
GM
1761 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1762 the iterator's multibyte_p flag.
1763
deb2613a
GM
1764 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1765 instead of setting it to zero; it's incremented for each frame
1766 where the menu face is changed.
1767
52283633
SM
1768 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1769 change bottom shadow accordingly.
1770
1771 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1772 intersections here.
1773 (expose_window): Do it here instead.
52283633 1774 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1775
f827b862
GM
1776 * bytecode.c (BYTE_CODE_QUIT): New macro.
1777 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1778
4bde0ebb
GM
17792001-03-27 Gerd Moellmann <gerd@gnu.org>
1780
607ec83c
GM
1781 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1782 Give up if matrix starts in an ellipsis.
1783 (init_from_display_pos): Do nothing if POS doesn't specify
1784 a dpvec_index but the iterator has such a position.
1785
0245398f
GM
1786 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1787
aba25348
GM
1788 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1789 x/y position is (0, 0) after destroying the menu bar, restore
1790 its original position.
1791
4bde0ebb
GM
1792 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1793 (init_from_display_pos): Use it.
1794 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1795
8cdb267e
GM
17962001-03-26 Gerd Moellmann <gerd@gnu.org>
1797
1798 * xdisp.c (try_window_id): Undo last change.
1799
9948db79
EZ
18002001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1801
1802 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1803
1804 * buffer.c (syms_of_buffer): Doc fix.
1805
2eddf899
GM
18062001-03-26 Gerd Moellmann <gerd@gnu.org>
1807
1808 * xfaces.c (x_update_menu_appearance): Use local variable
1809 popup_path for setting font resources.
1810
6c145d35
EZ
18112001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1812
6a65b1b5
EZ
1813 * frame.c (Fframe_list): Don't reference tip_frame if
1814 HAVE_WINDOW_SYSTEM is not defined.
1815
6c145d35
EZ
1816 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1817 <wl@gnu.org>.
1818
d74c1900
GM
18192001-03-25 Gerd Moellmann <gerd@gnu.org>
1820
20fbd925
GM
1821 * xdisp.c (init_from_display_pos): Test invisible property
1822 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1823
927c5b3b
GM
1824 * xdisp.c (redisplay_internal) <update one window>: Make sure
1825 last_arrow_position and last_arrow_string are set.
1826
d74c1900
GM
1827 * frame.c (Fframe_list): Don't return a tooltip frame.
1828
091f8878
GM
18292001-03-23 Gerd Moellmann <gerd@gnu.org>
1830
52283633
SM
1831 * xdisp.c (mark_window_display_accurate_1): New function,
1832 extracted from mark_window_display_accurate.
1833 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1834 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1835 (mark_window_display_accurate): Use it.
1836 (redisplay_internal): Use it for the selected window.
1837 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1838 for the selected frame.
1839
ac90c44f
GM
1840 * xdisp.c Use make_number, for readability.
1841 (try_window_id): Disable rows below the window end.
1842 (try_window_reusing_current_matrix): Use cursor_row_p.
1843 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1844 of rows.
1845 (init_from_display_pos): If POS specifies a position in a display
1846 vector, maybe get the iterator set up for that ellipsis.
43c09969 1847
091f8878
GM
1848 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1849
991786dd
EZ
18502001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1851
1852 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1853
6c29b43c
GM
18542001-03-23 Gerd Moellmann <gerd@gnu.org>
1855
1856 * xfaces.c (x_update_menu_appearance): Use a different path
1857 for Lucid popup menus.
1858
d8731202
SM
18592001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1860
1861 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1862
1863 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1864 (string_buffer_position): Use `make_number'.
1865
f61a541b
GM
18662001-03-22 Gerd Moellmann <gerd@gnu.org>
1867
3c9e997b
GM
1868 * xfaces.c (x_update_menu_appearance): Renamed from
1869 x_set_menu_face_resources. Use different resources for popups.
1870
1871 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1872 (GC_CHECK_STRING_BYTES): Don't define.
1873
364cd450
GM
1874 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1875 Removed, together with subroutines.
1876 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1877 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1878
d8731202
SM
1879 * dispextern.h (x_set_menu_resources_from_menu_face):
1880 Remove prototype.
364cd450 1881
d8731202 1882 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1883 Remove calls to x_set_menu_resources_from_menu_face.
1884
d8731202
SM
1885 * xfaces.c (xm_set_menu_resources_from_menu_face):
1886 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1887
1888 * xmenu.c: Include widget.h.
1889 (single_submenu): Return int. Some cleanup.
1890 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1891
140330de
GM
18922001-03-21 Gerd Moellmann <gerd@gnu.org>
1893
1894 * xterm.c (x_update_window_end): Handle overwritten mouse face
1895 also for tool bar windows.
1896 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1897 DRAW is DRAW_IMAGE_RAISED.
1898
1741905c
GM
18992001-03-20 Gerd Moellmann <gerd@gnu.org>
1900
fa88947e
GM
1901 * print.c (syms_of_print): Doc fixes.
1902
1741905c
GM
1903 * fns.c (Fmd5): Doc fix.
1904
ade0bee1
GM
19052001-03-19 Gerd Moellmann <gerd@gnu.org>
1906
357e7376
GM
1907 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1908 Clear area of the frame not occupied by the scroll bar.
1909
c2c097cc
GM
1910 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1911 tip frame's root window buffer to *tip* right after creating
1912 the frame.
1913
ade0bee1
GM
1914 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1915 is an integer don't have to be for space characters.
1916
88c6e37e
GM
19172001-03-16 Gerd Moellmann <gerd@gnu.org>
1918
52283633
SM
1919 * indent.c (current_column, current_column_1, Fmove_to_column)
1920 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1921
c62eed76
KH
19222001-03-15 Kenichi Handa <handa@etl.go.jp>
1923
1924 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1925 drawing glyph string.
1926
c899e7e6
GM
19272001-03-15 Gerd Moellmann <gerd@gnu.org>
1928
d0bbfc99
GM
1929 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1930 (command_loop_1): Undo last change.
1931
03d1a189
GM
1932 * xterm.c (fast_find_position): Return the correct vpos.
1933
c899e7e6 1934 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1935 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1936 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1937 Call store_symval_forwarding with BUF null.
1938 (set_internal): Call store_symval_forwarding with the BUF
1939 parameter passed to set_internal. Formerly, the value was always
1940 set in the current buffer; the buffer recorded in specbind for
1941 this case wasn't used.
1942 (arith_driver): Reindent.
1943
52283633
SM
1944 * buffer.c (swap_out_buffer_local_variables):
1945 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1946
1947 * lisp.h (store_symval_forwarding): Change prototype.
1948
1949 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1950
57ac7c81
GM
19512001-03-14 Gerd Moellmann <gerd@gnu.org>
1952
697617d9
GM
1953 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1954 FOR_DELETION. Avoid resizing the mini-window of the selected
1955 frame if FOR_DELETION is set.
1956 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1957 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1958 signature.
1959
1960 * window.c (Fset_window_configuration): Change call to
1961 do_switch_frame to new format.
1962
1963 * keyboard.c (quit_throw_to_read_char): Change call to
1964 do_switch_frame to new format.
1965
1966 * lisp.h (do_switch_frame): Change prototype.
1967
819dce0f
GM
1968 * frame.c (Fframe_parameters): In the `buffer-list' frame
1969 parameter, store the buffer list of FRAME, not the list of the
1970 selected frame.
1971
57ac7c81
GM
1972 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1973 box just because the glyph row's full_width_p flag is set.
1974
65008712
GM
19752001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1976
1977 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1978 skip the padding blanks inserted in extend_face_to_end_of_line,
1979 before checking for trailing whitespace.
1980
159cf431
GM
19812001-03-13 Gerd Moellmann <gerd@gnu.org>
1982
52283633 1983 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1984 Remove special handling for LessTif/Motif.
1985 (toplevel): Don't include Xm/Xm.h.
1986
52283633
SM
1987 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1988 Remove workaround code for LessTif; it doesn't work anymore.
1989
2564ea1b 1990 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1991 Xm/ScrollBarP.h.
afcdc0a1 1992
52283633
SM
1993 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1994 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1995 contemporary LessTif.
1996
52283633
SM
1997 * xfaces.c (xm_set_menu_resources_from_menu_face):
1998 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1999
159cf431
GM
2000 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2001 removing button grabs.
2002
c6f7429a
KH
20032001-03-13 Kenichi Handa <handa@etl.go.jp>
2004
cb82d767
KH
2005 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2006 and clip-large-size-font as obsolete.
2007
c6f7429a
KH
2008 * lread.c (read_multibyte): Check the validity of multibyte
2009 sequence. If invalid, return the first byte.
2010
760cefb5
GM
20112001-03-12 Gerd Moellmann <gerd@gnu.org>
2012
2013 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2014 before running the command; timer functions or process
2015 filters may have set it.
2016
5141f9d0
EZ
20172001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2018
2019 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2020 Doc fix.
2021
b6a15240
GM
20222001-03-12 Gerd Moellmann <gerd@gnu.org>
2023
2024 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2025 to sprintf.
2026
95522746
GM
20272001-03-09 Gerd Moellmann <gerd@gnu.org>
2028
db14cfc5
GM
2029 * dispextern.h (string_buffer_position): Add prototype.
2030
52283633 2031 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2032 (single_display_prop_string_p): New functions.
2033
2034 * xterm.c (note_mouse_highlight): If there's no help-echo on
2035 a string, look at the buffer text ``under'' it.
2036
2037 * keyboard.c (make_lispy_event): Add string info to the event,
2038 analogous to what's done on mode lines.
2039 (read_key_sequence): For a click on a string, consider `local-map'
2040 and `keymap' of that string.
2041
52283633
SM
2042 * keyboard.c (make_lispy_event, make_lispy_movement):
2043 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2044
2045 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2046
2047 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2048 POS; return void.
2049
95522746
GM
2050 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2051 flags argument to emacs_open; it seems to conflict with O_EXCL.
2052
898a399d
KH
20532001-03-09 Kenichi Handa <handa@etl.go.jp>
2054
28cd4910
KH
2055 * composite.h (struct composition): Change types of members;
2056 glyph_len to unsigned, width to unsigned short.
898a399d 2057
4cdf6a6c
AI
20582001-03-08 Andrew Innes <andrewi@gnu.org>
2059
2060 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2061 menu titles.
2062
129004d3
GM
20632001-03-08 Gerd Moellmann <gerd@gnu.org>
2064
221dd3e7
GM
2065 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2066 instead of nil.
2067
52283633 2068 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2069 help-echo in strings.
2070 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2071 (fast_find_string_pos): New function.
2072
52283633
SM
2073 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2074 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2075
2076 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2077 Handle `mouse-face'.
2078
2079 * dispextern.h (face_at_string_position): Change prototype.
2080
52283633 2081 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2082
129004d3
GM
2083 * keyboard.c (make_lispy_event): Avoid generating drag events
2084 if the mouse hasn't actually moved to another buffer position.
52283633 2085
80c8ab8c
DL
20862001-03-08 Dave Love <fx@gnu.org>
2087
129004d3 2088 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2089
989521fd
GM
20902001-03-08 Gerd Moellmann <gerd@gnu.org>
2091
2092 * process.c (Fset_process_window_size): Fix a typo.
2093
bb5c338d
KH
20942001-03-08 Kenichi Handa <handa@etl.go.jp>
2095
2096 * coding.c (detect_coding_sjis): Do more rigid check.
2097 (detect_coding_big5): Likewise.
2098 (decode_coding_sjis_big5): Likewise.
2099 (Fdetect_coding_region): Call detect_coding_system with tailing
2100 anchor byte `\0' for more rigid detection.
52283633 2101 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2102 (Fdetect_coding_string): Likewise.
2103
8b8f9197
SM
21042001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2105
2106 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2107 a string before extracting its data.
2108
3bdf2660
GM
21092001-03-07 Gerd Moellmann <gerd@gnu.org>
2110
2111 * window.c (Frecenter): Rewrite code handling negative values
2112 of ARG on graphical frames.
2113
21142001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2115
2116 * window.c (displayed_window_lines): If W->start is outside the
2117 accessible portion of the buffer, call start_display with BEGV or
2118 ZV instead of W->start.
2119
471f86b9
GM
21202001-03-07 Gerd Moellmann <gerd@gnu.org>
2121
2ab62c6c
GM
2122 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2123
471f86b9
GM
2124 * process.c (Fset_process_filter): Don't crash if the input
2125 file descriptor of PROCESS is closed.
2126 (Fset_process_window_size): Likewise.
2127
101922c3
GM
21282001-03-06 Kenichi Handa <handa@etl.go.jp>
2129
2130 * xterm.c (XTflash): Make the timeout of select shorter, and call
2131 select repeatedly until the desired time expires.
2132
45d051a7
GM
21332001-03-06 Gerd Moellmann <gerd@gnu.org>
2134
2135 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2136
2137 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2138
2139 * lisp.h (Vwindow_list): Declare extern.
2140
8f372c46
EZ
21412001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2142
2143 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2144
f16a7aa5
GM
21452001-03-06 Gerd Moellmann <gerd@gnu.org>
2146
157ae273
GM
2147 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2148 to detect a case where we have to highlight a different region
2149 despite not having left the currently highlighted region.
2150 Set mouse_face_overlay in the x_display_info.
45d051a7 2151 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2152
2153 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2154
2155 * buffer.c (mouse_face_overlay_overlaps): New function.
2156
2157 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2158 (Qmouse_face): Declare extern.
2159
f16a7aa5
GM
2160 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2161 if face_change_count is non-zero.
2162
827afcac
KH
21632001-03-06 Kenichi Handa <handa@etl.go.jp>
2164
2165 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2166 that the source is unibyte.
2167
14c7242e
DL
21682001-03-05 Dave Love <fx@gnu.org>
2169
827afcac 2170 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2171
c28b847b
GM
21722001-03-05 Gerd Moellmann <gerd@gnu.org>
2173
2174 * minibuf.c (read_minibuf): Clean up the binding stack if
2175 called noninteractively.
2176
b86644f2
KH
21772001-03-05 Kenichi Handa <handa@etl.go.jp>
2178
2179 * coding.c (syms_of_coding): Docstring modified.
2180
203682cc 21812001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2182
2183 * charset.c (char_to_string): If a single byte char has modifier
2184 bits that can't be reflected to the character code, ignore them
45d051a7 2185 instead of signaling an error.
b86644f2 2186
e30bd7b7
EZ
21872001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2188
2189 * s/msdos.h: Update copyright notice.
2190
2191 * dosfns.h: Update copyright notice.
2192
2193 * dosfns.c: Update copyright notice.
2194
2195 * msdos.c: Update copyright notice.
2196
b52b65bd
GM
21972001-03-02 Gerd Moellmann <gerd@gnu.org>
2198
2199 * xterm.c (glyph_rect): New function.
2200 (XTmouse_position): Use it to raise the threshold for mouse
2201 movement event generation.
2202
53c4b1e6
EZ
22032001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2204
2205 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2206 specifies (reverse . t), reverse the initial screen colors.
2207 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2208 but we are reversing the colors, set bg_set, not fg_set.
2209 Likewise for setting background-color and reversing: set fg_set.
2210 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2211 in effect.
2212
2213 * xfaces.c (Finternal_set_lisp_face_attribute)
2214 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2215 parameters alist.
2216
f964b4d7
GM
22172001-03-02 Gerd Moellmann <gerd@gnu.org>
2218
ef53d75e
GM
2219 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2220 to a single slash in the middle of file names.
2221
52283633 2222 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2223 Accept only alphanumeric time zone names.
2224
f964b4d7
GM
2225 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2226 or width area.
2227 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2228 a widget to zero height.
52283633 2229
c3c45f65
GM
22302001-03-01 Gerd Moellmann <gerd@gnu.org>
2231
2232 * window.c (Fwindow_end): Call move_it_past_eol only if
2233 ending up on a partially visible line.
2234
028d739a
DL
22352001-03-01 Dave Love <fx@gnu.org>
2236
2237 * ccl.c (Fccl_execute): Doc fix.
2238
57c5889c
GM
22392001-03-01 Gerd Moellmann <gerd@gnu.org>
2240
35f59f6b
GM
2241 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2242 of the tool bar before calling x_figure_window_size.
2243
f84ff02c
GM
2244 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2245 NULL after destroying it, otherwise XTread_socket can access a
2246 destroyed widget when input is unblocked.
2247
8b8f9197 2248 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2249
57c5889c
GM
2250 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2251 same name as before, although there was a change in fontsets.
2252
224227d1
KR
22532001-02-28 Ken Raeburn <raeburn@gnu.org>
2254
4560730a
KR
2255 * lisp.h (Fframe_parameter): Declare.
2256
224227d1 2257 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2258 Lisp_Object.
224227d1 2259
ece93c02
GM
22602001-02-28 Gerd Moellmann <gerd@gnu.org>
2261
11ef99b9
GM
2262 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2263 NULL instead.
2264
2265 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2266 NULL instead.
2267
ece93c02
GM
2268 * alloc.c (toplevel): Include process.h.
2269 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2270 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2271 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2272 (allocate_vector, allocate_hash_table, allocate_window)
2273 (allocate_frame, allocate_process, allocate_other_vector):
2274 New functions.
ece93c02
GM
2275 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2276 (mark_maybe_pointer): New function.
52283633 2277 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2278 remain and not Lisp_Objects.
2279 (min_heap_address, max_heap_address): New variables.
2280 (mem_find): Return MEM_NIL if START is below min_heap_address or
2281 above max_heap_address.
2282 (mem_insert): Compute min_heap_address and max_heap_address.
2283
2284 * process.c (make_process): Use allocate_process.
2285
2286 * frame.c (make_frame): Use allocate_frame.
2287
2288 * window.c (make_window, make_dummy_parent): Use allocate_window.
2289 (Fcurrent_window_configuration): Use allocate_other_vector.
2290
2291 * lisp.h (allocate_vectorlike): Remove prototype.
2292 (allocate_vector, allocate_other_vector, allocate_frame)
2293 (allocate_window, allocate_process, allocate_hash_table):
2294 Add prototypes.
2295
2296 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2297 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2298
063af457
KH
22992001-02-27 Kenichi Handa <handa@etl.go.jp>
2300
2301 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2302 treat the produced bytes as a valid multibyte sequence.
2303
2304 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2305 (ccl_driver) <CCL_WriteMultibyteChar2>:
2306 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2307 <ccl_finish>: Set ccl->eight_bit_control properly.
2308
2309 * ccl.h (struct ccl_program): New member eight_bit_control.
2310
f58c6494
SM
23112001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2312
2313 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2314 accessible_keymaps_char_table.
2315 (accessible_keymaps_char_table): Obey `is_metized'.
2316 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2317 Lisp_Object.
2318
c596c392
GM
23192001-02-26 Gerd Moellmann <gerd@gnu.org>
2320
2321 * dispnew.c: Check HAVE_TERM_H before including term.h.
2322
425de386
AI
23232001-02-24 Andrew Innes <andrewi@gnu.org>
2324
2325 * makefile.w32-in: Update copyright notice.
2326
2ba11bbd
SM
23272001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2328
2329 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2330
66c56ed1
KH
23312001-02-24 Kenichi Handa <handa@etl.go.jp>
2332
4c1593ce
KH
2333 * Makefile.in (lisp): Add international/utf-8.elc.
2334
66c56ed1
KH
2335 * fontset.c (Fnew_fontset): Fix handling of the case that an
2336 element of FONTLIST is a cons of family and registry.
2337
796ead7e
JR
23382001-02-23 Jason Rumney <jasonr@gnu.org>
2339
2340 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2341 to height unconditionally.
2342
2343 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2344 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2345 (x_insert_glyphs): Call window_box_left to obtain the left
2346 x-coordinate of the area to shift.
2347
2348 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2349 safe_run_hooks.
2350
f6839838
AI
23512001-02-22 Andrew Innes <andrewi@gnu.org>
2352
52283633 2353 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2354 ($(BLD)\dispnew.obj):
2355 ($(BLD)\editfns.obj):
2356 ($(BLD)\fileio.obj):
2357 ($(BLD)\filelock.obj):
2358 ($(BLD)\keyboard.obj):
2359 ($(BLD)\w32proc.obj):
2360 ($(BLD)\process.obj):
2361 ($(BLD)\sysdep.obj): Ditto.
2362
2363 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2364 header files.
52283633
SM
2365 ($(BLD)/dispnew.$(O)):
2366 ($(BLD)/editfns.$(O)):
2367 ($(BLD)/fileio.$(O)):
2368 ($(BLD)/filelock.$(O)):
2369 ($(BLD)/keyboard.$(O)):
2370 ($(BLD)/w32proc.$(O)):
2371 ($(BLD)/process.$(O)):
f6839838
AI
2372 ($(BLD)/sysdep.$(O)): Ditto.
2373
c224f70b
GM
23742001-02-22 Gerd Moellmann <gerd@gnu.org>
2375
51695746
GM
2376 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2377 at the start of the function, check that the \n in it->c is
2378 from the iterator's current position.
52283633 2379
a61b7058
GM
2380 * xdisp.c (handle_single_display_prop): Add parameter
2381 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2382 properties which replace the display of text with something else.
2383 (handle_display_prop): Call handle_single_display_prop with
2384 additional argument saying if we already replaced text display
2385 with something else. Use AREF.
52283633 2386 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2387 (decode_mode_spec_coding): Use AREF and ASIZE.
2388
3473f362
GM
2389 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2390 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2391 * vmstime.h: Files removed.
52283633 2392
2bb58df3
GM
2393 * unexencap.c, unexfx2800.c: Files removed.
2394
c224f70b
GM
2395 * dispnew.c (direct_output_for_insert): Give up if we are showing
2396 a message or just cleared the message because we might need to
2397 resize the echo area window or display an empty echo area.
2398
ffc9ff0c
GM
23992001-02-21 Gerd Moellmann <gerd@gnu.org>
2400
0528abe1
GM
2401 * xdisp.c (redisplay_internal): Do the
2402 mark_window_display_accurate after all windows have been
2403 redisplayed because this call resets flags in buffers which are
2404 needed for proper redisplay.
2405
52283633
SM
2406 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2407 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2408 the old names.
2409
52283633
SM
2410 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2411 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2412
2413 * msdos.h (struct x_output): Rename busy_window to
2414 hourglass_window, busy_p to hourglass_p.
2415
52283633
SM
2416 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2417 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2418
2419 * xfns.c: Rename everything containing *busy_cursor* and similar
2420 to *hourglass*.
2421 (syms_of_w32fns): Rename x-busy-pointer-shape to
2422 x-hourglass-pointer-shape, display-busy-cursor to
2423 display-hourglass, busy-cursor-delay to hourglass-delay.
2424
2425 * w32fns.c: Rename everything containing *busy_cursor* and similar
2426 to *hourglass*.
2427 (syms_of_w32fns): Rename x-busy-pointer-shape to
2428 x-hourglass-pointer-shape, display-busy-cursor to
2429 display-hourglass, busy-cursor-delay to hourglass-delay.
2430
2431 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2432 of its busy_p flag.
2433
2434 * dispextern.h (start_hourglass, cancel_hourglass)
2435 (display_hourglass_p): Renamed from *busy_cursor*.
2436
ab2c5f0a
GM
24372001-02-20 Gerd Moellmann <gerd@gnu.org>
2438
d17e49a8
GM
2439 * keyboard.c (read_char): When an event from unread-command-events
2440 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2441
fa97adf6
GM
2442 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2443 equal to the current buffer.
2444
ab2c5f0a
GM
2445 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2446 nil, otherwise we're left with truncate_lines t when a message
2447 is printed with message-truncate-lines bound to t.
2448
aeac019e
GM
24492001-02-19 Gerd Moellmann <gerd@gnu.org>
2450
c8bc6f65
GM
2451 * window.c (Fmove_to_window_line): Undo last change.
2452 (displayed_window_lines): Call line_bottom_y to determine
2453 the line's bottom position.
2454
2455 * dispextern.h (line_bottom_y): Add prototype.
2456
52283633 2457 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2458 (pos_visible_p): Use it.
2459
980a2d69
GM
2460 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2461 set redisplaying_p to 0 here instead of in Frecursive_edit.
2462 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2463 set redisplaying_p.
2464
52283633 2465 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2466 New variables.
2467 (syms_of_xdisp): Initialize new variables.
2468 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2469 Specbind `inhibit-menubar-update' when updating the menu bar.
2470
65048e97
GM
2471 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2472 safe_run_hooks.
2473
2474 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2475 safe_run_hooks.
2476
a57c4026
GM
2477 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2478 is null.
2479
aeac019e
GM
2480 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2481 to the start of the file.
2482
76846b31
GM
24832001-02-16 Gerd Moellmann <gerd@gnu.org>
2484
f3f053f3 2485 * window.c (set_window_buffer): Fix last change.
52283633 2486
f3f053f3
GM
2487 * window.c (set_window_buffer): Set window's vscroll to 0.
2488
dad75588
GM
2489 * window.c (coordinates_in_window): Increase width of area
2490 where the vertical line can be dragged.
2491
c220b753
GM
2492 * xterm.c (x_set_glyph_string_background_width): Extend the
2493 background face to the end of the drawing area in the text
2494 area, only.
2495
c56b1c1b
GM
2496 * xdisp.c (handle_single_display_prop): Set iterator's position
2497 to where the `display' property starts, like for images.
2498 (dump_glyph): New function.
2499 (dump_glyph_row): Use it. Dump info about marginal areas.
2500
2501 * dispnew.c (direct_output_for_insert): Recognize more cases where
2502 glyphs can be written instead of being inserted.
2503
2504 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2505 the left x-coordinate of the area to shift.
2506
76846b31
GM
2507 * dired.c (directory_files_internal): Set result list to nil
2508 before retrying.
2509
0fc71a77
KH
25102001-02-15 Kenichi Handa <handa@etl.go.jp>
2511
2512 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2513 invalid multibyte sequence, treat *SRC as a character of
2514 eight-bit-graphic.
2515
25078b54
EZ
25162001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2517
2518 * textprop.c (Fset_text_properties): Doc fix.
2519
8399f8a0
GM
25202001-02-15 Gerd Moellmann <gerd@gnu.org>
2521
2522 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2523
9a2a6f73
DL
25242001-02-14 Dave Love <fx@gnu.org>
2525
2526 * coding.c: Doc and message fixes.
2527
bf853fee
AI
25282001-02-14 Andrew Innes <andrewi@gnu.org>
2529
2530 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2531 Emacs frame above the screen size.
2532
78c663d8
GM
25332001-02-14 Gerd Moellmann <gerd@gnu.org>
2534
2535 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2536
7cc9f69f
GM
25372001-02-13 Gerd Moellmann <gerd@gnu.org>
2538
0a411995
GM
2539 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2540 case that TO ends up beyond ZV after running before-change-functions.
2541
5ddc1b75
GM
2542 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2543 the selected window if it is showing the buffer in question.
2544
7cc9f69f
GM
2545 * dired.c (directory_files_internal): Initialize errno.
2546 (toplevel): Include errno.h.
2547
2e6621ca
GM
25482001-02-13 Kenichi Handa <handa@etl.go.jp>
2549
2550 * xfaces.c (best_matching_font): New parameter width_ratio.
2551 Multiply avgwidth by width_ratio.
2552 (choose_face_font): Call best_matching_font with width_ratio
2553 calculated from the column width of C.
2554
60222d69
AI
25552001-02-12 Andrew Innes <andrewi@gnu.org>
2556
2557 The following changes are to draw box lines inside characters area
2558 if line-width is negative.
52283633 2559
60222d69
AI
2560 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2561 face->box_line_width is negative.
2562 (x_produce_stretch_glyph): Likewise.
2563 (x_produce_glyphs): Likewise.
2564 (x_estimate_mode_line_height): Likewise.
2565 (x_draw_glyph_string_background): Likewise.
2566 (x_draw_glyph_string_foreground): Likewise.
2567 (x_draw_composite_glyph_string_foreground): Likewise.
2568 (x_draw_glyph_string_box): Likewise.
2569 (x_draw_image_foreground): Likewise.
2570 (x_draw_image_relief): Likewise.
2571 (x_draw_image_foreground_1): Likewise.
2572 (x_draw_image_glyph_string): Likewise.
2573
9804b846
KH
25742001-02-09 Kenichi Handa <handa@etl.go.jp>
2575
2576 The following changes are to draw box lines inside characters area
2577 if line-width is negative.
52283633 2578
9804b846
KH
2579 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2580 face->box_line_width is negative.
2581 (x_produce_stretch_glyph): Likewise.
2582 (x_produce_glyphs): Likewise.
2583 (x_estimate_mode_line_height): Likewise.
2584 (x_draw_glyph_string_background): Likewise.
2585 (x_draw_glyph_string_foreground): Likewise.
2586 (x_draw_composite_glyph_string_foreground): Likewise.
2587 (x_draw_glyph_string_box): Likewise.
2588 (x_draw_image_foreground): Likewise.
2589 (x_draw_image_relief): Likewise.
2590 (x_draw_image_foreground_1): Likewise.
2591 (x_draw_image_glyph_string): Likewise.
2592
2593 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2594 and :line-width can be negative.
52283633 2595 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2596
49be9f70
JR
25972001-02-09 Jason Rumney <jasonr@gnu.org>
2598
2599 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2600 characters the same as ASCII and latin-1.
2601 (x_display_and_set_cursor): Check for the focus frame's selected
2602 window instead of selected_window.
2603 (x_after_update_window_line): Don't clear if frame's internal
2604 border width is zero.
2605 (x_new_font): Don't change a tooltip's size.
2606 (w32_initialize): Set char_ins_del_ok to 1.
2607
2608 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2609 (x_set_font): If font hasn't changed, avoid recomputing
2610 faces and other things.
52283633
SM
2611 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2612 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2613 (x_create_tip_frame): Prevent changing the tooltip's
2614 background color by specifying a color for the default font
2615 in .Xdefaults.
2616 (Qcancel_timer): New variable.
2617 (syms_of_w32fns): Initialize and staticpro it.
2618 (Fx_hide_tip, Fx_show_tip): Use it.
2619 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2620 the timer.
2621 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2622
2623 * w32.c (init_environment): Duplicate local string before putenv.
2624
555e35d2
SZ
26252001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2626
2627 * charset.c (Fstring): A typo.
2628
19c92c94
KH
26292001-02-09 Kenichi Handa <handa@etl.go.jp>
2630
e47a1c33
KH
2631 * charset.c (Fstring): If all arguments are less than 256, return
2632 a unibyte string.
2633
2634 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2635 return a unibyte string.
2636
19c92c94
KH
2637 * coding.c (code_convert_region): After detecting a coding, if
2638 nothing found, set coding->composing to COMPOSITION_NO.
2639 (decode_coding_string): Likewise.
2640
d8e675f5
SM
26412001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2642
2643 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2644 to avoid overflow.
2645
bd503487
KH
26462001-02-07 Kenichi Handa <handa@etl.go.jp>
2647
2648 * charset.c (parse_str_to_multibyte): New function.
2649
2650 * charset.h (parse_str_to_multibyte): Extern it.
2651
2652 * print.c (print_string): If we are going to print a unibyte
2653 string into a multibyte buffer, convert the string to multibyte by
2654 str_to_multibyte.
2655
a8370d72
AI
26562001-02-06 Andrew Innes <andrewi@gnu.org>
2657
2658 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2659 been created. It seems we can get sent window messages such as
2660 WM_ERASEBKGND before we properly update a frame.
2661
c363a1d6
GM
26622001-02-06 Gerd Moellmann <gerd@gnu.org>
2663
2664 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2665 Avoid some unnecessary cursor positioning.
2666
a08332c0
GM
26672001-02-05 Gerd Moellmann <gerd@gnu.org>
2668
52283633 2669 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2670 (LFACE_AVGWIDTH): New macro.
2671 (LFACEP): Use AREF.
2672 (check_lface_attrs): Check LFACE_AVGWIDTH.
2673 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2674 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2675 (merge_face_vectors): Check LFACE_AVGWIDTH.
2676 (Finternal_make_lisp_face): Use AREF.
2677 (xm_set_menu_resources_from_menu_face)
2678 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2679 (Finternal_lisp_face_empty_p): Use AREF.
2680 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2681 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2682 Compare average widths..
2683 (best_matching_font): Arrange for comparing average widths.
2684
52283633
SM
2685 * dispextern.h (enum lface_attribute_index):
2686 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2687
5cb3c8d4
DL
26882001-02-05 Dave Love <fx@gnu.org>
2689
2690 * puresize.h: Revert last change following loadup.el change.
2691
193fba87
AI
26922001-02-05 Andrew Innes <andrewi@gnu.org>
2693
2694 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2695 invocation of temacs, to work with Windows 2000.
2696 (bootstrap-emacs): Ditto.
2697
e16f52ce
GM
26982001-02-05 Gerd Moellmann <gerd@gnu.org>
2699
7a58ab59
GM
2700 * xterm.c (x_display_and_set_cursor): Check for the focus
2701 frame's selected window instead of selected_window.
2702
e89aaabd
GM
2703 * xdisp.c (try_scrolling): If point is in the line below the
2704 window, make sure to move the iterator at least a canonical
2705 char height down.
2706
52283633 2707 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2708
789ce875
KH
27092001-02-05 Kenichi Handa <handa@etl.go.jp>
2710
52283633
SM
2711 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2712 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2713 (ccl_driver): If the CCL program is terminated because of
2714 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2715 destination instead of throwing them away.
2716
20b28f82
GM
27172001-02-02 Gerd Moellmann <gerd@gnu.org>
2718
79fb38c0
GM
2719 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2720 faces and other things.
2721
20b28f82
GM
2722 * xdisp.c (get_next_display_element): Fix case of empty
2723 display table entry.
2724
5a72551e
EZ
27252001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2726
eb24d0bf
EZ
2727 * editfns.c (Fconstrain_to_field): Doc fix.
2728
6a3f48c7
EZ
2729 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2730 into `thoroughly', to make it consistent with the doc string.
2731
5a72551e
EZ
2732 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2733
01acdb05
GM
27342001-02-01 Gerd Moellmann <gerd@gnu.org>
2735
0353b28f
GM
2736 * search.c (search_buffer): Call set_search_regs with a byte
2737 position, not a character position.
2738
01acdb05
GM
2739 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2740 minibuffer-only,
2741
e86b5133
EZ
27422001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2743
2744 * frame.c (Fmodify_frame_parameters): Doc fix.
2745
7442878f
GM
27462001-01-31 Gerd Moellmann <gerd@gnu.org>
2747
01acdb05
GM
2748 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2749 identifier which is not reserved by Standard C.
52283633 2750
7442878f
GM
2751 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2752
2753 * window.c (enum window_part): New enumeration.
2754 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2755 Qright_bitmap_area.
2756 (coordinates_in_window): Return an enumerator from enum
2757 window_part. Fix handling of right scroll bar.
2758 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2759 `right-fringe' instead of `left-bitmap-area' and
2760 `right-bitmap-area'. Use enumerators from enum window_part
2761 instead of hard-coded integers.
52283633
SM
2762 (check_window_containing, window_from_coordinates):
2763 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2764 (syms_of_window): Replace Qleft_bitmap_area and
2765 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2766
7c132cba
EZ
27672001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2768
2769 * editfns.c (Fformat_time_string): Doc fix.
2770
c359dd9e
SM
27712001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2772
2773 * keymap.c (Fwhere_is_internal): Use the first valid binding
2774 if no ascii binding is found (when firstonly is t).
2775
ce070307
GM
27762001-01-31 Gerd Moellmann <gerd@gnu.org>
2777
b4f30ec5
GM
2778 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2779 instead of Finteractive_p.
2780
2781 * lisp.h (interactive_p): Add prototype.
2782
2783 * eval.c (interactive_p): New function.
2784 (Finteractive_p): Use it.
2785
ce070307
GM
2786 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2787
f57b6e64
DL
27882001-01-31 Dave Love <fx@gnu.org>
2789
d61c7afe
DL
2790 * .gdbinit (hook-run): Define to run xreload.
2791
f57b6e64
DL
2792 * textprop.c (Fset_text_properties): Fix newline in doc string.
2793
eef93f99
GM
27942001-01-30 Gerd Moellmann <gerd@gnu.org>
2795
52283633
SM
2796 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2797 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2798
2799 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2800 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2801 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2802
2803 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2804 height.
2805
d9c1f6f9
DL
28062001-01-30 Dave Love <fx@gnu.org>
2807
2808 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2809 AFTER_POTENTIAL_GC.
2810
e8f044a0
GM
28112001-01-29 Gerd Moellmann <gerd@gnu.org>
2812
52283633
SM
2813 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2814 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2815
8e1db7b3
EZ
28162001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2817
2818 * textprop.c (Fset_text_properties): Doc fix.
2819
4eefd9d2
GM
28202001-01-29 Gerd Moellmann <gerd@gnu.org>
2821
2822 * xdisp.c (forward_to_next_line_start): Remove xassert.
2823
fccb8288
EZ
28242001-01-29 Jason Rumney <jasonr@gnu.org>
2825
4eefd9d2 2826 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2827 returning without releasing it.
2828
76581eab
KH
28292001-01-29 Kenichi Handa <handa@etl.go.jp>
2830
2831 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2832 for '^', '$', and '\0'.
2833
83a96b4d
AC
28342001-01-28 Andrew Choi <akochoi@i-cable.com>
2835
5604ec34
AC
2836 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2837 regex for '^', '$', and '\0'.
2838
83a96b4d
AC
2839 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2840 only if current_sblock has been initialized.
2841
2842 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2843 terminal frame even if it is the only visible frame.
2844
c09a6440
KH
28452001-01-28 Kenichi Handa <handa@etl.go.jp>
2846
2847 * fontset.c (font_family_registry): Even if FONTNAME conform to
2848 XLFD, if it specifies other fields than family and registry,
52283633 2849 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2850 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2851 a signle byte character. Don't set FAMILY part to nil here.
2852 It is handled by the caller choose_face_font.
c09a6440
KH
2853 (Fnew_fontset): Call font_family_registry with FORCE 0.
2854 (Fset_fontset_font): Likewise.
2855
4dcd74e6
GM
28562001-01-27 Gerd Moellmann <gerd@gnu.org>
2857
2858 * xdisp.c (display_line): Don't treat a newline as fitting
2859 on the line.
2860
d2906bf8
GM
28612001-01-26 Gerd Moellmann <gerd@gnu.org>
2862
0130fe1a
GM
2863 * window.c (size_window): Set the window's orig_top to nil when
2864 changing heights, so that a future shrink_mini_window won't
2865 restore a bogus height.
2866
550f0e6a
GM
2867 * frame.c (do_switch_frame): If selected frame has a mini-window,
2868 resize that to exact size.
2869
b7b20fbd
GM
2870 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2871
a47b7816
GM
2872 * xdisp.c (display_line): Simplify check for glyphs fitting
2873 entirely in the line.
2874
d2906bf8
GM
2875 * xfns.c (xic_style): New variable.
2876 (create_frame_xic): Move static variable to global scope for
550f0e6a 2877 the case that `static' gets defined away.
d2906bf8 2878
73df2b1e
KH
28792001-01-26 Kenichi Handa <handa@etl.go.jp>
2880
2881 * coding.c (decode_coding): Set a flag for inhibiting
2882 inconsistent eol.
2883 (code_convert_region): Always set saved_coding_symbol.
2884 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2885 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2886
6613cfc4
GM
28872001-01-25 Gerd Moellmann <gerd@gnu.org>
2888
c5e6e06b
GM
2889 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2890 XClearArea.
2891
2892 * xterm.c (x_after_update_window_line): Don't clear if frame's
2893 internal border width is zero.
2894 (x_clear_area): New function.
2895 (x_after_update_window_line, x_clear_end_of_line)
2896 (x_scroll_bar_create, x_scroll_bar_set_handle)
2897 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2898 instead of XClearArea.
2899
2900 * xterm.h (x_clear_area): Add prototype.
2901
6613cfc4
GM
2902 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2903 which doesn't seem necessary anymore with Lesstif 0.92.
2904
650cc6cc
DL
29052001-01-25 Dave Love <fx@gnu.org>
2906
34ac3367
DL
2907 * puresize.h (BASE_PURESIZE): Up to 720000.
2908
650cc6cc
DL
2909 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2910
5e37dc22
GM
29112001-01-25 Gerd Moellmann <gerd@gnu.org>
2912
e1e441f9
GM
2913 * xdisp.c (echo_area_display): Don't call redisplay_internal
2914 when Emacs is shutting down. We can't run hooks etc. that
2915 would be necessary to do a redisplay.
2916
5e37dc22
GM
2917 * lread.c (read_integer): Use type EMACS_INT instead of int.
2918
0fb94c7f
EZ
29192001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2920
2921 * ccl.c (ccl_driver): Fix last change.
2922
e3778624
KH
29232001-01-25 Kenichi Handa <handa@etl.go.jp>
2924
2925 * ccl.h (sturct ccl_program): New member suppress_error.
2926
bb264518 2927 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2928 insert error message to the output.
2929 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2930
2931 * coding.h (struct coding_system): New member suppress_error.
2932
2933 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2934 (Fset_terminal_coding_system_internal): Set the member
2935 suppress_error to 1.
2936 (Fset_safe_terminal_coding_system_internal): Likewise.
2937
245ed2b1
SM
29382001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2939
2940 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2941 as if it was a `charset'.
2942
f9aaedb6
GM
29432001-01-24 Gerd Moellmann <gerd@gnu.org>
2944
2945 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2946 value in where_is_cache; the next lookup in the cache returns
2947 something bogus if we do.
2948
c3902c3e
EZ
29492001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2950
2951 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2952 if HAVE_WINDOW_SYSTEM isn't defined.
2953
3497f73e
GM
29542001-01-24 Gerd Moellmann <gerd@gnu.org>
2955
e7e41584
GM
2956 * fns.c (sweep_weak_table): Fix code taking items out of
2957 the hash collision chain. Some cleanup.
2958
3497f73e
GM
2959 * xterm.c (x_new_font): Don't change a tooltip's size.
2960
2961 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2962 background color by specifying a color for the default font
2963 in .Xdefaults.
2964
3d48e687
KH
29652001-01-24 Kenichi Handa <handa@etl.go.jp>
2966
96531b20
KH
2967 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2968 a workaround for SunOS 4's cc.
2969 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2970 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2971 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2972 statement.
3d48e687 2973
a30629d2
GM
29742001-01-23 Gerd Moellmann <gerd@gnu.org>
2975
2976 * xterm.c (x_set_window_size_1): New function extracted from
2977 x_set_window_size.
2978 (x_set_window_size): Use it.
2979 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2980 doesn't have a widget, like tooltips.
2981
5a43decf
EZ
29822001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2983
52283633 2984 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2985
b0e98867
KH
29862001-01-23 Kenichi Handa <handa@etl.go.jp>
2987
2988 * fns.c (Fset_char_table_default): Fix to make sub char-table
2989 correctly.
2990
50606b4c
GM
29912001-01-22 Gerd Moellmann <gerd@gnu.org>
2992
cb2ddc53 2993 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2994 a desired tool bar string, even if there are no tool bar items.
2995
57c28064
GM
2996 * xdisp.c (Ftool_bar_lines_needed): New function.
2997 (syms_of_xdisp): Defsubr it.
2998
50606b4c
GM
2999 * editfns.c (Fformat): Don't extend text properties from arguments
3000 to padding chars in the result.
3001
2f169c38
EZ
30022001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3003
3004 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3005
0f32f023
AI
30062001-01-20 Andrew Innes <andrewi@gnu.org>
3007
52283633 3008 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3009 (w32_initialize): Don't set term hooks that aren't actually needed
3010 in windowed mode.
3011
3012 * xfaces.c (realize_default_face):
3013 (realize_face):
3014 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3015
3016 * xdisp.c (handle_single_display_prop): Remove references to
3017 FRAME_W32_CONSOLE_P.
3018
52283633 3019 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3020
3021 * frame.h (output_method): Remove output_w32_console method.
3022 (FRAME_W32_CONSOLE_P): Remove macro.
3023
3024 * frame.c (Qw32_console): Remove variable.
3025 (Fframep): Remove references to it.
3026 (syms_of_frame): Ditto.
3027 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3028
3029 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3030 redefinition.
3031
7173eada
KH
30322001-01-20 Kenichi Handa <handa@etl.go.jp>
3033
3034 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3035
755b45ce
AI
30362001-01-19 Andrew Innes <andrewi@gnu.org>
3037
3038 * w32.c (init_environment): Add a version-independent site-lisp
3039 directory to EMACSLOADPATH, after the version dependent one.
3040
0a949811
GM
30412001-01-19 Gerd Moellmann <gerd@gnu.org>
3042
8501998a
GM
3043 * editfns.c (Fbuffer_substring): Doc fix.
3044
52283633
SM
3045 * xdisp.c (message_dolog, message2, message2_nolog):
3046 Rename parameter LEN to NBYTES.
0a949811 3047
e6ebcbbe
KH
30482001-01-19 Kenichi Handa <handa@etl.go.jp>
3049
200ecca2
KH
3050 * charset.c (strwidth): Use c_string_width.
3051 (c_string_width): New function.
3052 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3053 Caller changed.
3054
3055 * charset.h (c_string_width, lisp_string_width): Extern them.
3056
52283633 3057 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3058
e6ebcbbe
KH
3059 * indent.c (check_composition): Check validity of composition.
3060
200ecca2
KH
3061 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3062 characters by calling c_string_width.
3063 (x_consider_frame_title): Get byte length of frame tile string
3064 correctly.
3065 (display_mode_element): Pay attention to width of non-ASCII
3066 characters by calling strwidth.
3067
8692ca92
GM
30682001-01-18 Gerd Moellmann <gerd@gnu.org>
3069
8962e303
GM
3070 * xfns.c (Qcancel_timer): New variable.
3071 (syms_of_xfns): Initialize and staticpro it.
3072 (Fx_hide_tip, Fx_show_tip): Use it.
3073 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3074 the timer.
3075 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3076
91523be9
GM
3077 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3078
3079 * window.h (WINDOW_LIVE_P): New macro.
3080
b0b7ed0e
GM
3081 * window.c (window_size_fixed): New variable.
3082 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3083 the doc string.
3084
06bccf8e
GM
3085 * eval.c (specbind): If binding a per-buffer variable which
3086 doesn't have a buffer-local value in the current buffer, change
3087 the global value by changing the value of the symbol bound in all
3088 buffers not having their own value, to make it consistent with
3089 what happens with other buffer-local variables.
3090
8692ca92
GM
3091 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3092
3093 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3094 when searching for a newline.
3095
bb3a3b50
KH
30962001-01-18 Kenichi Handa <handa@etl.go.jp>
3097
3098 * xdisp.c (display_string): Fix previous change.
3099
c2cc16fa
JR
31002001-01-18 Jason Rumney <jasonr@gnu.org>
3101
3102 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3103 GLYPH_DEBUG is defined.
3104 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3105 true for images with `:ascent 100'.
3106 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3107 meantime, use face MOUSE_FACE_ID.
3108 If first glyph isn't a character glyph, use the ASCII NUL
3109 character to determine the face.
3110 (expose_area): Do not treat left margin specially.
3111 (note_mode_line_highlight): If no local_map, check global keymap.
3112 (note_mouse_highlight): Initialize overlay.
52283633 3113 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3114 (show_scroll_bars): Remove unused function.
3115 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3116 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3117 Clip to row.
52283633 3118 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3119 (x_free_frame_resources): Unload relief colors.
3120
9c11f79e
GM
31212001-01-17 Gerd Moellmann <gerd@gnu.org>
3122
3aec8722 3123 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3124 get_next_display_element when the newline is already found.
3125 This may change the iterator's position, when its current position is
3aec8722
GM
3126 equal to the iterator's stop_charpos.
3127
f3ffc2c3
GM
3128 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3129 zero, use this method only at the end of a line.
3130
52283633 3131 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3132 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3133 if SCALABLE_FONTS_P is set.
52283633 3134
d26d6fd9
GM
3135 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3136 so that scalable fonts are included.
3137
9c11f79e
GM
3138 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3139 In the cache, use a key containing the information if scalable
3140 fonts are included.
3141 (x_load_font): Adapt to change of keys in the font cache.
3142
31432001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3144
d26d6fd9
GM
3145 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3146 XListFonts to take advantage of font caching.
3147
9c11f79e
GM
3148 * xterm.c (x_list_fonts): Ensure caching font information when
3149 called for a null frame, which is the case frequently when Emacs
3150 starts.
3151
51446987
GM
31522001-01-17 Gerd Moellmann <gerd@gnu.org>
3153
f864120f
GM
3154 * xfns.c (QCconversion): Replaces QCalgorithm.
3155
3156 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3157
3158 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3159 of :algorithm.
52283633 3160
e37d1417
GM
3161 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3162 not everything could be displayed.
3163
51446987
GM
3164 * line.h, x-list-font.c: Files removed because unused.
3165
9ad4f3e5
AI
31662001-01-17 Andrew Innes <andrewi@gnu.org>
3167
3168 * dired.c (directory_files_internal): Convert result from readdir
3169 to a unibyte string initially, to avoid possible misinterpretation
3170 of some bytes as the internal form of Emacs characters.
3171
2eda09b5
KH
31722001-01-17 Kenichi Handa <handa@etl.go.jp>
3173
3174 * fns.c (concat): Be sure to avoid putting the same `composition'
3175 property on the adjacent regions.
3176
826f3788
GM
31772001-01-16 Gerd Moellmann <gerd@gnu.org>
3178
52283633 3179 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3180 (Fscroll_right, Fscroll_left): Set it here instead, if called
3181 interactively.
3182
d57b83b3
GM
3183 * buffer.c (Fset_buffer_modified_p): Set buffer's
3184 prevent_redisplay_optimizations_p flag.
3185
826f3788 3186 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3187 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3188 with additional arg.
3189
3190 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3191 Change prototype.
826f3788 3192
826f3788
GM
3193 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3194 FROM_WHERE, for debugging.
3195
261d788b
KH
31962001-01-16 Kenichi Handa <handa@etl.go.jp>
3197
3198 * ccl.c (Fregister_ccl_program): Handle the return value of
3199 resolve_symbol_ccl_program correctly.
52283633 3200 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3201
bccee4f2
GM
32022001-01-15 Gerd Moellmann <gerd@gnu.org>
3203
e4ded23c
GM
3204 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3205 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3206
3207 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3208 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3209 the display; we didn't open it.
3210
bccee4f2
GM
3211 * dispnew.c (save_or_restore_current_matrices): Function removed.
3212 (save_current_matrix, restore_current_matrix): New functions.
3213 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3214 restore the frame's current matrix. Due to the glyph pointer
3215 setup done in adjust_glyph_matrix, there is no easy way to make
3216 saving the current matrix in the desired matrix generally correct,
3217 so don't try it.
3218
ebeccffa
KH
32192001-01-15 Kenichi Handa <handa@etl.go.jp>
3220
3221 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3222 truncation glyphs.
3223 (display_line): Optimize for wide characters.
e4ded23c 3224 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3225 partially. On ttys, produce more than one truncation glyph for
3226 multi-column characters that don't fit on the line.
3227
64388126
KH
32282001-01-13 Kenichi Handa <handa@etl.go.jp>
3229
52283633
SM
3230 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3231 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3232
8edb0a6f
JR
32332001-01-13 Jason Rumney <jasonr@gnu.org>
3234
3235 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3236 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3237 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3238 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3239
52283633
SM
3240 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3241 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3242 (x_draw_image_glyph_string): Adapt to change of image margins.
3243
3244 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3245 variables.
3246
3247 * w32bdf.c (search_file_line, get_cached_font_char)
3248 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3249
3250 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3251
3252 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3253 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3254 (Fw32_send_sys_command): Remove unused variables.
3255 (w32_msg_pump): Add parentheses.
3256
3257 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3258 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3259 Add parentheses.
3260
4956d1ef
GM
32612001-01-12 Gerd Moellmann <gerd@gnu.org>
3262
b30623be
GM
3263 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3264 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3265 being a pair of margins.
3266 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3267 to DEFVAR_LISP. Extend doc.
3268
3269 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3270 margins.
3271 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3272 pair of integers `(X . Y)', use X for the horizontal and Y for the
3273 vertical margin.
3274 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3275 (parse_image_spec): Check it.
52283633
SM
3276 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3277 (tiff_format, gif_format, gs_format):
3278 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3279
52283633
SM
3280 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3281 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3282 (x_draw_image_glyph_string): Adapt to the change of image margins.
3283
3284 * dispextern.h (struct image): Replace member `margin' with
3285 `hmargin' and `vmargin'.
3286
4554cc79
GM
3287 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3288 and GLYPHS.
3289
3290 * dispnew.c (update_text_area): Put code which decrements the
3291 stop position when the row's face extends to the end of the
3bffc665 3292 line in #if 0.
4554cc79 3293
3cccce8d
GM
3294 * xfns.c (x_set_mouse_color): Fix color allocation.
3295
4956d1ef
GM
3296 * keyboard.c: Call get_local_map with new argument list.
3297
3298 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3299
3300 * intervals.h (enum map_property): Removed.
3301 (get_local_map): Change prototype.
3302
3303 * keymap.c: Call get_local_map with new argument list.
3304 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3305
2c2ff7f2
GM
33062001-01-11 Gerd Moellmann <gerd@gnu.org>
3307
a23887b9
GM
3308 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3309 of the size needed for the tool bar string. For the last image,
3310 use a `display' property that reaches to the end of the string.
3311
a7ee2d2e
GM
3312 * xselect.c (selection_request_dpyinfo): New variable.
3313 (x_handle_selection_request): Set it.
3314 (x_selection_request_lisp_error): Don't call
3315 x_decline_selection_request if selection request's display has
3316 been closed.
3317
52283633
SM
3318 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3319 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3320
457b792c
GM
33212001-01-10 Dave Love <fx@gnu.org>
3322
3323 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3324 ${SOME_MACHINE_LISP}, not ${lisp}.
3325
c1efd260
GM
33262001-01-10 Gerd Moellmann <gerd@gnu.org>
3327
52283633
SM
3328 * xdisp.c (display_line): On ttys, produce more than one truncation
3329 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3330
ac95a621
GM
3331 * xselect.c (x_reply_selection_request): Add a comment.
3332
c1efd260
GM
3333 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3334 XkbGetNames instead of XkbGetKeyboard.
3335
1bfb1345
DL
33362001-01-10 Dave Love <fx@gnu.org>
3337
3338 * sysdep.c (random): Revert the declaration.
3339
38119822
GM
33402001-01-09 Gerd Moellmann <gerd@gnu.org>
3341
52283633
SM
3342 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3343 Call function string_bytes.
35f464a7
GM
3344 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3345
3346 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3347 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3348 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3349 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3350 the current sblock.
3351 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3352 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3353 after sweeping strings, and at the end.
3354 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3355
38119822
GM
3356 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3357 ensure that pop_message is called.
3358
3359 * keyboard.c (Fexecute_extended_command): Use a
3360 record_unwind_protect to ensure that pop_message is called.
3361
3362 * lisp.h (push_message_unwind): Add prototype.
3363
3364 * xdisp.c (push_message_unwind): New function.
3365
3366 * fileio.c (do_auto_save_unwind): Do the pop_message here
3367 instead of in Fdo_auto_save.
3368 (Fdo_auto_save): Don't call pop_message.
3369
f47a9ec4
KR
33702001-01-08 Ken Raeburn <raeburn@gnu.org>
3371
3372 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3373 in inner block.
3374
a758f97d
GM
33752001-01-08 Gerd Moellmann <gerd@gnu.org>
3376
6d0afc03
GM
3377 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3378 when increasing window's vscroll.
3379
a758f97d
GM
3380 * macros.c (Qkbd_macro_termination_hook): New variable.
3381 (syms_of_macros): Initialize and staticpro it.
3382 (pop_kbd_macro): Run kbd-macro-termination-hook.
3383
3384 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3385
1bfb1345 33862001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3387
3388 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3389 arglist, for documentation's sake.
3390
0dac6924
AI
33912001-01-06 Andrew Innes <andrewi@gnu.org>
3392
3393 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3394 of *.pdb.
3395
8182406a
AI
33962001-01-05 Andrew Innes <andrewi@gnu.org>
3397
3398 * term.c (update_end): Don't check updating_frame; for some reason
3399 this can be 0 sometimes, such as after dismissing a popup menu,
3400 and isn't necessary given the explicit frame argument.
3401
3828218c
GM
34022001-01-05 Gerd Moellmann <gerd@gnu.org>
3403
3404 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3405 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3406
2f5ded21
GM
34072001-01-04 Gerd Moellmann <gerd@gnu.org>
3408
52283633 3409 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3410
3411 * xfns.c (x_create_tip_frame): Preserve the value of
3412 face_change_count around the creation of the tip frame.
52283633 3413
2f5ded21
GM
3414 * xfns.c (last_show_tip_args): New variable.
3415 (compute_tip_xy): New function.
3416 (Fx_show_tip): Reuse an existing tip frame, if possible.
3417 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3418
dfad65fa
DL
34192001-01-04 Dave Love <fx@gnu.org>
3420
64d4ec0f
DL
3421 * editfns.c (Fformat): Doc fix.
3422
dfad65fa
DL
3423 * systime.h (set_file_times): Prototype.
3424
3425 * widget.h (EmacsFrameSetCharSize_): Prototype.
3426
3427 * sysdep.c (random, srandom): Declare explicitly.
3428
3429 * dispextern.h (move_it_vertically_backward): Declare.
3430
85fe3b5e
GM
34312001-01-04 Gerd Moellmann <gerd@gnu.org>
3432
0f2ac578
GM
3433 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3434 like in Fx_create_frame.
3435
482cca61
GM
3436 * xfaces.c (set_font_frame_param): Don't do anything for
3437 non-graphical frames.
3438
85fe3b5e
GM
3439 * window.c (Fdelete_other_windows): Set window's window_end_valid
3440 to nil when changing the window's start. Don't change the
3441 window's start when its top position hasn't changed. If we do,
3442 this will set the window's optional_new_start, which act's like a
3443 force_start during redisplay with C-x 1 M-> under particular
3444 circumstances (see report from Per Starback to emacs-pretest-bug
3445 from 2000-12-13.).
3446
3e99d3b4
GM
34472001-01-03 Gerd Moellmann <gerd@gnu.org>
3448
a77dc1ec
GM
3449 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3450 short cut at the start of the function. Add an assertion.
3451 (reseat_at_next_visible_line_start): Add an assertion.
3452
2f3cad6c
GM
3453 * window.c (Frecenter): When changing the window start, set the
3454 window's window_end_valid to nil.
3455 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3456
3457 * dispextern.h (move_it_past_eol): Add prototype.
3458
3459 * xdisp.c (move_it_past_eol): New function.
3460
3e99d3b4
GM
3461 * window.c (Fwindow_end): Doc fix.
3462
34632001-01-03 Dave Love <fx@gnu.org>
3464
52283633 3465 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3466
bafb434c
GM
34672001-01-03 Gerd Moellmann <gerd@gnu.org>
3468
3469 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3470 the enabled_p flag of the glyph row at window_end_vpos to 0.
3471 (handle_single_display_prop): Fix last change.
3472
5297fb00
RS
34732001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3474
3475 * window.c (Frecenter): Doc fix.
3476
13d6a61c
AI
34772001-01-02 Andrew Innes <andrewi@gnu.org>
3478
3479 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3480
3481 * frame.h (output_method): Add output_w32_console method.
3482 (FRAME_W32_CONSOLE_P): New macro.
3483
3484 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3485 use output_w32_console method.
3486 (Qw32_console): New Lisp_Object.
3487 (Fframep): Return it.
3488 (syms_of_frame): Init it.
52283633 3489 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3490
3491 * xfaces.c (realize_default_face): Set face foreground and
3492 background to unspecified for w32_console frames.
3493 (realize_face): Realize face cache for w32_console frames.
3494 (realize_tty_face): Accept w32_console frames.
3495
52283633 3496 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3497 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3498 necessary, even if running interactively.
3499
3500 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3501 w32_console frames.
3502
52283633
SM
3503 * w32term.c (x_update_begin):
3504 (x_update_end):
3505 (x_clear_frame):
3506 (x_ins_del_lines):
3507 (x_change_line_highlight):
3508 (x_delete_glyphs):
3509 (w32_ring_bell):
3510 (x_update_begin):
3511 (x_update_end):
3512 (w32_reassert_line_highlight):
3513 (w32_frame_rehighlight):
13d6a61c
AI
3514 (w32_frame_raise_lower): Do nothing if not w32 frame.
3515
3516 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3517
3518 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3519 system doesn't tell us directly.
3520 (Fx_display_visual_class): Implement properly.
3521
d6bb0c0d
GM
35222001-01-02 Gerd Moellmann <gerd@gnu.org>
3523
3524 * window.c (Frecenter): Handle centering in graphical frames
3525 specially. Centering on the basis of line counts doesn't work
3526 reliably with variable-height lines.
52283633 3527
315f5865
EZ
35282001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3529
3530 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3531 and al[].
3532
52283633 3533 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3534 (update_compositions): Remove unused variable `hook'.
3535
3536 * intervals.c (get_local_map): Remove unused variable `tem'.
3537
3538 * doprnt.c (doprnt1): Remove unused variable `size'.
3539
3540 * fns.c (Flength): Remove unused variable `tail'.
3541 (Fdelete): Remove unused variable `size'.
3542
3543 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3544 and `gcpro2'.
3545
52283633 3546 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3547
3548 * data.c (find_symbol_value): Remove extra 3rd argument in the
3549 call to swap_in_symval_forwarding.
3550
52283633 3551 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3552
3553 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3554 (trivial_regexp_p): Remove unused variable `c'.
3555 (boyer_moore): Remove unused variable `k'.
3556
3557 * indent.c (current_column): Remove unused variable `stopchar'.
3558 (Fcompute_motion): Remove unused variable `contin'.
3559
3560 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3561
3562 * dired.c (directory_files_internal): Fix a typo in a comment.
3563 Remove an unused variable `handler'.
52283633 3564 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3565 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3566 on BSD4_2.
3567
52283633 3568 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3569
3570 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3571 and `buf'.
3572 (Fmarker_insertion_type): Remove unused variable `buf'.
3573
3574 * insdel.c (make_gap): Remove unused variable `result'.
3575
52283633 3576 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3577 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3578 (menu_bar_items): Remove unused function-scope variable `tem'.
3579
3580 * fontset.c (fontset_ref): Remove unused variable `i'.
3581 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3582 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3583 (make_fontset_for_ascii_face): Remove unused variable `name'.
3584 (fs_load_font): Remove unused variable `font_idx'.
52283633 3585 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3586 (list_fontsets): Remove unused variable `tail'.
3587 (Fnew_fontset): Remove unused variables `family' and `registry'.
3588 (accumulate_font_info): Remove unused variable `tmp'.
3589 (Ffontset_font): Remove unused variable `id'.
3590 (syms_of_fontset): Remove unused variable `i'.
3591
3592 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3593 to x_term_init.
3594 (lookup_image): Remove unused variable `file'.
3595 (xbm_load): Remove unused variables `bitmap_data', `height', and
3596 `width'. Remove function-local variable `i', leave the
3597 block-local one.
3598 (gif_load): Remove unused variable `inc'.
3599
52283633 3600 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3601 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3602 leave only the one in the inner block.
3603
3604 * xfaces.c (face_fontset, realize_default_face): Remove unused
3605 variable `fontset'.
3606 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3607
3608 * term.c (encode_terminal_code): Remove unused variable `c'.
3609
3610 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3611 char *' instead of `char *'.
3612
3613 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3614 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3615 (Fchar_category_set): Remove unused variables `val', `charset',
3616 `c1' and `c2'.
3617
52283633
SM
3618 * coding.c (detect_coding_iso2022, setup_coding_system):
3619 Remove unused variable `i'.
315f5865
EZ
3620 (detect_coding_mask): Remove unused variable `idx'.
3621 (detect_coding): Remove unused variable `i'.
3622 (ccl_coding_driver): Remove unused variable `result'.
3623 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3624 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3625 (encode_coding_string): Remove unused variables `gcpro1' and
3626 `saved_coding_symbol'.
3627 (Ffind_coding_systems_region_internal): Remove function-local
3628 variable args[], leave only the block-local one.
3629 (code_convert_region1): Remove unused variable `len'.
3630
3631 * charset.c (char_printable_p): Remove unused variable `chars'.
3632 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3633 (str_to_multibyte): Remove unused variable `c'.
3634
3635 * window.c (size_window): Remove block-local variable `min_size'.
3636
3637 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3638 `header_line_height'.
3639 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3640 enum display_element_type.
3641
1a8a9daf
GM
36422001-01-02 Gerd Moellmann <gerd@gnu.org>
3643
6dde6abc 3644 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3645 statements that call X. Save away the error message in a local copy.
3646
1883b2c6
GM
3647 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3648 the start.
3649
a13be207
GM
3650 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3651 in or at the start of invisible text.
3652
1a8a9daf
GM
3653 * dispnew.c (update_window): Don't check_current_matrix_flags.
3654
3608c0f9
JR
36552001-01-01 Jason Rumney <jasonr@gnu.org>
3656
3657 * w32fns.c (x_figure_window_size): Do not allow new_height and
3658 new_width of frame to override specified values.
3659
abb1acc4
KH
36602000-12-30 Kenichi Handa <handa@etl.go.jp>
3661
52283633 3662 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3663
762a68ec
GM
36642000-12-29 Gerd Moellmann <gerd@gnu.org>
3665
52283633 3666 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3667 (update_window) [GLYPH_DEBUG]: Call it.
3668 (scrolling_window): Prevent including current rows which are below
3669 what's displayed in the window.
3670
3671 * xdisp.c (try_window_reusing_current_matrix)
3672 <new start <= old start>: Disable rows in the current matrix
3673 which are below the window after scrolling.
52283633 3674
762a68ec
GM
3675 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3676 is zero. It's not worth the complexity.
3677 (invisible_text_between_p): Put in #if 0 because unused.
3678
2d5912c1
GM
36792000-12-28 Gerd Moellmann <gerd@gnu.org>
3680
46f6a258
GM
3681 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3682 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3683
89f93679
GM
3684 * keyboard.c (echo_char): If C is an integer, always call
3685 push_key_description. Former code could signal an invalid
3686 character error.
3687
3688 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3689 If set, print multibyte text.
3690 (Fsingle_key_description): Call push_key_description with
3691 FORCE_MULTIBYTE set.
3692 (describe_buffer_bindings): Likewise.
3693
3694 * lisp.h (push_key_description): Add prototype.
3695
c06017fb
GM
3696 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3697 around the call to redisplay_internal.
3698
f1d2ce7f
GM
3699 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3700
2d5912c1
GM
3701 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3702
9371f831
KH
37032000-12-28 Kenichi Handa <handa@etl.go.jp>
3704
3705 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3706 (ccl_driver): New local variable `extra_bytes'.
3707
3708 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3709
52283633
SM
3710 * coding.c (setup_coding_system):
3711 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3712 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3713
0c80628a
KH
37142000-12-28 Kenichi Handa <handa@etl.go.jp>
3715
3716 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3717 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3718 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3719 (decode_composition_emacs_mule): New function.
3720 (decode_coding_emacs_mule): Decode composition sequence by calling
3721 decode_composition_emacs_mule.
3722 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3723 (encode_coding_emacs_mule): Changed from macro to function.
3724 If a text contains compositions, encode them correctly.
0c80628a
KH
3725 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3726 that decoding and encoding are required.
3727
3e32cc27
GM
37282000-12-27 Gerd Moellmann <gerd@gnu.org>
3729
5e25feee
GM
3730 * xfaces.c (PT_PER_INCH): New macro.
3731 (xlfd_point_size): Compute real point size from font's pixel size.
3732 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3733 instead of 72.
3734
892d8fcd
GM
3735 * .gdbinit: Comment out the line pointing to the Lesstif source
3736 directory.
3737
12c8b416
GM
3738 * window.c (Frecenter): Use displayed_window_lines instead
3739 of window_internal_height.
3740
6061fbf0
GM
3741 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3742 instead of x-toolkit-scroll-bars-p.
3743 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3744
3745 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3746 instead of x-toolkit-scroll-bars-p.
3747 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3748
3e32cc27
GM
3749 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3750 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3751 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3752 New variables.
3753 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3754 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3755 (build_frame_matrix_from_leaf_window): Remove unused code.
3756 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3757 redisplay history.
3758 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3759 (update_window) [GLYPH_DEBUG]: Likewise.
3760 (syms_of_display): Defsubr dump-redisplay-history.
3761
31798cfe
GM
37622000-12-23 Gerd Moellmann <gerd@gnu.org>
3763
f717c2ba
GM
3764 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3765 the end of the prompt. Set echo_after_prompt to the offset
3766 of echoptr in echobuf.
3767
aeb2b8fc
GM
3768 * xdisp.c (init_from_display_pos): Pop until the iterator's
3769 stack is empty; there may be frames for stretch or images
3770 on the stack.
3771
31798cfe
GM
3772 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3773 (save_or_restore_current_matrix): New function for the same
3774 purpose, but more efficient.
3775 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3776
f8156156
EZ
37772000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3778
3779 * xdisp.c (syms_of_xdisp): Fix last change.
3780
bdd6d4e8
GM
37812000-12-23 Gerd Moellmann <gerd@gnu.org>
3782
3783 * xdisp.c (syms_of_xdisp): Doc fix.
3784
3785 * xdisp.c (redisplay_window): Remove label restore_buffers;
3786 use finish_scroll_bars instead to make sure that scroll bars
3787 are redeemed. If we don't do this, flickering can result from
3788 scroll bars being destroyed and recreated.
3789
9436cdf9
JR
37902000-12-22 Jason Rumney <jasonr@gnu.org>
3791
3792 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3793 in the wrong colors when the foreground is not black.
3794 (expose_window): Don't redraw the window that's currently being
3795 updated.
3796
951f9df5
GM
37972000-12-22 Gerd Moellmann <gerd@gnu.org>
3798
856ff7a7
GM
3799 * window.c (size_window): When setting the window's too_small_ok
3800 flag, compare old size with minimum size depending on WIDTH_P,
3801 don't compare with window_min_width.
52283633 3802
951f9df5
GM
3803 * window.c (delete_window): Simplify somewhat.
3804 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3805 freeing window matrices. The flag windows_or_buffers_changed is
3806 set, so the next redisplay will consider all windows; this should
3807 suffice.
3808
886bc933
KH
38092000-12-22 Kenichi Handa <handa@etl.go.jp>
3810
3811 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3812
3813 * ccl.h (struct ccl_program): New member cr_consumed.
3814
3815 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3816 (CCL_READ_CHAR): Handle EOL conversion here.
3817 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3818
177f4e88
GM
38192000-12-21 Gerd Moellmann <gerd@gnu.org>
3820
52283633 3821 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3822
3823 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3824 otherwise tabs of different size compare equal.
3825
3826 * callint.c (Fcall_interactively): Prevent a compiler warning.
3827
3828 * print.c (print_unwind): Return nil.
3829 (PRINTDECLARE): Initialize all local variables.
3830 (print_preprocess): Add a default case.
3831
8e15274f
GM
3832 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3833
3834 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3835
52283633 3836 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3837 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3838
3839 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3840
3841 * dispnew.c (ensure_frame_matrix): Removed.
3842 (save_frame_matrix, restore_frame_matrix): New functions.
3843 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3844
3845 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3846 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3847
99012074
AI
38482000-12-21 Andrew Innes <andrewi@gnu.org>
3849
3850 * w32term.c (x_update_begin): Regenerate the palette here, rather
3851 than for each window.
3852
3853 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3854 palette is NULL, since this corrupts memory! Also get
3855 display_info reference from frame.
3856
29ef7d2d
JR
38572000-12-21 Jason Rumney <jasonr@gnu.org>
3858
3859 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3860
3861 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3862 to avoid returning without releasing it.
3e27fa1f 3863
3f9d67a6
KH
38642000-12-21 Kenichi Handa <handa@etl.go.jp>
3865
587fc3f9
KH
3866 * keymap.c (push_key_description): Don't convert eight-bit-control
3867 and eight-bit-graphic to multibyte character.
3868
3f9d67a6
KH
3869 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3870 generic character and CODE1 is nil, return the smallest character
3871 in CHARSET.
3872
774ba8c9
DL
38732000-12-20 Dave Love <fx@gnu.org>
3874
3875 * s/osf5-0.h (NSIG): Don't redefine.
3876
88416888
SM
38772000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3878
3879 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3880 excluding menu-bar and tool-bar.
3881 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3882 (menu_item_p): Remove.
3883 (where_is_internal_1): Don't ignore menu-items.
3884
a6426c6f
GM
38852000-12-20 Gerd Moellmann <gerd@gnu.org>
3886
03ff8aab
GM
3887 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3888 into account.
3889
3890 * window.c (make_window): Initialize window's min_hscroll.
3891 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3892 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3893 to zero.
3894 (struct saved_window): New member min_hscroll.
3895 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3896 (Fset_window_configuration): Set window's min_hscroll.
3897 (save_window_save): Save window's min_hscroll.
3898 (compare_window_configurations): Compare min_hscroll values.
3899
3900 * window.h (struct window): New member min_hscroll.
3901
3902 * keyboard.c (echo_prompt): Prevent a compiler warning.
3903
8de4aaf8
GM
3904 * xdisp.c (try_cursor_movement): Fix last change. The real
3905 condition is that PT is at the end of the row, and should
3906 be displayed at the start of the next row.
52283633 3907
3f7e3031
GM
3908 * xdisp.c (try_cursor_movement): If we end on a partially
3909 visible line, end we already decided to scroll, return -1.
3910
a6426c6f
GM
3911 * dispextern.h (ensure_frame_matrix): Add prototype.
3912
3913 * window.c (delete_window, Fsplit_window)
3914 (Fset_window_configuration): Call ensure_frame_matrix.
3915
52283633
SM
3916 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3917 New functions.
a6426c6f
GM
3918 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3919 completed, call fake_current_matrices instead of marking frame
3920 garbaged.
3921
57fa2774
JR
39222000-12-20 Jason Rumney <jasonr@gnu.org>
3923
3924 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3925
d925df90
EZ
39262000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3927
3928 * fns.c (Frequire): Doc fix.
3929
7b93a85b
GM
39302000-12-19 Gerd Moellmann <gerd@gnu.org>
3931
52283633 3932 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3933
c74e645b
GM
3934 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3935 currently displaying a message.
3936
7b93a85b
GM
3937 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3938 xterm.h.
3939 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3940
90d97e64
AI
39412000-12-18 Andrew Innes <andrewi@gnu.org>
3942
3943 * w32.c (w32_strerror): New function.
3944
3945 * w32.h (w32_strerror): New extern.
3946
3947 * w32fns.c (Fw32_shell_execute): Use it.
3948
91c9e6ce
GM
39492000-12-18 Gerd Moellmann <gerd@gnu.org>
3950
3951 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3952
6f4745e2
EZ
39532000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3954
3955 * msdos.c (IT_set_face): Obey inverse_video.
3956
c9e088ce
KH
39572000-12-18 Kenichi Handa <handa@etl.go.jp>
3958
3959 * dired.c (directory_files_internal): Always return decoded filenames.
3960
c3695f5f
GM
39612000-12-18 Gerd Moellmann <gerd@gnu.org>
3962
52d8e4ff
GM
3963 * xterm.c (x_connection_closed): Prevent being called recursively
3964 because of an error condition in XtCloseDisplay.
52283633 3965
62be9979
GM
3966 * xdisp.c (init_iterator): If noninteractive, and the frame's
3967 face cache is null, make one.
3968
52283633 3969 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3970
c3695f5f
GM
3971 * process.c (wait_reading_process_input): Check for pending
3972 input when running timers.
3973
78555fbe
EZ
39742000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3975
52283633 3976 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3977
b2b36264
KH
39782000-12-18 Kenichi Handa <handa@etl.go.jp>
3979
3980 * process.c (read_process_output): Don't run a filter if the code
3981 decoder produces nothing but carryover.
3982
9c543fbf
AI
39832000-12-17 Andrew Innes <andrewi@gnu.org>
3984
3985 * w32.c (sys_rename): Only check errno against EEXIST, and not
3986 EACCES, when determining whether rename failed because the target
3987 exists. This was resulting in indefinite looping on Windows 9x if
3988 the source file was locked by another process.
3989
3990 * w32fns.c (Ffile_system_info): New function.
3991 (syms_of_w32fns): Defsubr it.
3992
10c2b5a8
GM
39932000-12-17 Gerd Moellmann <gerd@gnu.org>
3994
b0228ace
GM
3995 * window.c (coordinates_in_window): Fix computation for
3996 position on vertical line between mode lines.
3997
10c2b5a8
GM
3998 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3999 Don't alter tip_frame or tip_window.
4000 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4001 was deleted.
4002
c844a81a
GM
4003 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4004 Don't alter tip_frame or tip_window.
4005 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4006 was deleted.
4007
6c825f8e
EZ
40082000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4009
4010 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4011 be consistent with the doc string. Reported by NAKAJIMA Mikio
4012 <minakaji@osaka.email.ne.jp>.
4013
af4bb4c8
KH
40142000-12-16 Kenichi Handa <handa@etl.go.jp>
4015
4016 * xfaces.c (Vface_ignored_fonts): New variable.
4017 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4018 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4019
8062e53a
GM
40202000-12-15 Gerd Moellmann <gerd@gnu.org>
4021
e87b8809
GM
4022 * dispnew.c (update_window): Detect pending input every nth line
4023 updated, i.e. do it depending on real work done, and not on the
4024 vpos of the line.
4025
4026 * xterm.c (expose_window): Don't redraw the window that's
4027 currently being updated.
4028
a6768cc5
GM
4029 * window.c (Fset_window_point): Remove test for
4030 cursor_in_non_selected_windows.
4031
4ea7fdca
GM
4032 * lread.c (read1): Recognize end of file after `\\'.
4033
8062e53a
GM
4034 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4035 not unwind_create_frame.
4036
bb7959c1
GM
40372000-12-15 Dave Love <fx@gnu.org>
4038
4039 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4040 bcopy & al.
4041
4042 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4043
ced04c42
KH
40442000-12-15 Kenichi Handa <handa@etl.go.jp>
4045
c5443913
KH
4046 * coding.c (setup_coding_system): Clear all members of the struct
4047 coding_system at first.
bc137305
KH
4048 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4049 argument.
4050 (code_convert_region): Don't override coding->src_multibyte and
4051 coding->dst_multibyte.
c5443913 4052
ced04c42
KH
4053 * fns.c (Fmd5): Docstring improved.
4054
c2d7f289
MB
40552000-12-15 Miles Bader <miles@gnu.org>
4056
4057 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4058 are actually marked as mode-lines; otherwise use
4059 estimate_mode_line_height.
4060
9d7d9263
GM
40612000-12-14 Gerd Moellmann <gerd@gnu.org>
4062
4063 * editfns.c (Fformat): Prevent a buffer overrun when the format
4064 specifies a precision.
4065
7cf0153a
EZ
40662000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4067
4068 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4069 argument is outside the range [2..3].
4070
1de0f662
AI
40712000-12-14 Andrew Innes <andrewi@gnu.org>
4072
4073 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4074 nothing to do. Bind inhibit-quit.
4075 (tip_frame): Make it a Lisp_Object.
4076 (x_create_tip_frame): Set tip_frame after it has been added to
4077 Vframe_list.
4078 (Fx_show_tip): Don't set tip_frame here.
52283633 4079 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4080 (unwind_create_frame, unwind_create_tip_frame): New functions.
4081 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4082 while a frame is only partially constructed.
4083
4084 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4085 (x_free_frame_resources): New function.
4086 (x_destroy_window): Use it.
4087
02387dcc
GM
40882000-12-14 Gerd Moellmann <gerd@gnu.org>
4089
4090 * xfns.c (Fx_backspace_delete_keys_p): New function.
4091 (syms_of_xfns): Defsubr it.
4092
4093 * config.in (HAVE_XKBGETKEYBOARD): Add.
4094
0544ef49
KH
40952000-12-14 Kenichi Handa <handa@etl.go.jp>
4096
98d62747
KH
4097 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4098 Always store string in multibyte representation in echobuf.
4099 (echo_char): Always store string in multibyte representation in
4100 echobuf.
4101 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4102 (read_key_sequence): Adjusted for the change of echo_prompt.
4103
a20193cd
KH
4104 * fns.c (Fmd5): Docstring improved.
4105
191b83b6
KH
4106 * lisp.h (detect_coding_system): Prototype adjusted.
4107
0544ef49
KH
4108 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4109 (detect_coding_emacs_mule, detect_coding_iso2022,)
4110 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4111 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4112 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4113 (detect_coding_mask, detect_coding_system): New argument
4114 MULTIBYTEP. Callers changed.
1da1bb05
KH
4115 (decode_coding_string): Set coding->src_multibyte and
4116 coding->dst_multibyte before calling detect_coding and detect_eol.
4117 Update them after some coding system is detected.
52283633 4118
d5b3eb1b
SM
41192000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4120
4121 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4122
4123 * keyboard.c (menu_bar_items, tool_bar_items):
4124 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4125
f7f8bb69
GM
41262000-12-13 Gerd Moellmann <gerd@gnu.org>
4127
52283633 4128 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4129 New variables.
4130 (unwind_create_frame, unwind_create_tip_frame): New functions.
4131 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4132 while a frame is only partially constructed.
4133
4134 * xterm.h (x_free_frame_resources): Declare.
4135
4136 * xterm.c (x_free_frame_resources): New function.
4137 (x_destroy_window): Use it.
4138
e10da507
GM
4139 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4140 don't interrupt the update for pending input initially, i.e.
4141 update at least some lines.
4142
4143 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4144
d5b3eb1b 4145 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4146
4147 * xfns.c (gray_bitmap_bits): Declare `char *'.
4148
90aa2856
GM
41492000-12-12 Gerd Moellmann <gerd@gnu.org>
4150
4151 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4152 lines start with a relief line.
4153
a308c9cd
DL
41542000-12-12 Dave Love <fx@gnu.org>
4155
4156 * window.c (Fdisplay_buffer): Doc fix.
4157 (Fwindow_list): Remove unused var.
4158
4159 * buffer.h (mmap_set_vars): Declare.
4160
4161 * window.h (Fset_window_point): Declare.
4162
d575011f
EZ
41632000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4164
bf6282d2 4165 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4166 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4167 variable `area'. When looking for a row under (X,Y), give up if some
4168 of the previous rows is not enabled.
d575011f 4169
ecf4d726
GM
41702000-12-12 Gerd Moellmann <gerd@gnu.org>
4171
2ebf6139
GM
4172 * window.c (Fset_window_point): If displaying cursors in windows
4173 other than the selected window, make sure redisplay updates
4174 other windows to show the new value of point in the window.
4175
4176 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4177
bfdb75ee
GM
4178 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4179 the buffer is the sole visible buffer when in the mini-buffer.
4180
52283633 4181 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4182 Bind `inhibit-read-only' to t.
4183 (unwind_with_echo_area_buffer): Use AREF.
4184
c0006262
GM
4185 * xfns.c (Fx_hide_tip): Simplified.
4186
52283633
SM
4187 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4188 instead of `1'.
e9a59cad 4189
ecf4d726
GM
4190 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4191
e5959a9a
GM
41922000-12-11 Gerd Moellmann <gerd@gnu.org>
4193
a3642e49 4194 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4195
44b5a125
GM
4196 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4197 nothing to do. Bind inhibit-quit.
4198 (tip_frame): Make it a Lisp_Object.
4199 (x_create_tip_frame): Set tip_frame after it has been added to
4200 Vframe_list.
4201 (Fx_show_tip): Don't set tip_frame here.
4202
4203 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4204
4205 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4206 Lisp_Object.
4207
4208 * dispextern.h: Change external declaration of tip_frame.
4209
d990421f
GM
4210 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4211 return an empty string.
4212
4db87380
GM
4213 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4214 of the window's update_mode_line flag, since the former is set by
4215 force-mode-line-update, not the latter. This makes
4216 column-number-mode slightly faster.
52283633 4217
e5959a9a
GM
4218 * xdisp.c (try_window_id) <all changes above window start>:
4219 Set the cursor.
4220
169fe44e
GM
42212000-12-11 Paul Eggert <eggert@twinsun.com>
4222
4223 * config.in (HAVE_FTELLO): Remove.
4224 (HAVE_FSEEKO): Add.
4225 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4226 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4227 HAVE_FTELLO.
4228 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4229 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4230
59ec59ae
MB
42312000-12-11 Miles Bader <miles@gnu.org>
4232
4233 * window.c (displayed_window_lines): Don't round up when
4234 converting empty space at bottom to lines.
ff904dd6
MB
4235 Handle non-newline-terminated final lines properly.
4236 (Fwindow_text_height): New function (used to be in lisp).
4237 (syms_of_window): Initialize it.
59ec59ae 4238
42ebfa31
SM
42392000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4240
4241 * syntax.c (scan_lists): Check that the right quote char has the
4242 right Sstring syntax when jumping over strings.
4243 (init_syntax_once): Use Smax rather than 13.
4244
5cdb3cf3
MB
42452000-12-09 Miles Bader <miles@gnu.org>
4246
4247 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4248 with PARTIALLY, inverting the sense.
4249 (window_scroll_pixel_based): Scroll partially visible lines into
4250 place if we hit the beginning or end of the buffer.
a12167c5
MB
4251 (displayed_window_lines): Don't include partially visible lines.
4252 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4253
842b2a94
GM
42542000-12-08 Gerd Moellmann <gerd@gnu.org>
4255
4256 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4257
4258 * tparam.c (tparam1): Change the way buffers are reallocated to be
4259 portable and less obfuscated.
4260
4261 * termcap.c (tgetent): Change the way buffers are reallocated to
4262 be portable and less obfuscated.
4263
4264 * macros.c (store_kbd_macro_char): Change the way buffers are
4265 reallocated to be portable and less obfuscated.
4266
4267 * lread.c (read1): Change the way buffers are reallocated to be
4268 portable and less obfuscated.
4269
4270 * doc.c (Fsubstitute_command_keys): Change the way buffers
4271 are reallocated so that it is portable.
4272
137cad7c
EZ
42732000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4274
4275 * dosfns.c (Ffile_system_info): New function.
4276 (syms_of_dosfns): Defsubr it.
4277
5c7f629c
SM
42782000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4279
4280 * alloc.c (gc_sweep): Add comment.
4281
959e647d
GM
42822000-12-07 Gerd Moellmann <gerd@gnu.org>
4283
52283633
SM
4284 * sound.c (vox_configure): Change order of ioctls.
4285 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4286 Ignore errors when changing volume.
4287 (vox_close): Don't reset the device.
4288
926b7e5e
GM
4289 * process.c (read_process_output): Make sure the process marker's
4290 position is valid when the process buffer is changed in
4291 after-change functions. W3 does that.
52283633 4292
959e647d
GM
4293 * xfns.c (x_free_gcs): New function.
4294
4295 * xterm.h (x_free_gcs): Add prototype.
4296
4297 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4298 freeing GCs here.
4299
4300 * xterm.c (x_destroy_window): Call x_free_gcs so that
4301 resources of non-toolkit X windows will be freed.
4302
478ea067
AI
43032000-12-07 Andrew Innes <andrewi@gnu.org>
4304
4305 * w32fns.c (xlfd_charset_of_font): Fix last change.
4306
fbee3231
DL
43072000-12-06 Dave Love <fx@gnu.org>
4308
67292061
DL
4309 * md5.h (__P): Don't define -- it comes from config.h.
4310
fbee3231
DL
4311 * strftime.c: Change some #if foo to #ifdef foo.
4312
4ee87dbb
AI
43132000-12-06 Andrew Innes <andrewi@gnu.org>
4314
4315 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4316
52283633 4317 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4318 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4319 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4320
9765b4a4
GM
43212000-12-06 Gerd Moellmann <gerd@gnu.org>
4322
d285b373
GM
4323 * alloc.c (gc_sweep): Prevent symbols read during loadup
4324 from being freed.
4325
384333ee
GM
4326 * xdisp.c (underlying_face_id): New function.
4327 (handle_face_prop, face_before_or_after_it_pos): Use it
4328 to determine the face ``under'' a string. Let strings inherit
4329 the face of the buffer under them.
4330
4331 * xfaces.c (face_at_string_position): Update function comment.
52283633 4332
d4b72d58
GM
4333 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4334 matrix if the window's left position has changed; we need to
4335 redraw it in this case.
4336
4337 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4338
e1d05387
GM
4339 * window.c (coordinates_in_window): Check mouse on mode-line or
4340 header-line first.
4341
eb1b0c74
GM
4342 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4343 advertized by the function documentation.
4344
d94d636f
GM
4345 * window.c (syms_of_window): Doc fix.
4346
3887b449
GM
4347 * sound.c (vox_configure): Set volume for left and right channel.
4348 (sound_cleanup): Return nil.
4349
efc8f57a
GM
4350 * xdisp.c (move_it_by_lines): Fix paren typo.
4351
9765b4a4
GM
4352 * xterm.c (x_load_font): Don't use the font's max_bounds for
4353 computing the height of the font. If max_bounds' ascent or
4354 descent are greater than the font's ascent or descent, this means
4355 glyphs overlap, which should be handled now by redisplay.
4356
6529ed87
GM
4357 * window.c (Veven_window_heights): New variable.
4358 (syms_of_window): DEFVAR_LISP it.
4359 (Fdisplay_buffer): Check Veven_window_heights before evening the
4360 window heights.
52283633 4361
0eb2ecde
MB
43622000-12-06 Miles Bader <miles@gnu.org>
4363
4364 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4365 update `default-frame-alist' instead of setting no frame parameters.
4366
03d7a167
KH
43672000-12-06 Kenichi Handa <handa@etl.go.jp>
4368
4369 * composite.c (update_compositions): Fix typo (use the correct
4370 variable).
4371
5f8803c2
JR
43722000-12-05 Jason Rumney <jasonr@gnu.org>
4373
4374 * md5.h: Remove underscores from function declarations.
4375 (__attribute__, __alignof__) [!__GNUC__]: Define.
4376
4377 * md5.c: Delay include of md5.h until after namespace cleaning.
4378
c28a075b
JR
4379 * makefile.w32-in (fns.o): Depend on md5.h
4380 (md5.o): New target.
4381 (sunfns.o): Remove.
4382
4383 * makefile.nt: Likewise.
4384
ff3c7056
JR
43852000-12-05 Jason Rumney <jasonr@altavista.net>
4386
4387 * w32term.c (expose_area): Complete last change.
4388
0c21eeeb
KR
43892000-12-05 Ken Raeburn <raeburn@gnu.org>
4390
4391 * minibuf.c: Include intervals.h.
4392
f201d732
JR
43932000-12-05 Jason Rumney <jasonr@gnu.org>
4394
4395 * w32term.c (x_produce_glyphs): If a font for a component of
4396 a composition is not found, use 1 pixel dot ascent and 0 dot
4397 descent value to avoid displaying terribly tall empty boxes.
4398 (expose_area): Pass x-coordinate relative to the exposed
4399 area to x_draw_glyphs instead of a window-relative coordinate.
4400
21999ab9
GM
44012000-12-05 Gerd Moellmann <gerd@gnu.org>
4402
4d2036e4
GM
4403 * xdisp.c (next_element_from_ellipsis): Save face before selective
4404 display in saved_face_id, and set face_before_selective_p.
4405 (reseat_1): Reset face_before_selective_p.
4406 (append_space, extend_face_to_end_of_line): If iterator's
4407 face_before_selective_p is set, use the face from saved_face_id.
4408 (extend_face_to_end_of_line): For tty frames, make sure to
4409 use the right face id when producing spaces at the end of
4410 the line.
4411
4412 * dispextern.h (struct it): Add face_before_selective_p.
4413
52be17cc
GM
4414 * keyboard.c (record_char): Don't record identical help-echo
4415 events in recent_keys.
4416
8a4f36cc
GM
4417 * xterm.c [USE_X_TOOLKIT]: Close the display.
4418 (xim_close_dpy): Handle case that the display has been closed.
4419
57d6e381
GM
4420 * xterm.c (x_destroy_window): Reset the frame's X window after
4421 destroying it.
4422
21999ab9
GM
4423 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4424 variable window_width.
4425 (line_draw_cost): Fix code skipping over spaces at the end of the
4426 line when must_write_spaces is not set.
4427 (scrolling_window): Fix code inserting runs in list of all runs.
4428
91372bb7
KH
44292000-12-05 Kenichi Handa <handa@etl.go.jp>
4430
4431 * coding.c (setup_coding_system): Be sure to initialize
4432 coding->category_idx.
4433
6c083b4c
GM
44342000-12-04 Gerd Moellmann <gerd@gnu.org>
4435
0c68ce6f 4436 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4437
6452929e
GM
4438 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4439 area to x_draw_glyphs instead of a window-relative coordinate.
4440
d7f31e22
GM
4441 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4442 error in the message.
4443
ae18aa3b
GM
4444 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4445 timer after having read a key. It's not good for code reading
4446 several keys in a loop, like an input method.
4447
caa15ef7
GM
4448 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4449 record undo information for format-decode.
4450
4451 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4452 current buffer is read-only, not if it isn't.
4453
6c083b4c
GM
4454 * keyboard.c (record_char): Record `help-echo' input events
4455 in recent_keys only if they display some help. Don't record
4456 `help-echo' events as macro char.
4457
caa15ef7
GM
44582000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4459
4460 * editfns.c (save_excursion_restore): Don't move point
4461 in another window if it is showing the wrong buffer.
4462 Avoid the call to Fwindow_live_p, for speed.
4463
5a13529b
KH
44642000-12-04 Kenichi Handa <handa@etl.go.jp>
4465
e225faa7
KH
4466 * xfaces.c (struct font_name): New member registry_priority.
4467 (split_font_name): Initialize the above member to zero.
4468 (concat_font_list): New function.
4469 (font_list): Include fonts of all alternative registries.
4470 (FONT_POINT_SIZE_QUANTUM): New macro.
4471 (better_font_p): Ignore point size difference less than
4472 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4473
e89648b4
KH
4474 * xterm.c (x_produce_glyphs): If a font for a component of
4475 a composition is not found, use 1 pixel dot ascent and 0 dot
4476 descent value to avoid displaying terribly tall empty boxes.
4477
5a13529b
KH
4478 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4479
d7935eb6
KR
44802000-12-03 Ken Raeburn <raeburn@gnu.org>
4481
4482 * coding.h (code_convert_string1): Declare.
4483
4484 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4485
52283633 4486 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4487
0dd5e255
JR
44882000-12-02 Jason Rumney <jasonr@gnu.org>
4489
4490 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4491 correctly for single byte character case.
4492 (w32_per_char_metric): Do not try to make any assumptions about
4493 the metrics of BDF fonts.
250cfece 4494 (x_estimate_mode_line_height): If `mode-line' face
52283633 4495 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4496 (note_mouse_highlight): Change the cursor shape on the vertical
4497 border between windows [not enabled].
4498
4499 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4500
4501 * w32fns.c (Fx_create_frame): Reintroduce the call to
4502 face-set-after-frame-defaults.
4503 (Vx_window_horizontal_drag_shape): New variable.
4504 (syms_of_xfns): DEFVAR_LISP it.
4505 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4506 enabled].
0dd5e255 4507
b5d8d2ca
GM
45082000-12-02 Simon Josefsson <simon@josefsson.org>
4509
4510 * fns.c (Fmd5): Use a different logic to decide the coding system
4511 to use.
4512
4513 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4514
fbb87147
EZ
45152000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4516
52283633 4517 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4518
447e9da0
GM
45192000-12-01 Gerd Moellmann <gerd@gnu.org>
4520
7708ced0
GM
4521 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4522 height for YNegative.
4523 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4524 height; also see comment there.
4525
447e9da0
GM
4526 * window.c (coordinates_in_window): Handle computations for
4527 positions on the vertical bar and fringes differently for
4528 window-system frames. Consider some pixels near the vertical bar
4529 as on the bar if the frame doesn't have vertical scroll bars.
4530 Associate positions between mode or header lines with the
4531 right window, the left one.
4532
86d1db20
JR
45332000-12-01 Jason Rumney <jasonr@gnu.org>
4534
4535 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4536
4537 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4538 invalid frame.
4539
a1d58e5b
GM
45402000-12-01 Gerd Moellmann <gerd@gnu.org>
4541
52283633 4542 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4543 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4544 (save_window_save, Fset_window_configuration): Save/restore
4545 window's orig_top and orig_height.
4546
89c609af
JR
45472000-12-01 Jason Rumney <jasonr@gnu.org>
4548
4d177746 4549 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4550
89c609af
JR
4551 * w32fns.c (x_set_cursor_color): Fix last change.
4552
eccc05db
GM
45532000-11-30 Gerd Moellmann <gerd@gnu.org>
4554
31b6671b
GM
4555 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4556 sure that the next redisplay displays the minibuffer, so that
4557 the cursor will be replaced with what the minibuffer wants.
4558
eccc05db
GM
4559 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4560 #ifndef instead of using #if.
4561 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4562 USE_TOOLKIT_SCROLL_BARS is defined.
4563
162de750
JR
45642000-11-30 Jason Rumney <jasonr@gnu.org>
4565
4566 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4567 x_display_cursor.
4568
693c4692
GM
45692000-11-30 Gerd Moellmann <gerd@gnu.org>
4570
4571 * fns.c (Fmd5): Doc fix.
4572
b5d8d2ca 45732000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4574
4575 * fns.c (Fmd5): New function.
4576 (syms_of_fns): Defsubr md5.
4577
4578 * Makefile.in (obj): Add md5.o
4579
b02cd40b
GM
45802000-11-30 Gerd Moellmann <gerd@gnu.org>
4581
edfb795e
GM
4582 * md5.h, md5.c: New files, taken from glibc.
4583
df3aedcf
GM
4584 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4585
b02cd40b 4586 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4587 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4588
8b5176cd
SM
45892000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4590
4591 * eval.c (Frun_hooks): Allow 0 arguments.
4592
346598f1
GM
45932000-11-29 Gerd Moellmann <gerd@gnu.org>
4594
f9396e03
GM
4595 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4596 is over the menu bar widget, say it's not on the frame.
4597
4a967a9b
GM
4598 * xfns.c (Fx_create_frame): Reintroduce the call to
4599 face-set-after-frame-defaults.
4600
346598f1
GM
4601 * eval.c (Fsignal): Reset handling_signal.
4602
222456a1
JR
46032000-11-28 Jason Rumney <jasonr@gnu.org>
4604
4605 * w32menu.c (add_menu_item): Reset menu item text when changing
4606 type to radio button.
4607
8049ddc0
GM
46082000-11-28 Gerd Moellmann <gerd@gnu.org>
4609
346598f1 4610 * xselect.c: Update copyright.
f4f4ee4d 4611
bebe4a2c
GM
4612 * window.c (coordinates_in_window): If on a mode or header line,
4613 but sufficiently close to its start, return ``on vertical
4614 border''. This gives us a way to drag windows horizontally when
4615 using toolkit scroll bars.
4616
4617 * xterm.c (note_mouse_highlight): Change the cursor shape
4618 on the vertical border between windows.
4619
4620 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4621
4622 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4623 (syms_of_xfns): DEFVAR_LISP it.
4624 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4625
8d2c2642
GM
4626 * textprop.c (text_read_only): New function.
4627 (verify_interval_modification): Use it instead of signaling
4628 `text-read-only'. This makes it easier to catch this error
52283633 4629 with a breakpoint.:
8d2c2642 4630
52283633 4631 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4632 not end of line, which includes CR.
4633
5a2bae6c
KH
46342000-11-28 Kenichi Handa <handa@etl.go.jp>
4635
4636 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4637 include no-conversion.
4638
ae31f84d
JR
46392000-11-27 Jason Rumney <jasonr@gnu.org>
4640
4641 * w32fns.c (w32_load_system_font): Always mark font as double byte
4642 if codepage is unicode.
4643
67f1cf4c
GM
46442000-11-27 Gerd Moellmann <gerd@gnu.org>
4645
4a74d071 4646 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4647 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4648
902ae620
GM
4649 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4650 `vertical-line', `mode-line' and `header-line' events.
4651
4652 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4653 of a character, a TAB for instance. This is easier than to set
4654 up the iterator exactly, and it's not a frequent case, so the
4655 additional effort wouldn't really pay off.
4656
c1e279c2
AC
46572000-11-26 Andrew Choi <akochoi@i-cable.com>
4658
67f1cf4c 4659 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4660 init_window_once.
4661
a609568a
JR
46622000-11-25 Jason Rumney <jasonr@gnu.org>
4663
52283633
SM
4664 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4665 Args to window_from_coordinates should be pixel coordinates.
48b21762 4666
a609568a
JR
4667 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4668 redisplay handles them properly.
4669
a658d039
MB
46702000-11-25 Miles Bader <miles@gnu.org>
4671
4672 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4673
d3416cca
JR
46742000-11-24 Jason Rumney <jasonr@gnu.org>
4675
4676 * w32.c (init_environment): Set LANG environment variable based on
4677 locale settings, if not set.
4678
4679 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4680 making tool bar smaller. When clearing the frame, also
4681 clear current matrices. Clear frame when tool bar disappears.
4682 Don't use more lines for the tool-bar than is available.
4683 (x_change_window_heights): New function.
4684
ba193890
GM
46852000-11-24 Gerd Moellmann <gerd@gnu.org>
4686
2be8f184
GM
4687 * xdisp.c (init_from_display_pos): If POS says we're already after
4688 an overlay string ending at POS, make sure to pop the iterator
4689 because it will be in front of that overlay string. When POS is
4690 ZV, we've thereby also ``processed'' overlay strings at ZV.
4691
ba193890
GM
4692 * xfaces.c (lface_from_face_name): Function comment fix.
4693
1862a24e
MB
46942000-11-24 Miles Bader <miles@gnu.org>
4695
4696 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4697 apply `mode-line-inverse-video' -- zero means force display using
4698 the default face, non-zero means display using the specialized face.
4699 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4700
f07fa1b8
KH
47012000-11-23 Kenichi Handa <handa@etl.go.jp>
4702
4703 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4704 hard coded `4'.
4705
2bcdf662
EZ
47062000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4707
4708 * coding.c (decode_coding_emacs_mule): Fix the case of
4709 CODING_EOL_LF, which used uninitialized value of c.
4710
ba8299ff
SM
47112000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4712
4713 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4714
f4117c4d
GM
47152000-11-22 Gerd Moellmann <gerd@gnu.org>
4716
03e757c1
GM
4717 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4718 buffer object.
4719
f4117c4d
GM
4720 * frame.h (struct frame): Replace desired_tool_bar_items,
4721 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4722 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4723
4724 * frame.c (make_frame): Change initialization of tool bar
4725 items accordingly.
4726
4727 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4728 Change references to members deleted from struct frame to use the
f4117c4d
GM
4729 new ones.
4730
4731 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4732 references to members deleted from struct frame to use the new ones.
f4117c4d 4733
52283633 4734 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4735
4736 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4737
4738 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4739 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4740 from struct frame to use the new ones.
4741
f8e2f3f2
MB
47422000-11-23 Miles Bader <miles@gnu.org>
4743
4744 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4745 the face's inverse-video attribute, rather than overriding it.
4746
60e8e0a5
GM
47472000-11-22 Gerd Moellmann <gerd@gnu.org>
4748
4749 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4750 making tool bar smaller.
4751
92dd1b29
DL
47522000-11-22 Dave Love <fx@gnu.org>
4753
4754 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4755
e672fdce
MB
47562000-11-22 Miles Bader <miles@gnu.org>
4757
3a17d6cc
MB
4758 * keyboard.c (Vminibuffer_message_timeout): New variable.
4759 (command_loop_1): Use it to determine message timeout.
4760 (syms_of_keyboard): Initialize it.
4761
60e8e0a5 4762 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4763
e9655d81
KH
47642000-11-22 Kenichi Handa <handa@etl.go.jp>
4765
4766 * sysdep.c: Move the code for declaring h_errno after #include
4767 <netdb.h>.
4768
77270fac
GM
47692000-11-21 Gerd Moellmann <gerd@gnu.org>
4770
cd913aae
GM
4771 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4772 the menu bar when the tooltip is unmapped.
4773
77270fac
GM
4774 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4775 sole visible buffer when we're currently in the mini-buffer, and
4776 give up if so.
52283633 4777
556635d6
JR
47782000-11-21 Jason Rumney <jasonr@gnu.org>
4779
4780 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4781 put on the clipboard.
4782 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4783 copy of what Emacs last put there. If they are the same, do not
52283633 4784 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4785
5b7bde64
MB
47862000-11-22 Miles Bader <miles@gnu.org>
4787
4788 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4789 (syms_of_minibuf): Initialize it.
4790 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4791 to prompt, don't make read-only.
4792
ff23e1dd
GM
47932000-11-21 Gerd Moellmann <gerd@gnu.org>
4794
52283633
SM
4795 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4796 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4797
7aaf4388
GM
4798 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4799
f5f47add 4800 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4801
ff23e1dd
GM
4802 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4803
37c35586
KH
48042000-11-21 Kenichi Handa <handa@etl.go.jp>
4805
4806 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4807 ... #endif scope.
4808
ff9ab414
GM
48092000-11-20 Gerd Moellmann <gerd@gnu.org>
4810
52283633 4811 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4812 screen supports it.
4813
29a01b72
GM
4814 * s/gnu-linux.h: Don't use `#cpu'.
4815
09dfdf85
GM
4816 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4817 not defined in mman.h.
4818
52283633 4819 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4820 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4821 and store an index in the XClientMessageEvent. Storing a
4822 Lisp_Object or pointer can fail on a 64 bit system, since X only
4823 transfers 32 bits.
52283633
SM
4824 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4825
81459ac9
DL
48262000-11-20 Dave Love <fx@gnu.org>
4827
4828 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4829
56c13ae6
GM
48302000-11-20 Gerd Moellmann <gerd@gnu.org>
4831
4832 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4833
495a6df3
KH
48342000-11-20 Kenichi Handa <handa@etl.go.jp>
4835
2bcf3714
KH
4836 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4837 by WIDTH.
4838
495a6df3
KH
4839 * alloc.c (make_string): Fix previous change. Be sure to make
4840 unibyte string correctly.
4841
6d950f4c
GM
48422000-11-19 Gerd Moellmann <gerd@gnu.org>
4843
39b39373
GM
4844 * window.c (Fwindow_list): Change parameter list to be XEmacs
4845 compatible.
4846 (window_list_1): New function.
4847 (window_loop): Use it instead of Fwindow_list.
4848
b95b34e5
GM
4849 * sysdep.c (emacs_ospeed): New variable.
4850 (toplevel): Don't declare ospeed extern.
4851 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4852
4853 * termcap.c (ospeed): Remove.
4854 (tputs) [!emacs]: Remove unused code.
4855 (tgetent): Avoid a compiler warning.
4856
e83dc917
GM
4857 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4858 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4859 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4860
4861 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4862 removed.
4863 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4864 Take the X display as additional argument.
4865 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4866 `Widget' is a pointer type that's not easily stored in Lisp_Object
4867 form in a portable way.
52283633 4868
6d950f4c
GM
4869 * dispnew.c (update_text_area): Fix last change.
4870
e47306e6
GM
48712000-11-18 Gerd Moellmann <gerd@gnu.org>
4872
fb3cd89b
GM
4873 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4874
4875 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4876 clear current matrices.
4877
edaa9aed
GM
4878 * buffer.c (mmap_enlarge): Don't print a message on stderr
4879 if mapping new memory at the end of the existing region fails.
4880
e47306e6
GM
4881 * dispnew.c (update_text_area): Don't skip over equal glyphs
4882 when the last current glyph overlaps the glyph to its right.
4883
509633e3
MB
48842000-11-18 Miles Bader <miles@gnu.org>
4885
4886 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4887 lines that *end* with "..." too (that's the most common case!).
4888
d392e9c5
GM
48892000-11-18 Gerd Moellmann <gerd@gnu.org>
4890
67988445
GM
4891 * xdisp.c (resize_mini_window): Temporarily change to the
4892 mini-window's buffer if necessary.
1bfdbe43 4893
d392e9c5
GM
4894 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4895 the tooltip obscures less text under it.
4896
48972000-11-17 Gerd Moellmann <gerd@gnu.org>
4898
4899 * puresize.h (BASE_PURESIZE): Increase to 700000.
4900
92bb977f
JR
49012000-11-18 Jason Rumney <jasonr@gnu.org>
4902
4903 * w32term.c (w32_draw_bitmap): Use face to set colors.
4904
26fbf20b
DL
49052000-11-17 Dave Love <fx@gnu.org>
4906
4907 * lread.c (Fload): Fix #ifdef for pcc.
4908
100b593b
GM
49092000-11-17 Gerd Moellmann <gerd@gnu.org>
4910
4911 * xdisp.c (pos_visible_p): Compute the default character height
4912 differently.
4913
a288d0d1
GM
49142000-11-16 Gerd Moellmann <gerd@gnu.org>
4915
cac94de6 4916 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4917 knowing the line's height; use the default font's height in that case.
cac94de6 4918
a288d0d1
GM
4919 * xfaces.c (weight_table): Add `demi' with the same meaning as
4920 `demibold'.
4921
981fb6f6
KH
49222000-11-16 Kenichi Handa <handa@etl.go.jp>
4923
2cca872d 4924 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4925 (clear_glyph_row): Delete local static variable null_row.
4926
e5fa381b
JR
49272000-11-15 Jason Rumney <jasonr@gnu.org>
4928
4929 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4930 (w32_alloc_lighter_color): Use new brightness calculations from
4931 xterm.c. Scale delta to be in the range expected by W32.
4932 (w32_draw_relief_rect): Use frame relief colors.
4933
8e42f043
GM
49342000-11-15 Gerd Moellmann <gerd@gnu.org>
4935
6d133d1f
GM
4936 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4937 (Qinhibit_default_face_x_resources): New variable.
4938 (syms_of_frame): Initialize it.
4939 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4940
4941 * xdisp.c (pos_visible_p): Improve function comment.
4942
4943 * lisp.h (BINDING_STACK_SIZE): New macro.
4944
8e42f043
GM
4945 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4946 reading the directory if readdir returns null and errno is EAGAIN
4947 or EINTR.
4948
e8c87124
SM
49492000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4950
4951 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4952 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4953 Set amount_to_scroll to max of dx and scroll_step so that
4954 scroll-conservatively doesn't defeat scroll-step>1.
4955 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4956 scroll-conservatively for line-at-a-time scrolling.
4957
5f0c971d
GM
49582000-11-14 Gerd Moellmann <gerd@gnu.org>
4959
4960 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4961 extra argument.
4962
4963 * xdisp.c (current_mode_line_height, current_header_line_height):
4964 New variables.
4965 (init_xdisp): Initialize them.
4966 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4967 and use exact mode line heights if it is set.
4968
4969 * lisp.h (pos_visible_p): Change prototype.
4970
4971 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4972 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4973 and current_header_line_height first.
52283633
SM
4974 (current_mode_line_height, current_header_line_height):
4975 Declare extern.
5f0c971d 4976
d7361edf
MB
49772000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4978
4979 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4980 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4981 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4982
ee5e440a
MB
49832000-11-14 Miles Bader <miles@gnu.org>
4984
4985 * xterm.c (x_alloc_lighter_color): Include an additive component
4986 too for dark colors, because FACTOR isn't enough.
4987 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4988 New macros.
4989
5ca020fc
GM
49902000-11-13 Gerd Moellmann <gerd@gnu.org>
4991
4992 * keyboard.c (show_help_echo): Call message3_nolog with number of
4993 bytes in the help string as 2nd parameter, instead of the number
4994 of characters.
4995
9d348294
MB
49962000-11-13 Miles Bader <miles@gnu.org>
4997
4998 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4999 (Fload): Use new openp return protocol.
5000 Don't try to use Vload_source_file_function to load .elc files.
5001 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5002 openp return protocol.
5003 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5004
1729bb9a
KH
50052000-11-11 Kenichi Handa <handa@etl.go.jp>
5006
4e677396
KH
5007 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5008
5009 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5010 Defined these macros.
5011 (NLIST_STRUCT): Avoid re-defining it.
5012
1729bb9a
KH
5013 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5014 -I/usr/contrib/X11R6/include.
5015 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5016
a82fe213
JR
50172000-11-10 Jason Rumney <jasonr@gnu.org>
5018
5019 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5020
5021 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5022 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5023
5024 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5025 (Qw32_charset_vietnamese): New symbol.
5026 (xlfd_charset_of_font): New function.
5027 (w32_load_system_font): Use it.
5028 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5029 when Vw32_charset_info_alist is nil to ensure default face always
5030 has font. Use Fcar and Fcdr for safety.
5031 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5032 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5033 pseudo-codepages for special cases.
5034 (w32_to_x_font): New parameter to allow charset portion to be
5035 specified where there is many to one mapping. Callers changed.
5036 (w32_list_fonts): Avoid listing fonts that won't display.
5037
52d89894
GM
50382000-11-10 Gerd Moellmann <gerd@gnu.org>
5039
5040 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5041 (font_list_1): Renamed from font_list.
5042 (font_list): New function, trying alternative registries from
5043 Vface_alternative_font_registry_alist.
5044 (Finternal_set_alternative_font_registry_alist): New function.
5045 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5046 Vface_alternative_font_registry_alist.
5047 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5048
651cd3da
KR
50492000-11-09 Ken Raeburn <raeburn@gnu.org>
5050
5051 * lisp.h (Flooking_at): Declare.
5052
388ac098
GM
50532000-11-09 Gerd Moellmann <gerd@gnu.org>
5054
778fbc46 5055 * dired.c (directory_files_internal): Fix a braino.
52283633 5056
388ac098
GM
5057 * dired.c (directory_files_internal): Add missing GCPRO's.
5058 Some cleanup.
5059
ecaedde1
GM
50602000-11-08 Gerd Moellmann <gerd@gnu.org>
5061
f7eb32aa
GM
5062 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5063 (resize_mini_window): Return quickly if Vresize_mini_window is
5064 nil. Don't return if Vmax_mini_window_height is nil.
5065
5066 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5067 (syms_of_xdisp): Initialize them.
5068 (resize_mini_window): Act according to the setting of
5069 Vresize_mini_window.
5070 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5071
ecaedde1
GM
5072 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5073 scroll bar widget after configuring it, so that it will appear at
5074 the right position from the start.
5075 (XTredeem_scroll_bar): Cleaned up.
5076
3747ef2c
KH
50772000-11-08 Kenichi Handa <handa@etl.go.jp>
5078
5079 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5080 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5081 division by two.
5082
5083 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5084
03391420
DL
50852000-11-07 Dave Love <fx@gnu.org>
5086
7758f1c1 5087 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5088
5089 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5090
b5de343d
GM
50912000-11-07 Gerd Moellmann <gerd@gnu.org>
5092
acad3c0b
GM
5093 * window.c (Fset_window_configuration): Don't try to preserve
5094 point in the current buffer, if that buffer is displayed in more
5095 than one window.
5096
b5de343d
GM
5097 * xfaces.c (lookup_named_face): If default face isn't realized,
5098 try to realize it. Return -1 if not successful.
5099 (Fx_list_fonts): Handle case that face cannot be determined.
5100 (Fface_font): Likewise.
5101
cdb1fe49
GM
51022000-11-06 Gerd Moellmann <gerd@gnu.org>
5103
5104 * window.c (displayed_window_lines): Detect partially
5105 visible lines at the bottom correctly.
5106
d3a67486
SM
51072000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5108
5109 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5110 when ensuring we don't do visit in indirect buffer.
5111
ff8dd5d5
KH
51122000-11-06 Kenichi Handa <handa@etl.go.jp>
5113
5114 * composite.h (compose_chars_in_text): Add prototype.
5115
5116 * composite.c (Vcomposition_function_table): New variable.
5117 (Qcomposition_function_table): New variable.
5118 (run_composition_function): Call
5119 Vcompose_chars_after_function with three arguments.
5120 (compose_chars_in_text): New function.
5121 (syms_of_composite): Modified the doc-string of
5122 Vcompose_chars_after_function. Declare composition-function-table
5123 as a lisp variable, and initialize it.
5124
5125 * xfns.c (x_encode_text): Suppress producing escape sequences for
5126 composition.
5127
5128 * xselect.c: Include composite.h.
5129 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5130
d1145f85
AI
51312000-11-05 Andrew Innes <andrewi@gnu.org>
5132
5133 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5134
5135 * sysdep.c (read_input_waiting): Remove extraneous argument to
5136 read_socket_hook.
5137
5138 * w32fns.c (Fx_server_version): Include w32_build_number in the
5139 return list.
5140
5141 * w32heap.c (w32_build_number): New variable.
5142 (cache_system_info): Set it.
5143
5144 * w32heap.h (w32_build_number): Add extern.
5145
5146 * emacs.c (syms_of_emacs): Update docstring for
5147 system-configuration, to reflect the actual usage on MS-Windows.
5148
e85ee976
GM
51492000-10-31 Gerd Moellmann <gerd@gnu.org>
5150
26dcb81b
GM
5151 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5152 process idle timers while waiting for another event.
5153
52283633 5154 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5155 the default face are colored.
5156
e85ee976
GM
5157 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5158 window height hasn't changed.
5159
01b220b6
JR
51602000-10-31 Jason Rumney <jasonr@gnu.org>
5161
5162 * w32term.c (x_produce_glyphs): Handle composite characters.
5163 (x_draw_glyph_string_foreground)
5164 (x_draw_composite_glyph_string_foreground): Restore old font.
5165
4e6b7204
MB
51662000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5167
5168 * minibuf.c (read_minibuf): Reset the undo history just before
5169 starting the recursive-edit.
5170
d4358b37
GM
51712000-10-30 Gerd Moellmann <gerd@gnu.org>
5172
563f68f1
GM
5173 * xfaces.c (menu_face_change_count): New variable.
5174 (Finternal_set_lisp_face_attribute): Increment it for changes
5175 of the `menu' face.
5176 (realize_basic_faces): Reflect changes in the `menu' faces
5177 in menu bars.
5178
82e274d1
GM
5179 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5180 dy obtained from the iterator's y-position after moving from
5181 scroll_margin_pos to PT; see comment there.
52283633 5182
0dbf9fd2
GM
5183 * xdisp.c (safe_eval_handler): Call add_to_log.
5184
906b3b14
GM
5185 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5186 is not a symbol or string.
5187
d4358b37
GM
5188 * xdisp.c (echo_area_display): Don't perform a display update from
5189 inside redisplay. The update will happen anyway at the end of
5190 redisplay, and it can confuse redisplay (GC messages while
5191 redisplaying, for instance.)
5192
70c825df
SM
51932000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5194
cf9b4b0b
SM
5195 * xrdb.c (x_load_resources): Use the class name in the defaults.
5196
70c825df
SM
5197 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5198 (regex_compile): Catch bogus \(\1\).
5199
a1d34b1e
GM
52002000-10-30 Gerd Moellmann <gerd@gnu.org>
5201
cae71efe
GM
5202 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5203 RGB values.
52283633 5204
35efe0a1
GM
5205 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5206 we have a color cache, check that the cached color equals the
5207 allocated color. If not, clear the color cache.
5208
1d3baf74
GM
5209 * window.c (displayed_window_lines): Change buffers if necessary.
5210 Fix computation of displayed lines.
5211
a1d34b1e
GM
5212 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5213 update_menu_bindings to DEFVAR_BOOL.
5214
70737ea9
KH
52152000-10-30 Kenichi Handa <handa@etl.go.jp>
5216
70c825df 5217 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5218
fa0cb51d
KH
5219 * puresize.h (BASE_PURESIZE): Increase to 680000.
5220
70737ea9
KH
5221 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5222
0e4c08e8
JR
52232000-10-29 Jason Rumney <jasonr@gnu.org>
5224
5225 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5226
5227 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5228 (w32_cache_char_metrics): Handle possibility that 'x' does not
5229 exist in a BDF font.
5230 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5231
5232 * w32bdf.h (bdffont): Add nchars.
5233
5234 * w32bdf.c (set_bdf_font_info): Set it.
5235 (w32_BDF_TextOut): Swap byte order of double byte characters.
5236 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5237
45b84006
EZ
52382000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5239
5240 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5241 don't override the colors in frame's param_alist, unless they are
5242 unspecified.
5243
5244 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5245 reverse the effect of the highlight flag.
5246
caf9deee
KR
52472000-10-27 Ken Raeburn <raeburn@gnu.org>
5248
5249 * window.h (Fwindow_live_p): Declare.
5250
ae0b9b46
KR
5251 * undo.c (record_delete): Check that last_undo_buffer is really a
5252 buffer before applying XBUFFER to it.
5253
5254 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5255 Faref.
5256
02067692
SM
52572000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5258
5259 * lisp.h (KEYMAPP): New macro.
5260 (get_keymap): Remove.
5261 (get_keymap_1): Rename get_keymap.
5262
5263 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5264
5265 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5266
5267 * xmenu.c (single_submenu): Use KEYMAPP.
5268 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5269 Use KEYMAPP rather than Fkeymapp.
5270
5271 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5272
5273 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5274 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5275 Use KEYMAPP rather than Fkeymapp.
5276 (single_submenu): Use KEYMAPP.
5277 (w32_menu_show, w32_dialog_show): Use TRUE.
5278
5279 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5280
5281 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5282 (Fkeymapp): Use KEYMAPP.
5283 (get_keymap): Rename from get_keymap_1. Remove old def.
5284 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5285 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5286 (Fminor_mode_key_binding): Don't raise an error if the binding
5287 is not a keymap.
5288 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5289 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5290
5291 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5292 Allow Vspecial_event_map to be autoloaded.
5293 (menu_bar_items): Fetch the keymap rather than using keymapp.
5294 (menu_bar_one_keymap): No need to follow func-indirect any more.
5295 (parse_menu_item): get_keymap_1 -> get_keymap.
5296 (tool_bar_items): Fetch the keymap rather than using keymapp.
5297 (read_key_sequence): Use KEYMAPP.
5298
5299 * intervals.c (get_local_map): Use get_keymap rather than following
5300 function-indirections explicitly.
5301
5302 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5303
f9d80af3
JR
53042000-10-27 Jason Rumney <jasonr@gnu.org>
5305
5306 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5307 point, as Windows has oversized fonts.
5308
5309 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5310
a3ba27da
GM
53112000-10-27 Gerd Moellmann <gerd@gnu.org>
5312
5313 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5314 (freehook, reallochook): Handle null pointer arguments.
5315 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5316
aa3b80cc
SM
53172000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5318
5319 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5320 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5321 Giving in to popular pressure to shut up the compiler with casts.
5322
e24e84cc
GM
53232000-10-27 Gerd Moellmann <gerd@gnu.org>
5324
5325 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5326 signed value, and use a default value computed from the font's
5327 maximum descent.
5328
05ea7ef2
MB
53292000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5330
5331 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5332 that specify a negative underline position can still use underlines.
5333
5334 * window.c (Fpos_visible_in_window_p): Make POS default to
5335 WINDOW's point, not the current buffer's point.
5336
0b95284b
DL
53372000-10-26 Dave Love <fx@gnu.org>
5338
5339 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5340 when it's necessary.
5341
6c5b90af
GM
53422000-10-26 Gerd Moellmann <gerd@gnu.org>
5343
8b6d9dc9
GM
5344 * window.c (size_window): Compute size difference from sum of old
5345 child window sizes instead of from parent's size.
5346
6bc92b2e
GM
5347 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5348 Handle obscured lines at the top of the window.
5349
5350 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5351 down after the last error condition check.
5352
6c5b90af
GM
5353 * frame.c (Fdelete_frame): Run delete-frame-hook.
5354
42f92d4d
KH
53552000-10-26 Kenichi Handa <handa@etl.go.jp>
5356
5357 * coding.c (decode_coding): Fix previous change (check also
5358 CODING_MODE_LAST_BLOCK).
5359
d97151cb
SM
53602000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5361
e7efc503
SM
5362 * regex.c: More `unsigned char' -> `re_char' changes.
5363 Also change several `int' into `re_wchar_t'.
5364 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5365 (PUSH_FAILURE_POINTER): Don't cast any more.
5366 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5367 We want GCC to complain, since this piece of code makes
5368 re_match non-reentrant, which *should* be fixed.
5369 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5370 (EXTEND_BUFFER): Use RETALLOC.
5371 (SET_LIST_BIT): Don't cast.
5372 (re_wchar_t): New type.
5373 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5374 that those two functions will always properly return.
5375 (IMMEDIATE_QUIT_CHECK): Cast to void.
5376 (analyse_first): Use recursion rather than an explicit stack.
5377 (re_compile_fastmap): Can't fail anymore.
5378 (re_search_2): Don't check re_compile_fastmap for failure.
5379 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5380 Now also sets the new value (passed in a new argument).
5381 (re_match_2_internal): Use it.
5382 Also, use a new var `reg' of type size_t when looping through regs
5383 rather than reuse the inappropriate `mcnt'.
5384
d97151cb
SM
5385 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5386 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5387 (where_is_internal): Renamed from Fwhere_is_internal.
5388 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5389 (Fwhere_is_internal): New function wrapping where_is_internal.
5390 (where_is_internal_1): Handle the case where we're filling the cache.
5391 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5392
d5789b65
MB
53932000-10-25 Miles Bader <miles@gnu.org>
5394
5395 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5396
4ecda532
GM
53972000-10-25 Gerd Moellmann <gerd@gnu.org>
5398
5399 * window.c (pos_fully_visible_p): Removed.
5400 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5401 if position is visible and/or fully visible.
5402
5403 * lisp.h (pos_visible_p): Add prototype.
5404
5405 * xdisp.c (pos_visible_p): New function.
5406
68c3a137
KH
54072000-10-25 Kenichi Handa <handa@etl.go.jp>
5408
5409 * process.c (send_process): If OBJECT is t, it means that the data
5410 is from C string, but we should encode it. Before calling
5411 setup_raw_text_coding_system, be sure to flush out data by the
5412 previous coding system.
5413
7ae1c032
MB
54142000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5415
ff4dcd4b
MB
5416 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5417 assignment of startpos to prev when startpos == pos.
5418
7ae1c032
MB
5419 * editfns.c (find_field): Set the field stickiness correctly from
5420 overlay fields. Use renamed `text_property_stickiness'.
5421 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5422 Only check text properties, not overlays.
7ae1c032
MB
5423 * textprop.c (get_char_property_and_overlay): New function.
5424 (Fget_char_property): Use it.
5425 * intervals.h (get_char_property_and_overlay): Add declaration.
5426
49801145
SM
54272000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5428
5429 * keymap.c: Use AREF, ASET and ASIZE macros.
5430 (Fmake_sparse_keymap): Docstring fix.
5431 (synkey): Remove.
5432 (shadow_lookup): Move up.
5433 Handle the case where lookup-key returns an integer.
5434 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5435 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5436 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5437 Simplify/rewrite the keymap-finding code.
5438 Add check for command shadowing, using shadow_lookup.
5439
39e776cd
SM
54402000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5441
5442 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5443 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5444 a symbol.
5445
2488aba5
AI
54462000-10-24 Andrew Innes <andrewi@gnu.org>
5447
5448 * dired.c (directory_files_internal_unwind): New function.
5449 (directory_files_internal): Use it to ensure closedir is called
5450 even if expand-file-name or file-attributes throw, eg. because of
5451 a user interrupt. Also enable immediate_quit while calling
5452 re_search, so that matching can be interrupted as well.
5453
b94fdf61
AI
54542000-10-24 Andrew Innes <andrewi@gnu.org>
5455
5456 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5457 NT-Emacs only.
5458 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5459 so that re_search functions only quit when callers expect them to.
5460
54612000-10-24 Kenichi Handa <handa@etl.go.jp>
5462
5463 * regex.c (regex_compile): Change the way of handling a range from
5464 a char less than 256 to a char not less than 256.
5465
1946f901
GM
54662000-10-24 Gerd Moellmann <gerd@gnu.org>
5467
7ae2f10f
GM
5468 * window.c (size_window): Prevent setting window's width or
5469 height to a negative value (esp. with XSETFASTINT).
5470
5dcab13e
GM
5471 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5472 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5473 (protect_malloc_state) [GC_MALLOC_CHECK &&
5474 GC_PROTECT_MALLOC_STATE]: New function.
5475 (PROTECT_MALLOC_STATE): New macro.
5476 (__malloc_initialize, morecore, _malloc_internal)
5477 (_free_internal) _realloc_internal): Use it to make _heapinfo
5478 read-only outside of gmalloc.
5479
63e1b552
GM
5480 * keymap.c: Update copyright.
5481
1946f901
GM
5482 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5483 a symbol.
5484
4fa09beb
GM
54852000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5486
5487 * filelock.c (unlock_all_files): Use unlock_file to expand each
5488 buffer's file_truename before trying remove its lock file.
5489
23afac01
EZ
54902000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5491
5492 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5493 or CRLF, decode EOLs.
5494
04448b95
KH
54952000-10-24 Kenichi Handa <handa@etl.go.jp>
5496
5497 * window.c (Fdisplay_buffer): Fix doc.
5498
3090a5a5
JR
54992000-10-23 Jason Rumney <jasonr@gnu.org>
5500
5501 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5502 ASCII font of default fontset on Windows.
5503
5504 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5505 xterm.c comment below).
5506
5507 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5508
a83fee2c
GM
55092000-10-23 Gerd Moellmann <gerd@gnu.org>
5510
5511 * xterm.c (x_connection_closed): Reset handling_signal.
5512
52283633 5513 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5514
6ffdb539
MB
55152000-10-23 Miles Bader <miles@gnu.org>
5516
5517 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5518 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5519 maintain old behavior.
5520 * minibuf.c (Fminibuffer_complete): Likewise.
5521
7f1c969b
MB
55222000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5523
5524 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5525 that when a font can't be exactly centered, it errs up rather than
5526 down.
5527
23afac01 55282000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5529
52283633 5530 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5531
1a578e9b
AC
55322000-10-23 Andrew Choi <akochoi@i-cable.com>
5533
5534 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5535
5536 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5537 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5538
5539 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5540 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5541 syms_of_search, x_term_init, and init_keyboard before calling
5542 init_window_once. Also, call syms_of_xmenu.
5543
5544 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5545 default fontset to Monaco.
5546
5547 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5548 NewMacWindow and DisposeMacWindow.
5549 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5550 instead of calling NewMacWindow and setting fields of
5551 f->output_data.mac directly. Call init_frame_faces.
5552 (Fdelete_frame) [macintosh]: Remove unused code.
5553 (Fmodify_frame_parameters) [macintosh]: Call
5554 x_set_frame_parameters instead of mac_set_frame_parameters.
5555
5556 * frame.h [macintosh]: Define menu_bar_lines field in struct
5557 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5558
5559 * keyboard.c [macintosh]: Include macterm.h.
5560 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5561 and menu_bar_activate_event type events as for X and NT.
5562 (make_lispy_event) [macintosh]: Construct lisp events of type
5563 MENU_BAR_EVENT as for X and NT.
5564
5565 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5566 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5567 (sys_subshell) [macintosh]: Remove definition entirely.
5568 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5569 Vwindow_system_version here. Remove initialization of
5570 Vx_bitmap_file_path.
5571 (read_input_waiting): Correct the number of parameters passed to
5572 read_socket_hook.
5573 Move all Macintosh functions to mac/mac.c.
5574
5575 * term.c [macintosh]: Include macterm.h.
5576
5577 * window.c [macintosh]: Include macterm.h.
5578
5579 * xdisp.c [macintosh]: Include macterm.h. Declare
5580 set_frame_menubar and pending_menu_activation.
5581 (echo_area_display) [macintosh]: Do not return if terminal frame
5582 is the selected frame.
5583 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5584 Allow only the selected frame to set menu bar.
5585 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5586 calling FRAME_EXTERNAL_MENU_BAR (f).
5587 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5588
5589 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5590 and check_x. Declare XCreateGC. Define x_create_gc and
5591 x_free_gc. Initialize font_sort_order.
5592 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5593 but call x_list_fonts instead of w32_list_fonts.
5594 (Finternal_face_x_get_resource) [macintosh]: Do not call
5595 display_x_get_resource.
5596 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5597 (realize_x_face) [macintosh]: Load the font if it is specified in
5598 ATTRS.
52283633 5599 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5600
1ffbabe3
SM
56012000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5602
5603 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5604 is nil: since we go to the end of submap anyway, we'd end up
5605 setting nil to nil.
5606 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5607 doesn't obey autoload.
5608
bed43f1d
EZ
56092000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5610
1ffbabe3 5611 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5612
ea4233a7
JR
56132000-10-21 Jason Rumney <jasonr@gnu.org>
5614
5615 * w32term.c (w32_cache_char_metrics): Double check that font is
5616 really fixed pitch before trusting tmPitchAndFamily.
5617
f3d3c491
AI
56182000-10-21 Andrew Innes <andrewi@gnu.org>
5619
5620 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5621
5622 * w32term.h: Extern decl for w32_cache_char_metrics.
5623
5624 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5625
5626 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5627 (w32_unload_font): Free per_char array if present.
5628
5629 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5630 cached information in emulated XFontStruct to handle common cases
5631 quickly. Do not allocate XCharStruct for return.
5632 (w32_native_per_char_metric): New function.
5633 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5634 allocating one.
5635 (x_produce_glyphs): Don't get an HDC. Change calls to
5636 w32_per_char_metric to match arg change above. Remove calls to
5637 free results.
5638 (w32_get_glyph_overhangs): Ditto.
5639 (w32_cache_char_metrics): New function.
5640
5641 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5642 ($(BLD)/casefiddle.$(O)): Remove compile command.
5643 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5644 ($(BLD)/dispnew.obj):
5645 ($(BLD)/keyboard.obj):
5646 ($(BLD)/w32inevt.obj):
5647 ($(BLD)/w32bdf.obj):
5648 ($(BLD)/alloc.obj):
5649 ($(BLD)/buffer.obj):
5650 ($(BLD)/editfns.obj):
5651 ($(BLD)/emacs.obj):
5652 ($(BLD)/fileio.obj):
5653 ($(BLD)/fns.obj):
5654 ($(BLD)/indent.obj):
5655 ($(BLD)/insdel.obj):
5656 ($(BLD)/intervals.obj):
5657 ($(BLD)/minibuf.obj):
5658 ($(BLD)/print.obj):
5659 ($(BLD)/scroll.obj):
5660 ($(BLD)/sysdep.obj):
5661 ($(BLD)/textprop.obj):
5662 ($(BLD)/widget.obj):
f3d3c491
AI
5663 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5664 ($(BLD)/term.obj): Add dependency on dispextern.h.
5665
52283633
SM
5666 * makefile.nt ($(BLD)\dispnew.obj):
5667 ($(BLD)\keyboard.obj):
5668 ($(BLD)\w32inevt.obj):
5669 ($(BLD)\w32bdf.obj):
5670 ($(BLD)\alloc.obj):
5671 ($(BLD)\buffer.obj):
5672 ($(BLD)\editfns.obj):
5673 ($(BLD)\emacs.obj):
5674 ($(BLD)\fileio.obj):
5675 ($(BLD)\fns.obj):
5676 ($(BLD)\indent.obj):
5677 ($(BLD)\insdel.obj):
5678 ($(BLD)\intervals.obj):
5679 ($(BLD)\minibuf.obj):
5680 ($(BLD)\print.obj):
5681 ($(BLD)\scroll.obj):
5682 ($(BLD)\sysdep.obj):
5683 ($(BLD)\textprop.obj):
5684 ($(BLD)\widget.obj):
f3d3c491
AI
5685 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5686 ($(BLD)\term.obj): Add dependency on dispextern.h
5687
18ad4821
EZ
56882000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5689
5690 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5691 with an additional argument of Qt.
5692
de54681a
MB
56932000-10-21 Miles Bader <miles@gnu.org>
5694
5695 * window.c (pos_fully_visible_in_window_p): New function.
5696 (Fpos_visible_in_window_p): Add FULLY argument.
5697 Use pos_fully_visible_in_window_p.
5698 (window_scroll_pixel_based, window_scroll_line_based): Update
5699 calls to Fpos_visible_in_window_p.
5700 * lisp.h (Fpos_visible_in_window_p): Update prototype
5701
13c844fb
GM
57022000-10-20 Gerd Moellmann <gerd@gnu.org>
5703
5704 * alloc.c (toplevel): Conditionalize compilation of mem_*
5705 functions differently.
52283633 5706
d9506268
JR
57072000-10-20 Jason Rumney <jasonr@gnu.org>
5708
5709 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5710 mem_init where it used to be. mem_z etc not defined otherwise.
5711
8094989b
GM
57122000-10-20 Gerd Moellmann <gerd@gnu.org>
5713
5714 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5715 GC_MALLOC_CHECK.
5716 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5717 structure definition and related variabled to the top of the file.
5718 Include this code when GC_MALLOC_CHECK is defined.
5719 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5720 register/unregister allocated region.
5721 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5722 which isn't allocated.
5723 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5724 something which is already in use.
5725 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5726 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5727 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5728 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5729
5730 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5731 _malloc_internal instead of malloc.
5732 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5733 of free.
5734
ea456eb4
AI
57352000-10-20 Andrew Innes <andrewi@gnu.org>
5736
5737 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5738 Windows.
5739 (my_strftime) <macro>: Don't use macro arg list when redefining as
5740 _strftime_copytm.
5741 (my_strftime) <function>: Supply 0 as ut argument.
5742
e64c3a75
JR
57432000-10-19 Jason Rumney <jasonr@altavista.net>
5744
5745 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5746 including dispextern.h, as it stops faces from working.
5747
5748 * w32fns.c (Fx_create_frame): Don't bother calling
5749 face-set-after-frame-default since the caller does it for us
5750 anyway. Clean up calls to x_get_arg to be consistent with X.
5751
5752 * w32term.c (x_produce_glyphs): Handle
5753 unibyte_display_via_language_environment correctly.
5754 (w32_draw_box_rect): Fix the calculation of width and height.
5755
5756 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5757 as it has stopped working.
5758 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5759 menu-bar.
5760
17401c97
GM
57612000-10-19 Gerd Moellmann <gerd@gnu.org>
5762
5763 * eval.c (skip_debugger): Prevent a compiler warning.
5764 (Fcondition_case): Likewise.
5765 (Fbacktrace_frame): Use a null interactive spec.
5766
773272d8
KH
57672000-10-19 Kenichi Handa <handa@etl.go.jp>
5768
5769 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5770
a42943e9
GM
57712000-10-18 Gerd Moellmann <gerd@gnu.org>
5772
e50517d9
GM
5773 * strftime.c: Sync with glibc, file version 1.78.
5774 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5775 should no longer be used according to ISO 8601.
5776
9035a35a
GM
5777 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5778 no map for meta_prefix_char, don't try to use it as a keymap.
5779 Instead, if T_OK is non-zero, look up a default binding, if any,
5780 otherwise, if T_OK is zero, return nil.
5781
a42943e9
GM
5782 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5783 (x_to_xcolors, png_load): Use x_query_color.
5784
52283633
SM
5785 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5786 New functions.
a42943e9
GM
5787 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5788 which can be slow.
5789 (x_copy_color, x_alloc_lighter_color): Likewise.
5790
5791 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5792 (x_query_color, x_query_colors): Add prototype.
5793
5794 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5795 check_string_bytes only if not noninteractive, increase count to 50.
5796
00de2987
MB
57972000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5798
5799 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5800 markers correctly.
5801
54918e2b
GM
58022000-10-17 Gerd Moellmann <gerd@gnu.org>
5803
1f0b3fd2
GM
5804 * alloc.c (pure_bytes_used): Renamed from pureptr.
5805 (ALIGN): New macro.
5806 (pure_alloc): New function.
5807 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5808 Use it.
5809 (Fpurecopy): Use PURE_POINTER_P.
5810
68c5d1db
GM
5811 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5812 PT has moved backward.
52283633 5813
9a038881
GM
5814 * xdisp.c (cursor_row_p): Take continued lines into account.
5815
361b097f
GM
5816 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5817 string's size_byte.
5818 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5819 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5820 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5821 string allocated.
5822
54918e2b
GM
5823 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5824 of selective display off while searching for the next line start.
5825
03ed0806
KH
58262000-10-17 Kenichi Handa <handa@etl.go.jp>
5827
5828 * Makefile.in (term.o): Depend on dispextern.h.
5829
7e05cdaf
SM
58302000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5831
5832 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5833
a6801fd1
GM
58342000-10-16 Gerd Moellmann <gerd@gnu.org>
5835
483de32b
GM
5836 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5837 the iterator at the beginning, so that they can be set later on,
5838 for instance in reseat_at_next_visible_line_start, without being
5839 overwritten.
5840
a6801fd1
GM
5841 * xfns.c (pbm_format): Add :foreground and :background keywords.
5842 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5843 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5844
dbf1fcc1
EZ
58452000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5846
5847 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5848
52283633 5849 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5850
5851 * msdos.c (IT_set_face): Compare highlighted face with the default
5852 face, and invert colors if these faces' colors are identical.
5853 (Fmsdos_remember_default_colors): Don't swap foreground and
5854 background colors in initial_colors[].
5855 (IT_set_frame_parameters): Don't swap frame's foreground and
5856 background pixels. If ALIST includes "(reverse . t)", swap
5857 foreground-color and background-color properties in frame's
5858 param_alist. If the original frame's param_alist doesn't specify
5859 the colors, store unspecified-fg and unspecified-bg, reversed if
5860 required.
5861
5862 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5863 the colors are unspecified and reversed, reverse fore- and back-
5864 ground in the returned value.
5865 (Fframe_parameter): Ditto.
5866
b41fe2c3 58672000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5868
3a6b59d9
GM
5869 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5870 get_last_unchanged_at_beg_row.
5871 (find_first_unchanged_at_end_row): Renamed from
5872 get_first_unchanged_at_end_row.
5873 (find_first_unchanged_at_end_row): Convert assertions to
5874 unconditional tests which abort. When looking for a row in
5875 unchanged text, don't go further back than first_text_row.
5876
b41fe2c3
GM
5877 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5878 Don't add in the last line's height when deciding if the new
5879 position is below the scroll margin.
9d1af64f 5880
b41fe2c3 58812000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5882
5883 * editfns.c (Fconstrain_to_field): Check carefully for field
5884 boundaries if either OLD_POS or NEW_POS has a non-nil field
5885 property, even if they're the same.
5886
c412cb7b
KH
58872000-10-16 Kenichi Handa <handa@etl.go.jp>
5888
5889 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5890 height for XFillRectangle.
5891
5586f3eb
SM
58922000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5893
5894 * syntax.c (Fstring_to_syntax): New function extracted from
5895 Fmodify_syntax_entry.
5896 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5897 (skip_chars, Fforward_comment): Remove unused variables.
5898 (syms_of_syntax): Add defsubr for string-to-syntax.
5899 (describe_syntax): Add code for comment and string fences.
5900
db785038
SM
59012000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5902
5903 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5904 Do the meta->esc mapping. Call get_keyelt before returning.
5905 Start scanning from the second element (the first is always `keymap')
5906 to make it easier to detect when we reach a parent map.
5907 Handle the case of inheriting from a symbol whose function is a map.
5908 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5909 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5910 (get_keyelt, Flookup_key): Update call to access_keymap.
5911 Remove the meta->esc mappings.
5912 (define_as_prefix): Delete old disabled code.
5913 (menu_item_p): New function.
5914 (where_is_internal_1): Skip over the few remaining menu items.
5915 * lisp.h (access_keymap): Update prototype.
5916 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5917 Update call to access_keymap.
5918 (follow_key, read_key_sequence): Update calls to access_keymap.
5919 Remove the meta->esc mappings.
5920
cafafe0b
GM
59212000-10-13 Gerd Moellmann <gerd@gnu.org>
5922
a2e2a7f6
GM
5923 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5924 with additional argument.
5925
cafafe0b
GM
5926 * xdisp.c (cursor_row_p): New function.
5927 (try_cursor_movement, display_line): Use it.
52283633 5928
cafafe0b
GM
5929 * xdisp.c (append_space): Also save/restore iterator's current
5930 character and its length.
5931
5932 * xdisp.c (init_from_display_pos): Add an assertion.
5933 (handle_stop): Don't set iterator's add_overlay_start.
5934 (handle_invisible_prop): Likewise.
5935 (load_overlay_strings): If text under an overlay is invisible,
5936 take both before- and after-strings into account when the iterator
5937 is positioned either at the start or at the end of the overlay.
5938 (forward_to_next_line_start): Rewritten.
5939 (reseat_at_next_visible_line_start): Rewritten.
5940 (set_iterator_to_next): Add parameter RESEAT_P.
5941
5942 * dispextern.h (struct it): Remove member add_overlay_start.
5943 (set_iterator_to_next): Change prototype.
5944
c744452b
KH
59452000-10-13 Kenichi Handa <handa@etl.go.jp>
5946
5947 * coding.c (code_convert_region): Be sure to initialize
5948 coding->category_idx.
e4a3f4e1
KH
5949 (decode_coding_string): Set coding->src_multibyte and
5950 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5951 (encode_coding_string): Set coding->src_multibyte and
5952 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5953
321fd26f
SM
59542000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5955
5956 * xfns.c (Fx_create_frame): Don't bother calling
5957 face-set-after-frame-default since the caller does it for us anyway.
5958
76832439
EZ
59592000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5960
5961 * window.c (coordinates_in_window): Fix detection of vertical line
5962 on character terminals.
5963
2483cf58
GM
59642000-10-12 Gerd Moellmann <gerd@gnu.org>
5965
5966 * editfns.c (save_excursion_save): Additionally record the
5967 selected window.
5968 (save_excursion_restore): If buffer was visible in a window, and a
5969 different window was selected, and the old selected window is
5970 still live, restore point in that window.
5971
eb991b25
KH
59722000-10-12 Kenichi Handa <handa@etl.go.jp>
5973
8a0eba09
KH
5974 * xterm.c (x_produce_glyphs): Handle
5975 unibyte_display_via_language_environment correctly.
5976
20401fcc
KH
5977 * regex.c (regex_compile): Change the way of handling a range from
5978 unibyte char to multibyte char.
5979
5980 * syntax.c (skip_chars): Change the way of handling a range from
5981 unibyte char to multibyte char.
5982
eb991b25
KH
5983 * process.c (read_process_output): Cancel previous change.
5984
365dd325
EZ
59852000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5986
c1b096cb
EZ
5987 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5988
365dd325
EZ
5989 * charset.c (Ffind_charset_string): Doc fix.
5990 (Ffind_charset_region): Doc fix.
5991
eb483c2b
KH
59922000-10-11 Kenichi Handa <handa@mule.m17n.org>
5993
5994 * process.c (read_process_output): Fix previous change. Adjust
5995 multibyteness of text to insert in a buffer by
52283633 5996 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5997
b40bfb99
AS
59982000-10-10 Andreas Schwab <schwab@suse.de>
5999
6000 * alloc.c (mark_object): Remove all workarounds installed on
6001 1993-08-08.
6002
caff31d4
KH
60032000-10-10 Kenichi Handa <handa@etl.go.jp>
6004
52283633 6005 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6006 (base64_encode_1): Make it work for a text of multibyte form.
6007 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6008 case. Don't call str_to_multibyte because base64_decode_1
6009 produces correct multibyte form for eight-bit codes.
52283633 6010 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6011 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6012 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6013 codes.
6014
6015 * charset.h (CHAR_STRING): Optimized for single byte characters.
6016
cba026ef
AS
60172000-10-09 Andreas Schwab <schwab@suse.de>
6018
6019 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6020 -1 after socket is closed, to fall through to error processing.
6021
1e21fe48
EZ
60222000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6023
6024 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6025 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6026 background-color, change also the colors of the default face for
6027 this frame.
6028
a640322e
EZ
60292000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6030
6031 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6032 them extern (they are defined on xfaces.c).
6033 (syms_of_msdos): Don't intern and don't staticpro
6034 Qbackground_color and Qforeground_color.
6035
a115794c
EZ
60362000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6037
6038 * frame.c (Fframe_parameter): For non-windowed frames, if
6039 f->param_alist says foreground or background color is unspecified,
6040 call tty_color_name to return the color name computed from the
6041 frame's current colors.
6042
f5533b63
DL
60432000-10-06 Dave Love <fx@gnu.org>
6044
6045 * terminfo.c (ospeed): Don't declare.
6046
6047 * sysdep.c: Don't include string.h.
6048 (h_errno): Declare conditional also on TRY_AGAIN.
6049
6050 * charset.c (Ffind_charset_string): Doc fix.
6051
52283633 6052 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6053 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6054 error messages.
6055
2b06561a
DL
60562000-10-05 Dave Love <fx@gnu.org>
6057
6058 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6059 position like menu-bar.
6060
ca839c85
GM
60612000-10-05 Gerd Moellmann <gerd@gnu.org>
6062
6063 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6064
6065 * xdisp.c (handle_single_display_prop): Use safe_call1.
6066 (safe_call): Renamed from call_function.
6067 (safe_call1): New function.
6068 (handle_fontified_prop): Use safe_call1 instead of call1.
6069 (safe_eval): Renamed from eval_form.
6070 (safe_eval_handler): Renamed from eval_handler.
6071 (handle_single_display_prop, display_mode_element): Use safe_eval
6072 instead of eval_form.
6073
6074 * xfaces.c (merge_face_heights): Use safe_call instead of
6075 call_function.
6076
6077 * keyboard.c (show_help_echo): Use safe_call instead of
6078 call_function; use safe_eval instead of eval_form.
6079
6080 * lisp.h (safe_call): Renamed from call_function.
6081 (safe_eval): Renamed from eval_form.
6082 (safe_call1): Add prototype.
6083
a3489ece
MB
60842000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6085
6086 * xfns.c (image_ascent): Rearrange ascent calculation for the
6087 has-a-font case.
6088
35810b6f
SM
60892000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6090
6091 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6092 (where_is_internal_1): Don't bother ignoring menu-items any more.
6093
3dc78168
GM
60942000-10-04 Gerd Moellmann <gerd@gnu.org>
6095
6096 * keyboard.c (update_menu_bindings): New variable.
6097 (parse_menu_item): Use AREF. If update_menu_bindings
6098 is 0, don't update menu bindings.
6099 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6100
1efc2bb9
EZ
61012000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6102
6103 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6104 to `mark_object'.
6105
3f679f55
SM
61062000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6107
6108 * syntax.c (forw_comment): Match nestedness of ender/starter.
6109 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6110 (prev_char_comstart_first): Remove.
6111 (back_comment): Check two-char comment markers more carefully
6112 to better handle overlapping cases like *//* or /* */* */ ...
6113 Match nestedness of ender/starter.
6114
2021ab61
DL
61152000-10-02 Dave Love <fx@gnu.org>
6116
6117 * config.in (HAVE_GAI_STRERROR): Add undef.
6118
6119 * process.c (Fopen_network_stream): Use it.
6120
6121 * m/alpha.h (NO_REMAP): Don't define.
6122
64e6cc18
GM
61232000-10-02 Gerd Moellmann <gerd@gnu.org>
6124
6125 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6126 return with a string converted to an integer or vice versa when
6127 Vmocklisp_arguments is t.
6128 (Fsignal): Likewise. The function can return for `quit'.
6129 (struct gcpro): Declare member `var' to point to a volatile
6130 Lisp_Object.
6131
6132 * eval.c (error): Prevent compiler warning.
6133
b1904cd9
SM
61342000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6135
6136 * keymap.c (keymap_memberp): New function.
6137 (Fset_keymap_parent): Use it.
6138 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6139 Use keymap_memberp to avoid creating cycles.
6140 (access_keymap): Use KEYMAPP.
6141
71c9ec51
GM
61422000-09-30 Gerd Moellmann <gerd@gnu.org>
6143
6144 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6145 gai_strerror. Make sure xerrno is set if connect fails. Improve
6146 error recovery.
71c9ec51 6147
c70c6b58
JR
61482000-09-29 Jason Rumney <jasonr@gnu.org>
6149
6150 * w32term.c (w32_char_font_type, w32_encode_char)
6151 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6152 (w32_bdf_per_char_metric): New function.
6153 (w32_per_char_metric): Use it.
6154 (x_draw_glyph_string_background): Always draw background for BDF
6155 glyphs.
6156
6157 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6158 GDI object which is a scarce resource.
6159
6160 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6161 (get_quoted_string): Fix limit on memchr search.
6162 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6163 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6164 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6165 (get_cached_font_char, cache_char_offset): Use macro
6166 BDF_CODEPOINT_RANGE_COVER_P.
6167 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6168 (clear_cached_bitmap_slots): New function.
6169 (GET_HEX_VALUE): G-Z, g-z are not hex.
6170 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6171 (get_bitmap_with_cache): Use new cache implementation.
6172 (create_offscreen_bitmap): New function.
6173 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6174
6175 * w32term.c (x_produce_glyphs): If the distance from the current
6176 position to the next tab stop is less than a canonical character
6177 width, use the tab stop after that.
6178 (x_draw_glyphs): Handle case START and END are out of bounds more
6179 carefully.
6180 (x_clear_mouse_face): Block/unblock input.
6181 (x_display_and_set_cursor): Don't show a hollow box cursor for
6182 buffers whose cursor_type is nil.
6183
fe01239f
GM
61842000-09-29 Gerd Moellmann <gerd@gnu.org>
6185
52283633 6186 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6187
6188 * dispextern.h (updating_frame): Declare extern.
6189
e7c52f1f
AS
61902000-09-29 Andreas Schwab <schwab@suse.de>
6191
6192 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6193
de6e1f7c
GM
61942000-09-29 Gerd Moellmann <gerd@gnu.org>
6195
25126faa
GM
6196 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6197 use its function definition.
6198 (tool_bar_items): Likewise.
6199
de6e1f7c 6200 * lisp.h (fatal): Declare NO_RETURN.
52283633 6201
454ee39b
KH
62022000-09-29 Kenichi Handa <handa@etl.go.jp>
6203
6204 * keymap.c: Remove the line "#undef NULL".
6205
96301c5f
GM
62062000-09-28 Gerd Moellmann <gerd@gnu.org>
6207
52283633 6208 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6209
efffeeb4
DL
62102000-09-28 Dave Love <fx@gnu.org>
6211
ecb8b666
DL
6212 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6213
dc3cd20f
DL
6214 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6215
6216 * .gdbinit (xreload): Note its need on GNU/Linux.
6217
efffeeb4
DL
6218 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6219 r_alloc, r_alloc_free.
6220
8610d903
KH
62212000-09-28 Kenichi Handa <handa@etl.go.jp>
6222
6223 * syntax.c (skip_chars): Handle negation correctly.
6224
8901d1ac
GM
62252000-09-27 Gerd Moellmann <gerd@gnu.org>
6226
6f22f1ad
GM
6227 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6228 with non-zero FORCE_P argument.
6229
52283633 6230 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6231 Add assertions.
6232
6233 * xdisp.c (window_box_height): Add an assertion.
6234
6235 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6236 tool-bar than is available.
6237 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6238
36f1966f
DL
62392000-09-27 Dave Love <fx@gnu.org>
6240
efffeeb4 6241 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6242
31d929e5
GM
62432000-09-26 Gerd Moellmann <gerd@gnu.org>
6244
c98863bf
GM
6245 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6246 instead of BITS_PER_INT.
6247 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6248 EMACS_UINT, respectively.
6249 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6250
6251 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6252
6253 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6254
77072ab1
GM
6255 * window.c (freeze_window_starts): Construct last argument for
6256 foreach_window differently.
6257
6258 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6259
6260 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6261 EMACS_UINT instead of `int' and `unsigned int'.
6262 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6263
6264 * frame.h (struct frame): Make the `nothing' member of union
6265 output_data an EMACS_INT.
6266
52283633 6267 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6268 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6269 size in the sdata structure.
6270 (SDATA_NBYTES, SDATA_DATA): New macros.
6271 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6272 differently for the different layout of the sdata structure.
6273 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6274 in sdata.
6275 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6276 Check that size recorded in the string size and size recorded in
6277 the sdata structure agree.
6278
3e60b029
DL
62792000-09-25 Dave Love <fx@gnu.org>
6280
6281 * buffer.c: Include stdio.h.
6282
6283 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6284
3e60b029
DL
6285 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6286
6287 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6288 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6289 (__malloc_extra_blocks): Declare as __malloc_size_t.
6290
8ff16b4e
GM
62912000-09-25 Gerd Moellmann <gerd@gnu.org>
6292
755a2ccd
GM
6293 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6294
d8b4516f
GM
6295 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6296 (read_char): If help-echo is showing, preserve the echo area
6297 when redisplaying.
6298
6299 * xdisp.c (help_echo_showing_p): New variable.
6300 (set_message): Reset it to 0.
6301 (init_xdisp): Initialize help_echo_showing_p.
6302
6303 * dispextern.h (help_echo_showing_p): Declare extern.
6304
6305 * config.in: Fix typo in __GNUC_MINOR__.
6306
6307 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6308
b11af2dd
GM
6309 * s/freebsd.h (POSIX_SIGNALS): Define.
6310
8ff16b4e
GM
6311 * xterm.c (x_clear_mouse_face): Block/unblock input.
6312
844eb643
DL
63132000-09-24 Dave Love <fx@gnu.org>
6314
6315 * fns.c (base64_encode_1): Fix last change.
6316
b30ab1b3
GM
63172000-09-22 Gerd Moellmann <gerd@gnu.org>
6318
6319 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6320
6321 * xdisp.c (try_window_reusing_current_matrix): More fixes
6322 for the case window has a header-line.
6323
c6cbe5f0
DL
63242000-09-22 Dave Love <fx@gnu.org>
6325
4c7c1f3f
DL
6326 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6327 a doc string.
6328
6329 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6330
c6cbe5f0
DL
6331 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6332
550a625e
GM
63332000-09-21 Gerd Moellmann <gerd@gnu.org>
6334
4c7c1f3f 6335 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6336 for GCC >= 2.5.
6337
52283633
SM
6338 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6339 Declare NO_RETURN.
fca99116 6340
80d26f99
GM
6341 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6342 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6343 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6344 warnings.
52283633 6345
80d26f99
GM
6346 * marker.c (byte_char_debug_check): Return void.
6347
623a0aae
GM
6348 * xfns.c (Fx_create_frame): Set default frame parameter value
6349 for tool-bar-lines to 1.
6350
6351 * dispnew.c (scrolling_window): Compare y-positions of rows
6352 equal at the start. Some simplification.
6353
6354 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6355 reused rows' y-position in the case window has a header-line, and
6356 new window start is greater than old window start.
6357
42ac0ae5
GM
6358 * process.c (process_sent_to): New variable.
6359 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6360 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6361 Declare more parameters volatile.
6362
550a625e
GM
6363 * lread.c (Vrecursive_load_depth_limit): New variable.
6364 (Fload): Check recursive loads whose recursion depth exceeds
6365 Vrecursive_load_depth_limit.
6366 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6367
8320414c
GM
63682000-09-20 Gerd Moellmann <gerd@gnu.org>
6369
f46c275e
GM
6370 * fileio.c (Fread_file_name): Doc fix.
6371
6372 * editfns.c (Fmessage_or_box): Doc fix.
6373
6374 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6375
b7e11c5b 6376 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6377
8320414c
GM
6378 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6379 symbols are specified, add color translations to the cache.
52283633 6380 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6381 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6382 xpm_cache_color.
6383 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6384 structures to xpm_init_color_cache.
6385
da1608d9
GM
63862000-09-19 Gerd Moellmann <gerd@gnu.org>
6387
52283633 6388 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6389
6badfa25
AI
63902000-09-19 Andrew Innes <andrewi@gnu.org>
6391
6392 * makefile.nt (bootstrap-emacs): Don't change directory.
6393
3a5f42bb
KH
63942000-09-19 Kenichi Handa <handa@etl.go.jp>
6395
1b7649bd
KH
6396 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6397
3a5f42bb
KH
6398 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6399 If output buffer is too small, signal an appropriated error.
6400
9f83cf0b
DL
64012000-09-18 Dave Love <fx@gnu.org>
6402
52283633 6403 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6404 (current_active_maps): Remove redundant get_local_map call.
6405
28c7826c
GM
64062000-09-18 Gerd Moellmann <gerd@gnu.org>
6407
5cefa566
GM
6408 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6409 cursor for buffers whose cursor_type is nil.
52283633 6410
6fed3546
GM
6411 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6412 a feature to implement that is already implemented.
6413 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6414 warnings.
6415
6416 * xfns.c (x_clear_image_1): New function.
6417 (x_clear_image): Use it.
52283633 6418 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6419
05b1f851
GM
6420 * dispnew.c (update_window): Move test for invisible lines
6421 at the top to update_window_line.
6422 (update_window_line): Handle invisible lines here.
6423
f4779de9
GM
6424 * xfns.c (clear_image_cache): Clear current matrices of all
6425 frames sharing an image cache. Block input while freeing
6426 images. Fix timestamp comparison.
6427 (x_clear_image): Also free the mask.
6428
28c7826c
GM
6429 * xfns.c (lookup_image): Block input while loading the image so
6430 that we won't get interrupted in a state where the image isn't yet
6431 set up completely.
6432 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6433 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6434 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6435 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6436
b7412313
GM
64372000-09-16 Gerd Moellmann <gerd@gnu.org>
6438
6439 * dispnew.c (update_window): Make sure to make desired rows
6440 current even if they are completely invisible at the top
6441 of a window.
6442
47e351a3
GM
64432000-09-15 Gerd Moellmann <gerd@gnu.org>
6444
7f8f1edc
GM
6445 * xfns.c (lookup_image): Build mask before applying an algorithm.
6446 Recognize algorithm `disabled'.
6447 (cross_disabled_images): New variable.
6448 (COLOR_INTENSITY): New macro.
6449 (x_detect_edges): Use COLOR_INTENSITY.
6450 (x_disable_image): New function.
6451 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6452
6453 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6454 disabled state, don't apply an image transformation algorithm if
6455 the user specified an image for the disabled state. Use
28c7826c 6456 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6457 user hasn't specified an image.
6458
ebb8f116
GM
6459 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6460 allocation functions with the XPM lib.
6461 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6462 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6463 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6464 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6465 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6466 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6467 functions, if possible, because these handle color allocation
6468 failure more gracefully.
6469 (Fimage_mask_p): New function.
6470
47e351a3
GM
6471 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6472 (Qedge_detection, Qheuristic): New symbols.
6473 (syms_of_xfns): Initialize new symbols.
6474 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6475 `algorithm (edge-detection ...)'.
6476 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6477 (tiff_format, gif_format, gs_format): Add `:mask'.
6478 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6479 (GIF_MASK, GS_MASK): New enumerators.
6480 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6481 (emboss_matrix, laplace_matrix): New variables.
6482 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6483 (x_edge_detection): New functions.
6484 (x_laplace): Rewritten in terms of x_detect_edges.
6485 (x_build_heuristic_mask): If image has a mask, free it.
6486
fe83b953
AI
64872000-09-14 Andrew Innes <andrewi@gnu.org>
6488
6489 * makefile.w32-in: Revert to Unix line endings.
6490
3021e816
AI
64912000-09-14 Andrew Innes <andrewi@gnu.org>
6492
6493 * makefile.w32-in: Standardize indentation somewhat.
6494 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6495 cater for differences between shells.
6496
6497 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6498
2a32b5ea
GM
64992000-09-14 Gerd Moellmann <gerd@gnu.org>
6500
6501 * xterm.c (x_produce_glyphs): If the distance from the current
6502 position to the next tab stop is less than a canonical character
6503 width, use the tab stop after that.
6504
b4331e96
DL
65052000-09-14 Dave Love <fx@gnu.org>
6506
6507 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6508
ef9e4345
GM
65092000-09-14 Gerd Moellmann <gerd@gnu.org>
6510
085536c2
GM
6511 * xdisp.c (handle_fontified_prop): While running fontification
6512 functions, bind `fontification-functions' and
6513 `after-change-functions' to nil.
6514
ef9e4345
GM
6515 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6516 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6517
6518 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6519
6520 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6521 USE_MMAP_FOR_BUFFERS.
6522
6523 * insdel.c (make_gap): Use enlarge_buffer_text.
6524
6525 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6526 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6527 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6528 from former r_alloc_* functions in ralloc.c.
52283633 6529 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6530 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6531 (mmap_init) [REL_ALLOC_MMAP]: New function.
6532 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6533 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6534 BUFFER_FREE.
6535
6536 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6537 (enlarge_buffer_text): Add prototype.
6538
6539 * ralloc.c: Remove everything having to do with the use of mmap.
6540
f8608968
GM
65412000-09-13 Gerd Moellmann <gerd@gnu.org>
6542
2a494b2d
GM
6543 * sound.c (Fplay_sound): Doc fix.
6544
8c907a56
GM
6545 * keyboard.c: Avoid some more compiler warnings.
6546 (parse_tool_bar_item): Ignore cached key bindings.
6547
f8608968
GM
6548 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6549 and allocation of Lisp data.
6550
6ab70e9a
GM
65512000-09-12 Gerd Moellmann <gerd@gnu.org>
6552
d12d0a9b
GM
6553 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6554 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6555 defaults first.
6556
6ab70e9a
GM
6557 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6558
63c36c3c
KH
65592000-09-12 Miyashita Hisashi <himi@meadowy.org>
6560
6561 * ccl.c: Comment fixed.
6562 (MAX_MAP_SET_LEVEL): Increased to 30.
6563 (PUSH_MAPPING_STACK): Enclose with do-while block.
6564 (POP_MAPPING_STACK): Likewise.
6565 (stack_idx_of_map_multiple): New variable.
6566 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6567 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6568 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6569 (ccl_driver) <CCL_MapSingle>: Likewise.
6570 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6571 with the case where looking up process reaches to the end of
6572 map-set, and call CCL programs as the above change.
6573
7ee3bd7b
GM
65742000-09-11 Gerd Moellmann <gerd@gnu.org>
6575
8ec8a5ec
GM
6576 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6577 that might be clobbered by longjmp.
6578 (check_x_display_info, x_decode_color, create_frame_xic)
6579 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6580 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6581
f74b0705
GM
6582 * lread.c (init_lread): Set Vloads_in_progress to nil.
6583 (Fload): Show list of recursively loaded files, when signaling an
6584 error.
6585
7ee3bd7b
GM
6586 * lread.c (Vloads_in_progress): New variable.
6587 (record_load_unwind): New function.
6588 (Fload): Check for recursive loads.
6589 (syms_of_lread): Initialize Vloads_in_progress.
6590 (read_integer, read1): Avoid some compiler warnings.
6591
6592 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6593 compiler warnings.
6594
974e1e5b
MB
65952000-09-11 Miles Bader <miles@gnu.org>
6596
6597 * editfns.c (Fbuffer_string): Doc fix.
6598
9824c4e3
GM
65992000-09-10 Gerd Moellmann <gerd@gnu.org>
6600
6601 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6602
6a72fdd1
KR
66032000-09-09 Ken Raeburn <raeburn@gnu.org>
6604
6605 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6606 whether to include other header files.
6607
28e6fb66
GM
66082000-09-09 Gerd Moellmann <gerd@gnu.org>
6609
52283633 6610 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6611 by Fmemq as a boolean.
28e6fb66 6612
7f8b6551
SM
66132000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6614
6615 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6616
a8710abf
GM
66172000-09-08 Gerd Moellmann <gerd@gnu.org>
6618
d1a02881
GM
6619 * ralloc.c (mmap_fd): Remove initializer which can make it
6620 read-only in a dumped Emacs.
6621 (mmap_fd_1): New variable.
6622 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6623 restore it from there.
6624 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6625 unconditionally so that mmap_fd can be initialized there.
6626 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6627 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6628 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6629
c454aac1
GM
6630 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6631
6632 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6633 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6634
fc653ef2
GM
6635 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6636
3015eec0
GM
6637 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6638 inheritance.
6639
bfe0ee88
GM
6640 * xdisp.c (try_window_id): When trying to locate cursor in
6641 unchanged rows at the top, handle the case that we can't find it.
6642
a8710abf
GM
6643 * xterm.c (x_draw_glyphs): Handle case START and END are out
6644 of bounds more carefully.
6645
6b7d4ae4
DL
66462000-09-08 Dave Love <fx@gnu.org>
6647
423193c5
DL
6648 * s/sol2.h (REL_ALLOC_MMAP): Define.
6649 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6650
6651 * ralloc.c: Don't include string.h (redundant).
6652 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6653 [!MAP_ANON]: Include fcntl.h.
6654 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6655 (r_alloc, r_re_alloc, r_alloc_free)
6656 (mmap_enlarge, mmap_set_vars): Use it.
6657 (r_alloc_init_fd): New function.
6658 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6659 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6660 malloc type.
6661
6662 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6663 Remove vm-limit.o.
6664
6b7d4ae4
DL
6665 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6666 change to __NetBSD__.
6667
44d31981
KH
66682000-09-08 Kenichi Handa <handa@etl.go.jp>
6669
6670 * search.c (compile_pattern): Check the multibyteness of cached
6671 string and PATTERN.
6672
aad40737
MB
66732000-09-08 Miles Bader <miles@gnu.org>
6674
6675 * xfaces.c (default_face_vector): Function removed.
6676 (Finternal_merge_in_global_face): Restore old global/local
6677 attribute override order. Use inline loop instead of calling
6678 default_face_vector.
6679
91a211b5
GM
66802000-09-07 Gerd Moellmann <gerd@gnu.org>
6681
6682 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6683 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6684 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6685 where necessary, in case POINTER_TYPE is `void'.
6686
03419440
EZ
66872000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6688
6689 * frame.c (make_terminal_frame): Initialize frame foreground and
6690 background colors to unspecified, for the initial instance of an
6691 MSDOS frame.
6692
f46f845b
GM
66932000-09-07 Gerd Moellmann <gerd@gnu.org>
6694
24f76fbf
GM
6695 * ralloc.c (mmap_find): Fix overlap computation.
6696 (mmap_enlarge): Compute nbytes before trying to find an
6697 overlapping region.
6698
f46f845b
GM
6699 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6700 instead of `!='.
6701
6702 * lread.c (syms_of_lread): Change value of regexp
6703 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6704
6705 * xmenu.c (xdialog_show): When looking up the selection in
6706 menu_items, take `quote' boundaries into account; this corresponds
6707 to a nil ITEM in x-popup-dialog.
6708
3c014385
KH
67092000-09-07 Kenichi Handa <handa@etl.go.jp>
6710
fd6f711b
KH
6711 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6712 not 0x81.
6713 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6714
3c014385 6715 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6716 encoding, not decoding. Fix the handling of latin-jisx0201.
6717 Check for the charset katakana-jisx0201 too.
3c014385 6718 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6719 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6720
0da3ecef
GM
67212000-09-07 Gerd Moellmann <gerd@gnu.org>
6722
ab0ee409
GM
6723 * xfaces.c (Vparam_value_alist): New variable.
6724 (syms_of_xfaces): Initialize it.
6725 (Finternal_set_lisp_face_attribute): Avoid more consing.
6726
6727 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6728 specially.
6729 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6730 (Qbackground_mode): New variable.
6731 (syms_of_frame_1): Initialize Qbackground_mode.
6732
6733 * lisp.h (Qdisplay): Declare extern.
1091dd67 6734
0da3ecef
GM
6735 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6736 change face on all frames, and change the default for new frames.
6737
b14654b9
DL
67382000-09-07 Dave Love <fx@gnu.org>
6739
6740 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6741
d24fd56f
KH
67422000-09-07 Kenichi Handa <handa@etl.go.jp>
6743
794f3670
KH
6744 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6745
0fddd0dc
KH
6746 * charset.c: Include composite.h
6747 (lisp_string_width): New function.
6748 (Fstring_width): Call lisp_string_width instead of strwidth.
6749
6750 * Makefile.in (charset.o): Depends on composite.h.
6751
d24fd56f
KH
6752 * process.c (read_process_output): Before inserting the decoded
6753 text in the buffer, adjust the multibyteness.
6754
fa0b693c
GM
67552000-09-06 Gerd Moellmann <gerd@gnu.org>
6756
52283633 6757 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6758 buffer's text buffer is null, map new memory.
6759
0a58f946
GM
6760 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6761 POINTER_TYPE and size_t.
6762 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6763 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6764 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6765 [REL_ALLOC_MMAP]: New macros.
6766 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6767 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6768 [REL_ALLOC_MMAP]: New functions.
6769
6770 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6771 before and after unexec.
6772
6773 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6774 text buffers if necessary.
6775
6776 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6777 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6778 in prototypes.
6779
fa0b693c
GM
6780 * config.in (HAVE_MMAP): Add #undef.
6781
877055f6
GM
67822000-09-05 Gerd Moellmann <gerd@gnu.org>
6783
08ba3862
GM
6784 * frame.c (Qdisplay_type): New variable.
6785 (syms_of_frame_1): Initialize it.
6786 (Fframe_parameter): New function that avoids consing.
6787 (syms_of_frame): Defsubr it.
6788
66ffe51c
GM
6789 * buffer.c (Fother_buffer): Consider buffers as invisible when
6790 they are displayed in a window on an invisible frame.
6791
877055f6
GM
6792 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6793 get-largest-window always return nil.
6794
bb970e67
GM
67952000-09-04 Gerd Moellmann <gerd@gnu.org>
6796
6797 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6798 variable; recognize Emacs 19 elc files.
6799
7a3d0e0e
MB
68002000-09-04 Miles Bader <miles@gnu.org>
6801
6802 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6803 before initially popping up the menu, so the menu doesn't flash
52283633 6804 when the face settings are significantly different from the defaults.
7a3d0e0e 6805
14473664
SM
68062000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6807
6808 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6809 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6810 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6811 (BIT_UNIBYTE): Remove.
6812 (re_match_2_internal): Delete corresponding code and streamline the
6813 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6814 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6815 (re_wctype_t): New type.
6816 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6817 (regex_compile): Use them and fix handling of overly long char classes.
6818
c1174479
AI
68192000-09-03 Andrew Innes <andrewi@gnu.org>
6820
f8803e97
AI
6821 * makefile.w32-in: Change to DOS line endings.
6822
c1174479
AI
6823 * s/ms-w32.h (ORDINARY_LINK): New define.
6824
6825 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6826 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6827
6828 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6829 (distclean): Delete them here instead.
6830
44ef7cf6
AI
6831 * w32proc.c (compare_env): Convert to uppercase for comparison,
6832 not lowercase, to match how the native Windows shell works.
6833
49b3bd82
JR
68342000-09-03 Jason Rumney <jasonr@gnu.org>
6835
6836 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6837 CVS changes the line-ends when checking in/out on DOS/Windows.
6838
6839 * makefile.nt (emacs): Do not change directory to run temacs, as
6840 the load-path is set relative to current directory.
6841
a3d35a39
MB
68422000-09-03 Miles Bader <miles@gnu.org>
6843
6844 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6845
d276b0cf
GM
68462000-09-02 Gerd Moellmann <gerd@gnu.org>
6847
715e84c9
GM
6848 * xdisp.c (redisplay_mode_lines): New function.
6849 (display_mode_lines): Return number of mode lines displayed.
6850 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6851 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6852
8892f40b
GM
6853 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6854 string.h and strings.h.
6855 (index) [HAVE_INDEX]: Add prototype.
6856
d276b0cf
GM
6857 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6858 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6859
6860 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6861 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6862
38404229
GM
68632000-09-01 Gerd Moellmann <gerd@gnu.org>
6864
6865 * lread.c (read1): Accept `?' as symbol constituent, for
6866 compatiblity with XEmacs.
6867
c0f9ea08
SM
68682000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6869
6870 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6871 (struct re_pattern_buffer): Remove newline_anchor.
6872 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6873 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6874 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6875 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6876 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6877 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6878 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6879 Get rid of references to newline_anchor.
6880 (regcomp): Allocate and precompute a fastmap.
6881
8c0f83fe
GM
68822000-08-31 Gerd Moellmann <gerd@gnu.org>
6883
6884 * lread.c (openp): GCPRO local variable `filename'.
6885
4bb91c68
SM
68862000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6887
6888 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6889
6890 * regex.c: Merge some changes from GNU libc. Add prototypes.
6891 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6892 Use memcmp and memcpy instead of bcopy and bcmp.
6893 (init_syntax_once): Use ISALNUM.
6894 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6895 (REG_UNSET_VALUE): Remove. Use NULL instead.
6896 (REG_UNSET, re_match_2_internal): Use NULL.
6897 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6898 New macros.
6899 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6900 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6901 (regex_compile): In handle_interval, return an error rather than try to
6902 unfetch the interval if we can't find the closing brace.
6903 Obey the RE_NO_GNU_OPS syntax bit.
6904 (TOLOWER): New macro.
6905 (regcomp): Use it.
6906 (regexec): Allocate regs.start and regs.end as one block.
6907
5226a931
GM
69082000-08-30 Gerd Moellmann <gerd@gnu.org>
6909
868dd24b
GM
6910 * xdisp.c (echo_area_display): Check display_completed instead
6911 of calling detect_input_pending.
6912
6913 * dispnew.c (update_frame): Only set display_completed here; move
6914 the update_begin and update_end calls here from update_frame_1.
6915 (update_frame_1): Don't set display_completed here, don't call
6916 update_begin/update_end.
6917
5226a931
GM
6918 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6919 instead of store_frame_param.
6920
2a8bd25f
GM
69212000-08-29 Gerd Moellmann <gerd@gnu.org>
6922
6923 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6924 desired window matrix hasn't been displayed, use the current row
6925 instead. Make sure that only those frame rows are updated for
6926 which there exists a corresponding enabled desired row.
52283633 6927
ba3478d9
MB
69282000-08-29 Miles Bader <miles@gnu.org>
6929
6930 * xfaces.c (default_face_vector): New function.
6931 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6932
87d0f685
GM
69332000-08-29 Gerd Moellmann <gerd@gnu.org>
6934
6935 * lread.c (openp): Prevent temporary string passed to
6936 Ffile_readable_p from being garbage collected.
6937
6fa86045
DL
69382000-08-28 Dave Love <fx@gnu.org>
6939
6940 * keymap.c (store_in_keymap): Add `static' to declaration.
6941
bb17930d
GM
69422000-08-28 Gerd Moellmann <gerd@gnu.org>
6943
6944 * emacs.c, callint.c, doc.c, editfns.c
6945 (toplevel) [HAVE_STRING_H]: Include string.h.
6946 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6947 (index): Remove prototypes which might conflict with non-standard
6948 definitions of index/strchr.
6949
6950 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6951 (rindex): Define only if !HAVE_RINDEX.
6952
6953 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6954
6955 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6956
87188200
MB
69572000-08-28 Miles Bader <miles@gnu.org>
6958
6959 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6960 made inconsistent by a font-related attribute in FROM.
6961 (merge_face_inheritance): Add function comment.
6962
41a68aef
KH
69632000-08-28 Kenichi Handa <handa@etl.go.jp>
6964
6965 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6966 the 4th arg (PREV_EVENT) Qt to suppress input method.
6967
f7c436c1
SM
69682000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6969
0b32bf0e
SM
6970 * regex.c: Indent cpp directives and remove parens after `defined'.
6971 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6972 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6973 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6974 (re_compile_pattern): Use size_t for length.
6975 (init_syntax_once): Move to a better place.
6976 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6977 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6978
f7c436c1
SM
6979 * syntax.c (back_comment): Detect cases where a comment-starter is
6980 actually inside another comment as in: /* a // b */ c // d \n.
6981 Make it clear that `comstart_pos' is unused for nested comments.
6982
6983 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6984 (KEYMAPP): New macro.
6985 (Fkeymap_parent, Fset_keymap_parent): Use it.
6986 (fix_submap_inheritance): Mark it static.
6987 (define_as_prefix, describe_buffer_bindings, describe_command)
6988 (describe_translation, describe_map): Complete prototypes.
6989
6990 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6991
6992 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6993 to better match the key-lookup behavior.
6994
6288c62f
GM
69952000-08-27 Gerd Moellmann <gerd@gnu.org>
6996
6997 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6998 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6999
e931344e
EZ
70002000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7001
7002 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7003 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7004 (xterm.o): Depend on coding.h
7005
d10dfeef
KH
70062000-08-26 Kenichi Handa <handa@etl.go.jp>
7007
7008 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7009 the corresponding '#endif'.
7010
2d73e8d3
MB
70112000-08-26 Miles Bader <miles@gnu.org>
7012
7013 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7014 * xfaces.c (QCinherit): New variable.
7015 (syms_of_xfaces): Initialize it.
7016 (LFACE_INHERIT): New macro.
7017 (Finternal_get_lisp_face_attribute)
52283633 7018 (merge_face_vector_with_property)
2d73e8d3
MB
7019 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7020 (check_lface_attrs): Allow new types of face height. Check
7021 inherit attribute.
7022 (CYCLE_CHECK): New macro.
7023 (merge_face_inheritance): New function.
7024 (merge_face_vectors): Merge inherited faces too. Add F and
7025 CYCLE_CHECK arguments.
7026 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7027 (lookup_named_face, lookup_derived_face, realize_named_face)
7028 (face_at_string_position, face_at_buffer_position): Supply
7029 new F and CYCLE_CHECK arguments to merge_face_vectors.
7030 (merge_face_heights): New function.
52283633 7031 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7032 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7033 handle relative face heights.
7034 (lface_same_font_attributes_p): Compare heights using EQ.
7035
6ce974d4
KH
70362000-08-26 Kenichi Handa <handa@etl.go.jp>
7037
7038 * charset.c (char_to_string): Check the character validity.
52283633 7039 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7040
dc1e502d
SM
70412000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7042
7043 * regex.c (PUSH_FAILURE_COUNT): New macro.
7044 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7045 Handle popping of a register's or a counter's data.
7046 (POP_FAILURE_POINT): Use the new name.
7047 (re_match_2_internal): Push counter data on the stack for succeed_n,
7048 jump_n and set_number_at and remove misleading dead code in succeed_n.
7049
bd9d0f3f
GM
70502000-08-25 Gerd Moellmann <gerd@gnu.org>
7051
7052 * xdisp.c (redisplay_internal): If considering all windows on all
7053 frames, update the display for each frame as soon as possible,
7054 instead of first building all desired matrices for all frames, and
7055 then updating them all.
7056 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7057
aa5b8e15
GM
70582000-08-24 Gerd Moellmann <gerd@gnu.org>
7059
17494071
GM
7060 * bytecode.c (mark_byte_stack): Add a comment.
7061
52283633
SM
7062 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7063 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7064 a graphical frame.
7065
c543db81
KH
70662000-08-24 Kenichi Handa <handa@etl.go.jp>
7067
d246d5f5
KH
7068 * minibuf.c (do_completion): Always use compare-string, not
7069 string-equal because the latter doesn't pay attention to
7070 multibyteness of strings.
7071
c543db81
KH
7072 * process.c (create_process): Don't setup raw-text coding here.
7073 (Fopen_network_stream): Don't set coding->src_multibyte and
7074 coding->dst_multibyte here.
7075 (read_process_output): For process filter, return unibyte string
7076 if default-enable-multibyte-characters is nil.
7077 (send_process): If OBJECT is multibyte text, be sure to encoded it
7078 by the specified coding system for the process. Otherwise, setup
7079 raw-text coding.
52283633 7080 (init_process): Don't initialize default-process-coding-system here.
c543db81 7081
9b47cfe0
EZ
70822000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7083
7084 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7085 <scroll-down-aggressively>: Likewise.
7086
f5a36960
KH
70872000-08-23 Kenichi Handa <handa@etl.go.jp>
7088
7089 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7090 zero. Set coding->produced_char correctly.
7091
69a7ffa7
AI
70922000-08-22 Andrew Innes <andrewi@gnu.org>
7093
7094 * makefile.w32-in: New file.
7095
7096 * unexw32.c (unexec): Ignore old_name, and use the actual location
7097 of the current executable instead. Base new_name on this.
7098
7099 * w32proc.c (create_child): Remove reference to security
7100 descriptor, which isn't needed and doesn't compile with mingw32.
7101
7102 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7103 up dllimport attributes.
7104 (x_update_window_end): Update prototype.
7105
7106 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7107 extern, which screws up dllimport attributes.
7108
7109 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7110 up dllimport attributes.
7111
7112 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7113 screws up dllimport attributes.
7114
7115 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7116 up dllimport attributes.
7117 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7118 screws up dllimport attributes.
7119
7120 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7121 up dllimport attributes.
7122
7123 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7124 screws up dllimport attributes.
7125
7126 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7127 screws up dllimport attributes.
7128
7129 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7130 up dllimport attributes.
7131
7132 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7133 unnecessary extern, which screws up dllimport attributes.
7134 (main): Ditto.
7135
7136 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7137 up dllimport attributes.
7138
7139 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7140 unnecessary extern, which screws up dllimport attributes.
7141
7142 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7143 screws up dllimport attributes.
7144
7145 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7146 up dllimport attributes.
7147
7148 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7149
52283633
SM
7150 * w32bdf.c (search_file_line):
7151 (set_bdf_font_info):
7152 (seek_char):
7153 (w32_get_bdf_glyph):
69a7ffa7
AI
7154 (w32_BDF_to_x_font): Fix compile warnings.
7155
52283633 7156 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7157
7158 * w32select.c: Include keyboard.h before frame.h.
7159
7160 * w32fns.c (max): Define macro.
7161 (JOHAB_CHARSET): Define if not known.
7162 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7163 (Fx_show_tip): Synch with X version.
7164
7165 * w32xfns.c: Include keyboard.h before frame.h.
7166
7167 * w32fns.c: Include keyboard.h before frame.h.
7168
7169 * w32term.c: Include keyboard.h before frame.h.
7170
7171 * fontset.c: Include keyboard.h before frame.h.
7172
7173 * w32inevt.c: Include keyboard.h before frame.h.
7174 (MOUSE_MOVED): Define if not known.
7175
7176 * minibuf.c: Include keyboard.h before frame.h.
7177
7178 * keyboard.c: Include keyboard.h before frame.h.
7179
7180 * indent.c: Include keyboard.h before frame.h.
7181
7182 * dispnew.c: Include keyboard.h before frame.h.
7183
7184 * buffer.c: Include keyboard.h before frame.h.
7185
7186 * alloc.c: Include keyboard.h before frame.h.
7187
7188 * print.c: Include keyboard.h before frame.h.
7189
7190 * process.c: Include keyboard.h before frame.h.
7191
7192 * scroll.c: Include keyboard.h before frame.h.
7193
7194 * sysdep.c: Include keyboard.h before frame.h.
7195
7196 * term.c: Include keyboard.h before frame.h.
7197
7198 * window.c: Include keyboard.h before frame.h.
7199
7200 * xdisp.c: Include keyboard.h before frame.h.
7201 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7202
7203 * frame.c: Include keyboard.h before frame.h.
7204
7205 * w32heap.h: Undefine min, max.
7206
7207 * w32gui.h: Undefine min, max.
7208
7209 * unexw32.c: Change PUCHAR to PCHAR.
7210 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7211 (relocate_offset):
7212 (get_section_info):
69a7ffa7
AI
7213 (copy_executable_and_dump_data): Remove unnecessary static defs.
7214 (copy_executable_and_dump_data): Fix compile warnings.
7215
7216 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7217
7218 * w32console.c (min): Define macro.
7219 (clear_frame, write_glyphs): Fix compile warning.
7220
52283633 7221 * w32proc.c (compare_env):
69a7ffa7
AI
7222 (find_child_console): Fix compile warning.
7223
7224 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7225 sys_errlist instead of _sys_errlist.
7226 (get_emacs_configuration_options): New function.
7227
7228 * s/ms-w32.h (sys_nerr): Provide default definition.
7229 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7230 name with _ prepended.
7231 (NSIG): Define if not known.
7232 (get_emacs_configuration): Provide extern declaration.
7233 (get_emacs_configuration_options): Provide extern declaration.
7234 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7235
7236 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7237 (map_w32_filename):
69a7ffa7
AI
7238 (read_unc_volume): Fix compile warning.
7239
7240 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7241 definitions from being used.
7242
7243 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7244
52283633 7245 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7246 (open_unc_volume): Make arg const.
7247
7248 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7249 (read_input_waiting): Remove excess parameter.
7250
7251 * w32.c (init_environment): Call _access.
7252 (check_windows_init_file): Call _close.
7253 (init_user_info): Call _putenv.
7254 (init_environment): Call _putenv and _strdup.
7255 (init_ntproc): Reset volume info cache on startup.
7256
7257 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7258 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7259 cannot override the CRT malloc.
7260
7261 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7262 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7263
7264 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7265 unless we are linking with a static CRT.
7266 (RVA_TO_PTR): Cast result to unsigned char*.
7267
7268 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7269 (add_volume_info): Use xstrdup.
7270
25060080
SM
72712000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7272
7273 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7274 (do_completion, Fminibuffer_complete_word): Use it.
7275 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7276 var so it can take non-boolean values.
7277
6917e6bb
GM
72782000-08-21 Gerd Moellmann <gerd@gnu.org>
7279
acb7cc89 7280 * editfns.c (find_field): Formatting changes.
52283633 7281 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7282 changed to prototypes, some new protypes added, some functions
7283 made static.
7284
7285 * lisp.h (set_time_zone_rule): Add prototype.
7286 (use_dialog_box): External declaration.
7287
0bbfdc25
GM
7288 * keyboard.c (gen_help_event): Add parameter SIZE.
7289 (kbd_buffer_events_waiting): Slightly rewritten.
7290 (clear_event): New function.
7291 (kbd_buffer_get_event): Use it, and clear the input_events of
7292 HELP_EVENTs.
7293 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7294 don't fill the newly created array with nils.
7295 (toplevel): Convert some old-style function forward declarations
7296 to prototypes.
7297
7298 * keyboard.h (gen_help_event): Change prototype.
7299
7300 * xterm.c (XTread_socket): Change calls to gen_help_event.
7301
7302 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7303
6917e6bb
GM
7304 * eval.c (Fmacroexpand): Doc fix.
7305
e5cd3d11
JR
73062000-08-20 Jason Rumney <jasonr@gnu.org>
7307
7308 * w32term.h (x_display_info_for_display): Remove as this function
7309 does not exist on W32.
7310
7311 * w32term.c (help_echo_window): New variable.
7312 (syms_of_w32term): staticpro it.
7313 (note_mode_line_highlight): Set it.
7314 (XTextExtents16): Removed as there is no equivalent on W32.
7315 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7316 the X way of doing this will not work for W32.
7317 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7318 (x_draw_image_foreground): Avoid drawing outside of the clip area
7319 when image doesn't have a mask.
7320 (note_mouse_highlight): Process overlays in the right order of
7321 priority. Set help_echo_window.
7322 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7323 because that's more visible for large images.
7324
7325 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7326 name to single_keymap_panes.
7327 (w32_menu_show): Set wv->title when dealing with titles.
7328 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7329
6e69ab8c
MB
73302000-08-21 Miles Bader <miles@gnu.org>
7331
7332 * minibuf.c (do_completion): Try again if we rewrite the input
7333 string, but no completion was done, so that any completion message
7334 will be correct.
7335
511bd4eb
GM
73362000-08-20 Gerd Moellmann <gerd@gnu.org>
7337
7338 * xfaces.c (lface_equal_p): Compare strings differently.
7339 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7340 (realize_tty_face): Use them.
7341 (syms_of_xfaces): Initialize new variables.
7342 (map_tty_color): New function, extracted from realize_tty_face.
7343 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7344 foreground or background color, store the new color name in the
7345 realized face; previous code trying to do this had no effect.
7346 (realize_tty_face): Use map_tty_color.
7347 (Fclear_face_cache): Set face_change_count and ensure thorough
7348 redisplay.
7349
1433385f
GM
73502000-08-19 Gerd Moellmann <gerd@gnu.org>
7351
511bd4eb
GM
7352 * undo.c (record_first_change, record_marker_adjustment): Don't
7353 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7354
419ac0a2
KH
73552000-08-18 Kenichi Handa <handa@etl.go.jp>
7356
7357 * coding.c (decode_coding_string): Set members consumed,
7358 consumed_char, produced, produced_char of *coding correctly. If
7359 decode_coding doesn't consume any byte, don't try anymore.
7360 (encode_coding_string): Likewise.
7361
7eb9e30d
GM
73622000-08-18 Gerd Moellmann <gerd@gnu.org>
7363
511bd4eb
GM
7364 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7365 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7366
7367 * xdisp.c (redisplay_internal): Compare windows for equality with
7368 EQ, instead of applying XWINDOW to something that might not
7369 be a window.
52283633 7370
dd34a735
KH
73712000-08-18 Kenichi Handa <handa@etl.go.jp>
7372
7373 * fontset.c (Finternal_char_font): Search only the selected frame
7374 for a window of the current buffer.
7375
385ff9e3
GM
73762000-08-18 Gerd Moellmann <gerd@gnu.org>
7377
511bd4eb 7378 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7379 Lisp_Objects.
7380
385ff9e3
GM
7381 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7382 second half of a HELP_EVENT is found at the start of kbd_buffer.
7383
d6abb4c7
MB
73842000-08-18 Miles Bader <miles@gnu.org>
7385
4618074a
MB
7386 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7387
d6abb4c7
MB
7388 * editfns.c (save_restriction_save): Rewrite to use markers.
7389 (save_restriction_restore): Rewrite to understand new form of data
7390 saved by save_restriction_save.
7391 (Fsave_restriction): Remove cautionary note in doc-string.
7392
a7b28523
GM
73932000-08-17 Gerd Moellmann <gerd@gnu.org>
7394
7395 * fileio.c (build_annotations): Add a comment explaining the
7396 return value of format-annotate-function. Replace a spurious call
7397 to Flength with a CONSP test. Call format-annotate-function with
7398 a fifth arg specifying how many times the function is been called
7399 in a row, to let it choose temporary buffers appropriately.
7400
03c9ed77
DL
74012000-08-17 Dave Love <fx@gnu.org>
7402
7403 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7404 declare make_temp_name twice.
7405
52283633 7406 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7407 (unreadpure): Give it an arg.
7408
7409 * unexalpha.c: Prototype fatal_unexec, mark_x,
7410 update_dynamic_symbols. Declare unexec as void.
7411
7412 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7413 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7414
7415 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7416 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7417
7418 * alloca.c: Use #error.
7419 [POINTER_TYPE]: Use it.
7420
7421 * eval.c (Fdefvar): Doc fix.
7422
7423 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7424 INITIALIZE_INTERVAL.
7425
7426 * buffer.h: Avoid DECLARE_INTERVALS.
7427
7428 * config.in: Add size_t.
7429
aae41d97
EZ
74302000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7431
7432 * w16select.c (set_clipboard_data): If there's not enough memory
7433 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7434 expects. In case of other failures, return 3.
7435 (system_error_msg): New error message.
7436 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7437 system_error_msg.
7438
65aa5e85
GM
74392000-08-16 Gerd Moellmann <gerd@gnu.org>
7440
7441 * term.c (write_glyphs): Also turn off inverse video after turning
7442 off other appearances in case TS_exit_attribute_mode is not equal
7443 to TS_end_standout_mode.
7444 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7445 with the same face.
7446 (turn_off_face): Reset standout_mode only if
7447 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7448 is equal to TS_end_standout_mode.
7449
ece23901
KH
74502000-08-16 Kenichi Handa <handa@etl.go.jp>
7451
9d7bcb2e
KH
7452 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7453 sequence at the end of the source block.
7454
ece23901
KH
7455 * ccl.c (Fccl_program_p): Docstring modified.
7456 (Fccl_execute): Likewise.
7457 (Fccl_execute_on_string): Likewise.
7458
5e30eaa2
EZ
74592000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7460
7461 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7462
290602fd
KH
74632000-08-16 Kenichi Handa <handa@etl.go.jp>
7464
7465 The following changes are mainly to fix bugs of
7466 encode/decode-coding-string failing if encoding/decoding return
7467 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7468 variable conversion_buffer.
7469
7470 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7471 decrement dst_end to avoid buffer overflow in the later call of
7472 string_as_multibyte
7473
7474 * coding.h (conversion_buffer_size, conversion_buffer)
7475 (get_conversion_buffer): Extern deleted.
7476
7477 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7478 (conversion_buffer, conversion_buffer_size): Variables deleted.
7479 (get_conversion_buffer): Function deleted.
7480 (struct conversion_buffer): New structure.
7481 (MAX_ALLOCA): New macro.
7482 (allocate_conversion_buffer): New macro.
7483 (extend_conversion_buffer, free_conversion_buffer): New functions.
7484 (ccl_coding_driver): Set coding->result.
7485 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7486 this is the last block of source.
7487 (encode_coding): Likewise. Handle the source block as the last
7488 one only when the whole source text is consumed.
7489 (decode_coding_string): Handle the case that the output buffer is
7490 too small to decode the whole source text. Use
7491 allocate_conversion_buffer, extend_conversion_buffer and
7492 free_conversion_buffer, not get_conversion_buffer.
7493 (encode_coding_string): Likewise.
7494 (init_coding): Function deleted.
52283633 7495 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7496
7497 * emacs.c (main): Don't call init_coding.
7498
52283633 7499 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7500
7501 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7502 (insert_glyphs): Likewise.
7503
7504 * w32console.c (write_glyphs): Use a locally declared
7505 conversion_buffer.
7506
b9f80d41
EZ
75072000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7508
7509 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7510 member of display_info is NULL.
7511
32dc52f7
GM
75122000-08-15 Gerd Moellmann <gerd@gnu.org>
7513
52283633 7514 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7515
32dc52f7 7516 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7517 appearances with capability `me'.
32dc52f7
GM
7518 (write_glyphs): Switch on inverse video before each face change.
7519
4eb22d33
DL
75202000-08-14 Dave Love <fx@gnu.org>
7521
7522 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7523 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7524 (lisp_free): Declare and make static.
7525
7526 * window.c: Fix embedded comment.
7527 (syms_of_window): Fix doc string.
7528
90cbf47e
GM
75292000-08-14 Gerd Moellmann <gerd@gnu.org>
7530
52283633 7531 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7532 make sure to print `C-' before `M-', like in the manual.
7533
440fc135
GM
75342000-08-11 Gerd Moellmann <gerd@gnu.org>
7535
7536 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7537 since they aren't relocated anymore.
52283633 7538 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7539
7540 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7541 partially visible line which is smaller than the window's height.
440fc135 7542
6e264fad
KH
75432000-08-11 Kenichi Handa <handa@etl.go.jp>
7544
7545 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7546 the multibyte form of eight-bit-control characters.
6e264fad
KH
7547 (Fccl_execute_on_string): Initialize ccl->multibyte.
7548
7549 * ccl.h (struct ccl_program): New member multibyte.
7550
7551 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7552
c371f69a
KH
75532000-08-11 Kenichi Handa <handa@etl.go.jp>
7554
7555 * regex.c (regex_compile) <normal_char>: Pay attention to
7556 multibyteness.
7557 (analyse_first) <exactn>: Setup fastmap correctly for
7558 eight-bit-control characters.
7559
75602000-08-11 Kenichi Handa <handa@etl.go.jp>
7561
52283633 7562 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7563
7564 * keyboard.c (make_lispy_event): Handle the new event type
7565 multibyte_char_keystroke.
7566
7567 * xterm.c: Include coding.h.
7568 (XTread_socket): Work around a bug of XmbLookupString. If the
7569 input is from XIM, decode it according to the current locale. In
7570 that case, generate multibyte_char_keystroke events.
7571
b8ddbe71
KH
75722000-08-11 Kenichi Handa <handa@etl.go.jp>
7573
7574 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7575 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7576
47589c8c
GM
75772000-08-10 Gerd Moellmann <gerd@gnu.org>
7578
7579 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7580 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7581 (move_it_in_display_line_to): Record iterator's ascent and descent
7582 before producing glyphs, and restore them when we know the glyph
7583 doesn't fit on the line.
7584 (move_it_to): Restructured so that it's easier to debug. If
7585 moving to a vpos, and not moving to an x or character position,
7586 stop as soon as the specified vpos is reached; don't move further
7587 into that line because that might change the computed line height.
7588 (try_cursor_movement): New function, extracted from the cursor
7589 movement branch of redisplay_window. If ending on a partially
7590 visible line, don't try to scroll if the cursor line is taller
7591 than the window.
7592 (redisplay_window): Use try_cursor_movement.
7593
7594 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7595 because that function doesn't cope with variable-height lines.
7596
7597 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7598 box cursor because that's better visible for large images.
52283633 7599
c51bacd6
MB
76002000-08-10 Miles Bader <miles@gnu.org>
7601
7602 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7603
bea56df7
GM
76042000-08-10 Gerd Moellmann <gerd@gnu.org>
7605
7606 * xdisp.c (Vmessages_buffer_name): New variable.
7607 (message_dolog): Use it.
7608 (syms_of_xdisp): Initialize it.
7609
99cd7364
EZ
76102000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7611
52283633 7612 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7613 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7614 redundant now that keyboard.h is included.
7615
7d093d56
EZ
76162000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7617
7618 * keyboard.c (kbd_buffer_events_waiting): New function.
7619
7620 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7621
7622 * msdos.c: Include keyboard.h.
7623 (XMenuActivate): Empty no_event events from the event buffer. If
7624 no events are left after that, call clear_input_pending.
7625 (mouse_clear_clicks): New function, code moved from mouse_init.
7626 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7627 mouse driver to ``forget'' any past clicks.
7628
7629 * Makefile.in (msdos.o): Depend on keyboard.h.
7630
41e757a6
GM
76312000-08-09 Gerd Moellmann <gerd@gnu.org>
7632
8e7bd231
GM
7633 * lisp.h (input_pending): External declaration.
7634
7635 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7636
8e7bd231
GM
7637 * xdisp.c (echo_area_display): Display thoroughly if input is
7638 pending. Bind redisplay-dont-pause to t during the redisplay.
7639 in case input is pending.
7640
7641 * dispnew.c (Qredisplay_dont_pause): New variable.
7642 (syms_of_display): Initialize and staticpro it.
7643 (update_frame_1): Don't interrupt the display for pending input if
7644 redisplay_dont_pause is set.
52283633 7645
43028b7e
GM
7646 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7647
41e757a6
GM
7648 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7649
2f2174fa
KH
76502000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7651
7652 * callproc.c (Fcall_process): Terminate the unwind-protect around
7653 the post-read-conversion of coding system.
7654
0a6fd67e
MB
7655 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7656 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7657 * buffer.h (overlays_at): Update prototype.
7658 * xdisp.c (next_overlay_change): Update call to overlays_at.
7659 * xfaces.c (face_at_buffer_position): Likewise.
7660 * textprop.c (Fget_char_property): Likewise.
7661 * xterm.c (note_mouse_highlight): Likewise.
7662
0c80756e
MB
7663 * minibuf.c (do_completion): Don't consider a simple change of
7664 case as `completion'.
7665
975f250a
KR
76662000-08-08 Ken Raeburn <raeburn@gnu.org>
7667
52283633 7668 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7669 * undo.c (record_delete): Make sure last_point_position_buffer is
7670 a buffer before comparing pointers.
7671
7672 * coding.h (decode_coding_string): Declare.
7673
7674 * intervals.h (Fprevious_single_char_property_change): Declare.
7675
7676 * textprop.c (Fprevious_single_char_property_change): Don't do
7677 arithmetic directly on lisp objects.
7678
52283633 7679 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7680
7681 * keyboard.h (menu_item_eval_property): Declare.
7682
7683 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7684 reuse as buffer name, instead of recreating (and discarding) every
7685 time a message is logged.
7686 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7687 (current_message_1, truncate_message_1, set_message_1)
7688 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7689 (current_message, truncate_echo_area, display_echo_area)
7690 (resize_echo_area_axactly): Changed calls.
b347b3fd 7691
975f250a 7692 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7693 Lisp object.
975f250a 7694 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7695 must be an integer, not a Lisp object.
975f250a 7696
46dc9912
KH
76972000-08-08 Kenichi Handa <handa@etl.go.jp>
7698
7699 * charset.c (Fchar_width): Doc fix.
7700
9f6d1a6c
GM
77012000-08-08 Gerd Moellmann <gerd@gnu.org>
7702
7703 * charset.c (Fstring_width): Doc fix.
7704
ff3d9573
GM
77052000-08-07 Gerd Moellmann <gerd@gnu.org>
7706
41e757a6 7707 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7708 line, clear ascent and descent members of the iterator structure;
7709 the height of the continued line does not affect the height of the
7710 continuation line.
7711 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7712 line taller than the window.
7713 (redisplay_window) <forced window start>: Handle case that the
7714 middle of the window is not found in any row.
7715 (dump_glyph_row): Show more information.
7716 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7717 first text line in a glyph matrix.
7718
7719 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7720 of the clip area when image doesn't have a mask.
7721
70fc58b3
GM
7722 * fns.c (sweep_weak_table): Fix survival conditions for
7723 key-or-value and key-and-value weakness.
7724
7725 * .gdbinit (xhashtable): New command.
7726
ac0e96ee
GM
7727 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7728 tables out of the list of all weak hash tables.
7729
ff3d9573
GM
7730 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7731 a new buffer is created, make sure echo_area_buffer[] references
7732 the new buffer.
7733
e0d8827b
EZ
77342000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7735
7736 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7737 the doc string.
7738
c6f35378
KH
77392000-08-07 Kenichi Handa <handa@etl.go.jp>
7740
7741 * syntax.c (skip_chars): Fix previous change. Make the handling
7742 of unibyte string consistent with that of regex search.
7743
1fd4c450
GM
77442000-08-05 Gerd Moellmann <gerd@gnu.org>
7745
e49aa397
GM
7746 * xmenu.c (popup_get_selection): Use xfree instead of free.
7747
7748 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7749
7750 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7751
7752 * callproc.c (child_setup): Use xfree instead of free.
7753
7754 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7755 instead of malloc.
7756 (run_mac_command, closedir): Use `xfree' instead of `free'.
7757
7758 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7759
7760 * eval.c (error): Use xfree instead of free.
7761
1fd4c450
GM
7762 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7763
7764 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7765 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7766
82d497fc
KH
77672000-08-05 Kenichi Handa <handa@etl.go.jp>
7768
7769 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7770 conversion.
7771
59f953a2
NF
77722000-08-04 Noah Friedman <friedman@splode.com>
7773
7774 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7775 docstring.
7776
688351f2
GM
77772000-08-04 Gerd Moellmann <gerd@gnu.org>
7778
7779 * syntax.c (skip_chars): Fix typo in error message.
7780
2dad51cc
AS
77812000-08-04 Andreas Schwab <schwab@suse.de>
7782
7783 * m/ia64.h: Moved from s/ia64.h.
7784
99bb2c60
KH
77852000-08-04 Kenichi Handa <handa@etl.go.jp>
7786
082a1df2
KH
7787 * process.c (read_process_output): Big simplification. Handle
7788 composition and post-read-conversion of coding system correctly.
7789 (send_process): Handle composition correctly.
7790
7791 * callproc.c (Fcall_process): Handle post-read-conversion of
7792 coding system if any.
7793
99bb2c60
KH
7794 * coding.c (decode_coding_iso2022): More strict check for handling
7795 single shifting.
082a1df2
KH
7796 (coding_restore_composition): Pay attention to the case that
7797 cmp_data is not set properly (because of invalid code in the
7798 source text).
7799 (run_pre_post_conversion_on_str): Include text properties in the
7800 resulting string.
7801 (decode_coding_string): Set members of coding correctly.
99bb2c60 7802
f4988be7
GM
78032000-08-03 Gerd Moellmann <gerd@gnu.org>
7804
7805 * s/ia64.h: New file.
7806
7807 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7808 Use NULL instead of 0 at the end of variable argument list of
7809 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7810 sizeof (int) < sizeof (void *).
7811
7812 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7813 of variable argument lists of XtVaGetValues and XtVaSetValues.
7814
7815 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7816 variable argument lists of XtVaGetValues and XtVaSetValues.
7817
ead53494
GM
78182000-08-02 Gerd Moellmann <gerd@gnu.org>
7819
7820 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7821 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7822
7823 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7824 prototype.
7825
7826 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7827 in call to Fsingle_key_description.
7828
7829 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7830 Callers changed.
7831
78322000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7833
7834 * window.c (display_buffer_reuse_frames): New variable.
7835 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7836 frames displaying BUFFER.
52283633 7837 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7838
10b0f752
MB
78392000-08-01 Miles Bader <miles@gnu.org>
7840
7841 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7842 when to constrain NEW_POS (they were pretty screwed up before).
7843
16425c4a
EZ
78442000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7845
7846 * msdos.c (run_msdos_command): Save and restore the master
7847 environment, for the case that child_setup signals an error.
7848 When mirroring slashes in DOS shell commands, don't fail when
7849 argv[2] has embedded blanks.
da288c14
EZ
7850 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7851 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7852 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7853
7854 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7855 using alloca; free it after run_msdos_command returns.
7856
27f73852
DL
78572000-07-27 Dave Love <fx@gnu.org>
7858
52283633
SM
7859 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7860 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7861
7862 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7863
c0261b5e
EZ
78642000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7865
7866 * editfns.c (lisp_time_argument): Fix last change.
7867
b548072f
GM
78682000-07-27 Gerd Moellmann <gerd@gnu.org>
7869
3ab82477
GM
7870 * fns.c (Fdelete): Make it work on vectors and strings in addition
7871 to lists.
7872
b548072f
GM
7873 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7874 (syms_of_fns): Initialize new variables.
52283633 7875 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7876 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7877 weakness, with t meaning the same as `key-and-value'.
7878
91ae8751
KH
78792000-07-27 Kenichi Handa <handa@etl.go.jp>
7880
7881 * coding.h (struct coding_system): Member safe_charset deleted.
7882
7883 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7884 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7885 New variables.
91ae8751
KH
7886 (coding_safe_chars): New function.
7887 (CODING_SAFE_CHAR_P): New macro.
7888 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7889 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7890 (detect_coding_iso2022): New local variable safe_chars.
7891 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7892 safe_charsets member of the coding system.
7893 (decode_coding_iso2022): New local variable safe_chars.
7894 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7895 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7896 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7897 (ENCODE_UNSAFE_CHARACTER): New macro.
7898 (encode_coding_iso2022): New local variable safe_chars. Check
7899 unsafe chars.
7900 (setup_coding_system): Delete the code to initialize
7901 coding->safe_charses
7902 (intersection, find_safe_codings): New functions.
7903 (Ffind_coding_systems_region_internal): New function.
7904 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7905 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7906 variable and initialize it.
7907
7908 * fns.c (char_table_ref_and_index): New function.
7909
7910 * lisp.h (char_table_ref_and_index): Add prototype.
7911
34a7a267
SS
79122000-07-26 Sam Steingold <sds@gnu.org>
7913
7914 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7915 (Ffloat_time): New built-in Lisp function.
34a7a267 7916
a95cb10a
GM
79172000-07-26 Gerd Moellmann <gerd@gnu.org>
7918
3353ef5a
GM
7919 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7920 for the character code.
7921
7922 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7923 GNU/Linux.
7924
a95cb10a
GM
7925 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7926 if called for a popup menu.
7927 (xmenu_show): Store help string in widget values.
7928
b4a12321
DL
79292000-07-26 Dave Love <fx@gnu.org>
7930
7931 * syswait.h: Move some definitions.
7932 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7933 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7934 perspicuous definitions.
7935 (WTERMSIG): Fix bit pattern used.
7936
13f5ad37
KH
79372000-07-26 Kenichi Handa <handa@etl.go.jp>
7938
7939 * print.c (print_object): If vector printing is truncated, print
7940 "..." to indicate it as well as the case of list printing.
7941
070fe99c
GM
79422000-07-25 Gerd Moellmann <gerd@gnu.org>
7943
969065c3
GM
7944 * xdisp.c (next_element_from_display_vector): Improve comments.
7945
7946 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7947 for the character code, and the rest for the face id as in 20.x.
7948 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7949
7950 * window.c (window_display_table): Cleaned up.
7951
070fe99c
GM
7952 * syntax.c (Fforward_word): Add last arg nil in call of
7953 Fconstrain_to_field.
7954
bad77ef7
EZ
79552000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7956
969065c3 7957 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7958 identical but for the letter-case, don't call
7959 barf_or_query_if_file_exists.
bad77ef7 7960
c28da489
MB
79612000-07-25 Miles Bader <miles@gnu.org>
7962
7963 * editfns.c (find_field): Honor special `boundary' fields.
7964 (Qboundary): New variables.
7965 (syms_of_editfns): Initialize Qboundary.
7966 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7967 Use scan_buffer instead of find_before_next_newline, because it
7968 allows us to detect the boundary case where there's a newline at
7969 the search limit.
7970 * lisp.h (Fconstrain_to_field): Update external declaration.
7971
e3c31fd5
GM
79722000-07-24 Gerd Moellmann <gerd@gnu.org>
7973
7974 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7975 if that is nil.
c28da489 7976
c66c29a2
DL
79772000-07-24 Dave Love <fx@gnu.org>
7978
7979 * s/sunos4-0.h, s/sol2.h:
7980 (LIBS_TERMCAP): Move from m/sparc.h.
7981
7982 * m/sparc.h (TERMINFO): Moved to system files (probably only
7983 relevant for sunos4 judging by its vintage).
7984 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7985 __arch64__.
7986
fbe0a958
EZ
79872000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7988
7989 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7990 name to single_keymap_panes.
7991
7d88e5c9
AS
79922000-07-24 Andreas Schwab <schwab@suse.de>
7993
7994 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7995
e024b101
GM
79962000-07-24 Gerd Moellmann <gerd@gnu.org>
7997
7998 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7999 parameters instead of using int parameters. Expect FN to accept
8000 EMACS_INT parameters.
8001 (display_echo_area, resize_echo_area_axactly, current_message)
8002 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8003 with new argument list.
8004 (resize_mini_window_1): New callback function.
8005 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8006 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8007
25c1a9ce
KH
80082000-07-24 Kenichi Handa <handa@etl.go.jp>
8009
8010 * fontset.c (fontset_ref): Remove INLINE declaration.
8011 (fontset_ref_via_base): Likewise.
8012 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8013 to downcase.
8014
7f987ac0
EZ
80152000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8016
8017 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8018 correct order of priority. If help echo was found in an overlay,
8019 use that overlay as the object in which the help echo was found.
8020
e2db3069
MB
80212000-07-22 Miles Bader <miles@gnu.org>
8022
8023 * textprop.c (Fprevious_single_char_property_change): The initial
8024 property value should be from the position preceding POSITION, not
8025 following it.
8026
5e3203e4
EZ
80272000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8028
8029 * coding.c (syms_of_coding): Doc fix for
8030 inhibit-iso-escape-detection.
8031
62145073
GM
80322000-07-21 Gerd Moellmann <gerd@gnu.org>
8033
c20aeb83
GM
8034 * xterm.c (note_mouse_highlight): Process overlays in the right
8035 order of priority.
34a7a267 8036
743934db
GM
8037 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8038
8039 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8040 overlay, use that overlay as the object in which the help was found.
743934db 8041
d1dc7e43 8042 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8043
62145073
GM
8044 * window.c (foreach_window): Instead of a fake variable argument
8045 list, take one USER_DATA argument.
8046 (foreach_window_1): Likewise, and call callback functions with two
8047 args, the window and USER_DATA.
8048 (struct check_window_data): New struct.
8049 (check_window_containing): Use it.
8050 (window_from_coordinates): Set up a struct check_window_data for
8051 foreach_window.
8052 (add_window_to_list, freeze_window_start): Change parameters
8053 according to new calling convention.
8054
8055 * window.h (foreach_window): Change prototype.
8056
8057 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8058
80592000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8060
8061 * xmenu.c (menu_help_callback): Call show_help_echo with
8062 additional arguments OBJECT and POS.
8063
11270583
KH
80642000-07-21 Kenichi Handa <handa@etl.go.jp>
8065
07b14857
KH
8066 * data.c (Faset): Allow storing any multibyte character in a
8067 string. Convert unibyte string to multibyte if necessary.
8068
11270583
KH
8069 * xfns.c (x_encode_text): New function.
8070 (x_set_name): Use x_encode_text.
8071 (x_set_title): Likewise.
8072
8073 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8074
8075 * xterm.h (x_encode_text): Add prototype.
8076
bc75b4fd
DL
80772000-07-20 Dave Love <fx@gnu.org>
8078
8079 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8080 xfree, not free.
8081
48c14970
EZ
80822000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8083
8084 * msdos.c (help_echo_window): New variable.
8085 (syms_of_msdos): Initialize and staticpro it.
8086 (IT_note_mode_line_highlight): Set help_echo_window.
8087 (IT_note_mouse_highlight): Ditto.
8088 (dos_rawgetc): Store help_echo_window in the second event produced
8089 for HELP_EVENTs.
8090
8091 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8092 Record the object that generated the help echo and the position of
8093 that object in help_echo_object and help_echo_pos. Record that
8094 some glyphs in a row are displayed in mouse-face.
8095 (IT_update_begin): Don't clear mouse highlight unless one of the
8096 enabled glyph rows is marked as being displayed in mouse-face.
8097 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8098 and position recorded in help_echo_object and help_echo_pos to the
8099 event queue.
8100 (IT_menu_display): Accept a new argument PN: the pane number of
8101 the current menu pane. Record the pane number and the item
8102 number of the item which has associated help string.
8103 (XMenuActivate): Update the prototype for help_callback in
8104 function declaration. Call IT_menu_display with the current menu
8105 pane number as an additional argument. Call help_callback with
8106 two additional arguments: the pane number and the item number of
8107 the menu item associated with the help text.
8108 (help_echo_object, help_echo_pos): New variables.
8109 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8110
8111 * msdos.h (XMenuActivate): Update prototype.
8112
4279296d
GM
81132000-07-19 Gerd Moellmann <gerd@gnu.org>
8114
47db06aa
GM
8115 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8116 Add some more prototypes.
8117
8118 * xterm.c, xterm.h: Add some more prototypes.
8119
8120 * lisp.h (Fnext_single_char_property_change): Add prototype.
8121
8122 * dispnew.c (direct_output_for_insert): Remove confusing
8123 outer local variable mouse_face_overwritten_p.
8124 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8125
4279296d
GM
8126 * alloc.c (allocate_string_data): Don't copy old string contents.
8127
670acd62
KH
81282000-07-19 Kenichi Handa <handa@etl.go.jp>
8129
8130 * coding.c (code_convert_region): Delete text properties before
8131 shrinking the conversion region.
8132
7cea38bc
GM
81332000-07-18 Gerd Moellmann <gerd@gnu.org>
8134
dc1cac59
GM
8135 * dispnew.c (update_text_area): Write the whole row if it
8136 has mouse-face in it.
8137
85a8aca9
GM
8138 * xfaces.c (face-alternative-font-family-alist): Remove
8139 DEFVAR_LISP; staticpro instead.
8140
34a7a267 8141 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8142 new arguments.
8143
8144 * keyboard.c (show_help_echo): Add parameter WINDOW.
8145 (read_char): Call show_help_echo with window extracted from Lisp
8146 help event.
8147 (gen_help_event): Add parameter WINDOW.
8148
8149 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8150
8151 * xterm.c (help_echo_window): New variable.
52283633 8152 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8153 (XTread_socket): Pass help_echo_window to gen_help_event.
8154 (syms_of_xterm): Initialize and staticpro help_echo_window.
8155
f8276b77
DL
81562000-07-18 Dave Love <fx@gnu.org>
8157
52283633 8158 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8159
088831a6
GM
81602000-07-18 Gerd Moellmann <gerd@gnu.org>
8161
3d6cd763
GM
8162 * alloc.c (allocate_string_data): If string had already data
8163 assigned, copy old contents to new string data.
8164
8165 * coding.c (syms_of_coding): Fix typo in spelling of variable
8166 `inhibit-iso-escape-detection'.
8167
088831a6
GM
8168 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8169
8170 * Makefile.in: Add dependencies on dispextern.h.
8171 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8172 `free'; both can conflict with system header files.
8173
bc8a8d55
KH
81742000-07-18 Kenichi Handa <handa@etl.go.jp>
8175
8176 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8177 undefined.
8178
069f5950
DL
81792000-07-18 Dave Love <fx@gnu.org>
8180
8181 * window.c (Fwindow_list): Declare arg `window'.
8182
aa96c820
KH
81832000-07-18 Kenichi Handa <handa@etl.go.jp>
8184
8185 * coding.c (setup_coding_system): Don't override the explicitly
8186 specified designations.
8187
06be8d32
MB
81882000-07-15 Miles Bader <miles@gnu.org>
8189
8190 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8191 from `text_property_eq' and `text_property_stickiness', respectively.
8192 (find_field, Fconstrain_to_field, char_property_eq)
8193 (char_property_stickiness): Changed to call char-property functions
8194 instead of text-property-only ones.
8195
8196 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8197 `next_single_char_property_change'). Do more error checking, and
8198 cleanup limit behavior.
8199 (Fprevious_single_char_property_change): New function.
8200 (syms_of_textprop): Initialize new subrs.
8201
8202 * xdisp.c (display_prop_end, invisible_text_between_p):
8203 Call Fnext_single_char_property_change instead of
8204 next_single_char_property_change.
8205
3fddcdc3
JR
82062000-07-15 Jason Rumney <jasonr@gnu.org>
8207
8208 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8209 after menu is finished with.
8210 (add_menu_item): Only consider wv->title as a menu title.
8211 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8212
8213 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8214 null title.
8215 (FONT_REGEXP): Remove unused macro, and its sub-components.
8216 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8217
8218 * w32term.c (help_echo_object, help_echo_pos): New variables.
8219 (note_mode_line_highlight): Store additional information about the
8220 help-echo in help_echo_object and help_echo_pos. Check both
8221 `local-map' and `keymap' properties for changing the cursor
8222 (note_mouse_highlight): Store additional information about the
8223 help-echo in help_echo_object and help_echo_pos.
8224 (note_tool_bar_highlight): Set help_echo_object to nil and
8225 help_echo_pos to -1.
8226 (w32_read_socket): Use gen_help_event instead of filling
8227 input_events manually.
8228 (syms_of_w32term): Staticpro help_echo_object.
8229 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8230 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8231 (x_clear_mouse_face): New function.
8232 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8233 (x_update_window_begin): No need to turn off the mouse
8234 highlight here.
8235 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8236 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8237 (x_fill_stretch_glyph_string): Consume runs of stretch
8238 glyphs instead of a single one.
8239 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8240 with new argument list.
8241 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8242 (x_append_glyph, x_append_composite_glyph)
8243 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8244 changes in struct glyph starting 1999-12-27. See comments for
8245 xterm.c on 2000-07-05.
8246
178c5d9c
SS
82472000-07-14 Sam Steingold <sds@gnu.org>
8248
8249 * xfaces.c (realize_x_face): Fix the last patch:
8250 check `default_face' before dereferencing.
8251
6fe533f6
DL
82522000-07-14 Dave Love <fx@gnu.org>
8253
069f5950 8254 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8255
dd7b81cf
KH
82562000-07-14 Kenichi Handa <handa@etl.go.jp>
8257
0693904a 8258 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8259 default_face's fontset, not using the default fontset.
0693904a 8260
dd7b81cf
KH
8261 * coding.c (inhibit_iso_escape_detection): New variable.
8262 (syms_of_coding): Make it a Lisp variable.
8263 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8264 nonzero, ignore ISO2022's escape sequence.
8265
d5aa31d8
GM
82662000-07-14 Gerd Moellmann <gerd@gnu.org>
8267
e5acf0ca
GM
8268 * alloca.c (malloc) [emacs]: Define as xmalloc.
8269
bd23a692
GM
8270 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8271 use that instead of the mouse position. Add parameters DX and DY.
8272
8273 * dispextern.h (Fx_show_tip): Adjust number of parameters
8274 in prototype.
8275
9662da0b
GM
8276 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8277 if HELP is a function, call it with OBJECT and POS as parameters
8278 to get the help to display.
8279 (gen_help_event, kbd_buffer_store_help_event): New functions.
8280 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8281 (read_char): Call show_help_echo with new parameters.
8282
178c5d9c 8283 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8284 Add prototypes.
8285
8286 * xterm.c (help_echo_object, help_echo_pos): New variables.
8287 (note_mode_line_highlight): Store additional information about the
8288 help-echo in help_echo_object and help_echo_pos. Check both
8289 `local-map' and `keymap' properties for changing the cursor
8290 (note_mouse_highlight): Store additional information about the
8291 help-echo in help_echo_object and help_echo_pos.
8292 (note_tool_bar_highlight): Set help_echo_object to nil and
8293 help_echo_pos to -1.
8294 (XTread_socket): Use gen_help_event instead of filling
8295 input_events manually.
8296 (syms_of_xterm): Staticpro help_echo_object.
8297
8298 * xmenu.c (menu_highlight_callback): Use
8299 kbd_buffer_store_help_event instead of setting up and input_event
8300 structure manually.
8301
8302 * xdisp.c (eval_form): GCPRO argument sexpr.
8303 (call_function): New function.
8304 (handle_single_display_prop): Use call_function and FUNCTIONP
8305 instead of checking whether if font_height is a symbol and
8306 using eval_form.
8307
8308 * eval.c (internal_condition_case_2): New function.
8309
8310 * lisp.h (FUNCTIONP): New macro.
8311 (internal_condition_case_2, call_function): Add prototypes.
8312
d5aa31d8
GM
8313 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8314 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8315 Always set `arg' member of input_events.
8316 (construct_menu_click): Unused function removed.
8317
8318 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8319
8320 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8321 (construct_drag_n_drop, x_scroll_bar_handle_click)
8322 (w32_read_socket): Always set `arg' member of input_events.
8323
8324 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8325
8326 * lisp.h (eval_form): Add prototype.
8327
8328 * xdisp.c (eval_form): Make it externally visible.
8329
0f1a9b23
GM
83302000-07-13 Gerd Moellmann <gerd@gnu.org>
8331
8332 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8333 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8334 consing. For prefix events, store the frame in the `arg' slot of
8335 the event, otherwise store the key there.
8336 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8337 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8338
8339 * xmenu.c (menu_highlight_callback): Store help string in the
8340 `arg' member of the input event; don't cons.
8341 (menubar_selection_callback): Use the `arg' slot of input events
8342 to queue additional information, instead of consing.
8343
8344 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8345
8346 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8347 TOOL_BAR_EVENTs.
8348 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8349
8350 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8351 input events to queue additional information, instead of consing.
8352
8353 * keyboard.c (kbd_buffer_gcpro): Renamed from
8354 kbd_buffer_frame_or_window. Now used for all Lisp objects
8355 referenced from the input queue.
8356 (kbd_buffer_store_event): Always use structure assignment for
8357 copying input events. Record all Lisp objects referenced from
8358 events in kbd_buffer_gcpro.
8359 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8360 differently from input events. Test for prefix menu_bar_events
8361 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8362 event in kbd_buffer_gcpro to nil.
8363 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8364 frame_or_window is equal to its arg member as prefix events.
8365 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8366 used by an input event to nil.
8367 (init_keyboard): Use two times the size of the input queue
8368 for kbd_buffer_gcpro.
8369 (syms_of_keyboard): Likewise.
8370
52283633
SM
8371 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8372 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8373
8374 * termhooks.h (struct input_event): Add member `arg'.
8375 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8376 (USER_SIGNAL_EVENT): Renamed from user_signal.
8377
8378 * xfaces.c (ASET): Remove definition.
8379
8380 * lisp.h (AREF, ASET, ASIZE): New macros.
8381
8382 * fontset.c (AREF, ASIZE): Remove definitions.
8383
8384 * fns.c (AREF): Remove definition.
178c5d9c 8385
0f1a9b23
GM
8386 * composite.c (AREF): Remove definition.
8387
712eaef2
GM
83882000-07-12 Gerd Moellmann <gerd@gnu.org>
8389
d8ee7803
GM
8390 * dispnew.c (redraw_overlapped_rows): Add missing local.
8391 (scrolling_window): Remove debug code.
8392
712eaef2
GM
8393 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8394 Before scrolling, turn off a mouse-highlight in the window
8395 being scrolled.
8396
8397 * xterm.c (x_update_window_end): Add parameter
8398 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8399 redisplay in XTframe_up_to_date.
8400 (x_clear_mouse_face): New function.
8401 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8402
8403 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8404 current glyph row.
8405 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8406 it when any row is written to that contains glyphs highlighted in
8407 mouse-face.
8408 (update_window): Call the window update end hook with new
8409 parameter MOUSE_FACE_OVERWRITTEN_P.
8410 (direct_output_for_insert): Give up if row contains mouse-face.
8411
8412 * dispextern.h (struct redisplay_interface): Add parameter
8413 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8414 (clear_mouse_face): New function pointer member.
8415
02010917
SM
84162000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8417
8418 * syntax.c (back_comment): Use one switch rather than a few `if's.
8419 Obey open_paren_in_column_0_is_defun_start.
8420 When reverting to the `slow' method, try to nicely handle the case
8421 of nested comments by checking that the comment-starter we found
8422 does indeed match the comment-ender.
8423 (scan_sexps_forward, scan_sexps_forward):
8424 Ignore excessive opening parenthesis rather than throwing an error.
8425
d76c03ea
GM
84262000-07-11 Gerd Moellmann <gerd@gnu.org>
8427
8428 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8429 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8430
8431 * dispnew.c (direct_output_forward_char): Give up if currently
8432 displaying a message instead of the minibuffer contents.
8433
8434 * xterm.c (x_update_window_begin): No need to turn off the mouse
8435 highlight here.
8436 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8437 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8438
8439 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8440 compare the mouse_face_p flags of both rows.
8441
8442 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8443
d55ead18
EZ
84442000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8445
8446 * keyboard.c (show_help_echo): Accept additional parameter
8447 ok_to_overwrite_keystroke_echo.
8448 (read_char): Call show_help_echo with a zero
8449 ok_to_overwrite_keystroke_echo argument.
52283633 8450 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8451 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8452 ok_to_overwrite_keystroke_echo argument.
8453 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8454 non-zero ok_to_overwrite_keystroke_echo argument.
8455
df75b1a3
GM
84562000-07-10 Gerd Moellmann <gerd@gnu.org>
8457
4b92c49a
GM
8458 * xdisp.c (try_window_id): If changes are all below what is
8459 displayed in the window, and point is in the window, we still
8460 might have to find point on the display.
8461
8462 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8463 glyphs instead of a single one.
8464 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8465 with new argument list.
8466 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8467
df75b1a3
GM
8468 * keymap.c (get_keymap_1): Add comment that this function can GC.
8469 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8470 comment that functions can GC.
8471 (Fset_keymap_parent): GCPRO arg KEYMAP.
8472
4314cf3e
EZ
84732000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8474
8475 * msdos.c (XMenuActivate): After exiting the menu, restore the
8476 echo area message and erase it.
8477
ab49ce15
KH
84782000-07-10 Kenichi Handa <handa@etl.go.jp>
8479
8480 * fontset.c (Ffontset_info): Make the return value more compatible
8481 with that of Emacs 20.
8482
090a072f
GM
84832000-07-07 Gerd Moellmann <gerd@gnu.org>
8484
8485 * eval.c (Fsignal): Handle case that backtrace_list is null.
8486
f92de4a6
KH
84872000-07-07 Kenichi Handa <handa@etl.go.jp>
8488
8489 * ccl.c (Fccl_execute): Typo fixed.
8490
dd8888a1
GM
84912000-07-06 Gerd Moellmann <gerd@gnu.org>
8492
e5c81191 8493 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8494
dd8888a1
GM
8495 * window.c (Fwindow_list): Reverse list at the end.
8496 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8497 means allow windows on OWINDOW's frame, only.
8498 (window_loop): Simplified; use Fwindow_list.
8499
8500 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8501
485266d0
GM
85022000-07-05 Gerd Moellmann <gerd@gnu.org>
8503
8504 * xterm.c (XTread_socket): Increment handling_signal at the start,
8505 decrement it at the end.
8506
8507 * eval.c (handling_signal): New variable.
8508 (Fsignal): Abort if handling_signal is non-zero.
8509
8510 * lisp.h (handling_signal): External declaration.
178c5d9c 8511
485266d0
GM
8512 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8513
80fcd514
KR
85142000-07-05 Ken Raeburn <raeburn@gnu.org>
8515
8516 Sound support for NetBSD through "Linux emulation" support:
8517 * config.in (HAVE_SOUNDCARD_H): Undef.
8518 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8519 * Makefile.in (LIBSOUND): New variable.
8520 (LIBES): Include it.
52283633
SM
8521 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8522 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8523 (vox_open): Use DEFAULT_SOUND_DEVICE.
8524 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8525
d5c5cddd
GM
85262000-07-05 Gerd Moellmann <gerd@gnu.org>
8527
8528 * print.c (print_error_message): If Vsignaling_function is set,
8529 show it in *Messages*.
8530
8531 * lisp.h (Vsignaling_function): External declaration.
8532
8533 * eval.c (Vsignaling_function): New variable.
8534 (Fsignal): Compute it.
8535 (syms_of_eval): Staticpro it.
8536
65171e3a
DL
85372000-07-05 Dave Love <fx@gnu.org>
8538
8539 * syswait.h: Use the autoconf recommended approach. Old code
8540 #if'd out in case we need to revert.
8541
178c5d9c 8542 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8543
e2c46326
AI
85442000-07-05 Andrew Innes <andrewi@gnu.org>
8545
8546 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8547 when non-NULL instead of __morecore, to take account of buffer
8548 memory. This also solves a problem with spurious memory warnings
8549 on Windows.
8550
8551 * ralloc.c: Make real_morecore non-static.
8552
8553 * eval.c (internal_condition_case): Comment out abort if
8554 interrupt_input_blocked is not zero.
8555
8556 * makefile.nt: Add support for `bootstrap' and related targets.
8557 Include minimal debug info in emacs.exe in release build.
8558 Remove all dependencies on lisp.h, and fixup some others.
8559
8560 * w32.c (init_environment): Install code from 20.7 for providing
8561 default values for environment variables, based on the
8562 executable's own location.
52283633 8563 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8564 (sys_socket): Install socket inheritance bug fix from 20.7.
8565
8566 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8567 here via blockinput.h).
8568
a027a91b
SM
85692000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8570
e4b31601
SM
8571 * w32menu.c (w32_menu_display_help):
8572 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8573
8574 * keyboard.h (show_help_echo): Declare.
8575
8576 * keyboard.c (show_help_echo): New function, extracted from read_char.
8577 Feval its `msg' argument if it's a cons cell.
8578 (read_char): Use it.
4cf8d9d5 8579 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8580
178c5d9c 8581 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8582 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8583 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8584 (dos_rawgetc):
8585 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8586 (note_tool_bar_highlight, w32_read_socket):
8587 Do not gratuitously ignore non-string `help-echo' properties.
8588
88d75730
GM
85892000-07-05 Gerd Moellmann <gerd@gnu.org>
8590
969f7e79
GM
8591 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8592
71201b00
GM
8593 * window.c (delete_all_subwindows): Reset Vwindow_list.
8594
88d75730
GM
8595 * xterm.c (x_append_glyph, x_append_composite_glyph)
8596 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8597 changes in struct glyph starting 1999-12-27. Some bit-fields of
8598 struct glyph were not set, which made glyphs unequal when compared
8599 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8600 effects were the result. This also depended on the contents of
8601 memory returned by xmalloc. If flickering happens again, activate
8602 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8603 gone with that, chances are that it is caused by something similar.
88d75730
GM
8604
8605 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8606
88d75730
GM
8607 * dispextern.h: Add some comments.
8608
8609 * window.c (add_window_to_list): Add parameter LIST.
8610 (window_list): Order list so that, for each frame, windows are
8611 in canonical order, and so that frames appear in the list in
8612 the order given by Vframe_list.
8613 (next_window): Reverse the handling of NEXT_P.
8614
53654733
GM
86152000-07-04 Gerd Moellmann <gerd@gnu.org>
8616
87efd256
GM
8617 * window.c (Vwindow_list): New variable.
8618 (make_window, delete_window): Set Vwindow_list to nil.
8619 (check_window_containing): New function.
8620 (window_from_coordinates): Rewritten.
8621 (add_window_to_list, window_list, candidate_window_p)
8622 (decode_next_window_args, next_window): New functions.
52283633 8623 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8624 (Fwindow_list): New function.
8625 (Fother_window): Cleaned up.
8626 (foreach_window): Add a longer "variable argument list". Let
8627 callback function return 0 to indicate that cycling over windows
8628 should stop.
8629 (foreach_window_1): Likewise.
8630 (freeze_window_start): Return int.
8631 (init_window): New function.
8632 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8633
8634 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8635 input_event with bzero.
8636 (main): Call init_window.
8637
53654733
GM
8638 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8639 a menu filter.
8640
4a8c194f
KH
86412000-07-04 Kenichi Handa <handa@etl.go.jp>
8642
8643 * composite.h (make_composition_value_copy): Extern it.
8644
8645 * composite.c (make_composition_value_copy): New function.
8646
8647 * editfns.c (Fformat): While copying text properties, make each
8648 composition property value a copy.
8649
8650 * fns.c (concat): While copying text properties, make each
8651 composition property value a copy.
8652
831a6cb0
GM
86532000-07-03 Gerd Moellmann <gerd@gnu.org>
8654
2f516940
GM
8655 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8656
178c5d9c 8657 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8658 marked already.
8659
831a6cb0
GM
8660 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8661 include those frames as candidates which have their focus
8662 redirected to the minibuffer frame.
8663
d9c4f922
SM
86642000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8665
8666 * fns.c (Fputhash): Return `value' rather than nil.
8667
3780bc22
GM
86682000-06-30 Gerd Moellmann <gerd@gnu.org>
8669
97d176db
GM
8670 * frame.c (next_frame): Don't check focus redirection in case
8671 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8672 unless their focus is redirected, which contradicts the
8673 specification of next-frame, and leads to infinite loops in
8674 certain situations when cycling through windows with next-window.
8675
dca9961d
KH
86762000-06-30 Kenichi Handa <handa@etl.go.jp>
8677
8678 * coding.c (code_convert_region): Even if the length of text is
8679 zero, try to convert it if coding->type is coding_type_ccl.
8680 (decode_coding_string, encode_coding_string): Likewise.
8681
d5483ab1
GM
86822000-06-28 Gerd Moellmann <gerd@gnu.org>
8683
af5c25e1 8684 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8685 the display if windows_or_buffers_changed.
af5c25e1
GM
8686
8687 * dispnew.c (struct row_entry): New structure.
8688 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8689 (row_table_size, old_lines, new_lines, old_lines_size)
8690 (new_lines_size, run_pool, runs_size, runs): New variables.
8691 (add_row_entry): New function.
8692 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8693 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8694 holding them in local variables. Use a larger hash table whose
8695 size depends on glyph matrix sizes. Don't use bzero to clear the
8696 hash table; instead, clear used slots only.
8697
8698 * fns.c (next_almost_prime): Make it externally visible.
8699
8700 * lisp.h (next_almost_prime): Add prototype.
8701
d5483ab1
GM
8702 * s/isc4-0.h (sigunblock): Define.
8703
8704 * s/sco5.h (sigunblock): Define.
8705
93e40f40
DL
87062000-06-27 Dave Love <fx@gnu.org>
8707
8708 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8709 (moved to osf5-0.h).
8710 [!NOT_C_CODE]: Protect string.h stuff.
8711
8712 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8713 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8714
3c4b7685
GM
87152000-06-27 Gerd Moellmann <gerd@gnu.org>
8716
97d176db 8717 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8718 below the last line from the needed window height.
8719
32cad0aa
SM
87202000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8721
8722 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8723 (Fwidget_get): Use it.
8724 (syms_of_fns): Defsubr it.
8725
2c69ced2
GM
87262000-06-26 Gerd Moellmann <gerd@gnu.org>
8727
178c5d9c 8728 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8729 display info for XIM.
8730 (xim_open_dpy): Likewise.
8731 (xim_close_dpy): Don't free the display info's XIM.
8732
8733 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8734
8735 * config.in (USE_XIM): New define.
8736
3fc720e4
GM
8737 * keymap.c (get_keyelt): For menu-items containing a `:filter
8738 FILTER', apply FILTER to the menu-item's definition to get the
8739 real definition to use.
8740
8741 * lisp.h (QCfilter): External declaration.
8742
2c69ced2
GM
8743 * xfns.c (Fimage_size): New function.
8744 (syms_of_xfns): Defsubr it.
8745
f978b2a2
AS
87462000-06-26 Andreas Schwab <schwab@suse.de>
8747
8748 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8749 Fstring_as_unibyte.
8750
94cc7892
DL
87512000-06-25 Dave Love <fx@gnu.org>
8752
52283633 8753 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8754
8755 * Makefile.in (blockinput.h): Depend on atimer.h.
8756 (atimer.h): Depend on systime.h.
8757
52283633 8758 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8759
52283633 8760 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8761
8762 * lisp.h (swap_in_global_binding): Declare.
8763
b8c24556
KR
87642000-06-24 Ken Raeburn <raeburn@gnu.org>
8765
8766 * process.c (Fopen_network_stream): Turn off atimers for duration
8767 of call to connect. (Patch from Gerd.)
8768
8cf8560b
DL
87692000-06-23 Dave Love <fx@gnu.org>
8770
511c7541
DL
8771 * ralloc.c: Maybe include unistd.h
8772
8cf8560b
DL
8773 * emacs.c (setgrp): Undefine before defining.
8774 (malloc_warning, set_time_zone_rule, index): Prototype.
8775
8776 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8777 HAVE_STRUCT_TIMEZONE.
8778
8779 * s/osf1.h: Move string.h hack here from alpha.h and make it
8780 conditional.
8781 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8782 _XOPEN_SOURCE.
8783 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8784 (SOCKLEN_TYPE): Don't define.
8785
8786 * m/alpha.h: Remove string.h hack.
8787
8788 * s/osf5-0.h: New file.
8789
8790 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8791 include time.h, done by systime.h.
8792 [__FreeBSD__]: Remove redundant includes.
8793
3fc720e4 8794 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8795 (delete_temp_file): Return Qnil to avoid warning.
8796
8797 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8798
8799 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8800 HAVE_X_WINDOWS.
8801
8802 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8803
8804 * composite.h (compose_text): Declare.
8805
8806 * xterm.c: Don't include sys/types.h unconditionally. Don't
8807 protect its inclusion with !USG (following xmenu.c).
8808
ea055732
GM
88092000-06-23 Gerd Moellmann <gerd@gnu.org>
8810
8811 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8812 in x_create_frame.
8813
74b01b80
EZ
88142000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8815
8816 * coding.c (decode_eol_post_ccl): Special handling for undecided
8817 and inconsistent EOL types.
8818
64f3a166
GM
88192000-06-22 Gerd Moellmann <gerd@gnu.org>
8820
16cf31f7
GM
8821 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8822 trough color and main window's background color.
8823
52283633 8824 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8825
8826 * xterm.h (Xt_app_con): External declaration.
8827
8828 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8829
486a103d
GM
8830 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8831
64f3a166
GM
8832 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8833 (handle_invisible_prop): Record the start of invisible text in
8834 it->add_overlay_start.
8835 (struct overlay_entry): Add member `overlay'.
8836 (handle_overlay_change): Simplify.
8837 (next_overlay_string): After having processed overlay strings at the
8838 end of the buffer, record that fact in
8839 it->overlay_strings_at_end_processed_p.
8840 (compare_overlay_entries): If before- and after-strings come
8841 from the same overlay, let before-strings come first.
8842 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8843 (load_overlay_strings): Take it->add_overlay_start into account
8844 when adding overlay strings.
8845
8846 * dispextern.h (struct it): Add member add_overlay_start.
8847
bb746ea6
DL
88482000-06-22 Dave Love <fx@gnu.org>
8849
8850 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8851
8852 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8853
a8f573f3
KH
88542000-06-22 Kenichi Handa <handa@etl.go.jp>
8855
8856 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8857 is greater than 0.
8858
9f2bbc92
DL
88592000-06-21 Dave Love <fx@gnu.org>
8860
178c5d9c 8861 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8862
3ee5041c
SM
88632000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8864
8865 * syntax.c (back_comment): Simplify string-parity counting (with
8866 the added benefit of handling multiple string-styles as long as
8867 they are not intertwined).
8868 Jump to the slow code as soon as a comment starter is found in
8869 a "string_lossage" position. Fixes the case: " /* " /* " */.
8870
4c343001
DL
88712000-06-21 Dave Love <fx@gnu.org>
8872
8873 * Makefile.in: Use GETLOADAVG_LIBS.
8874
8875 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8876 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8877
e6365855
SM
88782000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8879
8880 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8881 (Fforward_comment, scan_lists):
8882 Check the comstyle of single-char comment-starters.
8883 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8884 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8885 Check the comstyle of single-char comment-starters.
8886 Clarify control-flow around the Scomment case.
e6365855 8887
5700d2cc
DL
88882000-06-20 Dave Love <fx@gnu.org>
8889
d355bd8a
SM
8890 * fns.c (make_hash_table, maybe_resize_hash_table):
8891 Cast arg of next_almost_prime.
5700d2cc 8892
178c5d9c 8893 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8894
8895 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8896 and unistd.h.
8897
4a27bdfb
GM
88982000-06-20 Gerd Moellmann <gerd@gnu.org>
8899
a61d762c 8900 * keyboard.c (adjust_point_for_property): Check if display
52283633 8901 property should be treated as intangible by looking at its value.
a61d762c 8902
178c5d9c 8903 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8904 (display_prop_intangible_p): New functions.
8905
8906 * dispextern.h (display_prop_intangible_p): Add prototype.
8907
8908 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8909
4a27bdfb
GM
8910 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8911 argument to sigprocmask.
8912
8913 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8914 argument to sigprocmask.
8915
8916 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8917 sigprocmask_set, and pass a pointer to it to sigprocmask.
8918
8919 * sysdep.c (sigprocmask_set): New variable.
8920
8921 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8922 report_file_error.
8923
427ec082
SS
89242000-06-20 Sam Steingold <sds@gnu.org>
8925
8926 * xrdb.c: Don't declare xmalloc, xrealloc.
8927
8972fe79 89282000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8929
8930 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8931 (re_comp): Cast gettext return value to avoid complaints when
8932 !HAVE_LIBINTL.
8933
074b6efe
DL
89342000-06-20 Dave Love <fx@gnu.org>
8935
52283633 8936 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8937
5700d2cc 8938 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8939
d355bd8a 8940 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8941
8942 * m/alpha.h: Don't declare xmalloc, xrealloc.
8943
0af4f205
DL
8944 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8945
8946 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8947
8948 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8949
8950 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8951 HAVE_GETWD.
8952
074b6efe
DL
8953 * keyboard.h (poll_for_input_1): Declare.
8954
8955 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8956
8957 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8958
8959 * doprnt.c: Don't declare xmalloc, xrealloc.
8960
8961 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8962 (getenv, ctime, getwd): Removed.
8963 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8964
8965 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8966 x_set_tool_bar_lines.
8967
8968 * config.in: Add HAVE_GETWD. Move some definitions above
8969 machine/system includes.
8970
68a5e97b
KH
89712000-06-20 Kenichi Handa <handa@etl.go.jp>
8972
95417e1e
KH
8973 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8974
68a5e97b
KH
8975 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8976 contain information about ENCODING.
8977
8978 * fontset.c (FONTSET_ASCII): Use the first element of char table
8979 for an ASCII font, not defalt slot.
8980 (fontset_ref_via_base): If FONTSET doesn't contain information for
8981 C, try the default fontset.
8982 (make_fontset): Don't copy the default fontset.
8983 (fontset_font_pattern): Likewise.
8984 (accumulate_font_info): If ELT is nil, use the corresponding
8985 element in the default fontset.
8986
3b4fa1b2
DL
89872000-06-19 Dave Love <fx@gnu.org>
8988
943e731c
DL
8989 * syntax.c (Fparse_partial_sexp): Doc fix.
8990
8991 * regex.h: Test PROTOTYPES as well as __STDC__.
8992
3b4fa1b2
DL
8993 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8994 errno, strerror. Put text after #endif in comment.
8995
52283633 8996 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8997
8998 * xterm.c (x_frame_of_widget): Likewise.
8999
cdf0357b
GM
90002000-06-19 Gerd Moellmann <gerd@gnu.org>
9001
9002 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9003 to Vfundamental_mode_abbrev_table.
9004
9005 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9006 bogus objects are marked. This slows down GC by ~80 percent, but
9007 it might be worth trying when debugging GC-related problems.
9008 This feature requires conservative stack marking to be enabled.
9009
9010 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9011 returns XLookupChars, reset `modifiers' to zero.
9012
998e9f8c
DL
90132000-06-19 Dave Love <fx@gnu.org>
9014
9015 * mktime.c: Unprotoized.
9016
18e21ce8 90172000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9018
9019 * data.c (set_internal): If variable is frame-local,
9020 store the new value immediately into the frame parameter alist.
9021
140c4ac6
KR
90222000-06-19 Ken Raeburn <raeburn@gnu.org>
9023
14358466
KR
9024 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9025 in the custom handler pointer.
9026
140c4ac6
KR
9027 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9028 value, or checks for CHAR_META can fail when Lisp_Object is a
9029 union type.
9030 * keymap.c (get_keyelt): Likewise.
9031
10d7bf84
KH
90322000-06-19 Kenichi Handa <handa@etl.go.jp>
9033
9034 * ccl.h (struct ccl_program): New member eol_type.
9035 (struct ccl_spec): New member cr_carryover.
9036
9037 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9038 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9039
9040 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9041 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9042 (decode_eol_post_ccl): New function.
9043 (decode_coding): Don't detect EOL format here for CCL based coding
9044 systems.
9045 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9046 decode_eol_post_ccl after running the CCL program.
9047 (code_convert_region): Don't detect EOL format here for CCL based
9048 coding systems.
9049 (decode_coding_string): Likewise.
9050
52e386c2
KR
90512000-06-18 Ken Raeburn <raeburn@gnu.org>
9052
9053 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9054 when treating it as an integer.
9055
9056 * coding.h (encode_coding_string): Declare.
9057
9058 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9059 it as an integer.
9060
9061 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9062 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9063 to be passed to get_local_map.
9064
9065 * sound.c (Fplay_sound): Don't call make_number on
9066 Frun_hook_with_args count argument.
9067
9068 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9069 for lisp objects in X event structure data field, when lisp
9070 objects are represented with unions.
9071 (x_scroll_bar_to_input_event): Ditto.
9072
b357b9d4
KR
90732000-06-16 Ken Raeburn <raeburn@gnu.org>
9074
9075 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9076 termination of string. Fix sense of test whether
9077 Vline_number_display_limit is an integer.
b357b9d4 9078
a871441d
GM
90792000-06-16 Gerd Moellmann <gerd@gnu.org>
9080
a9021acd
GM
9081 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9082 only if HAVE_X_WINDOWS.
9083
6344985d
GM
9084 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9085 of titles.
9086
427ec082 9087 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9088 out of bounds.
9089
228b083e
EZ
90902000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9091
9092 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9093 of its headers.
9094
c25b53a2
KH
90952000-06-15 Kenichi Handa <handa@etl.go.jp>
9096
9097 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9098 start of the while loop.
9099
a6981b11
GM
91002000-06-15 Gerd Moellmann <gerd@gnu.org>
9101
e9924e52
GM
9102 * atimer.c (alarm_signal_handler): Add forward declaration.
9103
a6981b11
GM
9104 * data.c (set_internal): Remove debug code.
9105
25fa6deb
GM
91062000-06-14 Gerd Moellmann <gerd@gnu.org>
9107
dce6b995
GM
9108 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9109
9f817ea4
GM
9110 * unexec.c (toplevel) [COFF]: Include coff.h.
9111
9112 * s/lynxos.h: New file.
9113
9114 * keymap.c (Fsingle_key_description): Enclose function key and
9115 event symbol names in angle brackets.
9116
8a4e3c0c
GM
9117 * xdisp.c (setup_echo_area_for_printing): Call
9118 message_log_maybe_newline if message_buf_print is not set.
9119
9120 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9121 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9122 function does something useful even when message_buf_print is
9123 already set.
9124
52283633
SM
9125 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9126 New variables.
25fa6deb
GM
9127 (ensure_echo_area_buffers): Initialize echo buffer's
9128 truncate lines setting to nil.
9129 (with_echo_area_buffer): Don't set the echo buffer's truncate
9130 lines setting here.
8a4e3c0c 9131 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9132 of message_truncate_lines.
9133 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9134 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9135 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9136
9137 * keyboard.c (read_char): Bind message-truncate-lines to t
9138 while displaying a help-echo.
9139
9140 * lisp.h (Qmessage_truncate_lines): External declaration.
9141
163dcff3
GM
91422000-06-13 Gerd Moellmann <gerd@gnu.org>
9143
1681ead6
GM
9144 * xdisp.c (Vline_number_display_limit): Renamed from
9145 line_number_display_limit.
9146 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9147 Extend documentation string. Initialize
9148 Vline_number_display_limit to nil meaning no limit.
9149 (decode_mode_spec): Use Vline_number_display_limit with its new
9150 meaning.
9151
163dcff3
GM
9152 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9153
18e21ce8 91542000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9155
9156 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9157
163dcff3
GM
9158 * xfns.c (x_set_frame_parameters): Comment fix.
9159
9160 * frame.c (store_frame_param): Call swap_in_global_binding if the
9161 variable's current binding was chosen based on this frame.
9162
9163 * data.c (swap_in_global_binding): New function.
9164
a704139d
EZ
91652000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9166
9167 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9168 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9169
9b6610db
EZ
91702000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9171
9172 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9173
c68833d2
JR
91742000-06-12 Jason Rumney <jasonr@gnu.org>
9175
9176 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9177
9178 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9179
9180 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9181
9182 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9183
ed1056b3
GM
91842000-06-12 Gerd Moellmann <gerd@gnu.org>
9185
9186 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9187 (syms_of_xfaces): Defsubr Sdump_colors.
9188 (x_free_colors): Don't treat b&w specially on default visual.
9189 (x_free_dpy_colors): New function.
9190 (free_face_colors): Don't check visual class; it's done
9191 in x_free_colors.
9192
9193 * xterm.c (x_frame_of_widget): New function.
9194 (x_alloc_nearest_color_for_widget): Use it.
9195 (x_copy_dpy_color): New function.
9196 (x_destroy_window): Free various colors.
9197
5050a2ef
KH
91982000-06-12 Kenichi Handa <handa@etl.go.jp>
9199
9200 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9201
9202 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9203
9204 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9205
9206 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9207
9208 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9209
fb1b041d
DL
92102000-06-11 Dave Love <fx@gnu.org>
9211
9212 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9213
ff96b5f4
EZ
92142000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9215
9216 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9217
db8eeecd
GM
92182000-06-11 Gerd Moellmann <gerd@gnu.org>
9219
ed1056b3 9220 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9221 to `XEvent *'.
9222
49b71c5f
KH
92232000-06-10 Kenichi Handa <handa@etl.go.jp>
9224
c479bd55
KH
9225 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9226 (regex_compile): Fix the code for handling the case of single byte
9227 char and multibyte char being mixed in a range within [...].
9228
ff6a65c2
KH
9229 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9230 and dst_multibyte members of coding.
9231
49b71c5f
KH
9232 * charset.c (update_charset_table): Update the table
9233 bytes_by_char_head.
9234 (init_charset_once): Initialize elements of bytes_by_char_head to
9235 1 except for leading codes for private charases.
9236
9237 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9238 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9239
9e80b57d
KR
92402000-06-09 Ken Raeburn <raeburn@gnu.org>
9241
9242 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9243 access the data it doesn't point to.
9244
f83fe4b4
GM
92452000-06-08 Gerd Moellmann <gerd@gnu.org>
9246
9247 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9248 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9249 event queue. This is necessary because Emacs otherwise won't
9250 perform a switch-frame to a new frame until some other event, for
9251 example a keystroke event, forces it to do so. This has various
9252 effects, one visible being that the cursor of a frame created with
9253 C-x 5 2 or switched to with a window manager key binding like
9254 A-TAB stays hollow because selected_window isn't on the newly
9255 focused frame until the switch-frame is performed.
9256
9257 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9258 generating a switch-frame event if necessary.
9259
9260 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9261
9262 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9263 it's an integer.
9264
0890801b
KH
92652000-06-08 Kenichi Handa <handa@etl.go.jp>
9266
52283633 9267 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9268
173cbca8
GM
92692000-06-07 Gerd Moellmann <gerd@gnu.org>
9270
3091c2a6
GM
9271 * window.c (displayed_window_lines): Take empty lines at
9272 the bottom of a window into account.
427ec082 9273
f38952fe
GM
9274 * window.c (displayed_window_lines): New function.
9275 (Fmove_to_window_line): Use displayed_window_lines to determine
9276 the number of lines to move, instead of using the window's height.
9277
9278 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9279 to stop reading, even if the form read sets point to a different
9280 value when evaluated.
9281
427ec082 9282 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9283 put the cursor.
9284
6ba6c818
KH
92852000-06-07 Kenichi Handa <handa@etl.go.jp>
9286
9287 * fileio.c (e_write): Free composition data if stored in
9288 coding->cmp_data.
9289
5f1aea9a
GM
92902000-06-06 Gerd Moellmann <gerd@gnu.org>
9291
666852af
GM
9292 * xdisp.c (display_line): Set row's and iterator's
9293 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9294 Set cursor even if row ends in the middle of a character.
9295 (dump_glyph_row): Print values of new flags.
9296 (redisplay_window) <cursor movement in unchanged window>: When
9297 point has been moved forward, and PT is at the end of the cursor
9298 row, don't place the cursor in the next row if the cursor row ends
9299 in the middle of a character or at ZV.
9300
9301 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9302 (struct glyph_row): Add starts_in_middle_of_char_p and
9303 ends_in_middle_of_char_p.
9304 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9305 ends_in_middle_of_char_p flag.
9306 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9307
d13f3e2e
GM
9308 * term.c (append_glyph): Revert change of 2000-06-06.
9309
9310 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9311 padding glyph not fitting on line as whole character not
9312 fitting on line.
9313
5f1aea9a
GM
9314 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9315 this isn't true for images with `:ascent 100'.
9316
10cda9b0
KH
93172000-06-06 Kenichi Handa <handa@etl.go.jp>
9318
ed00559d
KH
9319 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9320 as modified if it is originally unmodified.
9321
10cda9b0
KH
9322 * term.c (encode_terminal_code): Change the way to check if
9323 terminal coding does any conversion.
9324 (append_glyph): Set glyph->pixel_width correctly.
9325
9326 * xdisp.c (display_line): While checking line continuation, pay
9327 attention to a padding glyph.
9328
1969fae2
GM
93292000-06-05 Gerd Moellmann <gerd@gnu.org>
9330
9331 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9332
162ccef4
DL
93332000-06-05 Dave Love <fx@gnu.org>
9334
f19f32dd
DL
9335 * xdisp.c: Include fontset.h.
9336
9337 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9338
9339 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9340
9341 * dispnew.c: Conditionally include term.h.
9342
9343 * coding.h: Declare code_convert_string_norecord.
9344
9345 * frame.h (struct frame): Use volatile unconditionally.
9346
9347 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9348
9349 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9350
9351 * systime.h: Protect against multiple inclusion.
9352 (timezone) [USG5_4]: Define as time_t.
9353
9354 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9355 (Foptimize_char_table, make_temp_name): Declare.
9356
9357 * Makefile.in (xdisp.o): Depend on fontset.h.
9358
9359 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9360
9361 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9362 (Foptimize_char_table, make_temp_name): Declare.
9363
427ec082 9364 * s/irix4-0.h:
162ccef4
DL
9365 * s/irix5-0.h:
9366 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9367
2082fe81
DL
93682000-06-02 Dave Love <fx@gnu.org>
9369
9370 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9371
dcf671d2
GM
93722000-06-02 Gerd Moellmann <gerd@gnu.org>
9373
9374 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9375 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9376 be freed.
9377
9378 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9379 glyph, use the ASCII NUL character to determine the face.
9380
d42122a3
DL
93812000-06-02 Dave Love <fx@gnu.org>
9382
9383 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9384 (VFORK_RETURN_TYPE): Remove.
427ec082 9385
d42122a3
DL
9386 * config.in: Add NO_MATHERR.
9387
dd432f16
DL
93882000-06-01 Dave Love <fx@gnu.org>
9389
90aa4ea8
DL
9390 * cmds.c (internal_self_insert): Don't check
9391 Vbefore_change_function, Vafter_change_function.
9392
9393 * insdel.c (signal_before_change, signal_after_change): Likewise.
9394
9395 * buffer.c (Vbefore_change_function, Vafter_change_function):
9396 Variables and their initializations deleted.
9397
2330c9d4
DL
9398 * callint.c (Fcall_interactively): Doc fix.
9399
dd432f16
DL
9400 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9401
bf9e8804
DL
94022000-05-31 Dave Love <fx@gnu.org>
9403
9404 * textprop.c: Revert last change -- duplicated.
9405
3694b4ab
GM
94062000-05-31 Gerd Moellmann <gerd@gnu.org>
9407
9408 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9409 in #if 0.
9410
9411 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9412
f14156cd
JR
94132000-05-31 Jason Rumney <jasonr@gnu.org>
9414
8119aab8
JR
9415 * search.c (Fre_search_forward, Fre_search_backward)
9416 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9417
f14156cd
JR
9418 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9419
4aab9be3
JR
94202000-05-30 Jason Rumney <jasonr@gnu.org>
9421
9422 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9423 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9424
52283633 9425 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9426
9427 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9428 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9429 expand a nil default_filename.
9430
9431 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9432 pointer to glyph_to_pixel_coords, not a frame.
9433
9434 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9435 coding.h to dependencies.
9436
9437 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9438
9439 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9440 window pointer to be consistent with w32term.c and xterm.c.
9441
9442 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9443 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9444 (Qline_spacing, Qcenter): New variables.
9445 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9446 (x_set_line_spacing): New function.
52283633 9447 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9448 (x_specified_cursor_type): New function.
9449 (x_set_cursor_type): Use it.
9450 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9451 and icon strings.
9452 (validate_x_resource_name, x_get_resource_string): Measure lengths
9453 of external strings in bytes.
9454 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9455 GetTextExtentPoint32 with NULL title.
9456 (Fx_create_frame): Initialize Qline_spacing.
9457 (w32_load_system_font): Initialize font->double_byte_p.
9458 (x_to_w32_charset): Use Vw32_charset_info_alist.
9459 (Image, busy cursor, tooltip functions): Merged changes from
9460 xfns.c. Not yet functional on Windows.
9461
9462 * w32gui.h (W32FontStruct): Add double_byte_p member.
9463
9464 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9465 (emacs_button_translation): Use it.
9466 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9467 in `mask' to be set.
9468
9469 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9470 menu strings.
9471
9472 * w32term.c: Format and doc changes to bring closer to xterm.c.
9473 (w32_char_font_type): New enum.
9474 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9475 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9476 (w32_encode_char): New function.
9477 (x_encode_char): Removed.
9478 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9479 x_encode_char and w32_font_is_double_byte.
9480 (x_produce_image_glyph): Use image_ascent.
9481 (x_produce_glyphs): Use new version of w32_per_char_metric and
9482 handle NULL return value. Allow extra line spacing.
9483 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9484 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9485 w32_font_type member of glyph instead.
9486 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9487 (fast_find_position): Make sure not to consider rows not visible
9488 in the window.
9489 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9490 w32_menu_display_help with input blocked, as it can abort.
9491 (x_display_and_set_cursor): Choose cursor depending
9492 on buffer-local value of cursor_type.
9493 (x_draw_bar_cursor): Add parameter WIDTH.
9494
9495 * w32term.h (CP_DEFAULT): Define.
9496 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9497
10fc3187
GM
94982000-05-30 Gerd Moellmann <gerd@gnu.org>
9499
9500 * search.c (Fre_search_forward, Fre_search_backward)
9501 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9502
d0555360
KH
95032000-05-30 Kenichi Handa <handa@etl.go.jp>
9504
9505 * coding.c (detect_coding_iso2022): Fix code for checking
9506 CODING_CATEGORY_MASK_ISO_8_2.
9507
f1ad044f
SM
95082000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9509
9510 * regex.c (PREFETCH_NOLIMIT): New function.
9511 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9512
84ec3b4b
GM
95132000-05-29 Gerd Moellmann <gerd@gnu.org>
9514
66254a13
GM
9515 * syntax.c (find_defun_start): Move test for
9516 open_paren_in_column_0_is_defun_start outside of the loop.
9517
49e70dec
GM
9518 * xdisp.c (redisplay_window): Really switch buffers when
9519 displaying mode lines, and temporarily set selected_frame to the
9520 frame of the window that's redisplayed.
9521
84ec3b4b
GM
9522 * xfaces.c (free_realized_faces): Block/unblock input.
9523 (free_realized_multibyte_face): Ditto.
9524
869a3a14
DL
95252000-05-29 Dave Love <fx@gnu.org>
9526
9527 * textprop.c (Qkeymap): New variable.
9528 (syms_of_textprop): Intern it.
9529
9530 * keymap.c: Include intervals.h.
9531 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9532
9533 * Makefile.in (keymap.o): Depend on intervals.h.
9534
9535 * keyboard.c (menu_bar_items, tool_bar_items)
9536 (Fexecute_extended_command): Deal with `keymap' property.
9537 (read_key_sequence): Track map from `keymap' property as well as
9538 `local_map'.
9539
9540 * intervals.c (get_local_map): Extra arg to allow looking for
9541 `keymap' too.
9542
9543 * intervals.h (map_property): New enum.
9544 (get_local_map): Extra arg using it.
9545 (Qkeymap): Declare.
9546
84ec3b4b 9547 * lisp.h (get_local_map): Don't declare here.
869a3a14 9548
89d0c844
KH
95492000-05-29 Kenichi Handa <handa@etl.go.jp>
9550
9551 * Makefile.in (callproc.o): Depend on composite.h.
9552
9553 * callproc.c: Include composite.h.
9554 (Fcall_process): Handle composition correctly.
9555
9556 * coding.h (coding_allocate_composition_data): Extern it.
9557 (coding_restore_composition): Likewise.
9558
9559 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9560 yet allocated, finish decoding with result
9561 CODING_FINISH_INSUFFICIENT_CMP.
9562 (coding_allocate_composition_data): Make it non-static.
9563 (coding_restore_composition): Likewise.
9564
797a084a
EZ
95652000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9566
9567 * charset.c (syms_of_charset): Revert last change.
9568
cf872af5
EZ
95692000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9570
9571 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9572 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9573 Handa.
cf872af5 9574
5b1ae051
EZ
95752000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9576
9577 * charset.c (syms_of_charset): Set width of character sets
9578 eight-bit-control and eight-bit-graphic to 1 column.
9579
34ec9ebe
GM
95802000-05-26 Gerd Moellmann <gerd@gnu.org>
9581
9582 * config.in (HAVE_SPEED_T): New define.
9583
9584 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9585 `extern speed_t'.
9586
dd854dc2
DL
95872000-05-26 Dave Love <fx@gnu.org>
9588
9589 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9590
9591 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9592 (Fsubr_arity): New function.
9593 (syms_of_data): Install them.
9594
ba9f8f95
KH
95952000-05-26 Kenichi Handa <handa@etl.go.jp>
9596
0f3e0672
KH
9597 * charset.c (init_charset_once): Set the table bytes_by_char_head
9598 correctly.
9599
cebefb44
KH
9600 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9601 the default fontset to what Emacs uses by default.
0f3e0672
KH
9602 (check_registry_encoding): This function deleted.
9603 (Fset_fontset_font): Remove the adhoc condition for the default
9604 fontset. Allow cons in FONTNAME.
cebefb44 9605
0f3e0672
KH
9606 * fns.c (map_char_table): Ignore char-table entries for
9607 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9608
7a18af49
KR
96092000-05-25 Ken Raeburn <raeburn@gnu.org>
9610
9611 * emacs.c (main): Initialize keyboard syms before initializing
9612 window code, so face names are available.
9613
d2af47df
SM
96142000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9615
9616 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9617 of an anchor at the beginning of a shy-group.
9618
fc6a6a4e
GM
96192000-05-25 Gerd Moellmann <gerd@gnu.org>
9620
9621 * xdisp.c (handle_invisible_prop): Don't try to skip over
9622 invisible text if end of text is already reached.
9623
005f0d35
DL
96242000-05-25 Dave Love <fx@gnu.org>
9625
02513cdd
DL
9626 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9627
005f0d35
DL
9628 * coding.c (encode_eol): Add null statement after label.
9629
89f6ca4e
EZ
96302000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9631
9632 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9633 2000-05-20.
9634
a4e1759e
KH
96352000-05-25 Kenichi Handa <handa@etl.go.jp>
9636
9637 * ccl.c (ccl_driver): Fix previous change.
9638
eacfd7fe
KH
96392000-05-25 Kenichi Handa <handa@etl.go.jp>
9640
46ab33a9
KH
9641 * coding.c (run_pre_post_conversion_on_str): Set point to the
9642 beginning of buffer before calling coding->post_read_conversion.
9643 (decode_coding_string): Give correct args to
9644 run_pre_post_conversion_on_str.
9645 (encode_coding_string): Likewise.
9646
eacfd7fe
KH
9647 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9648 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9649 eight-bit-graphic correctly.
9650
f8569325
DL
96512000-05-24 Kenichi HANDA <handa@etl.go.jp>
9652
9653 * fileio.c (Finsert_file_contents): Even if a file is not found,
9654 execute codes for setting up coding system. Call
9655 after-insert-file-functions unconditionally.
9656
04545643
GM
96572000-05-24 Gerd Moellmann <gerd@gnu.org>
9658
9659 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9660 BSD_PGRPS are not defined.
9661
747d90ea
KH
96622000-05-24 Kenichi Handa <handa@etl.go.jp>
9663
9664 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9665 DESCRIPTION.
9666 (syms_of_charset): Avoid building same strings.
9667
716e3b88
GM
96682000-05-23 Gerd Moellmann <gerd@gnu.org>
9669
9670 * lread.c (Fload): Add a comment about the meaning of
9671 Vuser_init_file being t.
9672
9673 * puresize.h (BASE_PURESIZE): Increase to 675000.
9674
9675 * s/gnu-linux.h (setpgrp): Don't define it here because this
9676 prevents compilation on GNU/Linux systems with glib 2.2.
9677
9678 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9679 as setpgid.
427ec082 9680
9aeb39fa
EZ
96812000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9682
9683 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9684 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9685 version.
9686 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9687
29ced61b
KH
96882000-05-23 Kenichi Handa <handa@etl.go.jp>
9689
52283633 9690 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9691
3d80f24d
KH
9692 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9693
52283633 9694 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9695
29ced61b
KH
9696 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9697
d7e00792
KH
96982000-05-22 Kenichi Handa <handa@etl.go.jp>
9699
c9d80d38
KH
9700 * keyboard.c (read_char): Allow character codes 128..255 to be
9701 handled by input-method-function.
9702
d7e00792
KH
9703 * insdel.c (adjust_markers_for_replace): Fix previous change.
9704 (adjust_after_replace): If PREV_TEXT is nil, call
9705 adjust_markers_for_insert, not adjust_markers_for_replace.
9706
087121cc 97072000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9708
087121cc
GM
9709 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9710 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9711 [HAVE_GRANDPT]: Define.
9712 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9713
9714 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9715 like SYSV_PTYS.
9716
9717 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9718
9719 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9720
c9671f81
KH
97212000-05-20 Kenichi Handa <handa@etl.go.jp>
9722
9723 The following changes are to handle 8-bit characters in a
9724 multibyte buffer/string without facing with byte combining
9725 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9726 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9727
9728 * Makefile.in (fns.o): Depend on charset.h.
9729
9730 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9731 convert it to unibyte.
9732 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9733
9734 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9735 apparent char boundary.
9736 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9737 0x80..0x9F to/from multibyte form.
9738
9739 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9740 to unibyte.
9741
9742 * callproc.c (Fcall_process): Always encode an argument string if
9743 it is multibyte. Setup src_multibyte and dst_multibyte members of
9744 process_coding properly.
ce75fd23 9745
c9671f81
KH
9746 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9747 SPLIT_NON_ASCII_CHAR.
9748
9749 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9750 as is.
9751 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9752
52283633 9753 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9754 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9755 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9756 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9757 and eight-bit-graphic.
9758 (char_to_string): Likewise. Signal an error for too large
9759 character code.
9760 (char_printable_p): Return 0 for 8-bit characters.
9761 (update_charset_table): Update iso_charset_table only when a final
9762 character is non-negative.
9763 (find_charset_in_text): Renamed from find_charset_in_str.
9764 Arguments and return value changed. Callers changed.
9765 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9766 be -1 if CHARSET is used only internally.
9767 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9768 eight-bit-graphic.
9769 (Fcharset_after): Simplified.
9770 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9771 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9772 (multibyte_chars_in_text): Simplified by assuming there's no
9773 invalid multibyte sequence.
52283633
SM
9774 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9775 (str_as_unibyte): New functions.
9776 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9777 (init_charset_once): Initialization for
9778 LEADING_CODE_8_BIT_CONTROL.
9779 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9780 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9781 eight-bit-control and eight-bit-graphic.
9782
52283633
SM
9783 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9784 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9785 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9786 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9787 (CHARSET_REVERSE_CHARSET): Likewise.
9788 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9789 eight-bit-graphic.
9790 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9791 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9792 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9793 encounter an invalid multibyte sequence.
9794 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9795 sequence is always valid.
9796 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9797 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9798 (CHAR_STRING): For 8-bit characters, call char_to_string.
9799 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9800 multibyte sequence is always valid.
9801 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9802 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9803 (str_as_unibyte): Extern them.
c9671f81 9804 (BCOPY_SHORT): Fix a bug.
52283633 9805 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9806 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9807 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9808 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9809
bd4bde7f 9810 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9811 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9812 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9813 (EMIT_BYTES): New macros.
9814 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9815 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9816 macros deleted.
9817 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9818 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9819 check the validity of multibyte sequence.
9820 (decode_coding_emacs_mule): New function.
9821 (encode_coding_emacs_mule): New macro.
9822 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9823 the source.
9824 (DECODE_ISO_CHARACTER): Just return a character code.
9825 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9826 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9827 EMIT_CHAR to produced decoded characters. Exit the loop only by
9828 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9829 block here.
9830 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9831 only position codes for an invalid character.
9832 (encode_designation_at_bol): Return new destination pointer. 5th
9833 arg DSTP is changed to DST.
9834 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9835 from the source by ONE_MORE_CHAR. Don't handle the case of last
9836 block here.
9837 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9838 macros deleted.
52283633
SM
9839 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9840 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9841 TWO_MORE_BYTES to fetch a byte from the source.
9842 (encode_eol): Pay attention to coding->src_multibyte.
9843 (detect_coding, detect_eol): Preserve members src_multibyte and
9844 dst_multibyte.
9845 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9846 (encoding_buffer_size): Set magnification to 3 for all coding
9847 systems that require encoding.
9848 (ccl_coding_driver): For decoding, be sure that the result is
9849 valid multibyte sequence.
9850 (decode_coding): Initialize coding->errors and coding->result.
9851 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9852 and raw-text, always call decode_eol. Handle the case of last
9853 block here. If not coding->dst_multibyte, convert the resulting
9854 sequence to unibyte.
9855 (encode_coding): Initialize coding->errors and coding->result.
9856 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9857 and raw-text, always call encode_eol. Handle the case of last
9858 block here.
9859 (shrink_decoding_region, shrink_encoding_region): Detect cases
9860 that we can't skip data more rigidly.
9861 (code_convert_region): Setup src_multibyte and dst_multibyte
9862 members of coding. For decoding, if the buffer is multibyte,
9863 convert the source sequence to unibyte in advance. For encoding,
9864 if the buffer is multibyte, convert the resulting sequence to
9865 multibyte afterward.
9866 (run_pre_post_conversion_on_str): New function.
9867 (code_convert_string): Deleted and divided into the following two.
9868 (decode_coding_string, encode_coding_string): New functions.
9869 (code_convert_string1, code_convert_string_norecord): Call one of
9870 above.
9871 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9872 MAKE_NON_ASCII_CHAR.
52283633
SM
9873 (Fset_terminal_coding_system_internal)
9874 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9875 and dst_multibyte members.
9876 (init_coding_once): Initialize iso_code_class with new enum
9877 ISO_control_0 and ISO_control_1.
9878
9879 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9880 devided into ISO_control_0 and ISO_control_1.
9881 (struct coding_system): New members src_multibyte, dst_multibyte,
9882 errors, and result. Delete member fake_multibyte.
9883 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9884 nonzero.
9885 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9886 nonzero.
9887
9888 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9889 (Faset): Likewise.
9890
9891 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9892 multibyte form.
9893 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9894 combining occurs.
9895 (Ftranspose_region): Delete codes for handling byte combining.
9896
9897 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9898 dst_multibyte members of coding. On handling REPLACE on unibyte
9899 buffer, convert the result of decode_coding to unibyte. On
9900 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9901 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9902 multibyteness of the source (buffer or string).
9903
9904 * fns.c (concat): Handle 8-bit characters correctly.
9905 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9906 unibyte in the result.
9907 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9908 valid multibyte form in the result.
9909 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9910 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9911 return -1, signal an error.
9912 (base64_encode_1): New arg MULTIBYTE. Get each character by
9913 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9914 character is found, return -1.
9915 (Fbase64_decode_region): Delete codes for handling byte-combining.
9916 Treat each decoded byte as a unibyte character.
9917 (Fbase64_decode_string): Return unibyte string.
9918 (Fcompare_strings, concat, string_byte_to_char): Use
9919 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9920 FETCH_STRING_CHAR_ADVANCE.
9921 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9922 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9923
9924 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9925 SPLIT_NON_ASCII_CHAR.
9926 (fontset_ref_via_base, fontset_set): Likewise
9927
9928 * insdel.c (adjust_markers_for_record_delete): Deleted.
9929 (adjust_markers_for_insert): Argument changed. Caller changed.
9930 (adjust_markers_for_replace): Likewise.
52283633
SM
9931 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9932 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9933 (copy_text): Delete unused local varialbe c_save. For converting
9934 to multibyte, be sure to make all 8-bit characters in valid
9935 multibyte form.
9936 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9937 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9938 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9939 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9940 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9941 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9942 handling byte combining.
9943 (adjust_before_replace): Deleted.
427ec082 9944
c9671f81
KH
9945 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9946 SPLIT_NON_ASCII_CHAR.
9947 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9948 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9949 (Fkey_description): Likewise.
9950
9951 * lread.c (read1): On reading multibyte string, be sure to make
9952 all 8-bit chararacters in valid multibyte form.
9953 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9954
9955 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9956 unconditionally.
9957
9958 * process.c (Fstart_process): GCPRO current_dir before calling
9959 Ffind_operation_coding_system. Encode arguments here.
9960 (create_process): Don't encode arguments here. Setup
9961 src_multibyte and dst_multibyte members of struct coding.
9962 (read_process_output): Setup src_multibyte and dst_multibyte
9963 members of struct coding. If the output is to multibyte buffer,
9964 always decode the output of the process. Adjust the
52283633 9965 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9966 (send_process): Setup coding->src_multibyte according to the
9967 multibyteness of the source.
9968
52283633 9969 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9970 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9971 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9972
52283633 9973 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9974
9975 * w16select.c (Fw16_set_clipboard_data): Setup members
9976 src_multibyte and dst_multibyte of coding. Adjusted for the
9977 change for find_charset_in_str.
9978 (Fw16_get_clipboard_data): Likewise.
9979
9980 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9981 dst_multibyte of coding.
9982 (x_to_w32_font): Likewise.
9983
9984 * w32select.c (Fw32_set_clipboard_data): Setup members
9985 src_multibyte and dst_multibyte of coding. Adjusted for the
9986 change for find_charset_in_str.
9987 (Fw32_get_clipboard_data): Likewise.
9988
9989 * xdisp.c (get_next_display_element): Handle 8-bit characters
9990 correctly.
52283633
SM
9991 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9992 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9993
9994 * xselect.c (selection_data_to_lisp_data): Setup members
9995 src_multibyte and dst_multibyte of coding. Adjusted for the
9996 change for find_charset_in_str.
9997 (lisp_data_to_selection_data): Likewise.
9998
5f64c9e0
GM
99992000-05-19 Gerd Moellmann <gerd@gnu.org>
10000
52283633 10001 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10002
5f64c9e0
GM
10003 * dispextern.h (Vimage_types): Add extern declaration.
10004
10005 * xdisp.c (Vimage_types): Moved here from xfns.c.
10006 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10007
10008 * xfns.c (Vimages_types): Moved to xdisp.c.
10009 (syms_of_xfns): Move `image-types' to xdisp.c.
10010
10011 * w32fns.c (Vimage_types): Removed.
10012 (syms_of_w32fns): Remove `image-types'.
10013
813086ea
KH
100142000-05-18 Kenichi Handa <handa@etl.go.jp>
10015
10016 * fns.c (map_char_table): Pay attention to character number of
10017 charset. Check the validity of charset at the first level. For
10018 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10019 the default value.
10020
10021 * fontset.c: Include "buffer.h".
10022 (fs_load_font): If the face has fontset, record the face ID in
10023 that fontset.
10024 (Finternal_char_font): New function.
10025 (accumulate_font_info): New function.
10026 (Ffontset_info): Rewritten for the new fontset implementation.
10027 (syms_of_fontset): Register Vdefault_fontset in the first element
10028 of Vfontset_table. Include Vdefault_fontset in
10029 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10030 function.
10031
bdaebbf0
DL
100322000-05-16 Dave Love <fx@gnu.org>
10033
10034 * m/iris5d.h: Deleted -- unused.
10035
cb613bb8
GM
100362000-05-16 Gerd Moellmann <gerd@gnu.org>
10037
b15f3b77
GM
10038 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10039 `invalid' instead of `illegal'.
10040
10041 * indent.c (Fmove_to_column): When ending within a tab, insert
10042 spaces first so that markers at the end of the tab get adjusted.
10043
835c1b36
GM
10044 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10045 buffer list that wasn't selected in that frame.
10046
cb613bb8
GM
10047 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10048 is needed on mescaline, use a 2 char prefix, and call
10049 make_temp_name with second arg non-zero.
10050
10051 * fileio.c (make_temp_name): New function, extracted from
10052 Fmake_temp_name.
10053 (Fmake_temp_name): Use it.
10054
f685bea9
EZ
100552000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10056
52283633 10057 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10058
a1b8d58b
GM
100592000-05-15 Gerd Moellmann <gerd@gnu.org>
10060
10061 * Makefile.in (lisp): Add env.elc.
10062
10063 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10064
a265079f
GM
100652000-05-12 Gerd Moellmann <gerd@gnu.org>
10066
10067 * search.c (Freplace_match): Handle case of `\N' in the
10068 replacement when there's no group N.
10069
da4496b6
GM
100702000-05-11 Gerd Moellmann <gerd@gnu.org>
10071
0ace421a
GM
10072 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10073 of the message to message_dolog.
10074
1172eb8d
GM
10075 * keyboard.c (read_char): Don't clear current message for help
10076 events; let the code handling help events handle this. Change
10077 code detecting help events that should be ignored.
10078
da4496b6
GM
10079 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10080 we're interating over a string.
10081
0623e40f
DL
100822000-05-09 Dave Love <fx@gnu.org>
10083
10084 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10085 that offset before writing. Move gcpro region past call of
10086 Ffile_regular_p.
10087
bae2503b
DL
100882000-05-04 Dave Love <fx@gnu.org>
10089
10090 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10091
ec82fb2f
GM
100922000-05-04 Gerd Moellmann <gerd@gnu.org>
10093
10094 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10095 of inserted characters when BUF equals the current buffer, and PT
10096 is in front of or equal to FROM.
10097
cbf18892
GM
100982000-05-03 Gerd Moellmann <gerd@gnu.org>
10099
4ff40dd0
GM
10100 * xdisp.c (handle_single_display_prop): If display property value
10101 is invalid, or something not supported on the frame, restore
10102 iterator's position to what it was initially. Make sure to return
10103 0 for invalid and unsupported property values.
10104
cbf18892
GM
10105 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10106 that x_per_char_metric returns null.
10107
1b0672c3
GM
101082000-05-02 Gerd Moellmann <gerd@gnu.org>
10109
576da55d
GM
10110 * xterm.h (struct face): Add forward declaration.
10111 (struct image): Ditto.
10112 (image_ascent): Add prototype.
10113
10114 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10115 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10116 image_ascent instead of using IMAGE_ASCENT.
10117
10118 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10119 (IMAGE_ASCENT): Removed.
10120
10121 * xfns.c (Qcenter): New variable.
10122 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10123 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10124 (image_ascent): New function.
10125 (lookup_image): Recognize `:ascent center'.
10126 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10127 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10128 (xbm_load): Don't set image's ascent here.
10129 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10130 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10131 check ascent values here.
10132 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10133 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10134 (syms_of_xfns): Initialize Qcenter.
10135
1b0672c3
GM
10136 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10137 to the limits, increase the limits.
10138
0d7811ed
KH
101392000-05-01 Kenichi Handa <handa@etl.go.jp>
10140
10141 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10142 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10143
a943a5ca
GM
101442000-04-28 Gerd Moellmann <gerd@gnu.org>
10145
10146 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10147 taller than the window.
10148
5dba1e29
KH
101492000-04-28 Kenichi Handa <handa@etl.go.jp>
10150
10151 * xfaces.c (realize_x_face): Fix the argument of the second
10152 xassert. BASE_FACE may not be a face for ASCII.
10153
353964e3
GM
101542000-04-27 Gerd Moellmann <gerd@gnu.org>
10155
c76e04a8
GM
10156 * print.c (print_object): Treat print-length < 0 as nil.
10157
10158 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10159
10160 * s/freebsd.h (TERMCAP_OBJ): Removed.
10161 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10162
10163 * lread.c (read1): Don't treat period followed by certain
10164 characters as symbol start.
10165
10166 * xfns.c (slurp_file): New function.
10167 (xbm_image_p): Handle case of in-memory XBM files.
10168 (xbm_scan): Rewritten to work on memory buffers instead of files.
10169 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10170 Work on memory buffers instead of files. If DATA is null test
10171 if buffer looks like an in-memory XBM file.
10172 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10173 memory buffers instead of files.
10174 (xbm_file_p): New function.
10175 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10176
353964e3
GM
10177 * lread.c (end_of_file_error): New function.
10178 (read1): Call it instead of signaling `end-of-file' directly.
10179
427ec082 10180 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10181 with Fprinc instead of Fprin1.
10182
24d744ac
KR
101832000-04-26 Ken Raeburn <raeburn@gnu.org>
10184
10185 * window.c (freeze_window_start): Check that minibuffer scroll
10186 window isn't nil before extracting the window structure pointer
10187 from it.
10188
10189 * undo.c (record_delete): If we hit the end of the undo list, stop
10190 picking elements apart.
10191
7464346d
GM
101922000-04-26 Gerd Moellmann <gerd@gnu.org>
10193
10194 * xdisp.c (display_line): If lines are continued, restore
10195 iterator's ascent/descent information to the values before the
10196 first glyph not fitting on the line.
10197
612839b6
GM
101982000-04-25 Gerd Moellmann <gerd@gnu.org>
10199
10200 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10201 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10202
10203 * dispnew.c (increment_matrix_positions): Renamed from
10204 increment_glyph_matrix_buffer_positions.
10205 (increment_row_positions): Renamed from
10206 increment_glyph_row_buffer_positions.
10207
10208 * dispextern.h: Change names of renamed functions from dispnew.c
10209 in prototypes.
10210
cc181e95
GM
102112000-04-24 Gerd Moellmann <gerd@gnu.org>
10212
abfcc168
GM
10213 * fileio.c (Fdo_auto_save): Create directories for auto-save
10214 list file if necessary.
10215
cc181e95
GM
10216 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10217 from buffer or frame.
10218 (automatic_hscrolling_p): New variable.
10219 (hscroll_windows): Scroll windows horizontally only if automatic
10220 hscrolling is allowed.
10221 (syms_of_xdisp): New variable `automatic-hscrolling'.
10222
10223 * frame.h (struct frame): Add member extra_line_spacing.
10224
10225 * xfns.c (x_set_line_spacing): New function.
10226 (Fx_create_frame): Set line spacing from resources.
10227 (Qline_spacing): New variable.
10228 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10229
cc181e95
GM
10230 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10231
10232 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10233 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10234 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10235 extra_line_spacing from default value.
10236 (init_buffer_once): Initialize default value of extra_line_spacing.
10237
10238 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10239 and extra3.
10240
10241 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10242 prompt_width. Add extra line spacing.
10243
10244 * term.c (produce_glyphs): Remove reference to struct it's
10245 prompt_width.
10246
10247 * dispextern.h (struct it): Remove member prompt_width, add
10248 extra_line_spacing.
10249
58827478
GM
102502000-04-22 Gerd Moellmann <gerd@gnu.org>
10251
10252 * dispnew.c (update_frame_line): When writing a whole line, make
10253 sure cursor is in the right row afterwards, otherwise a use of
10254 capability `ch' in cmgoto might leave the cursor in the row below.
10255
25a87f42
GM
102562000-04-21 Gerd Moellmann <gerd@gnu.org>
10257
10258 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10259
10260 * keyboard.c (timer_check): Fix typo in comment.
10261
54edf5c2
KH
102622000-04-21 Kenichi Handa <handa@etl.go.jp>
10263
10264 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10265 name change: ch -> character.
10266
3a64eef5
GM
102672000-04-20 Gerd Moellmann <gerd@gnu.org>
10268
10269 * keyboard.c (echo_message_buffer): New variable.
10270 (echo_now): Set echo_message_buffer to the echo area buffer used
10271 to display the echo.
10272 (cancel_echoing): Reset echo_message_buffer to nil.
10273 (read_char): Code rewritten that handles canceling an echo or
10274 echoing a dash, respectively.
10275
10276 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10277 directory doesn't exist.
10278
6142fdcb
DL
102792000-04-19 Dave Love <fx@gnu.org>
10280
10281 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10282 (concat): Don't allow numeric args.
10283 (Fconcat): Doc change.
6142fdcb 10284
ac6b5352
SM
102852000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10286
10287 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10288 instead define end_match(1|2) more carefully.
10289 Use GET_CHAR_BEFORE_2 for `begline'.
10290
cb9215e4
GM
102912000-04-19 Gerd Moellmann <gerd@gnu.org>
10292
5e3dac3f
GM
10293 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10294 on 64-bit systems where NULL is defined as `0'.
10295
10296 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10297 the `variable argument list' to make it work on Alpha.
10298
cb9215e4
GM
10299 * m/alpha.h (_LP64) [!_LP64]: Define.
10300 (ORDINARY_LINK): Define for NetBSD.
10301
10302 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10303
f532dca0
DL
103042000-04-19 Dave Love <fx@gnu.org>
10305
c750667e
DL
10306 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10307 change.
10308
10309 * Makefile.in (LIBS): Don't use.
10310 (GETLOADAVG_OBJ): Define again.
10311 (otherobj): Add GETLOADAVG_OBJ.
10312
f532dca0
DL
10313 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10314
1c7e22fd
GM
103152000-04-18 Gerd Moellmann <gerd@gnu.org>
10316
f6d3257b
GM
10317 * lread.c (read_filtered_event): Cancel and start busy cursor.
10318
427ec082 10319 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10320 that the per-character metrics may be null.
10321
e10f64e7
GM
103222000-04-17 Gerd Moellmann <gerd@gnu.org>
10323
0daee095
GM
10324 * buffer.c (clone_per_buffer_values): New function.
10325 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10326 clone_per_buffer_values if CLONE is not nil.
10327
e10f64e7
GM
10328 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10329
38687d43
DL
103302000-04-16 Dave Love <fx@gnu.org>
10331
10332 * Makefile.in: Remove obsolete localcpp stuff.
10333 (GETLOADAVG_OBJ): Don't define.
10334 (obj): Move LIBOBJS...
10335 (otherobj): ... to here.
10336 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10337 whitespace-only lines after the continuation (Irix).
10338
c21c7262
GM
103392000-04-14 Gerd Moellmann <gerd@gnu.org>
10340
10341 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10342
10343 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10344
314767c0
DL
103452000-04-14 Dave Love <fx@gnu.org>
10346
10347 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10348 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10349 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10350 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10351 NLIST_STRUCT.
10352
10353 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10354 autoconfiscated HAVE_GETLOADAVG.
10355
10356 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10357 BROKEN_MKTIME.
10358
a2522dca
GM
103592000-04-14 Gerd Moellmann <gerd@gnu.org>
10360
10361 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10362 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10363
33744b5d
DL
103642000-04-14 Dave Love <fx@gnu.org>
10365
c21c7262 10366 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10367 (INTERVAL_SRC): Convert to make variable.
10368 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10369 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10370 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10371 add LIBOBJS.
10372 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10373 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10374 (shortlisp): Add facemenu, float-sup, frame.
10375 (SOME_MACHINE_LISP): Remove them from here.
10376 (LIBES): Change unused LDLIBS to autoconf LIBS.
10377
10378 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10379
9d3d5916
KH
103802000-04-14 Kenichi Handa <handa@etl.go.jp>
10381
10382 * composite.c (update_compositions): If FROM and TO are not in a
10383 valid range, do nothing.
10384
198e3c7a
GM
103852000-04-13 Gerd Moellmann <gerd@gnu.org>
10386
52283633 10387 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10388
52283633 10389 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10390
10391 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10392 as TERMCAP_OBJ.
10393
055a28c9
EZ
103942000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10395
10396 * fileio.c (a_write): Remove redundant semi-colons.
10397 (e_write): Return -1 if failed to write all the data.
10398 This fixes the changes made at 1999-12-15.
10399
f5c75033
DL
104002000-04-12 Dave Love <fx@gnu.org>
10401
10402 * fns.c (mapcar1): Test for null vals to support mapc.
10403 (Fmapc): New function.
10404
0c3cfc51
EZ
104052000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10406
10407 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10408 (IT_frame_up_to_date): Support the buffer local value of
10409 cursor-type, if defined.
10410
33465a31
DL
104112000-04-10 Dave Love <fx@gnu.org>
10412
10413 * editfns.c (preceding-char, following-char): Doc fix.
10414
6ed56568
KR
104152000-04-10 Ken Raeburn <raeburn@gnu.org>
10416
10417 * Makefile.in (temacs): Revert 2000-03-12 change.
10418
7cf80d4e
JR
104192000-04-10 Jason Rumney <jasonr@gnu.org>
10420
10421 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10422
34f3f342
GM
104232000-04-10 Gerd Moellmann <gerd@gnu.org>
10424
1a1b1895
GM
10425 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10426 area buffer, if it's not set up yet.
10427
34f3f342
GM
10428 * indent.c (compute_motion): Set immediate_quit.
10429
be0dbdab
GM
104302000-04-09 Gerd Moellmann <gerd@gnu.org>
10431
52283633 10432 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10433 (realize_tty_face): Suppress boldness if colors are the inverse of
10434 the default colors, and tty_suppress_bold_inverse_default_colors_p
10435 is set.
10436 (Ftty_suppress_bold_inverse_default_colors): New function.
10437 (syms_of_xfaces): Defsubr it.
10438
be0dbdab
GM
10439 * buffer.c (Frestore_buffer_modified_p): New function.
10440 (syms_of_buffer): Defsubr it.
10441
e8413c3b
KR
104422000-04-08 Ken Raeburn <raeburn@gnu.org>
10443
87f67317
KR
10444 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10445 charset id (int) argument, not a charset (Lisp_Object).
10446
e8413c3b
KR
10447 * coding.h (code_convert_string): Declare.
10448 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10449 object, as the fourth argument to code_convert_string.
10450
52283633 10451 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10452 (Fset_fontset_font): Use EQ to compare lisp objects.
10453
7c752c80
KR
104542000-04-05 Ken Raeburn <raeburn@gnu.org>
10455
c0333abc
KR
10456 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10457 a pointer that looks like a lisp object.
10458 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10459 zero, instead see whether it's an integer object, since they can't
10460 have intervals.
10461 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10462
52283633
SM
10463 * dispnew.c (allocate_matrices_for_frame_redisplay)
10464 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10465 to convert between (unsigned) int values and lisp integers.
10466 * keyboard.c (read_key_sequence): Likewise.
10467 * lread.c (substitute_object_recurse): Likewise.
10468 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10469 * minibuf.c (do_completion, Fminibuffer_complete_word)
10470 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10471 * term.c (produce_special_glyphs): Likewise.
10472
10473 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10474 * print.c (print_preprocess, print_object): Likewise.
10475
10476 * search.c (compile_pattern): Use NILP when checking for nil.
10477
74e49b38
KR
10478 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10479 __OPTIMIZE__]: Provide a GNU C macro version that handles
10480 lisp-object unions.
10481 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10482 field, to better cope with ENABLE_CHECKING and calls that modify a
10483 Lisp_Object using its old value.
10484
685e5ed2
GM
104852000-04-04 Gerd Moellmann <gerd@gnu.org>
10486
c407c570
GM
10487 * window.c (compare_window_configurations): Signal an error
10488 if parameters C1 or C2 aren't window configurations.
10489
685e5ed2
GM
10490 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10491 AFTER_POTENTIAL_GC calls around calls to functions that can
10492 signal an error and thus invoke the debugger.
10493
587a49ab
GM
104942000-04-03 Gerd Moellmann <gerd@gnu.org>
10495
62f20204
GM
10496 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10497 an error if decoding fails.
10498
587a49ab
GM
10499 * keyboard.c (lispy_mouse_names): Variable removed.
10500 (Vlispy_mouse_stem): New variable.
10501 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10502 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10503 for any mouse button number. Increase size of mouse_syms and
10504 button_down_location as needed. Call modify_event_symbol with
10505 different arguments.
10506 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10507 Call modify_event_symbol with different arguments.
10508 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10509 for any button number. Call modify_event_symbol with different
10510 arguments.
10511 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10512 Accept a string for NAME_ALIST_OR_STEM.
10513
10514 * lisp.h (larger_vector): Add prototype.
10515
10516 * fns.c (larger_vector): Make externally visible.
10517
10518 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10519
2d1675e4
SM
105202000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10521
10522 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10523 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10524 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10525 we are between str1 and str2.
10526 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10527 (PATFETCH): Use `TRANSLATE'.
10528 (PATFETCH_RAW): Fetch multibyte char if applicable.
10529 (PATUNFETCH): Remove.
10530 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10531 When writing a char, write it directly into the pattern buffer rather
10532 than going needlessly through a temp char-array.
10533 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10534 multibyte magic and remove the useless `#ifdef emacs'.
10535 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10536 buffer.
10537
10538 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10539 conditional on `emacs'.
10540
10541 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10542
cc2d8c6b
KR
105432000-04-01 Ken Raeburn <raeburn@gnu.org>
10544
10545 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10546 non-union-type versions of XMARK and friends here, because XMARK
10547 and friends won't work on an integer field if NO_UNION_TYPE is not
10548 defined.
52283633 10549 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10550
52283633 10551 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10552 (syms_of_composite): Delete local var NARGS, pass an int as first
10553 argument to Fmake_hash_table.
10554
2387b382
KR
10555 * editfns.c (text_property_stickiness): Use NILP to test
10556 Lisp_Object boolean value.
10557 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10558 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10559 problems reading from and changing the same lisp value in an
10560 XSETSTRING call.
10561
27660e89
GM
105622000-04-01 Gerd Moellmann <gerd@gnu.org>
10563
10564 * term.c (TN_no_color_video): New variable.
10565 (term_init): Intitialize TN_no_color_video.
10566 (enum no_color_bit): New enumeration.
10567 (MAY_USE_WITH_COLORS_P): New macro.
10568 (turn_on_face): Use it to determine if attributes may be used
10569 combined with colors.
10570
3578db3c
KR
105712000-04-01 Ken Raeburn <raeburn@gnu.org>
10572
10573 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10574 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10575 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10576 proper accessor macros.
10577 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10578 (grow_mini_window): Fix typo getting int value of root->height.
10579
6fc556fd
KR
10580 * xdisp.c (compute_string_pos): Fix order of arguments to
10581 string_pos_nchars_ahead.
10582 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10583 count arg to variable-arg routines like Frun_hook_with_args and
10584 Fformat.
587a49ab
GM
10585 (back_to_previous_visible_line_start)
10586 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10587 fixed-arg routines like Fget_char_property and Fmake_string.
10588 (reconsider_clip_changes): Use XINT when comparing integer lisp
10589 objects, or passing them as int arguments.
587a49ab
GM
10590 (mark_window_display_accurate, insert_left_trunc_glyphs)
10591 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10592 storing or passing integer values as lisp objects.
10593 (set_cursor_from_row, highlight_trailing_whitespace): Use
10594 INTEGERP, not implicit test against zero, for glyph object.
10595 (try_window_id): Don't use make_number when we want an int value.
10596
10597 * xfaces.c (xlfd_symbolic_value): Make last argument a
10598 Lisp_Object, to be consistent with callers.
10599 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10600 (lface_hash): Apply XFASTINT to lisp values before folding in.
10601
10602 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10603 fill in window width and height. Pass an int, not a lisp object,
10604 as first arg to Finsert.
10605
6e7b2457
GM
106062000-04-01 Gerd Moellmann <gerd@gnu.org>
10607
610d841e
GM
10608 * xfaces.c (realize_basic_faces): Block input while realizing
10609 the faces.
10610
6e7b2457
GM
10611 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10612
10613 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10614
aa110c0c
GM
106152000-03-31 Gerd Moellmann <gerd@gnu.org>
10616
10617 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10618 or ASCII, handle case that per-char metric is null.
aa110c0c 10619
8801a864
KR
106202000-03-30 Ken Raeburn <raeburn@gnu.org>
10621
c6129d7e
KR
10622 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10623
52283633
SM
10624 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10625 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10626 pointer, using eassert.
10627 * frame.h (XFRAME): Likewise.
10628
52283633
SM
10629 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10630 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10631 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10632 * data.c (set_internal): Likewise.
52283633
SM
10633 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10634 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10635 * fileio.c (auto_save_1): Likewise.
10636 * insdel.c (check_markers): Likewise.
10637 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10638 * undo.c (record_insert): Likewise.
10639 * vmsproc.c (child_sig): Likewise.
10640 * window.c (unshow_buffer, window_loop): Likewise.
10641 * xterm.c (x_erase_phys_cursor): Likewise.
10642
8e7af858
GM
106432000-03-30 Gerd Moellmann <gerd@gnu.org>
10644
10645 * xfns.c (free_image_cache): Free the cache structure itself
10646 last, after all its members have been freed.
10647
10648 * lisp.h (xstrdup): Add prototype.
10649
10650 * alloc.c (xstrdup): Moved here from xfaces.c.
10651 (allocating_for_lisp): Variable removed.
52283633 10652 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10653
10654 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10655 of Fsymbol_value.
10656 (xstrdup): Moved to alloc.c.
10657
e0b8c689
KR
106582000-03-29 Ken Raeburn <raeburn@gnu.org>
10659
b96f9fb7
KR
10660 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10661
10662 * emacs.c (main): Fix sense of no-loadup test.
10663
e0b8c689
KR
10664 * config.in (ENABLE_CHECKING): Undef.
10665
10666 * lisp.h (struct interval): Replace "parent" field with a union of
10667 interval pointer and Lisp_Object; add new bitfield to use as
10668 discriminant. Change other flag fields to bitfields.
10669 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10670 is defined and the supplied test fails, print a message and abort.
10671 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10672
10673 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10674 pointers; abort if the value looks like a lisp object.
52283633
SM
10675 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10676 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10677 Modify for new interval parent definition.
10678
52283633
SM
10679 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10680 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10681 addressable lisp object in the interval structure.
10682 (die): New function.
10683 (suppress_checking): New variable.
10684
10685 * intervals.c (interval_start_pos): Just return 0 if there's no
10686 parent object.
10687
f83c5440
GM
106882000-03-29 Gerd Moellmann <gerd@gnu.org>
10689
10690 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10691 and earlier Emacs versions.
10692
10693 * keyboard.c (Ftop_level): Cancel busy-cursor.
10694
10695 * eval.c (call_debugger): Cancel busy-cursor.
10696
fdce64ff
KH
106972000-03-29 Kenichi Handa <handa@etl.go.jp>
10698
10699 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10700 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10701
f6a3f532
SM
107022000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10703
10704 * regex.c (analyse_first): New function obtained by ripping out most
10705 of re_compile_fastmap and generalizing it a little bit so that it
10706 can also just return whether a given (sub)pattern can match the empty
10707 string or not.
10708 (regex_compile): Use `analyse_first' to decide whether the loop-check
10709 needs to be done or not for *, +, *? and +? (the loop check is costly
10710 for non-greedy repetition).
10711 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10712
e9b309ac
DL
107132000-03-28 Dave Love <fx@gnu.org>
10714
52283633 10715 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10716
e9b309ac
DL
10717 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10718
ed0767d8
SM
107192000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10720
10721 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10722 an expression.
10723 (enum re_opcode_t): Update description of succeed_n.
10724 (PATFETCH): Always define.
10725 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10726 operators, char classes, shy-groups and intervals).
10727 Optimize special cases of intervals so as to only use succeed_n and
10728 jump_n when really needed.
10729 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10730 that we don't have to handle the special cases any more.
10731 Simplify on_failure_jump handling as well.
10732
e11e7e46
JR
107332000-03-28 Jason Rumney <jasonr@gnu.org>
10734
10735 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10736
88faab89
GM
107372000-03-27 Gerd Moellmann <gerd@gnu.org>
10738
182ff242
GM
10739 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10740
10741 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10742
182ff242
GM
10743 * alloc.c (mark_maybe_object): New function.
10744 (mark_memory): Use it.
10745 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10746 (setjmp_tested_p, longjmp_done): New variables.
10747 (test_setjmp): New function.
10748 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10749 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10750
c1005d06
GM
10751 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10752 to DEC_TEXT_POS and INC_TEXT_POS.
10753
10754 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10755 with parameter MULTIBYTE_P.
10756
52283633 10757 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10758
7439e5b9 10759 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10760 buffers because it looks for multibyte character byte sequences
10761 which don't exist in unibyte text.
7439e5b9 10762
d9c545da
GM
10763 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10764
11fd416e 10765 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10766 [DEBUG_X_COLORS]: New functions.
10767 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10768
10769 * xfns.c (x_set_cursor_color): Get color reference counts right.
10770
10771 * xterm.c (x_copy_color): New function.
10772 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10773
10774 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10775 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10776 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10777 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10778 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10779 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10780 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10781 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10782 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10783 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10784
11fd416e
GM
10785 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10786 names for handling per-buffer variables.
d9c545da
GM
10787
10788 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10789 instead of MAX_BUFFER_LOCAL_VARS.
10790 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10791
10792 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10793
88faab89
GM
10794 * xfns.c (x_specified_cursor_type): New function.
10795 (x_set_cursor_type): Use it.
10796
10797 * buffer.h (struct buffer): Add cursor_type.
10798
d80f42b7
SM
107992000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10800
10801 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10802 (print_partial_compiled_pattern, re_compile_fastmap):
10803 Handle new opcode.
d80f42b7
SM
10804 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10805 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10806 executing it as well as when popping it off the stack to find infinite
10807 loops in non-greedy repetition operators.
10808
89e80928
GM
108092000-03-26 Gerd Moellmann <gerd@gnu.org>
10810
3d4ff2dd
GM
10811 * doc.c (Qfunction_documentation): New variable.
10812 (syms_of_doc): Initialize Qfunction_documentation.
10813 (Fdocumentation): If FUNCTION is a symbol with non-nil
10814 `function-documentation' property, return a documentation derived
10815 from that.
10816
bd96bd79
GM
10817 * buffer.c (syms_of_buffer): Add default-cursor-type.
10818 (init_buffer_once): Don't let cursor_type have a local value
10819 in every buffer.
10820
19d1bc27
GM
10821 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10822 on buffer-local value of cursor_type.
10823 (x_draw_bar_cursor): Add parameter WIDTH.
10824
10825 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10826 (init_buffer_once): Set default cursor_type value to t.
10827 Mark cursor_type as local everywhere.
10828 (syms_of_buffer): New per-buffer variable cursor-type.
10829
89e80928
GM
10830 * buffer.h (struct buffer): Remove member local_var_flags,
10831 add local_flags.
10832 (MAX_BUFFER_LOCAL_VARS): New macro.
10833 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10834 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10835 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10836 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10837
52283633 10838 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10839
10840 * category.c (Fset_category_table): Use new macros for per-buffer
10841 variables.
10842
10843 * buffer.c (buffer_permanent_local_flags): Make a char array.
10844 (max_buffer_local_idx): New variable.
10845 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10846 for new handling of per-buffer variables.
10847 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10848 (init_buffer_once): Initialize per-buffer vars differently.
10849 Set max_buffer_local_idx.
10850
10851 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10852 variables.
10853
52283633 10854 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10855
10856 * data.c (do_symval_forwarding, store_symval_forwarding)
10857 (find_symbol_value, set_internal, default_value, Fset_default)
10858 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10859 per-buffer variables.
10860
10861 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10862
9a0dd3dc
GM
108632000-03-24 Gerd Moellmann <gerd@gnu.org>
10864
b68c375f
GM
10865 * xterm.c (x_term_init): Unblock input around call1 of
10866 Qvendor_specific_keysyms.
10867
9a0dd3dc
GM
10868 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10869 (find_defun_start): Consider an open parenthesis in column 0
10870 a defun start only if open_paren_in_column_0_is_defun_start is set.
10871 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10872
7973e637
SM
108732000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10874
10875 * eval.c (Fautoload): Add entry in load-history (if after dump).
10876 * lread.c (load-history): Update docstring.
10877
39210e90
GM
108782000-03-24 Gerd Moellmann <gerd@gnu.org>
10879
10880 * indent.c (Fvertical_motion): Always use the current buffer.
10881 Temporarily change the window's buffer, if necessary.
10882
72db3ab5
GM
108832000-03-23 Gerd Moellmann <gerd@gnu.org>
10884
10885 * xterm.c (fast_find_position): Make sure not to consider rows
10886 not visible in the window.
10887
990b2375
SM
108882000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10889
10890 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10891 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10892
ff4df011
JR
108932000-03-22 Jason Rumney <jasonr@gnu.org>
10894
10895 * w32menu.c (single_submenu): Set help string to NULL if none.
10896 (w32_menu_show): Set help string correctly.
10897 (add-menu-item): Set help string in MIIM_DATA for menu item.
10898 Load SetMenuItemInfoA explicitly.
10899 (w32_menu_display_help): New function.
427ec082 10900
ff4df011
JR
10901 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10902 (QCdata): Moved to xdisp.c.
10903
10904 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10905 (Vw32_charset_to_codepage_alist): Removed.
10906 (Vw32_charset_info_alist): New variable.
52283633
SM
10907 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10908 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10909 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10910 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10911 with TODO comment.
10912 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10913 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10914 Define Vw32_charset_info_alist and w32_charset symbols.
10915
109162000-03-22 Jason Rumney <jasonr@gnu.org>
10917
10918 * makefile.nt (w32bdf.obj): Update dependencies.
10919
10920 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10921
10922 * w32fns.c: Include fontset.h after dispextern.h.
10923 (Fx_create_frame): Do not create fontset.
10924 (w32_load_system_font): Doc fix.
10925 (Fx_close_connection): Free full_name if it is not shared.
10926
10927 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10928 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10929 Callers updated.
ff4df011
JR
10930 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10931 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10932 (w32_font_is_double_byte): New function, needs body.
10933 (x_append_glyph): Set glyph->glyph_not_available_p.
10934 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10935 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10936 character, convert it to a unibyte character.
10937 (struct glyph_string): Delete member `charset'.
10938 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10939 calculating it is found.
10940 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10941 the case that per char metric is not available correctly.
10942 (x_fill_glyph_string): Handle the case that the specific glyph is
10943 not available correctly.
10944 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10945 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10946 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10947 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10948 fontset. Don't call FS_LOAD_FONT.
10949
439d5cb4
KR
109502000-03-22 Ken Raeburn <raeburn@gnu.org>
10951
10952 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10953 (INT_LISPLIKE): New macro.
10954 (NULL_INTERVAL_P): Use it.
52283633
SM
10955 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10956 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10957 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10958
10959 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10960 explicit references to "parent" field of struct interval and
10961 associated unclean type conversions.
52283633
SM
10962 * intervals.c (create_root_interval, root_interval, rotate_right)
10963 (rotate_left, balance_possible_root_interval, split_interval_right)
10964 (split_interval_left, interval_start_pos, find_interval)
10965 (next_interval, previous_interval, update_interval)
10966 (adjust_intervals_for_insertion, delete_node, delete_interval)
10967 (adjust_intervals_for_deletion, merge_interval_right)
10968 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10969 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10970 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10971 Likewise.
10972 * syntax.c (update_syntax_table): Likewise.
10973
10974 * intervals.c (reproduce_tree_obj): New function, like
10975 reproduce_tree but takes a Lisp_Object for the parent. Declare
10976 with prototype.
10977 (graft_intervals_into_buffer): Use it when appropriate.
10978 (reproduce_tree): Declare with prototype.
10979 (balance_possible_root_interval): Check that the parent is a lisp
10980 object before trying to examine its type.
10981
ee1c5b21
GM
109822000-03-22 Gerd Moellmann <gerd@gnu.org>
10983
10984 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10985 as strings only if both are known to be strings.
10986
10987 * s/openbsd.h (LIBS_TERMCAP): Undef.
10988
1fb352e0
SM
109892000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10990
10991 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10992 definitions for non-Emacs compilation.
10993 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10994 outside of `#ifdef emacs'.
10995 (print_partial_compiled_pattern): Update.
10996 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10997 (re_compile_fastmap): Merge handling of charset and charset_not (for
10998 emacs and non-emacs compilation as well).
10999 Similarly for (not)categoryspec and (not)syntaxspec.
11000 Don't use the fastmap when reaching `anychar' since the added
11001 complexity is not justified.
11002 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11003 and (not)syntaxspec. Merge (not)categoryspec.
11004
fdaa1f77
KH
110052000-03-22 Kenichi Handa <handa@etl.go.jp>
11006
52283633
SM
11007 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11008 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11009 --without-x.
fdaa1f77 11010
d152fb46
DL
110112000-03-21 Dave Love <fx@gnu.org>
11012
11013 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11014 doc string.
11015
d2cafc8c
GM
110162000-03-21 Gerd Moellmann <gerd@gnu.org>
11017
11018 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11019 (lface_fully_specified_p): Don't check contents of
11020 LFACE_FONT_INDEX because that attribute is optional.
11021 (realize_x_face): Remove now unwarranted xassert.
11022
9111d4b5
KH
110232000-03-21 Kenichi HANDA <handa@etl.go.jp>
11024
11025 The following changes are to make font selection based on
11026 characters, not charset. In addition, they recover fontset
11027 facilities while utilizing the new font selection mechanism.
11028
6c4bfdc0
KH
11029 * Makefile.in (fontset.o): Depend on dispextern.h.
11030
11031 * alloc.c (mark_face_cache): Don't mark face->registry.
11032
9111d4b5
KH
11033 * dispextern.h (struct glyph): New member glyph_not_available_p.
11034 Use 22 bits for face_id.
11035 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11036 (struct face): Delete member registry, new member ascii_face.
11037 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11038 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11039 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11040 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11041
11042 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11043 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11044 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11045 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11046 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11047 (fs_free_face_fontset, fontset_font_pattern)
11048 (face_suitable_for_char_p, face_for_char)
11049 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11050 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11051 (FS_LOAD_FACE_FONT): New macro.
11052
11053 * fontset.c: All codes rewritten or adjusted for the change of
11054 fontset implementation. Now fontset is represented by char table.
52283633
SM
11055 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11056 Variables removed.
9111d4b5 11057 (my_strcasecmp): Function removed.
52283633 11058 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11059 (AREF, ASIZE): New macros.
52283633
SM
11060 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11061 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11062 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11063 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11064 (fontset_id_valid_p, font_family_registry, fontset_name)
11065 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11066 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11067 New functions.
11068 (fs_load_font): New arg FACE. Caller changed.
11069 (fs_query_fontset): Argument changed. Caller changed.
11070 (Fquery_fontset): call fs_query_fontset.
11071 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11072 Functions removed.
52283633
SM
11073 (clear_fontset_elements, check_registry_encoding)
11074 (check_fontset_name): New functions.
9111d4b5
KH
11075 (syms_of_fontset): Set char-table-extra-slots property of fontset
11076 to 3. Staticpro and initialize Vfontset_table and
11077 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11078
11079 * frame.h (struct frame): Member `fontset_data' removed.
11080 (FRAME_FONTSET_DATA): Macro removed.
11081
11082 * frame.c (make_frame): Don't allocate f->fontset_data.
11083 (Fdelete_frame): Don't free f->fontset_data.
11084
6c4bfdc0
KH
11085 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11086
9111d4b5
KH
11087 * xdisp.c (charset_at_position): Function removed.
11088 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11089 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11090 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11091 Likewise.
11092 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11093 FACE_FOR_CHARSET.
52283633
SM
11094 (get_next_display_element, append_space)
11095 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11096
11097 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11098 Variables removed.
11099 (clear_font_table, frame_update_line_height, load_face_font):
11100 Adjusted for the change of fontset implementation.
11101 (load_face_fontset_font): Function removed.
11102 (pixel_point_size): New function.
11103 (font_list): Argument type changed. Caller changed.
11104 (LFACE_FONT): New macro.
11105 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11106 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11107 Lisp_Object. Determine the font name by actually loading a font
11108 by the specified pattern. Set LFACE_FONT (lface) to the specified
11109 pattern. Even if a font is not found, don't try alternatives.
11110 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11111 (set_font_frame_param): If `font' is specified in lface, use it.
11112 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11113 (lface_same_font_attributes_p): Likewise.
11114 (make_realized_face): Arguent changed. Caller changed. Set
11115 face->ascii_face to face itself.
11116 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11117 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11118 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11119 (free_realized_multibyte_face): New function.
11120 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11121 changed. Caller changed.
11122 (try_font_list): Argument type changed.
11123 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11124 (choose_face_font): Argument changed. Handle fontset properly.
11125 (choose_face_fontset_font): Function removed.
11126 (realize_default_face, realize_named_face): Don't remove the
11127 former face here.
11128 (realize_face): Argument changed. Caller changed. Remove face
52283633 11129 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11130 (realize_x_face): Argument changed. Caller changed. For a
11131 multibyte character, share fontset with base_face. For a single
52283633 11132 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11133 (realize_tty_face): Argument changed. Caller changed.
11134 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11135 (face_at_buffer_position): Don't check multibyte_p for returning
11136 DEFAULT_FACE_ID.
11137 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11138 FACE_SUITABLE_FOR_CHARSET_P.
11139 (syms_of_xfaces): Remove code for Qx_charset_registry and
11140 Vface_default_registry.
11141
6c4bfdc0
KH
11142 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11143 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11144 (x_per_char_metric): Don't try FONT->default_char. Even if
11145 pcm->width is zero, glyph bits may exist.
11146 (x_encode_char): Always initialize char2b->byte1.
11147 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11148 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11149 (x_append_glyph): Set glyph->glyph_not_available_p.
11150 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11151 it->charset. Handle the case that per char metric is not
11152 available. If it->multibyte_p is zero and it->c is a multibyte
11153 character, convert it to a unibyte character.
11154 (struct glyph_string): Delete member `charset'.
11155 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11156 the case that per char metric is not available correctly.
11157 (x_fill_glyph_string): Handle the case that the specific glyph is
11158 not available correctly.
11159 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11160 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11161 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11162 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11163 fontset. Don't call FS_LOAD_FONT.
11164
11165 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11166 (x_create_tip_frame): Likewise.
11167 (Fx_close_connection): Free full_name of font_info.
11168
11169 * fns.c (optimize_sub_char_table): New function.
11170 (Foptimize_char_table): New function.
11171 (syms_of_fns): Defsubr Soptimize_char_table.
11172
b33dd3b0
GM
111732000-03-20 Gerd Moellmann <gerd@gnu.org>
11174
11175 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11176 only if buffer is displayed in some window.
11177
11178 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11179 (try_window_reusing_current_matrix): Don't call scroll run
11180 function if run's current and desired position are the same;
11181 this prevents cursor flickering.
11182
4e8a9132
SM
111832000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11184
11185 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11186
11187 * regex.c (RE_STRING_CHAR): New macro.
11188 (GET_CHAR_AFER_2): Remove.
11189 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11190 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11191 (print_partial_compiled_pattern, re_compile_fastmap)
11192 (re_match_2_internal): Remove on_failure_jump_exclusive.
11193 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11194 optimization only need to work for * (ie. can use of_keep_string_jump).
11195 Remove the special case for .*\n since it is now covered by the general
11196 optimization.
11197 (re_search_2): Don't bother with `room'.
11198 (skip_one_char): New function.
11199 (skip_noops): Simplify since `memory' is not needed any more.
11200 (mutually_exclusive_p): Restructure slightly to use `switch' and
11201 add handling for "all" remaining cases.
11202 (re_match_2_internal): Change on_failure_jump_smart to use
11203 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11204 rather than on_failure_jump_exclusive.
11205
2136fdd4
GM
112062000-03-19 Gerd Moellmann <gerd@gnu.org>
11207
11208 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11209 number of bits per RGB because it's everywhere used as the depth
11210 of the visual.
11211
11212 * term.c (calculate_costs): Remove code dealing with X frames.
11213
18e21ce8 112142000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11215
11216 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11217
d7b511c4
GM
112182000-03-18 Gerd Moellmann <gerd@gnu.org>
11219
11220 * lread.c (read_integer): Unread the last char not consumed.
11221
16b5d424
GM
112222000-03-17 Gerd Moellmann <gerd@gnu.org>
11223
11224 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11225 which are in the process of being deleted.
16b5d424 11226
1fa28578
GM
112272000-03-16 Gerd Moellmann <gerd@gnu.org>
11228
83488cce
GM
11229 * Makefile.in (mostlyclean): Add `*.core'.
11230 (clean): Add `bootstrap-emacs'.
11231
1fa28578
GM
11232 * lread.c (read_integer): New function.
11233 (read1): Support read syntax #o, #x, #b, #r.
11234
99633e97
SM
112352000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11236
1fa28578
GM
11237 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11238 make sure POINTER_TO_OFFSET gives the same value before and after
11239 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11240 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11241 (debug): Now only active if > 0 rather than if != 0.
11242 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11243 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11244 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11245 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11246 (store_op1, store_op2, insert_op1, insert_op2)
11247 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11248 (group_in_compile_stack): Move to after its arg's types are
11249 declared and add a prototype.
99633e97 11250 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11251 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11252 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11253 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11254 indentation of the greedy-op and shy-group code.
99633e97
SM
11255 (at_(beg|end)line_loc_p): Fix argument's types.
11256 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11257 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11258 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11259 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11260 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11261 QUIT unconditionally.
99633e97 11262
699238d9
GM
112632000-03-15 Gerd Moellmann <gerd@gnu.org>
11264
11265 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11266 a sole completion.
11267
11268 * process.c (send_process): Add a hint that the function
11269 can call Lisp code to its comment.
11270
11271 * lread.c (load_dangerous_libraries): New variable.
11272 (Vbytecomp_version_regexp): New variable.
11273 (safe_to_load_p): New function.
11274 (Fload): Handle files not compiled with Emacs specially.
11275 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11276
34e23e5a
GM
112772000-03-14 Gerd Moellmann <gerd@gnu.org>
11278
9c763cca
GM
11279 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11280
11281 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11282 support functions only if HAVE_X11R6_XIM is defined.
11283 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11284
11285 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11286
11287 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11288 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11289 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11290
11291 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11292 (HAVE_X11R6_XIM): Define.
11293
11294 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11295
34e23e5a
GM
11296 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11297 If set, call XSynchronize.
11298
66f0296e
SM
112992000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11300
34e23e5a
GM
11301 * regex.c: Declare a new type `re_char' used throughout the code
11302 for the string char type. It's `const unsigned char' to match the
11303 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11304 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11305 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11306 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11307 code duplication.
66f0296e
SM
11308
11309 * charset.h (GET_CHAR_AFTER_2): Remove.
11310 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11311
854a025c
KR
113122000-03-12 Ken Raeburn <raeburn@gnu.org>
11313
11314 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11315 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11316 of them try to use backquotes.
11317
b9d2c7e2
DL
113182000-03-12 Dave Love <fx@gnu.org>
11319
11320 * unexelf.c: Restore changes of 1999-10-19.
11321 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11322 fix its type and alignment; copy it from current process.
11323
5e5dff44
GM
113242000-03-12 Gerd Moellmann <gerd@gnu.org>
11325
9b2f3c38
GM
11326 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11327 has been found. Fix bug not computing timer's predecessor.
11328
427ec082 11329 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11330 file name.
11331
e1cff360
GM
11332 * window.c (Fsave_window_excursion): Doc fix.
11333
52283633 11334 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11335
e411ce4b
EZ
113362000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11337
11338 * msdos.c (vga_installed): New function, code moved from
11339 dos_set_window_size.
11340 (Qbar, Qcursor_type, outside_cursor): New variables.
11341 (syms_of_msdos): Intern and staticpro them.
11342 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11343 shape used outside Emacs when called for the first time.
11344 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11345 cursor shape used outside Emacs.
11346 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11347 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11348 type has changed.
11349 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11350 parameters specify the cursor. Make qreverse a global
11351 variable (renamed to Qreverse).
11352
80460654
GM
113532000-03-09 Gerd Moellmann <gerd@gnu.org>
11354
11355 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11356
95cd4c40
SM
113572000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11358
11359 This is a big redesign of failure-stack and register handling, prompted
11360 by bugs revealed when trying to add shy-groups. Overall, what happened
11361 is that loops are now structured a little differently, groups can be
11362 shy and the code is a little simpler.
11363
11364 * regex.h: Update the copyright.
11365 (RE_SHY_GROUPS): New value.
11366 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11367 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11368
80460654
GM
11369 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11370 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11371 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11372 for (start|stop)_memory since they now only take one argument (the
11373 second has becomes unnecessary).
52283633 11374 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11375 (print_compiled_pattern): Use %ld to printf long ints and flush to
11376 make debugging a little easier.
95cd4c40
SM
11377 (union fail_stack_elt): Make the integer unsigned.
11378 (struct fail_stack_type): Add a `frame' element.
11379 (INIT_FAIL_STACK): Init `frame' as well.
11380 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11381 (DEBUG_PUSH, DEBUG_POP): Remove.
11382 (NUM_REG_ITEMS): Remove.
11383 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11384 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11385 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11386 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11387 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11388 New macros.
80460654
GM
11389 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11390 address pushed is not the destination of the jump but the source
11391 of it instead.
95cd4c40
SM
11392 (NUM_FAILURE_ITEMS): Remove.
11393 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11394 registers before the actual failure point). Don't hardcode any
11395 meaning for str==NULL anymore.
95cd4c40 11396 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11397 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11398 Remove.
95cd4c40
SM
11399 (REG_UNSET_VALUE): Use NULL (why not?).
11400 (compile_range): Remove declaration since it doesn't exist.
11401 (struct compile_stack_elt_t): Remove inner_group_offset.
11402 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11403 (regex_grow_registers): Remove dead code.
11404 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11405 (regex_compile): Add shy-groups Change loops to use
11406 on_failure_jump_smart&jump instead of
11407 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11408 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11409 variable to me). Use `jump' instead of `jump_past_alt' and don't
11410 bother with push_dummy_failure in alternatives since it is now
11411 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11412 emacs' for (re)allocating the stack.
11413 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11414 from loop when bufp->can_be_null rather than jumping to `done'.
11415 Avoid jumping backwards so as to ensure termination. Use
11416 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11417 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11418 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11419 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11420 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11421 (lowest_active_reg, highest_active_reg)
11422 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11423 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11424 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11425 variables. Push register (in `start_memory') on the stack rather
11426 than storing it in old_reg(start|end). Remove the cycle detection
11427 from `stop_memory', replaced by the use of on_failure_jump_loop
11428 for greedy loops. Add code for the new on_failure_jump_<foo>.
11429 Remove ad-hoc code in `on_failure_jump' to push more registers in
11430 the case of a loop. Take out code from `maybe_pop_jump' into
11431 separate functions and adapt it to the semantics of
11432 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11433 and push_dummy_failure. Remove dummy_failure handling and
11434 handling of `failures to jump to on_failure_jump' (this last one
11435 was already dead code, it seems).
11436 (group_match_null_string_p, alt_match_null_string_p)
11437 (common_op_match_null_string_p): Remove.
95cd4c40 11438
7397acc4
DL
114392000-03-08 Dave Love <fx@gnu.org>
11440
11441 * config.in: Don't depend on __STDC__ for volatile.
11442 Add POINTER_TYPE, PTR, PROTOTYPES.
11443
11444 * hftctl.c, strftime.c: Use PROTOTYPES.
11445 * eval.c (find_handler_clause): Likewise.
11446
11447 * mem-limits.h: Use POINTER_TYPE.
11448
11449 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11450 (memory_warnings): Declare using POINTER_TYPE.
11451
5e91ff9e
GM
114522000-03-08 Gerd Moellmann <gerd@gnu.org>
11453
feab4fba
GM
11454 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11455
52283633 11456 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11457
5e91ff9e
GM
11458 * xfns.c: Remove obsolete code in #if 0.
11459 (Fx_focus_frame): New function.
11460
a735b7e1
KH
114612000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11462
11463 * coding.c (coding_category_name): Add coding-category-utf-8,
11464 coding-category-utf-16-be, coding-category-utf-16-le.
11465 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11466 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11467 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11468 (detect_coding_utf_8): New function.
11469 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11470 UTF_16_LOW_SURROGATE_P): New macros.
11471 (detect_coding_utf_16): New function
11472 (detect_coding_mask): When priorities are specified, skip any
11473 categories that have `nil' coding-system. Fix bug of returning
11474 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11475 returns a mask not set in PRIORITIES.
11476 (detect_eol_type_in_2_octet_form): New function.
11477 (detect_eol): selects detect_eol_type_XXX to call according to
11478 cooding->category_idx.
11479 (detect_coding_system): Remove `nil' coding-system in the result.
11480 (Fupdate_coding_systems_internal): Update all coding-categories.
11481
52283633
SM
11482 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11483 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11484 New macros.
11485 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11486 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11487 (CODING_CATEGORY_IDX_UTF_16_LE)
11488 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11489 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11490 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11491 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11492
9994cc69
GM
114932000-03-07 Gerd Moellmann <gerd@gnu.org>
11494
e9b4e5ff
GM
11495 * doc.c (Fdocumentation_property): If value is not a string,
11496 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11497
f7daf1e1
GM
11498 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11499 close the display with XtCloseDisplay. This caused a bus error
11500 on OpenWindows.
11501
9994cc69
GM
11502 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11503 complete but not unique.
11504
4336c705
GM
115052000-03-06 Gerd Moellmann <gerd@gnu.org>
11506
18bb0684
GM
11507 * process.c (send_process): Remove local variable `procname' that
11508 might become invalid when a GC happens. Instead, access the
11509 process name slot directly.
11510
4336c705
GM
11511 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11512 orig_height if set.
11513
11514 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11515 orig_height if set.
11516
515d0d0e
EZ
115172000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11518
11519 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11520 glyph matrices have been freed.
11521
100b3cbb
GM
115222000-03-05 Gerd Moellmann <gerd@gnu.org>
11523
50df5e5a 11524 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11525 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11526
11527 * xfns.c (QCdata): Moved to xdisp.c.
11528
11529 * xdisp.c (QCdata): Moved here from xfns.c.
11530 (syms_of_xdisp): Initialize QCdata.
11531
11532 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11533
11534 * window.c (coordinates_in_window): Use
11535 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11536 FRAME_INTERNAL_BORDER_WIDTH.
11537
100b3cbb 11538 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11539 it is obviously invalid.
100b3cbb
GM
11540
11541 * xterm.c (x_term_init): Create a colormap if not using the
11542 default visual.
11543
11544 * xterm.h (select_visual): Change prototype.
11545
11546 * xfns.c (select_visual): Rewritten. Recognize user-specified
11547 visual classes.
11548 (visual_classes): New variable.
11549
64d739c4
GM
115502000-03-04 Gerd Moellmann <gerd@gnu.org>
11551
11552 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11553 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11554 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11555 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11556 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11557 XtNcolormap resources.
11558 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11559 (Fx_create_frame): Initialize color members of x_output structure.
11560 (xpm_load): Pass colormap to XPM lib.
11561
11562 * xfaces.c (x_free_colors): Access colormap of frame using
11563 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11564 when default colormap is used.
11565
11566 * xterm.c (x_term_init): Set Colormap member of x_display_info
11567 structure. Copy colormap if resource `privateColormap' is
11568 specified (PseudoColor only).
11569 (x_setup_relief_color): Access colormap of frame using
11570 FRAME_X_COLORMAP.
11571
11572 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11573 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11574
c3cee013
JR
115752000-03-04 Jason Rumney <jasonr@gnu.org>
11576
11577 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11578 other non-platform-specific equivalents.
64d739c4 11579 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11580 specific functions and macros as their w32 equivalents where
11581 non-platform-specifics are not available.
11582 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11583 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11584 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11585 (frame_update_line_height): Use macros to access f->output_data.
11586 (defined_color): Remove FIXME comments; fixed.
11587 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11588 into #ifdef blocks. Add WINDOWSNT blocks.
11589 (Fx_list_fonts): Use macros for accessing font data.
11590 (set_lface_from_font_name): Different default fonts for X and
11591 WINDOWSNT.
11592 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11593 scalable for backward compatibility.
64d739c4 11594 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11595 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11596
64d739c4 11597 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11598 syms_of_w32faces.
11599
11600 * makefile.nt (w32faces.obj): Remove.
11601 (xfaces.obj): Add.
11602
807cc41c
JR
116032000-03-03 Jason Rumney <jasonr@gnu.org>
11604
11605 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11606 correct parameters.
11607
0007072a
KR
116082000-03-03 Ken Raeburn <raeburn@gnu.org>
11609
11610 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11611 standard ELF definitions here if the system header does not.
11612
71a6ba55
GM
116132000-03-03 Gerd Moellmann <gerd@gnu.org>
11614
11615 * xterm.c (PER_CHAR_METRIC): Removed.
11616 (x_per_char_metric_1, x_default_char): New functions.
11617 (x_per_char_metric): If font's default char is invalid, return
11618 metrics of a suitably chosen usable default char.
11619 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11620 char, replace occurrences of unprintable chars with a suitably
11621 chosen usable default char.
71a6ba55 11622
900fa1f1
GM
116232000-03-02 Gerd Moellmann <gerd@gnu.org>
11624
42f55fe0
GM
11625 * xterm.c (note_mouse_highlight): Return quickly if frame's
11626 glyph matrices have been freed.
11627
11628 * dispnew.c (free_glyphs): Block input while freeing matrices.
11629
900fa1f1
GM
11630 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11631
52283633
SM
11632 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11633 Use x_free_colors.
900fa1f1
GM
11634
11635 * dispextern.h (x_free_colors): Add prototype.
11636
11637 * xfaces.c (x_free_colors): New function.
11638 (unload_color, free_face_colors): Use it.
11639
2f950292
EZ
116402000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11641
11642 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11643
11644 * window.c [MSDOS]: Include msdos.h.
11645
54d04320
DL
116462000-03-02 Dave Love <fx@gnu.org>
11647
11648 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11649
11650 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11651 set C_OPTIMIZE_SWITCH for gcc.
11652
0ba93ac4
KH
116532000-03-02 Kenichi Handa <handa@etl.go.jp>
11654
11655 * coding.c (coding_save_composition): Be sure to allocate
11656 composition data area in coding even if there's no composition in
11657 the current run.
11658
a2bc11d4
JR
116592000-03-01 Jason Rumney <jasonr@gnu.org>
11660
11661 * w32term.c: Equivalent changes to those made to xterm.c on
11662 2000-02-25 and 2000-02-24.
11663
11664 * w32fns.c: Equivalent changes to those made to xfns.c on
11665 2000-02-25 and 2000-02-21.
11666
11667 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11668 correct line-end convention is followed.
11669
11670 * w32menu.c [HAVE_BOXES]: Remove #undef.
11671 (single_keymap_panes): Remove code for simulating checkmarks.
11672 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11673 Remove code for drawing simulated checkmarks.
11674 (w32_menu_show): make unibyte help string correctly.
11675 (add_menu_item): draw standard Windows checkmarks. Draw radio
11676 buttons as radio buttons if possible.
11677
72d19d75
GM
116782000-03-01 Gerd Moellmann <gerd@gnu.org>
11679
2df636f4
GM
11680 * sysdep.c (start_of_text): Don't define this function for NetBSD
11681 with ELF.
11682
427ec082 11683 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11684 Don't define.
11685 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11686 (LINKER): Don't undef if __NetBSD__ is defined.
11687
11688 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11689
11690 * fileio.c [__NetBSD__]: Define `unix'.
11691
72d19d75
GM
11692 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11693
ed4d0512
GM
116942000-02-29 Gerd Moellmann <gerd@gnu.org>
11695
50b1039f
GM
11696 * atimer.c (start_atimer): Don't abort when timers are stopped.
11697 (append_atimer_lists): New function.
11698 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11699 arbitrary lists of stopped and running atimers.
11700
ed4d0512
GM
11701 * atimer.c (cancel_atimer): Handle canceling an atimer when
11702 some timers are stopped.
11703
11704 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11705 after canceling it.
11706
11707 * fns.c (maybe_resize_hash_table): Handle case of new size
11708 coming out as being the same as old size.
11709
387023ee
JR
117102000-02-27 Jason Rumney <jasonr@gnu.org>
11711
11712 * makefile.nt: Add atimer.h to dependencies.
11713 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11714 * w32console.c: Only disable window system features for dispextern.h
11715 (initialize_w32_display): Build a display info for the console.
11716 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11717 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11718 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11719 as 2 button mice.
11720 * w32gui.h (struct W32FontStruct): Revert last change after change
11721 to xdisp.c.
11722 * w32menu.c (single_submenu): Set up help string.
11723 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11724 (w32_dialog_show): Set up help string.
11725 * w32term.c (w32_display_info_for_display): Remove unused function.
11726 (w32_draw_bitmap): Use pre-built bitmaps.
11727 (w32_initialize_display_info): New function to initialize parts of
11728 display info that are common to both GUI and console frames.
11729 (w32_term_init): Use w32_initialize_display_info. Do not set
11730 Vw32_num_mouse_buttons here, as it is not called for console
11731 frames. Build bitmaps for indicating truncated lines etc.
11732 (x_delete_display): Destroy pre-built bitmaps.
11733 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11734 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11735
4516715a
DL
117362000-02-27 Dave Love <fx@gnu.org>
11737
11738 * lisp.h: Add a bunch of prototypes.
11739
171ca836
KH
117402000-02-26 Kenichi Handa <handa@etl.go.jp>
11741
11742 * keyboard.c (read_char): Set `usec' correctly.
11743
4013921d
KH
117442000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11745
11746 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11747 `lambda', set reg[RRR] to the map index.
11748 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11749 reg[RRR] to 0. Otherwise, set it to -1.
11750
9244a058
GM
117512000-02-25 Gerd Moellmann <gerd@gnu.org>
11752
2df636f4 11753 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11754
18e21ce8 117552000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11756
f43d79c1
GM
11757 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11758 and contains a `:', prepend `/:'.
11759
11760 * window.c (select_window_1): If selected_window is nil,
11761 don't "swap out" the buffer's point.
11762 (Fset_window_configuration): Set selected_window to nil
11763 before calling Fselect_window.
11764 (unshow_buffer): Don't set point in buffer from window's point
11765 if another more recently selected window also shows the buffer.
11766
bed0c171
GM
117672000-02-25 Gerd Moellmann <gerd@gnu.org>
11768
449c3c52
GM
11769 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11770
f5b58615
GM
11771 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11772 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11773 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11774 New variables.
f5b58615
GM
11775 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11776 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11777 (hide_busy_cursor): New functions.
11778 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11779
11780 * minibuf.c (read_minibuf): Cancel busy-cursor.
11781
11782 * keyboard.c (command_loop_1): Call start_busy_cursor before
11783 Fcommand_execute and cancel_busy_cursor after it.
11784 (timer_check): Remove busy-cursor code.
11785 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11786 cursor timer.
11787
11788 * process.c (wait_reading_process_input): Remove busy-cursor code.
11789
11790 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11791 Fx_hide_busy_cursor.
11792
11793 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11794 Remove prototyoes.
11795 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11796
11797 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11798
11799 * xterm.c (XTread_socket): Remove busy-cursor code.
11800
4eb8436f
GM
11801 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11802 (build_frame_matrix_from_leaf_window): Put code handling
11803 glyph row's not being a slice of a frame row in #if 0.
11804 (sync_window_with_frame_matrix_rows): New function.
11805 (frame_row_to_window): New function.
11806 (mirror_line_dance): Handle copies between windows.
11807
3cb65b0e
GM
11808 * lread.c (Fload): Use `xfree' instead of `free'.
11809 (init_obarray): Use `xmalloc' instead of `malloc'.
11810
bed0c171
GM
11811 * window.c (Fset_window_buffer): Set WINDOW to the window
11812 after decoding.
2add4349
GM
11813 (coordinates_in_window): Take frame's internal border width
11814 into account.
bed0c171 11815
42088c12
GM
118162000-02-24 Gerd Moellmann <gerd@gnu.org>
11817
11818 * xterm.c (x_display_and_set_cursor): Display cursor of
11819 non-selected windows depending on the setting of
11820 cursor_in_non_selected_windows.
11821
11822 * xdisp.c (cursor_in_non_selected_windows): New variable.
11823 (syms_of_xdisp): DEFVAR_BOOL it.
11824
d1e103b2
GM
118252000-02-23 Gerd Moellmann <gerd@gnu.org>
11826
723e779c
GM
11827 * data.c (Fstring_to_number): If number is greater than what
11828 fits into an integer, return a float.
11829
d1e103b2
GM
11830 * eval.c (specbind): Remove references to
11831 keyword_symbols_constant_flag.
11832
11833 * data.c (keyword_symbols_constant_flag): Removed.
11834 (Fmakunbound, set_internal, syms_of_data): Remove references to
11835 keyword_symbols_constant_flag.
11836
11837 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11838
214f877f
KH
118392000-02-23 Kenichi Handa <handa@etl.go.jp>
11840
11841 * syntax.c (multibyte_syntax_as_symbol): New variable.
11842 (syms_of_syntax): Declare it as a Lisp variable.
11843 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11844 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11845 nonzero, treat all multibyte characters as symbol.
52283633 11846 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11847
130adcb7
EZ
118482000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11849
3cb65b0e 11850 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11851 a deleted frame.
130adcb7 11852
17cbbf95
GM
118532000-02-21 Gerd Moellmann <gerd@gnu.org>
11854
11855 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11856
11857 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11858 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11859
beb0bc36
DL
118602000-02-21 Dave Love <fx@gnu.org>
11861
11862 * frame.c (Vmouse_position_function): New variable.
11863 (Fmouse_position): Use it.
11864 (syms_of_frame): Install it.
11865
11866 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11867
1d92afcd
GM
118682000-02-20 Gerd Moellmann <gerd@gnu.org>
11869
11870 * fileio.c (Finsert_file_contents): Unbind the binding of
11871 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11872
11873 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11874 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11875 (specbind, unbind_to): Handle most common case of non-constant
11876 symbol with trivial value specially.
11877
11878 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11879
18e21ce8 118802000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11881
11882 * data.c (Fmake_variable_buffer_local): Doc fix.
11883 Init found_for_buffer to 0.
11884 (Fmake_variable_frame_local): If the variable has already
11885 been buffer-local, set the check_frame field.
11886
1d4311c3
EZ
118872000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11888
11889 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11890 produced for CODING_MODE_LAST_BLOCK requires.
11891
2dc95ddd
DL
118922000-02-18 Dave Love <fx@gnu.org>
11893
11894 * keyboard.c (echo_keystrokes): Remove declaration.
11895 (Vecho_keystrokes) New variable.
11896 (read_char, record_menu_key, read_key_sequence): Use it to allow
11897 use of float value.
11898 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11899
11900 * lread.c: Undef feature selection macros before defining.
11901
f0930f35
GM
119022000-02-18 Gerd Moellmann <gerd@gnu.org>
11903
11904 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11905 for symbols other than the symbol in question.
11906
e3d4de90
DL
119072000-02-17 Dave Love <fx@gnu.org>
11908
11909 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11910
0b378936
GM
119112000-02-17 Gerd Moellmann <gerd@gnu.org>
11912
d621caf7
GM
11913 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11914
0b378936
GM
11915 * alloc.c (enum mem_type): Compile unconditionally.
11916
3b451f74
EZ
119172000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11918
11919 * xfaces.c (tty_defined_color): Don't return faulire indication
11920 for unspecified-fg and unspecified-bg pseudo-colors.
11921
10689a01
GM
119222000-02-17 Gerd Moellmann <gerd@gnu.org>
11923
1216f5e4
GM
11924 * alloc.c (mark_object): Don't mark symbol names in pure space.
11925 (gc_sweep): Don't unmark symbol names in pure space.
11926
11927 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11928 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11929 [GC_MARK_STACK]: New defines.
427ec082 11930 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11931 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11932
11933 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11934
11935 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11936 allocate_buffer instead of xmalloc.
11937
11938 * alloc.c (toplevel): Include setjmp.h.
11939 (PURE_POINTER_P): New define.
11940 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11941 (Vdead) [GC_MARK_STACK]: New variable.
11942 (lisp_malloc): Add parameter TYPE, call mem_insert if
11943 GC_MARK_STACK is defined.
11944 (allocate_buffer): New function.
427ec082 11945 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11946 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11947 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11948 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11949 (MEM_NIL) [GC_MARK_STACK]: New define.
11950 (struct mem_node) [GC_MARK_STACK]: New structure.
11951 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11952 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11953 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11954 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11955 (mark_stack) [GC_MARK_STACK]: New functions.
11956 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11957 (clear_marks): Removed.
11958 (gc_sweep): Set free conses' car, free floats' type, free
11959 symbols' function to Vdead. Use lisp_free to free buffers.
11960 (init_alloc_once): Initialize Vdead.
11961 (survives_gc_p): Return non-zero for pure objects.
11962
11963 * alloc.c: Add comments throughout the file.
11964
2503c8b1
GM
11965 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11966 that unblocks alarms.
11967
8389e1e2
GM
11968 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11969 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11970 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11971
10689a01 11972 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11973
bfc17d18
KH
119742000-02-17 Kenichi Handa <handa@etl.go.jp>
11975
4a09dee0
KH
11976 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11977 avoid infinite error signaling. Allocate sufficient memory for
11978 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11979
2b927d02
SM
119802000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11981
11982 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11983 depends on the previous behavior.
11984
b49cb764
GM
119852000-02-16 Gerd Moellmann <gerd@gnu.org>
11986
11987 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11988
99e95407
GM
119892000-02-15 Gerd Moellmann <gerd@gnu.org>
11990
11991 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11992
11993 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11994 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11995 write(2).
11996
6ffd3cf7
RS
119972000-02-15 Richard M. Stallman <rms@gnu.org>
11998
11999 * data.c (set_internal): Don't make variable buffer-local
12000 if within a let-binding for the same buffer.
12001 (let_shadows_buffer_binding_p): New function.
12002
12003 * eval.c (specbind): For buffer-local value,
12004 record the current buffer also.
12005 (unbind_to): Cope with that change.
12006
cad53475
GM
120072000-02-15 Gerd Moellmann <gerd@gnu.org>
12008
12009 * window.c (Fsave_window_excursion): Doc fix.
12010
1aa963c8
SM
120112000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12012
12013 * syntax.c (back_comment): Make sure we only consider comment-starters
12014 of the relevant style and return -1 in case of a failure to find the
12015 beginning of the comment.
12016 (Fforward_comment): If back_comment fails, go back to the position just
12017 after the comment-end.
12018 (scan_lists): Add comment describing a very minor bug.
12019
b9b84fd3
SM
120202000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12021
12022 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12023 `completion-regexp-list' in the docstring.
12024
3a28db80
DL
120252000-02-14 Dave Love <fx@gnu.org>
12026
12027 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12028
fb4a568d
SM
120292000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12030
12031 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12032 to Emacs' syntax. Also fix the comment about set/not-set meanings
12033 since Emacs syntax is not the value 0 any more.
12034 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12035 since it's now part of RE_SYNTAX_EMACS.
12036
1063ebb5
DL
120372000-02-12 Dave Love <fx@gnu.org>
12038
52283633 12039 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12040
fb07a302
GM
120412000-02-12 Gerd Moellmann <gerd@gnu.org>
12042
12043 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12044
aaf2320c
DL
120452000-02-12 Dave Love <fx@gnu.org>
12046
12047 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12048
12049 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12050 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12051 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12052
12053 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12054
12055 * s/nextstep.h: Don't define HAVE_ALLOCA.
12056
12057 * config.in: Add vfork bits.
12058
eedf8bde
GM
120592000-02-12 Gerd Moellmann <gerd@gnu.org>
12060
12061 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12062 unwind function to undo the effect of stopping atimers.
12063
52283633 12064 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12065
12066 * atimer.c (stopped_atimers): New variable.
12067 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12068 New functions.
12069
12070 * atimer.h (stop_other_atimers, run_all_atimers)
12071 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12072
eedf8bde
GM
12073 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12074
8476c2f8
KR
120752000-02-11 Ken Raeburn <raeburn@gnu.org>
12076
12077 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12078 library may depend on jpeg.
12079 (atimer.o): Depends on atimer.c.
12080
0e85e4a3
KH
120812000-02-11 Kenichi Handa <handa@etl.go.jp>
12082
12083 * insdel.c (del_range_1): Call update_compositions.
12084 (del_range_both): Call update_compositions just once..
12085
97fa0cc8
DL
120862000-02-10 Dave Love <fx@gnu.org>
12087
12088 * xfns.c (create_frame_xic): Fix initialization of automatic
12089 aggregates for pcc.
12090
25566a3c
KH
120912000-02-09 Kenichi Handa <handa@etl.go.jp>
12092
12093 * ccl.c (CCL_MAKE_CHAR): New macro.
12094 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12095 registers by CCL_MAKE_CHAR before calling translate_char.
12096 <CCL_TranslateCharacterConstTbl> Likewise.
12097
69da54ba
DL
120982000-02-08 Dave Love <fx@gnu.org>
12099
12100 * lread.c (__EXTENSIONS__): Define.
12101
f7136ee8
GM
121022000-02-08 Gerd Moellmann <gerd@gnu.org>
12103
12104 * puresize.h (BASE_PURESIZE): Increase to 650000.
12105
7768790b
EZ
121062000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12107
12108 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12109 the help message.
12110
38fd211b
EZ
121112000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12112
12113 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12114 md, mh, mb, mr, and me to the fake termcap entry.
12115
66e4690f
KR
121162000-02-06 Ken Raeburn <raeburn@gnu.org>
12117
12118 * sound.c (sound_cleanup): Don't call device close routine if the
12119 function pointer is null.
12120
a75dfea0
AI
121212000-02-06 Andrew Innes <andrewi@gnu.org>
12122
12123 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12124 around image definitions and prototypes.
12125 (gamma_correct) [WINDOWSNT]: New prototype.
12126
12127 * w32term.c (x_make_frame_visible): Replace call to
12128 input_poll_signal with poll_for_input.
12129
12130 * window.c [WINDOWSNT]: Include w32term.h.
12131
12132 * xdisp.c [WINDOWSNT]: Include w32term.h.
12133
12134 * makefile.nt: Add dependencies on w32gui.h.
12135 (OBJ1): Include atimer.obj.
12136 ($(BLD)\atimer.obj): New dependency rule.
12137
12138 * w32.c (sigmask): New function (does nothing).
12139 (sigunblock): Ditto.
12140
12141 * frame.c [WINDOWSNT]: Include w32term.h.
12142
12143 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12144
12145 * lread.c (syms_of_lread): Fix literal newlines.
12146
12147 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12148 the string constant limit (2048 bytes) in MSVC.
12149 (main): Ditto.
12150
59ddecde
GM
121512000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12152
52283633 12153 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12154 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12155 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12156 dispatch the event.
12157
07590973
DL
121582000-02-04 Dave Love <fx@gnu.org>
12159
12160 * fileio.c: Remove some unused vars.
12161 (_GNU_SOURCE): Define (for euidaccess).
12162
12163 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12164
12165 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12166 gcpro1, gcpro2.
12167 (read_minibuf): Deal with allow_props correctly.
12168
649351f9
EZ
121692000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12170
12171 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12172
66e4690f 121732000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12174
12175 * search.c (compile_pattern): If a cache entry has a nil regexp,
12176 fill in that entry instead of clobbering a previously cached
12177 string regexp.
12178
66e4690f 121792000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12180
12181 * puresize.h (BASE_PURESIZE): Increase to 610000.
12182
d240a249
GM
121832000-02-02 Gerd Moellmann <gerd@gnu.org>
12184
12185 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12186 can GC.
12187
ca91fb26
KH
121882000-02-02 Kenichi Handa <handa@etl.go.jp>
12189
25660570
KH
12190 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12191 instead of incrementing ic directly.
12192 <CCL_WriteExprConst> Likewise.
12193 <ccl_set_expr>: Set ic to jump_address.
12194
ca91fb26
KH
12195 * fileio.c (e_write): Fix the handling of
12196 CODING_FINISH_INSUFFICIENT_SRC.
12197
2ede9689
DL
121982000-02-01 Dave Love <fx@gnu.org>
12199
12200 * editfns.c (Fpropertize): Doc fix.
12201
12202 * process.c (Fstart_process): Doc fix.
12203
12204 * eval.c: Fix various doc strings not to duplicate information
12205 from help-manyarg-func-alist.
12206
52283633 12207 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12208
12209 * doc.c (Vhelp_manyarg_func_alist): New variable.
12210 (Fdocumentation): Use it.
12211 (syms_of_doc): Define it.
12212
b6680a0e
GM
122132000-01-31 Gerd Moellmann <gerd@gnu.org>
12214
2cb750ba
GM
12215 * xterm.c (xim_open_dpy): Remove unused local variable.
12216
52283633 12217 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12218
12219 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12220 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12221
b6680a0e
GM
12222 * fns.c (sweep_weak_table): New function.
12223 (sweep_weak_hash_tables): Use it. Keep on marking until there
12224 is no more change.
12225
994c5afe
GM
122262000-01-30 Gerd Moellmann <gerd@gnu.org>
12227
12228 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12229 that XTread_socket does not crash by trying to call XNoOp on a
12230 closed display.
427ec082 12231
f00276e3
JR
122322000-01-30 Jason Rumney <jasonr@gnu.org>
12233
12234 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12235 Change selected_frame to SELECTED_FRAME ().
12236 (w32_console_mouse_position): Remove #ifndef MULE from around
12237 `insist' parameter.
12238
12239 * makefile.nt: Remove dosfns.obj.
12240
12241 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12242
12243 * w32fns.c (w32_defined_color): Check for valid frame before
12244 applying gamma correction. Eliminate dependency on frame elsewhere.
12245 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12246 (w32_to_x_font): Use resx and resy not height_in and width_in.
12247 (x_to_w32_font): Doc fix.
12248 (xlfd_strip_height): New function to strip and return font height.
12249 (w32_font_match): Compare height separately from rest of xlfd
12250 spec, using xlfd_strip_height.
12251
12252 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12253 width_in. Use w32_defined_color in place of defined_color.
12254
12255 * w32faces.c: Merge more of DOS and X specifics in preparation for
12256 merge with xfaces.c.
12257 (defined_color): Remove FIXME comment.
12258 (tty_color_name): Provide w32-specific function.
12259 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12260
12261 * w32console.c (turn_on_face, turn_off_face): Removed.
12262 (w32_face_attributes): New function.
12263 (Global_variables): Reduce scope where possible.
12264 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12265 fill attribute.
12266 (hl_mode): Don't modify text attributes.
12267 (write_glyphs): Don't do anything if len <= 0. Use
12268 w32_face_attributes to get attributes for drawing. Write
12269 terminating codes using char_attr_normal.
12270 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12271 (update_begin, update_end): Likewise.
12272 (vga_stdcolor_name): New function.
12273 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12274 (Fset_screen_color): Remove char_attr_reverse.
12275
b08e8bb2
GM
122762000-01-29 Gerd Moellmann <gerd@gnu.org>
12277
12278 * xfns.c (xic_set_preeditarea): Take window parameter and
12279 window-relative pixel-positions.
12280
12281 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12282 is its frame's selected window.
12283 (xim_instantiate_callback): Likewise.
12284
12285 * xfns.c (x_create_im): Removed.
12286 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12287 (supported_xim_styles): Renamed from supported_styles.
12288 (best_xim_style): Renamed from best_style.
12289 (create_frame_xic): Renamed from xic_create_frame.
12290 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12291
b08e8bb2
GM
122922000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12293
12294 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12295 our frames, call XFilterEvent with 2nd parameter `None'.
12296 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12297 returning XBufferOverflow.
52283633 12298 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12299 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12300 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12301 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12302 (xim_initialize, xim_close)
12303 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12304 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12305 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12306 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12307
12308 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12309 and `xim_styles'.
12310 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12311 `xic_style' and `xic_xfs'.
12312 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12313 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12314 (FRAME_XIM): Removed.
12315
12316 * xfns.c (supported_styles): New variable.
12317 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12318 (xic_create_xfontset, best_style, xic_create_frame)
12319 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12320 (xic_set_xfontset): New functions.
12321
142e109c
DL
123222000-01-28 Dave Love <fx@gnu.org>
12323
12324 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12325
12326 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12327
b02786f9
GM
123282000-01-28 Gerd Moellmann <gerd@gnu.org>
12329
d060bc9f
GM
12330 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12331 for *scratch* if it already existed.
12332
b02786f9
GM
12333 * emacs.c (USAGE): New macro.
12334 (main): Use it to display usage information.
12335
2c52d7e4
EZ
123362000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12337
12338 Support for the menu-help feature:
12339
52283633 12340 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12341
12342 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12343 part of the line to the termscript file.
12344 (IT_clear_to_end): Clear the entire line, not just its beginning.
12345 (menu_help_message, prev_menu_help_message): New variables.
12346 (IT_menu_make_room): Make room for the help_text member.
12347 (IT_menu_display): New argument disp_help; all callers changed.
12348 If disp_help is non-zero, store the help text of the active menu
12349 item in menu_help_message.
12350 (XMenuAddPane): Initialize the help_text member to NULL.
12351 (XMenuAddSelection): New argument help_text. Store it in the
12352 XMenu structure.
12353 (XMenuActivate): New argument help_callback. If the value of
12354 menu_help_message has changed since the last time, display the
12355 menu help message text while waiting for the mouse to move. Clear
12356 the echo area before exiting.
12357 (XMenuDestroy): Free the help_text member.
12358
ffe0bcd1
GM
123592000-01-27 Gerd Moellmann <gerd@gnu.org>
12360
12361 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12362 XMenuAddSelection. Pass help callback to XMenuActivate.
12363 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12364
50dbd23f
EZ
123652000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12366
12367 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12368 and EMACS_SET_USECS.
12369
f5941bf8
GM
123702000-01-26 Dave Love <fx@gnu.org>
12371
6c67ddee
DL
12372 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12373
f5941bf8
GM
12374 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12375 an error may be signalled.
12376
9e49c990
GM
123772000-01-26 Gerd Moellmann <gerd@gnu.org>
12378
fc3cb460
GM
12379 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12380 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12381
9e49c990
GM
12382 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12383
d0c037d8
GM
123842000-01-25 Gerd Moellmann <gerd@gnu.org>
12385
12386 * charset.c (Fstring): If there is a multibyte char among
12387 the args, always return a multibyte string.
12388
e12489f9
GM
123892000-01-25 Gerd Moellmann <gerd@gnu.org>
12390
12391 * sysdep.c (sys_select): Turn atimers off and on instead of
12392 recording and restoring old alarm handler
12393
12394 * process.c (toplevel): Include atimer.h.
12395 (create_process_1): Rewritten.
12396 (create_process): Use atimers instead of alarm.
12397 (wait_reading_process_input) [hpux]: Turn atimers off instead
12398 of turning off SIGALRM.
12399 (wait_reading_process_input): Turn off atimers instead off
12400 calling stop_polling.
12401
12402 * emacs.c (main): Call init_atimer.
12403
12404 * keyboard.c (toplevel): Include systime.h and atimer.h.
12405 (polling_for_input): Removed because unused.
12406 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12407 (poll_timer): New variable.
12408 (poll_for_input, poll_for_input_1): New functions.
12409 (start_polling, stop_polling): Rewritten.
12410
12411 * keyboard.h (polling_for_input): Removed.
427ec082 12412
e12489f9
GM
12413 * atimer.h, atimer.c: New files.
12414
12415 * Makefile.in (obj): Add atimer.o.
12416 (atimer.o): New target.
12417
12418 * blockinput.h (pending_atimers): Add extern declaration.
12419 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12420
12421 * lisp.h (popup_activated_flag): Add extern declaration.
12422
12423 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12424 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12425 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12426
12427 * xterm.c (toplevel): Include atimer.h.
12428 (toolkit_scroll_bar_interaction): New variable.
12429 (Fxt_process_timeouts): Removed.
12430 (x_process_timeouts): New function.
12431 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12432 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12433 (x_make_frame_visible): Call poll_for_input_1 instead of
12434 input_poll_signal. Don't call alarm.
12435 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12436
1e5279b9
DL
124372000-01-24 Dave Love <fx@gnu.org>
12438
6c67ddee 12439 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12440 Don't use -cckr -- apparently not now necessary.
12441
edf6aeb8
EZ
124422000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12443
12444 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12445 screen boundary.
12446
9badad41
JR
124472000-01-23 Jason Rumney <jasonr@gnu.org>
12448
12449 * w32fns.c (w32_defined_color): Apply gamma correction before
12450 trying to map to the palette.
12451 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12452 to w32_clear_rect.
12453
12454 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12455 here. Callers changed to always pass real device context.
12456 (w32_draw_bitmap): Likewise.
12457 (w32_get_glyph_overhangs): Likewise.
52283633 12458 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12459 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12460 pfnSetScrollInfo and SetScrollRange.
12461 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12462 back into MULE characters after decoding them.
12463 (x_get_glyph_face_and_encoding): Likewise.
12464 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12465 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12466 (x_produce_glyphs): Calculate per char metrics for a character
12467 that we know exists in default font when font_not_found_p is true.
12468
63bd786b
JR
124692000-01-22 Jason Rumney <jasonr@gnu.org>
12470
12471 * makefile.nt (intervals.obj, composite.obj): New modules.
12472 (composite.h): Added as dependency where appropriate.
12473
12474 * w32gui.h (XGCValue): New struct for emulating X GCs.
12475
12476 * w32term.h (XCharStruct): New struct for emulating X.
12477
12478 * w32console.c (turn_on_face, turn_off_face): New functions.
12479 (change_line_highlight): New prototype for new redisplay.
12480 (write_glyphs): Support multibyte text. Support faces.
12481
52283633 12482 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12483
12484 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12485 throughout. struct frame * in place of FRAME_PTR.
12486 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12487 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12488 (w32_get_arg): Renamed from x_get_arg.
12489 (Fx_file_dialog): New function.
12490 (w32_list_fonts): Check cache before asking system.
12491 (Vw32_enable_synthesized_fonts): New variable.
12492 (Vw32_enable_italics): Obsolete, removed.
12493
12494 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12495 Use SELECTED_FRAME macro.
12496
12497 * w32menu.c: Add skeleton support for help strings on menus.
12498 (add_menu_item): Native checkbox and radio support added, but not
12499 yet enabled due to bugs.
12500 (push_menu_item): Add parameters type, selection and help.
12501 Callers updated.
12502 Formatting changes to reduce unnecessary diffs with xmenu.c.
12503
12504 * w32select.c (Fw32_set_clipboard_data): Update call to
12505 find_charset_in_str.
12506
12507 * w32term.c: Complete rewrite for new redisplay based on new
12508 xterm.c with necessary sections merged back in from old w32term.c.
12509
6ffd3cf7 125102000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12511
12512 * data.c (set_internal): Further fix in same criterion.
12513
6ffd3cf7 125142000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12515
12516 * data.c (set_internal): Fix the criteria for whether
12517 to swap out the old cached binding.
12518
60af03f1
DL
125192000-01-19 Dave Love <fx@gnu.org>
12520
12521 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12522
f9be074f
KH
125232000-01-18 Kenichi Handa <handa@etl.go.jp>
12524
12525 * regex.c (re_compile_fastmap): While checking a range table for
12526 `charset', skip flag bits for a character class correctly.
12527
52b8dbf9
GM
125282000-01-17 Gerd Moellmann <gerd@gnu.org>
12529
d36100c9
GM
12530 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12531
52283633 12532 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12533
12534 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12535 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12536
12537 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12538 MENU_ITEMS_ITEM_.*.
12539 (MENU_ITEMS_ITEM_HELP): New enumerator.
12540 (push_menu_item): Add parameter HELP. Record help in menu_items.
12541 (single_menu_item, single_submenu, list_of_items): Call
12542 push_menu_item with new parameter.
12543 (single_submenu): Set help string in widget value.
12544 (menu_highlight_callback): New function.
12545 (set_frame_menubar): Call lw_create_widget with new
12546 parameter list.
12547 (xmenu_show, xdialog_show): Ditto.
12548
3139018f
GM
125492000-01-13 Gerd Moellmann <gerd@gnu.org>
12550
12551 * sound.c (Fplay_sound): Improve doc string.
12552
83c8f461
RS
125532000-01-11 Richard M. Stallman <rms@gnu.org>
12554
12555 * lisp.h (set_internal): Enter the new arg.
12556
12557 * eval.c (specbind): Record buffer-local variables specially,
12558 indicating which buffer's binding was saved.
12559 (unbind_to): Restore buffer-local variables specially
12560 in the proper buffer.
12561
12562 * data.c (set_internal): New arg BUF.
427ec082 12563
83c8f461
RS
12564 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12565 * data.c (Fset): Pass new arg to set_internal.
12566 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12567
1fab1775
GM
125682000-01-11 Gerd Moellmann <gerd@gnu.org>
12569
52283633 12570 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12571
83c8f461 125722000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12573
12574 * minibuf.c (Ftry_completion): Doc fix.
12575
7a85e4df
GM
125762000-01-11 Gerd Moellmann <gerd@gnu.org>
12577
12578 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12579 vector, too.
12580
a970dae4
AS
125812000-01-11 Andreas Schwab <schwab@suse.de>
12582
12583 * coding.c (code_convert_region): Initialize total_skip.
12584
c65d14ee
DL
125852000-01-08 Dave Love <fx@gnu.org>
12586
12587 * eval.c (Fuser_variable_p): Check customizability too.
12588
834938d2
GM
125892000-01-07 Gerd Moellmann <gerd@gnu.org>
12590
12591 * minibuf.c (Fcompleting_read): Doc fix.
12592
e0303cd6
GM
125932000-01-05 Gerd Moellmann <gerd@gnu.org>
12594
8a26744b
GM
12595 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12596 -L /usr/local/lib.
12597
e0303cd6
GM
12598 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12599 Check that input style is supported before trying to create an
12600 IC for it.
12601 (x_window): Call x_create_im.
427ec082 12602
2e471eb5
GM
126032000-01-04 Gerd Moellmann <gerd@gnu.org>
12604
560a7bd2
GM
12605 * xfns.c (current_gif_memory_src): New variable.
12606 (gif_load): Record the address of the current memory source
12607 in current_gif_memory_src.
12608 (gif_read_from_memory): Use current_gif_memory_src.
12609
f9ee84a3
GM
12610 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12611 macros statement form.
12612
d1299cde
GM
12613 * sound.c (struct sound): Renamed from struct sound_file.
12614 (struct sound): Add members `data' and `header_size'.
12615 (enum sound_attr): Add SOUND_DATA.
12616 (current_sound, current_sound_device): Variables renamed from
12617 sound_file and sound_device.
12618 (parse_sound): Parse :data.
12619 (parse_sound): Handle sound data in strings.
12620 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12621 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12622 needed header size.
12623 (wav_play, au_play): Play sounds from string data.
12624
2e471eb5
GM
12625 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12626
12627 * lisp.h: Add prototype for allocate_string_data.
12628
52283633 12629 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12630
12631 * alloc.c (mark_buffer): Remove code in #if 0.
12632 (gc_sweep): Ditto.
12633 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12634 (strings_consed): New variable.
12635 (allocate_string): Set it.
12636 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12637 (Fmemory_use_counts): Return strings_consed. Use Flist.
12638
12639 * alloc.c: General cleanup in comments etc. Remove conditional
12640 compilation for `standalone'.
12641
12642 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12643
12644 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12645 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12646 (DONT_COPY_FLAG): Removed.
12647 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12648 (struct sdata, struct sblock): New
12649 (struct string_block): Rewritten.
12650 (STRINGS_IN_STRING_BLOCK): New macro.
12651 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12652 (large_sblocks, string_blocks, string_free_list): New variables.
12653 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12654 (init_strings): Rewritten.
12655 (allocate_string, allocate_string_data, compact_small_strings)
12656 (free_large_strings, sweep_strings): New functions.
12657 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12658 (struct string_block_head, current_string_block)
12659 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12660 (STRING_PAD): Removed.
12661 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12662 (Fgarbage_collect): Don't set mark bit in large strings.
12663 (mark_object): Mark strings differently. Mark symbol names
12664 differently.
12665 (survives_gc_p): Test marked strings differently.
427ec082 12666 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12667 symbol names.
12668 (compact_strings): Removed.
12669
42608ba8
EZ
126702000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12671
12672 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12673 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12674
e0a09e1a
KH
126752000-01-04 Kenichi Handa <handa@etl.go.jp>
12676
dd9f0750 12677 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12678 in a non-empty buffer.
dd9f0750 12679
3c0f3b15 12680 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12681
44cd3ae5
GM
126822000-01-03 Gerd Moellmann <gerd@gnu.org>
12683
12684 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12685 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12686
12687 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12688
c182a70f
EZ
126892000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12690
12691 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12692 need to test for MSDOS frames.
12693
24480d5b
EZ
126942000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12695
12696 * dosfns.c (unspecified_colors): Remove.
12697 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12698 unspecified_bg.
12699 (msdos_stdcolor_name): Return strings for unspecified fore- and
12700 back-ground colors.
12701
12702 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12703 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12704 (tty_color_name): Return Lisp strings for unspecified fore- and
12705 back-ground colors.
12706 (Finternal_set_lisp_face_attribute): Remove the special treatment
12707 for Qunspecified_{f,b}g.
52283633 12708 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12709
047f434a
GM
127102000-01-03 Gerd Moellmann <gerd@gnu.org>
12711
12712 * xdisp.c (reseat_at_next_visible_line_start): Position before
12713 newline only if ending up on a newline.
12714 (next_element_from_ellipsis): Return success. Handle case of
52283633 12715 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12716 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12717 returns 0.
12718
d684c676
EZ
127192000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12720
12721 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12722 (Fcolor_supported_p): Renamed from face-color-supported-p.
12723
5fe1d139
EZ
127242000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12725
12726 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12727 list of colors renamed to tty-defined-color-alist.
12728 (tty_color_name): Pass the frame to tty-color-by-index.
12729 (realize_tty_face): tty-color-alist is now a function which
12730 accepts the frame as argument.
12731
52283633 12732 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12733
816be8b8
EZ
127342000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12735
12736 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12737 encode_terminal_code.
12738
b635321e
EZ
127392000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12740
12741 * dispnew.c (mode_line_string): Support termcap frames as well.
12742
9b784e96
GM
127432000-01-01 Gerd Moellmann <gerd@gnu.org>
12744
27189709
GM
12745 * syntax.c (Fforward_word): Undo previous change.
12746
12747 * editfns.c (Fconstrain_to_field): Don't constrain if
12748 inhibit-field-text-motion is non-nil.
12749 (Fline_beginning_position): Undo previous change.
12750 (Fline_end_position): Ditto.
12751
12752 * syntax.c (Fforward_word): Notice field boundaries only if
12753 inhibit-field-text-motion is nil.
12754
12755 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12756
12757 * editfns.c (Vinhibit_field_text_motion): New variable.
12758 (inhibit-field-text-motion): New DEFVAR_LISP.
12759 (Fline_beginning_position, Fline_end_position): Notice field
12760 boundaries only if inhibit-field-text-motion is nil.
12761
45158a91
GM
12762 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12763 All calls adjusted.
12764 (x_build_heuristic_mask): Likewise.
12765 (xbm_load_image_from_file): Change error output.
12766 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12767 (gif_load, gs_load, x_kill_gs_process): Ditto.
12768
9b784e96
GM
12769 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12770 color indices when accessing raster pixels.
63cec32f
GM
12771 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12772 one of :file or :data.
12773 (enum pbm_keyword_index): Add PBM_DATA.
12774 (pbm_format): Add :data.
12775 (pbm_image_p): Allow either :file or :data.
12776 (pbm_read_file): New function.
12777 (pbm_scan_number): Rewritten to read from string.
12778 (pbm_load): Support :data.
9b784e96 12779
2cb085db 12780See ChangeLog.8 for earlier changes.
6922b018
KH
12781
12782;; Local Variables:
49b3bd82 12783;; coding: iso-2022-7bit
6922b018 12784;; End:
2a34a036
GM
12785
12786 Copyright (C) 2001 Free Software Foundation, Inc.
12787 Copying and distribution of this file, with or without modification,
12788 are permitted provided the copyright notice and this notice are preserved.