[max]: Undef min and max before redefining them.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
166253cb
SM
12001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2
3 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
4
0c4d9527
SS
52001-10-08 Sam Steingold <sds@gnu.org>
6
7 * keymap.c (current-active-maps): Quote newlines (compilation error).
8
14bfa771
EZ
92001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
10
11 * Makefile.in (lisp, shortlisp): Replace bindings.el with
12 bindings.elc, since otherwise doc strings in bindings.el get wrong
13 offsets in etc/DOC.
14
bdb7aa47
SM
152001-10-08 Stefan Monnier <monnier@cs.yale.edu>
16
9985827f
SM
17 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
18
19 * keyboard.h (map_prompt): Remove.
20
21 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 22 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 23
bdb7aa47
SM
24 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
25
26 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
27
28 * keyboard.c (map_prompt): Remove.
29 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
30 Use Fkeymap_prompt.
31
32 * keymap.h: New file. Extracted from lisp.h.
33
9985827f
SM
34 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
35 (accessible_keymaps_1): New function.
36 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
37 (Fwhere_is_internal): Use Fcurrent_active_maps.
38 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
39 Insert in current buffer rather than standard-output.
40 Don't call `help-mode'. Export to elisp.
41 (describe_buffer_bindings): New wrapper.
42 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
43 and Sdescribe_buffer_bindings.
44
402c9a51
GM
452001-10-08 Gerd Moellmann <gerd@gnu.org>
46
9985827f 47 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
48 Remove code setting signal handler.
49
9985827f 50 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
51 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
52
3fe81fdf
PJ
532001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
54
55 * keyboard.c: Don't define min/max.
56
55fa7820
GM
572001-10-08 Gerd Moellmann <gerd@gnu.org>
58
9985827f 59 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 60 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 61 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 62 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 63 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
64 Don't define min/max.
65
66 * lisp.h (min, max): New macros.
67
55fa7820
GM
68 * puresize.h (BASE_PURESIZE): Increase to 725000.
69
1aad31e4
PJ
702001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
71
9180dc8c
PJ
72 * xfaces.c (free_frame_menubar): Add prototype.
73
01f67d2c
PJ
74 * lisp.h (init_window): Add prototype.
75
76 * editfns.c: Include ctype.h.
77
78 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 79 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
80 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
81 variable `sb'.
82
5f351ff1
PJ
83 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
84 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
85 `popup_activated_flag' and `title'.
86
479dfe87
PJ
87 * doc.c (Fdocumentation_property): Fix typo in a doc string.
88
dff49fc8
PJ
89 * emacs.c (main): Remove extra `;'.
90
248ac615
PJ
91 * atimer.h (struct atimer): Fix typos in a comment.
92
93 * atimer.c: Fix typo.
94
af232c7d
PJ
95 * Makefile.in: Fix typo.
96
97 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 98
d876f455
MB
992001-10-07 Miles Bader <miles@gnu.org>
100
101 * Makefile.in (lisp, shortlisp): Add `button.elc'.
102
0037e2f2
KR
1032001-10-07 Ken Raeburn <raeburn@gnu.org>
104
b056f36d
KR
105 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
106 Lisp_Object.
107
0037e2f2
KR
108 * lisp.h (Ffield_end): Declare.
109
1a4372ef
GM
1102001-10-07 Gerd Moellmann <gerd@gnu.org>
111
a4a74e8c
GM
112 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
113
114 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
115
116 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
117
118 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
119
1a4372ef
GM
120 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
121 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
122
123 * alloc.c (inhibit_garbage_collection): Simplify.
124 (Fmemory_use_counts): Ditto.
125
9985827f 126 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
127 (syms_of_data): DEFVAR_INT most-positive-fixnum and
128 most-negative-fixnum.
129
9985827f 130 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
131 (FIXNUM_OVERFLOW_P): New macros.
132
4650e362
MB
1332001-10-06 Miles Bader <miles@gnu.org>
134
135 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
136 scroll_bar_bottom_shadow_pixel fields.
137 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
138 for the shadows, and tell the toolkit about them if we succeed.
139 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
140 Free scroll-bar shadow colors.
141 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
142 Free scroll-bar shadow colors when the background color changes.
143 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
144 Initialize scroll-bar shadow-color fields.
145
ace64e0a
GM
1462001-10-05 Gerd Moellmann <gerd@gnu.org>
147
148 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
149
ec66bdc7
MB
1502001-10-05 Miles Bader <miles@gnu.org>
151
9985827f
SM
152 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
153 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 154 New functions (were in simple.el).
9985827f 155 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
156 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
157 (syms_of_minibuf): Initialize them.
158
a0fb4492
GM
1592001-10-05 Gerd Moellmann <gerd@gnu.org>
160
161 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
162 (tiff_load): Install them as error and warning handler.
163
0bcf87c1
AI
1642001-10-04 Andrew Innes <andrewi@gnu.org>
165
166 * w32fns.c (x_to_w32_color): Fix argument to alloca.
167 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 168 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
169 (x_to_w32_charset): Handle private format for unknown charsets.
170 Handle wildcards in charset spec, by ignoring them.
171 (w32_codepage_for_font): Fix argument to alloca. Don't remove
172 "*-" prefix from charset.
173 (x_to_w32_font): Enlarge remainder array for safety. Specifically
174 handle the truncated font spec form constructed by font_list_1, so
175 that we correctly identify the charset fields. Don't remove "*-"
176 prefix from charset.
177 (w32_list_synthesized_fonts): Fix argument to alloca.
178
c89e4bc5
GM
1792001-10-04 Stefan Monnier <monnier@cs.yale.edu>
180
181 * window.h (MINI_WINDOW_P): Use NILP.
182
183 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
184
185 * termhooks.h (struct input_event): Use proper type for `kind'.
186
1872001-10-04 Gerd Moellmann <gerd@gnu.org>
188
189 This handles unknown keysyms better than before. For example,
190 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
191 Emacs formerly completely ignored F5. With the change, it derives
192 a key symbol from the name of the X keysym, `ccaron' in this case.
193 Reported by Martin Buchholz.
194
195 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
196 unknown keysyms.
197
198 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
199 that EVENT->code isn't a function key, use the keysym's name.
200
2012001-10-04 Gerd Moellmann <gerd@gnu.org>
202
203 FOREACH is a macro that should make it easier to loop over Lisp
204 lists with checks for cycles and proper lists.
205
206 * lisp.h (LIST_END_P, FOREACH): New macros.
207
2082001-10-04 Gerd Moellmann <gerd@gnu.org>
209
210 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
211 called for a lost connection. Prevent dumping core in this case.
212 Instead print the X error, and exit. On user request.
213
214 * xterm.c (error_msg): New variable.
215 (x_fatal_error_signal): New function.
216 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
217 as fatal_error_signal_hook around the call to XtCloseDisplay.
218
219 * emacs.c (fatal_error_signal_hook): New variable.
220 (fatal_error_signal): Call that function.
221
2222001-10-04 Gerd Moellmann <gerd@gnu.org>
223
224 With this, Emacs prints how much pure storage it will
225 approximately need in case pure storage overflows while dumping.
226
227 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
228 New variables.
229 (init_alloc_once): Initialize new variables.
230 (PURE_POINTER_P): Use new variables.
231 (pure_alloc): If pure storage overflows, allocate from the heap.
232 (check_pure_size): New function.
233 (Fgarbage_collect): Don't GC if pure storage has overflowed.
234
235 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
236 (check_pure_size): Add prototype.
237
238 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
239
2402001-10-04 Gerd Moellmann <gerd@gnu.org>
241
242 This adds a post-gc-hook that's run with GC inhibited.
243 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
244
245 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
246 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
247 (Fgarbage_collect): Run post-gc-hook.
248
2492001-10-04 Gerd Moellmann <gerd@gnu.org>
250
251 This adds `defvaralias' and `indirect-variable'. Changes not
252 directly related to this feature are there to gain the same
253 performance again as before variable aliases.
254
255 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
256 code to get and set symbol values, to take defvaralias into account.
257
258 (Note: the new `constant' bit-flag in symbols would make it
259 possible to define arbitrary read-only variables, e.g. with
260 `defconst'.)
261
262 Documentation is in lispref/variables.texi. Added to NEWS.
263
264 * lisp.h (enum symbol_interned): New enumeration.
265 (struct Lisp_Symbol): Remove member `obarray', add
266 `indirect_variable', `constant', and `interned'.
267 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
268 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
269 (indirect_variable): Add prototype.
270
271 * print.c (print_preprocess, print_object): Test internedness of
272 symbols differently.
273
274 * lread.c (Fintern, Funintern): Set symbol's interned and constant
275 bit-fields.
276 (init_obarray): Likewise for t and nil.
277
278 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
279 (Fdefvaralias): New function.
280 (specbind): Simplify the test if symbol is a constant.
281 (syms_of_eval): Defsubr Fdefvaralias.
282
283 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
284 (Qcyclic_variable_indirection): New variable.
285 (Fkeywordp): Check for internedness differently.
286 (Fmakunbound): Simplify the test if symbol is a constant.
287 (indirect_variable, Findirect_variable): New functions.
288 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
289 aliased symbol.
290 (let_shadows_buffer_binding_p): Check for variable aliases.
291 (set_internal): Simplify the test if SYMBOL is a constant.
292 If SYMBOL has a buffer-local value and is an alias, use the aliased
293 symbol instead.
294 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
295 Sindirect_variable.
296
297 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
298 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
299 set directly.
300
301 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
302
303 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
304 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
305 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
306
ba88ff28
MB
3072001-10-03 Miles Bader <miles@gnu.org>
308
309 * callproc.c (syms_of_callproc): Explicitly state in the
310 documentation for `process-environment' that earlier entries take
311 precedence over later ones.
312
ae1a9581
MB
3132001-10-02 Miles Bader <miles@gnu.org>
314
315 * textprop.c (Fnext_char_property_change)
316 (Fprevious_char_property_change): Remove reference to non-existant
317 argument OBJECT from doc-string.
318
257e3f57
GM
3192001-10-01 Gerd Moellmann <gerd@gnu.org>
320
321 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
322 (try_window_id): Skip back over lines ending in a newline from a
323 string.
324
325 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
326 New bit flag
327
c1f29759
RS
3282001-10-01 Richard M. Stallman <rms@gnu.org>
329
330 * search.c (Freplace_match): Doc fix.
331
c30dce3d
AI
3322001-09-28 Andrew Innes <andrewi@gnu.org>
333
334 * w32menu.c (set_frame_menubar): Take into account that
335 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
336 <raeburn@gnu.org>.
337
03be5931
EZ
3382001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
339
340 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
341
75bec752
PJ
3422001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
343
344 * s/gnu-linux.h: Fix a typo in comment.
345
83100e0a
AS
3462001-09-28 Andreas Schwab <schwab@suse.de>
347
348 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
349 nocombreloc, in case -z combreloc is the default.
350
a74b48cf
GM
3512001-09-28 Gerd Moellmann <gerd@gnu.org>
352
353 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
354 really going on here.
355
09c4719e
SM
3562001-09-27 Stefan Monnier <monnier@cs.yale.edu>
357
358 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
359
f7d5d963
EZ
3602001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
361
362 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
363 utf-8, menu-bar, and latin-N.
364 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
365 unconditionally now.
366 (lisp): Add latin-N, since they are preloaded.
367
9240e746
GM
3682001-09-27 Gerd Moellmann <gerd@gnu.org>
369
14531065
GM
370 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
371 to the left. Some cleanup.
372
9240e746
GM
373 * xdisp.c (display_mode_element): One more case where a string's
374 multibyteness should be used for display.
375
edd1e654
GM
3762001-09-26 Gerd Moellmann <gerd@gnu.org>
377
b02439c8
GM
378 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
379 reading at EOF.
380
032906b1 381 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 382 of the only temporarily set echoing flag for deciding when
032906b1
GM
383 the cancel echoing.
384
385 * keyboard.c (echo_kboard): Make externally visible.
386
387 * lisp.h (echo_kboard): Declare extern.
388
cb617e7c 389 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 390 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
391 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
392 this round of redisplay if make_cursor_line_fully_visible fails.
393 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 394 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
395
396 * dispextern.h (required_matrix_width, required_matrix_height):
397 Add prototypes.
398
09c4719e
SM
399 * dispnew.c (required_matrix_width, required_matrix_height):
400 New functions.
cb617e7c 401 (allocate_matrices_for_window_redisplay)
09c4719e
SM
402 (allocate_matrices_for_frame_redisplay: Use them.
403 Remove parameters CH_DIM.
cb617e7c 404
edd1e654
GM
405 * xdisp.c (display_mode_lines): Temporarily set selected_frame
406 and selected_window to the frame of the window whose mode-lines
407 are displayed, and to the window itself.
408 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 409 here.
edd1e654 410
924b604c
GM
4112001-09-25 Gerd Moellmann <gerd@gnu.org>
412
daba7643
GM
413 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
414 the image cache under us.
415
b7a22712 416 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 417 with a string value, use that string's multibyteness for displaying.
b7a22712 418
ad648212
GM
419 * keyboard.c (read_char): Don't clear a message for a switch-frame
420 event. From Stefan Monnier <monnier@cs.yale.edu>.
421
9f8531e5
GM
422 * xterm.c (fast_find_position) [0]: Add a presumably more correct
423 version for after 21.1.
424
425 * xdisp.c (row_containing_pos): Make externally visible.
426
427 * dispextern.h (row_containing_pos): Add prototype.
428
924b604c
GM
429 * process.c (send_process): Disable composition if from_byte < 0.
430 From Kenichi Handa <handa@etl.go.jp>.
431
6f3f0db4
GM
4322001-09-24 Gerd Moellmann <gerd@gnu.org>
433
c69c0ebc
GM
434 * xterm.c (refreshicon): Function removed.
435
d1182bc4
GM
436 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
437
438 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
439
440 * xterm.c (toplevel): Remove includes in #if 0.
441
6f3f0db4
GM
442 * process.c (sigchld_handler) [LINUX]: Don't return from
443 the signal handler at the end of the loop.
444
59957f85
GM
4452001-09-21 Gerd Moellmann <gerd@gnu.org>
446
09c4719e
SM
447 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
448 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 449
a0528984
EZ
4502001-09-21 Markus Rost <rost@math.ohio-state.edu>
451
452 * Makefile.in (shortlisp): Add ../lisp/env.elc.
453
db92b288
GM
4542001-09-20 Gerd Moellmann <gerd@gnu.org>
455
3fed8ad5
GM
456 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
457 since this function can be called during GC.
458
db92b288
GM
459 * callproc.c (Fcall_process): Handle errors from pipe(2).
460 (child_setup): Delete code in #ifdef vipc.
461
7121b85a
GM
4622001-09-19 Gerd Moellmann <gerd@gnu.org>
463
72f62cb5
GM
464 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
465 (display_mode_element): Display the string from decode_mode_spec
466 depending on its multibyteness.
467
a2697022
GM
468 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
469
7121b85a
GM
470 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
471
bfc97351
GM
4722001-09-18 Gerd Moellmann <gerd@gnu.org>
473
c9063433
GM
474 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
475 recursive_edit_unwind.
476 (recursive_edit_unwind): Set kboard state according to
477 SINGLE-KBOARD.
478
3fbdba3e
GM
479 * buffer.c (modify_overlay): Don't do nothing if START == END;
480 This can still be a modification, for example when an overlay has
481 a before-string or after-string.
482 (Fdelete_overlay): Prevent redisplay optimizations when deleting
483 an overlay with before-string or after-string.
484
1270031d
GM
485 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
486 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
487
bfc97351
GM
488 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
489 first_unchanged_at_end_row is in front of
490 last_unchanged_at_beg_row. This code should be removed after the
491 release of 21.1.
492
d8a973aa
GM
4932001-09-17 Gerd Moellmann <gerd@gnu.org>
494
e18c8b8d
GM
495 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
496 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
497
d8a973aa
GM
498 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
499 versions >= 2.95.
500
ed7d6ba4
EZ
5012001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
502
503 * dired.c (Ffile_attributes): Doc fix.
504
551629f9
GM
5052001-09-14 Gerd Moellmann <gerd@gnu.org>
506
507 * fileio.c (Ffile_symlink_p): Fix last change.
508
509 * filelock.c (current_lock_owner): Fix last change.
510
4c8c7926
GM
5112001-09-13 Gerd Moellmann <gerd@gnu.org>
512
620c4704
GM
513 * filelock.c (current_lock_owner): If readlink returns ERANGE,
514 take that to mean that the buffer is too small.
515
81c3310d
GM
516 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
517 that to mean that the buffer is too small.
518
06fd3792
GM
519 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
520 current buffer's multibyteness when discarding the iterator's
521 stack.
522
4c8c7926
GM
523 * xfns.c (Fx_window_property): Handle case that property gets
524 deleted between the two calls to XGetWindowProperty.
525
9a72e4c1
GM
5262001-09-11 Gerd Moellmann <gerd@gnu.org>
527
bd819d14
GM
528 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
529
a41edd99
GM
530 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
531 in addition to read-only.
532
533 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
534 to t in addition to read-only.
535
536 * lisp.h (Qinhibit_modification_hooks): Declare.
537
538 * insdel.c (Qinhibit_modification_hooks): New variable.
539 (syms_of_insdel): Initialize and staticpro it.
540
d4881c6a
GM
541 * textprop.c (verify_interval_modification): Don't run
542 modification-hooks if inhibit_modification_hooks.
543
544 * dispnew.c (set_window_cursor_after_update): Fix code
545 finding glyph row containing cursor when cursor_in_echo_area
546 is >= 0.
547
9a72e4c1
GM
548 * xdisp.c (init_from_display_pos): Put some code in #if 0.
549 (add_to_log): Use bcopy instead of strcpy.
550 (init_from_display_pos): Use an explicit loop over bytes in
551 overlay strings instead of calling index.
552
f4a374a1
GM
5532001-09-10 Gerd Moellmann <gerd@gnu.org>
554
300e57bd
GM
555 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
556
557 * dispnew.c (direct_output_for_insert): Don't change IT's
558 stop_charpos to something in front of its current position.
559
f4a374a1
GM
560 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
561 `format'.
562
7e4cbc91
RS
5632001-09-10 Richard M. Stallman <rms@gnu.org>
564
565 * frame.c (Fmouse_position): Doc fix.
566
6afad91e
GM
5672001-09-07 Gerd Moellmann <gerd@gnu.org>
568
569 * xdisp.c (init_from_display_pos): Don't compare the result
570 of calling index with NULL.
571
f76e0368
GM
5722001-09-06 Gerd Moellmann <gerd@gnu.org>
573
574 * xfns.c (x_set_background_color): Don't change the colors
575 of the X window of scroll bar widgets.
576
9ead1b60
AI
5772001-09-05 Andrew Innes <andrewi@gnu.org>
578
579 * w32fns.c (w32_createwindow): Undo last change.
580
c3b497b3
GM
5812001-09-05 Gerd Moellmann <gerd@gnu.org>
582
08e1d6df
GM
583 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
584
c3b497b3
GM
585 * xdisp.c (string_buffer_position): Use *single_char_property*
586 functions instead of the *single_property* functions.
587
8f860180
AI
5882001-09-04 Andrew Innes <andrewi@gnu.org>
589
9a72e4c1
GM
590 * w32term.c (w32_read_socket): Add more information to debugging
591 output.
8f860180
AI
592
593 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
594 from Emacs frames, so that calls to GetClipBox in w32term.c
595 correctly report when part of a frame is visible (including
596 scrollbars, etc). This prevents repeated redrawing of frames when
597 only a scrollbar is visible.
598 (w32_wnd_proc): Add more frame information to debugging output.
599
2ee1aa00
SM
6002001-09-03 Stefan Monnier <monnier@cs.yale.edu>
601
602 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
603
e3b22517
GM
6042001-09-03 Gerd Moellmann <gerd@gnu.org>
605
7e376260
GM
606 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
607 help-echo for a string which doesn't have help-echo itself, use
608 get-char-property to obtain the help-echo from the string's buffer
609 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
610 have mouse-face, look ``under'' the string for mouse-face from an
611 overlay.
612 (fast_find_position): Add parameter STOP. In the final row, stop
613 before glyphs having STOP as object. Don't consider glyphs that
614 are not from a buffer.
615
e3b22517
GM
616 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
617
9a249bba
EZ
6182001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
619
620 * fns.c (Fmd5): Doc fix.
621
c9979669
GM
6222001-08-31 Gerd Moellmann <gerd@gnu.org>
623
624 * composite.c (update_compositions): Do nothing if
625 inhibit-modification-hooks is set.
626
9584e63a
GM
6272001-08-30 Gerd Moellmann <gerd@gnu.org>
628
986ec8f2 629 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 630 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
631 glyph matrices etc. in a core dump.
632
92a25631
GM
633 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
634 (syms_of_xdisp): Initialize them.
635 (handle_single_display_prop): Don't change point, bind `object',
636 `position', and `buffer-position' instead to the object having the
2ee1aa00 637 `display' property, position in the object and position in the buffer.
92a25631 638
9584e63a
GM
639 * fileio.c (Finsert_file_contents): Don't change the multibyteness
640 of the buffer if REPLACE is non-nil.
641
d38633a3
GM
6422001-08-29 Gerd Moellmann <gerd@gnu.org>
643
644 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
645
f4fccc1e
EZ
6462001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
647
648 * w32term.c (x_set_glyph_string_background_width)
649 (show_mouse_face): Track the last changes in xterm.c.
650
eaaa65b0
GM
6512001-08-28 Gerd Moellmann <gerd@gnu.org>
652
7b0870b2
GM
653 * xterm.c (x_set_glyph_string_background_width): Set the glyph
654 string's background width so that multi-line mouse-face is drawn
655 to the right edge of the window.
656 (show_mouse_face): Set the row's mouse_face_p flag after drawing
657 glyphs.
658
6b6e2422 659 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 660 before inserting/writing glyphs.
6b6e2422 661
eaaa65b0
GM
662 * xdisp.c (display_mode_element): Use string_byte_to_char to
663 determine character positions in strings, use chars_in_text
664 instead of strwidth.
665 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
666 a matrix as parameter; this is easier to use from GDB.
667
9ad62cf8
MB
6682001-08-28 Miles Bader <miles@gnu.org>
669
2ee1aa00
SM
670 * textprop.c (Fprevious_single_char_property_change)
671 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 672
32171635
GM
6732001-08-27 Gerd Moellmann <gerd@gnu.org>
674
47d57b22
GM
675 * fileio.c (Finsert_file_contents): Allocate, restore, and
676 free composition data in the case of REPLACE not being nil.
677
678 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
679 there exist overlay strings with newlines at POS.
680 (text_outside_line_unchanged_p): Return 0 if changes start at
681 START and overlays exist at START. Likewise for END.
682 (try_window_id): Give up if init_to_row_end returns 0.
683
32171635
GM
684 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
685 unconditionally.
686
e1249666
GM
6872001-08-24 Gerd Moellmann <gerd@gnu.org>
688
33954c45
GM
689 * keymap.c (access_keymap): Return the cdr of the binding of
690 a generic character instead of its definition (KEY . BINDING).
691
e1249666
GM
692 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
693 to 0 also in the REPLACE case.
694
fb4c6c96
AC
6952001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
696
697 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
698 open to determine whether file is readable (as for DOS_NT).
699
59ecf80b
GM
7002001-08-23 Gerd Moellmann <gerd@gnu.org>
701
702 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
703 coding.type is coding_type_no_conversion or coding_type_raw_text,
704 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
705 non-nil instead of just setting enable_multibyte_characters in the
706 buffer to nil.
707
40e33037
GM
7082001-08-22 Gerd Moellmann <gerd@gnu.org>
709
374388c3
GM
710 * dispextern.h (struct face_cache): Add member
711 menu_face_changed_p.
712
713 * xfaces.c (menu_face_changed_default): New variable.
714 (menu_face_changed_count): Variable removed.
715 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
716 the menu_face_changed_default flag, otherwise set the FRAME's
717 menu_face_changed_p flag if the `menu' face has been changed.
718 Prevent calling set_font_frame_param if FRAME is t.
719 (make_face_cache): Initialize cache's menu_face_changed_p
720 from menu_face_changed_default.
721 (realize_basic_faces): Look into the frame's face cache to
722 determine if the menu appearance needs updating.
723
40e33037
GM
724 * keymap.c (access_keymap): Fix last change to not consider
725 IDX when it has modifiers.
726
859ea4b8
GM
7272001-08-21 Gerd Moellmann <gerd@gnu.org>
728
729 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
730 . BINDING) exists, where GENERIC-CHAR is the generic character of
731 the charset of IDX, return BINDING unless there exists a binding
732 for IDX itself.
733
e8660d73
GM
7342001-08-16 Gerd Moellmann <gerd@gnu.org>
735
cca1b1d7
GM
736 * xrdb.c (SYSV): Don't define on Solaris 2.
737 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
738
e8660d73 739 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 740 of the screen line, not text line, containing IT's current position.
e8660d73 741
93aba6fc
GM
7422001-08-15 Gerd Moellmann <gerd@gnu.org>
743
288d4e06
GM
744 * window.c (window_scroll_pixel_based): Don't recenter if
745 PT is partially visible in the window.
746
3452efc2
SM
747 * xterm.c (expose_window_tree, expose_window, expose_line):
748 Return 1 when overwriting mouse-face.
82f053ab
GM
749 (expose_frame): If mouse-face was overwritten, redo it.
750
93aba6fc
GM
751 * xfaces.c (x_update_menu_appearance): Don't call
752 set_frame_menubar, let the next redisplay do it.
753
858a55c1
AI
7542001-08-14 Andrew Innes <andrewi@gnu.org>
755
756 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
757 drawing glyph string.
758
3a990b67
EZ
7592001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
760
761 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
762 running HI-UX/MPP.
763
04386463
GM
7642001-08-14 Gerd Moellmann <gerd@gnu.org>
765
766 * xfaces.c (x_update_menu_appearance): Save and restore value of
767 interrupt_input_blocked.
768
3e6385a4
GM
7692001-08-13 Gerd Moellmann <gerd@gnu.org>
770
b0e619b4
GM
771 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
772 a line start, move back to the line start.
3452efc2 773
0de73d5a
GM
774 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
775 exactly when a mini-buffer is active.
776
3e6385a4
GM
777 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
778 in units of 1/8 character on non window-system frames.
779 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
780
d1b5f629
EZ
7812001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
782
783 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
784 a doc string.
785
eaa2319f
GM
7862001-08-09 Gerd Moellmann <gerd@gnu.org>
787
8e3189f0
GM
788 * keyboard.c (Vpre_help_message): New variable.
789 (syms_of_keyboard): Initialize and staticpro it.
790 (show_help_echo): Record current message before displaying a
791 help-echo, and restore that message when clearing the help.
792
eaa2319f
GM
793 * xfns.c (x_create_im): Remove prototype.
794
795 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
796
797 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 798
eaa2319f
GM
7992001-08-08 Gerd Moellmann <gerd@gnu.org>
800
801 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 802 windows whose height has changed, disable partially visible lines.
eaa2319f 803
17fdcfc8
GM
8042001-08-07 Gerd Moellmann <gerd@gnu.org>
805
22d01aed 806 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 807 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 808
17fdcfc8
GM
809 * xdisp.c (start_display): Don't try to determine the continuation
810 lines width if lines are truncated. It's superfluous and leads to
811 incorrect results if POS is not visible in the window after
812 reseating the iterator at the previous line start.
813
8e3fe78e
GM
8142001-08-06 Gerd Moellmann <gerd@gnu.org>
815
816 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
817
98a8938c
GM
8182001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
819
820 * alloc.c (init_stack): Remove declaration.
821
18f9986a
GM
8222001-08-03 Gerd Moellmann <gerd@gnu.org>
823
5e1f85e0
GM
824 * keyboard.c (read_key_sequence): Check that key is an integer
825 before comparing it with quit_char.
826 (add_command_key): Use larger_vector.
827 (read_char_x_menu_prompt): Instead of converting symbol and
828 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 829 which cannot be confused with valid events.
5e1f85e0
GM
830 (read_char): When reading from Vunread_command_events, check for
831 events of the form (EVENT . disabled) instead of
832 (EVENT . nil).
833
18f9986a
GM
834 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
835 a float, determine the max height from the frame's height.
836
fbc7f2a6
GM
8372001-08-02 Gerd Moellmann <gerd@gnu.org>
838
839 * xdisp.c (redisplay_internal): Take message_cleared_p into
840 account only if minibuf_level == 0.
841
81b1a79d
GM
8422001-08-01 Gerd Moellmann <gerd@gnu.org>
843
e5c60873
GM
844 * xdisp.c (redisplay_internal): Add a check for the last
845 displayed message.
3452efc2 846
6e019995
GM
847 * xdisp.c (message_cleared_p): New variable.
848 (clear_message): Set message_cleared_p when clearing the current
849 message.
850 (redisplay_internal): Look at message_cleared_p to capture
851 the case that the echo area should be cleared.
852
308a74d8
GM
853 * keyboard.c (command_loop_1): Fix spelling of
854 resize_echo_area_exactly.
855
3452efc2 856 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
857
858 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
859
81b1a79d
GM
860 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
861 current matrix when the window gets smaller.
862
ada329e6
EZ
8632001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
864
865 * print.c (strout): Cast the character passed to insert_char to
866 unsigned char, to avoid sign extension when it is promoted to int.
867
ed86208c
GM
8682001-07-31 Gerd Moellmann <gerd@gnu.org>
869
870 * fileio.c (Finsert_file_contents): Don't treat a return value
871 of 0 from emacs_read as an IO error.
872
6594ac22
GM
8732001-07-30 Gerd Moellmann <gerd@gnu.org>
874
cef68af5
GM
875 * keyboard.c (abs): New macro.
876 (double_click_fuzz): New variable.
877 (make_lispy_event): Use it to determine what makes a double-click.
878 (syms_of_keyboard): DEFVAR_INT it.
879
6594ac22
GM
880 * xmenu.c (set_frame_menubar): Take into account that
881 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
882 <raeburn@gnu.org>.
883
75c5350a
GM
8842001-07-27 Gerd Moellmann <gerd@gnu.org>
885
886 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
887
888 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
889 of row's visible height.
890
891 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
892 deal with the first overlay string having an image `display' property.
893 (try_window_reusing_current_matrix, compute_line_metrics):
894 Fix computation of row's visible height for the case that part of the
75c5350a
GM
895 row is invisible above and part of the row is at the same time
896 invisible below the window.
897
ac49effe
GM
8982001-07-26 Gerd Moellmann <gerd@gnu.org>
899
900 * xfns.c (x-show-tip): Doc fix.
3452efc2 901
ac49effe
GM
902 * xfns.c (Vx_max_tooltip_size): New variable.
903 (syms_of_xfns): DEFVAR_LISP it.
904 (Fx_show_tip): Set frame's window_width to the width of the
905 window. Use a maximum tooltip size specified by
906 Vx_max_tooltip_size, if that has valid contents.
907 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 908
8c3b00cb
AI
9092001-07-26 Andrew Innes <andrewi@gnu.org>
910
911 * w32term.c (x_display_list): New variable.
912 (w32_term_init): Set it.
913
914 * w32term.h (x_display_list): New extern.
915
16098288
GM
9162001-07-26 Gerd Moellmann <gerd@gnu.org>
917
918 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
919 is non-nil, instead of when redisplaying_p is non-zero.
920 See comment there.
16098288
GM
921 (mark_window_display_accurate_1): Add an assertion.
922
64c5be50
GM
9232001-07-25 Gerd Moellmann <gerd@gnu.org>
924
e743f599
GM
925 * dispextern.h (struct it): Increase size of ctl_chars to 16.
926
563b384d
GM
927 * xfns.c (Fx_file_dialog): Block/unblock input while processing
928 events so that we get a chance of processing expose events.
929
64c5be50
GM
930 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
931
296808a5
GM
9322001-07-24 Gerd Moellmann <gerd@gnu.org>
933
934 * xfns.c (valid_image_p): Protect better against invalid image
935 specifications. Previous code could signal an error.
936
5247262a
GM
9372001-07-23 Gerd Moellmann <gerd@gnu.org>
938
3452efc2 939 * indent.c (current_column): Fix column computation in the
f1004faf
GM
940 presence of display table entries.
941 (current_column_1, Fmove_to_column, compute_motion): Likewise.
942
dd42b31a
GM
943 * dispnew.c (adjust_glyph_matrix): In the optimization for
944 windows whose height has changed, use the new window height
945 to compute which rows to invalidate.
946
9e5a7f2a
GM
947 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
948 (MAX_10_EXP): New macro.
949 (Fformat): Use it.
950
5247262a
GM
951 * coding.c (code_convert_region): Handle the multibyte case if
952 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
953
177ab8ce
GM
9542001-07-20 Gerd Moellmann <gerd@gnu.org>
955
6e07c0a5
GM
956 * dispextern.h (struct face): Change type of `stipple' to
957 int; it's an ID.
958
177ab8ce
GM
959 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
960
b5b80599
GM
9612001-07-19 Gerd Moellmann <gerd@gnu.org>
962
4e2a256b
GM
963 * dispnew.c (update_window): Don't set the cursor at the end
964 of the update if display update has been paused.
965
3452efc2 966 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 967
c1fd9232
KR
9682001-07-18 Ken Raeburn <raeburn@gnu.org>
969
970 * fns.c (Fset_char_table_default): Check that a charset is defined
971 before checking its dimension.
972
928a85c1
KR
9732001-07-17 Ken Raeburn <raeburn@gnu.org>
974
975 * coding.c (setup_coding_system): Don't do any designation based
976 on reg_bits if charset is not yet defined.
977
fb4c6c96 978 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
979 pointer, using eassert.
980
de11c1ea
GM
9812001-07-17 Gerd Moellmann <gerd@gnu.org>
982
3452efc2
SM
983 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
984 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 985
467f1209
GM
9862001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
987
988 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
989
c3d6be34
GM
9902001-07-16 Gerd Moellmann <gerd@gnu.org>
991
c1d61a7d
GM
992 * fileio.c (unwind_read): Function removed.
993 (read_non_regular, read_non_regular_quit): New functions.
994 (Finsert_file_contents): When reading from non-regular files,
995 arrange to catch a `quit' and terminate the loop. Rearrange
996 code so that a `quit' when reading from a regular file doesn't
997 insert text in the buffer.
998
c3d6be34
GM
999 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1000 Clear faces afterwards.
1001 (clear_font_table): Take a x_display_info parameter. Don't free
1002 fonts being the default font of any frame on the given display.
1003
e06aa1f9
GM
10042001-07-13 Gerd Moellmann <gerd@gnu.org>
1005
1006 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1007 instead of CHAR_STRING which can signal an error.
1008
1009 * charset.c (char_to_string_1): Extracted from char_to_string.
1010 Return -1 instead of signaling an error.
1011 (char_to_string): Use it.
1012
1013 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1014
176c92e6
SM
10152001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1016
1017 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1018 is t, don't try to append anything to it.
1019
1c56232f
EZ
10202001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1021
1022 * dired.c (file_name_completion): Pass dp->d_name to
1023 Fstring_match, not elt, which is always nil here.
1024
1d2b2268
GM
10252001-07-12 Gerd Moellmann <gerd@gnu.org>
1026
1027 * xselect.c (x_decline_selection_request): Handle errors
1028 caused by receivers that have vanished.
1029
1030 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1031 ignoring events on foreign windows in #if 0. Always dispatch
1032 the event after checking it with x_handle_property_notify.
1033
1034 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1035 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1036 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1037 (toplevel): Add prototypes for file-local functions.
1038 (x_atom_to_symbol): Remove DPYINFO parameter.
1039
fe5a0162
SM
10402001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1041
1042 * w32menu.c (menubar_selection_callback, w32_menu_show):
1043 Initialize `entry' to nil.
1044 (w32_dialog_show): Remove unused `save_wv' variable.
1045 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1046
a777242c
GM
10472001-07-11 Gerd Moellmann <gerd@gnu.org>
1048
8ee5b6a3
GM
1049 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1050
d0e2444e
GM
1051 * fileio.c (unwind_read): Print a message when discarding inserted
1052 text or switching the buffer to unibyte. Change parameter.
1053 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1054
a777242c
GM
1055 * fileio.c (unwind_read): New function.
1056 (Finsert_file_contents): Record it as unwind-function for
1057 the case that reading is interrupted by C-g.
1058
ae794295
GM
10592001-07-10 Gerd Moellmann <gerd@gnu.org>
1060
fe5a0162 1061 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1062 update when scrolling_window returns 0.
1063
6b05fae3
GM
1064 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1065
1066 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1067 for the case that x_decode_color signals an error.
6b05fae3 1068
ae794295
GM
1069 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1070
bb6e8cee
GM
10712001-07-09 Gerd Moellmann <gerd@gnu.org>
1072
1073 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1074 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1075 around ioctls.
1076
36b40a8a
EZ
10772001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1078
24b97d4b
EZ
1079 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1080 doc string line for dos-timezone-offset.
1081
36b40a8a
EZ
1082 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1083 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1084 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1085 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1086
1087 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1088
0967b4b0
GM
10892001-07-05 Gerd Moellmann <gerd@gnu.org>
1090
f25cfe53
GM
1091 * sound.c: Include Emacs' header files with #include "...".
1092
0967b4b0
GM
1093 * eval.c (specbind): Additionally record the buffer that was
1094 current when a buffer-local or frame-local variable was bound.
1095
c347a1c3
GM
10962001-07-04 Gerd Moellmann <gerd@gnu.org>
1097
1098 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1099 to unibyte characters in unibyte buffers.
1100
6332ca8a
GM
11012001-07-03 Gerd Moellmann <gerd@gnu.org>
1102
38472d44
GM
1103 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1104 the frame on the binding stack. Change format of entries for
1105 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1106 (unbind_to): Handle unbinding a frame-local variable.
1107
6332ca8a 1108 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1109 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1110 (dump_glyph_row): Print row's continuation_lines_width.
1111 (try_window_id): Take the shortcut if ZV is visible in the
1112 window, but there are actually no changes at ZV.
1113
63d1b174
GM
11142001-07-02 Gerd Moellmann <gerd@gnu.org>
1115
4c175203
GM
1116 * xterm.h (x_free_dpy_colors): Add prototype.
1117
1118 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1119 right number of arguments.
1120
0b54ce28
GM
1121 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1122 ($(lwlibdir)TAGS): New target.
4c175203 1123 (TAGS): Fix dependency list.
0b54ce28 1124
63d1b174
GM
1125 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1126 with input blocked.
1127
d827466c
GM
11282001-06-30 Gerd Moellmann <gerd@gnu.org>
1129
1130 * emacs.c (main): Remove extern declaration for sys_nerr, which
1131 isn't used and causes a compilation error with GCC 3.0 on
1132 FreeBSD 4.3.
1133
b5cb1ada
GM
11342001-06-27 Gerd Moellmann <gerd@gnu.org>
1135
a5d3ec3f 1136 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1137 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1138 (toplevel): Include <signal.h> and syssignal.h.
1139
b5cb1ada
GM
1140 * sound.c (vox_configure, vox_close): Turn off atimers
1141 around ioctls.
1142
d9bad487
GM
11432001-06-26 Gerd Moellmann <gerd@gnu.org>
1144
fdbb67fe
GM
1145 * keyboard.c (read_char) <non_reread>: Record the previous idle
1146 start time before calling timer_stop_idle.
1147 (read_char) <reread_first>: After processing a help-echo event,
1148 restore the previous idle start time.
1149
d9bad487
GM
1150 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1151 the start of invisible text.
1152 (setup_for_ellipsis): New function.
1153 (next_overlay_string): After all overlay strings have been
1154 processed, display an ellipsis if necessary.
1155 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1156 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1157
1158 * dispextern.h (struct iterator_stack_entry): Add member
1159 display_ellipsis_p.
1160
2b9c25e0
GM
11612001-06-25 Gerd Moellmann <gerd@gnu.org>
1162
80de57df
GM
1163 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1164 on the value of the wait-for-wm frame parameter.
1165
1166 * xterm.h (struct x_output): Add member wait_for_wm.
1167
1168 * xfns.c (Qwait_for_wm): New variable.
1169 (x_frame_parms): Add entry for `wait-for-wm".
1170 (x_set_wait_for_wm): New function.
1171 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1172 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1173
2b9c25e0
GM
1174 * xdisp.c (try_window_id) <all changes below window end>: Don't
1175 take this shortcut if ZV is visible in the window.
1176 (try_window_id): When checking for window start being in changed
1177 text, don't check that the buffer's size has changed.
1178
f772775c
RS
11792001-06-23 Richard M. Stallman <rms@gnu.org>
1180
1181 * minibuf.c (Fcompleting_read): Doc fix.
1182
fa9090b8
GM
11832001-06-19 Gerd Moellmann <gerd@gnu.org>
1184
1185 * composite.c (Ffind_composition_internal): Accept ZV
1186 and a string's end position as POS.
1187
f6f1beba
GM
11882001-06-18 Gerd Moellmann <gerd@gnu.org>
1189
1190 * composite.c (Ffind_composition_internal): Check POS
1191 for validity.
1192
0ae83348
EZ
11932001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1194
1195 * editfns.c (Fmessage_box): If the frame is not under a window
1196 system, output the message in the echo area.
1197
e4cdc335
RS
11982001-06-14 Richard M. Stallman <rms@gnu.org>
1199
1200 * xdisp.c (try_window_id): When EOB is visible, don't treat
1201 insertion at EOB as if it were "off the bottom of the screen."
1202
a55a5f3c
AI
12032001-06-11 Andrew Innes <andrewi@gnu.org>
1204
1205 * w32proc.c (create_child): Add new parameter is_gui_app.
1206 (w32_executable_type): Add new parameter is_gui_app.
1207 (sys_spawnve): Use it.
1208 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1209 SIGQUIT. This matches better how the signals are interpreted by
1210 MSVC compiled programs.
1211 (syms_of_ntproc): Update docstring.
1212
1b85dc1c
SM
12132001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1214
1215 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1216 well otherwise note_mouse_highlight might optimize away highlighting
1217 if we pass over that same overlay again.
1218
b75f8eab
EZ
12192001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1220
1221 * lread.c (Fload): Document that the argument is run via
1222 substitute-in-file-name.
1223
94843cc1
GM
12242001-05-31 Gerd Moellmann <gerd@gnu.org>
1225
b14659e6
GM
1226 * Makefile.in (bootstrap-doc): New target.
1227 (bootstrap-emacs): Depend on it.
1228
0894672f
GM
1229 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1230 auto-save-list-file-name when shutting down Emacs, because
1231 creating the directory might signal an error, and leaves
1232 Emacs in a strange state.
1233
94843cc1
GM
1234 * term.c: (tty_cursor_hidden): New variable.
1235 (update_begin): Don't call tty_hide_cursor. Clean up.
1236 (update_end, set_terminal_window, set_scroll_region): Clean up.
1237 (ring_bell, reset_terminal_modes): Clean up.
1238 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1239 on tty_cursor_hidden.
1240 (write_glyphs): Call tty_hide_cursor.
1241
db3a49a6
SM
12422001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1243
1244 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1245
8bd189fb
GM
12462001-05-30 Gerd Moellmann <gerd@gnu.org>
1247
6f1be3b9
GM
1248 * xfns.c (enum image_value_type): New enumerator
1249 IMAGE_STRING_OR_NIL_VALUE.
1250 (parse_image_spec): Handle it.
1251 (xbm_format, pbm_format): Use it for :foreground and :background.
1252 (xbm_load, pbm_load): Check for nil color names.
1253
8bd189fb
GM
1254 * xterm.c (note_mouse_highlight): If an overlapping overlay
1255 exists, but we find that we highlight the same overlay as before,
1256 don't do the highlighting again.
1257
7bdba03c
GM
12582001-05-29 Gerd Moellmann <gerd@gnu.org>
1259
4c329aa8
GM
1260 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1261 Protect unibyte strings created by replacing their multibyte
1262 equivalents in menu_items.
1263
e15e2828
GM
1264 * keymap.c (Fsingle_key_description): NUL-terminate the string
1265 buffer before calling build_string.
1266
7bdba03c
GM
1267 * callproc.c (Fcall_process): Deal with decode_coding returning
1268 CODING_FINISH_INCONSISTENT_EOL.
1269
89c8dc6c
GM
12702001-05-28 Gerd Moellmann <gerd@gnu.org>
1271
db3a49a6 1272 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1273 an item's name with its key description in case the description
1274 is a multibyte string.
1275
1276 * keymap.c (Fsingle_key_description): Create a multibyte string
1277 only if necessary.
1278
eb04d6cd
GM
1279 * macros.c (Fstart_kbd_macro): Doc fix.
1280
8bd6307f
GM
1281 * xterm.c (cursor_in_mouse_face_p): New function.
1282 (x_draw_stretch_glyph_string): Use it to choose a different GC
1283 when drawing a cursor within highlighted text.
1284
e26c4089
GM
1285 * editfns.c (char_property_eq): Put in #if 0.
1286
1287 * indent.c (string_display_width): Put in #if 0.
1288
1289 * lread.c (Fload): Remove unused label.
1290
89c8dc6c
GM
1291 * termcap.c (speeds): Put in #if 0.
1292
9a1211f2
GM
12932001-05-18 Gerd Moellmann <gerd@gnu.org>
1294
29148a3f
GM
1295 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1296
9a1211f2
GM
1297 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1298 transformation matrix by 10.
1299
09393d07
GM
13002001-05-16 Gerd Moellmann <gerd@gnu.org>
1301
1302 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1303 only if it's equal to the former foreground pixel color.
db3a49a6 1304 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1305 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1306
460e6bae
GM
13072001-05-16 Dave Love <fx@gnu.org>
1308
1309 * insdel.c (signal_before_change, signal_after_change): Consider a
1310 local change hook which changes the buffer.
99c78ce8
GM
1311
1312 * process.c (read_process_output): Don't call signal_after_change
1313 and update_compositions after insert_from_string_before_markers.
1314
dbcf3c03
GM
13152001-05-16 Gerd Moellmann <gerd@gnu.org>
1316
a90b3d3c
GM
1317 * xfaces.c (split_font_name): Use the right field when
1318 checking for `[...]' syntax.
1319
1b7818b4
GM
1320 * buffer.c (copy_overlays): New function.
1321 (clone_per_buffer_values): Use it.
1322
1323 * buffer.h (OVERLAY_PLIST): New macro.
1324
9bae8781
GM
1325 * keymap.c (Fsingle_key_description): Replace a build_string with
1326 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1327
dbcf3c03
GM
1328 * fontset.c (Ffontset_info): Check that face is non-null
1329 before accessing its fields.
1330
8a1ae4dd
GM
13312001-05-15 Gerd Moellmann <gerd@gnu.org>
1332
18a0a39e
GM
1333 * keyboard.c (read_key_sequence): Prevent generating a fake
1334 prefix key twice.
1335
e335b66a
GM
1336 * xfaces.c (split_font_name): Handle `[...]' for the right
1337 font name fields.
1338
8a1ae4dd
GM
1339 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1340 of CCL_STAT_INVALID_CMD.
1341
3cf80731
SM
13422001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1343
33568849
SM
1344 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1345 in <var> has no default value yet.
1346
3cf80731
SM
1347 * xfaces.c (try_alternative_families): First try the FAMILY.
1348 And if nothing is found in the end, try again with scalable fonts.
1349 (try_font_list): Let try_alternative_families do a bit more of
1350 the work. Only use FAMILY if it is not nil.
1351 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1352
933b0249
GM
13532001-05-14 Gerd Moellmann <gerd@gnu.org>
1354
58e5af83
GM
1355 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1356 pointer shape when show_mouse_face has already done it.
33568849 1357
58e5af83 1358 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1359 full-width rows.
1360
7b16a6bf
GM
1361 * xfaces.c (split_font_name): Make sure to leave the loop
1362 with the right value of `i'.
3cf80731 1363
933b0249
GM
1364 * xfaces.c (split_font_name): Handle matrix transformations
1365 in the pixel and point size fields of XLFD font names.
1366 (xlfd_point_size): Likewise.
1367
dddcbf00
EZ
13682001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1369
3cf80731 1370 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1371 (x_to_w32_font): Add prototype.
1372
7689ef0b
EZ
1373 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1374 redefining, to avoid compiler warnings.
1375
e7c15bba
EZ
1376 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1377
dddcbf00
EZ
1378 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1379 (w32_get_bdf_glyph): Cast between unsigned char and char when
1380 passing arguments to subroutines, to shut up compiler warnings.
1381 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1382 GET_HEX_VAL.
1383
1384 * xfaces.c: Include keyboard.h before frame.h, not after it.
1385
1386 * widget.c: Include keyboard.h before frame.h.
1387
1388 * w32term.h (struct image, struct face): Forward declaration, to
1389 avoid compiler warnings.
1390
7bd2d083
GM
13912001-05-11 Gerd Moellmann <gerd@gnu.org>
1392
47e72862
GM
1393 * keyboard.c (read_key_sequence): Don't modify events when
1394 generating fake prefix keys (mode-line, scroll-bar, ...) since
1395 this prevents proper processing of such events when pushed back
1396 into unread-command-events.
1397
dd5f324b
GM
1398 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1399 actually redrawn. Make the function static.
1400 (note_mouse_highlight): Fix a case where the mouse cursor
1401 was changed back to the text cursor.
1402
1403 * xterm.h (clear_mouse_face): Remove prototype.
1404
d88a79d4
GM
1405 * xdisp.c (try_window_id): Fix the fix and set the right
1406 window_end_vpos.
1407
1408 * xdisp.c (try_window_id): Fix computation of window end in the
1409 case that lines were deleted at the end of the window. Add some
1410 more debug_method_adds.
0416532f 1411
7bd2d083
GM
1412 * xfaces.c (try_alternative_families): New function.
1413 (try_font_list): Use it. If ATTRS specifies a family, check
1414 fonts from that family first.
1415 (choose_face_font): Remove code setting the family part of
1416 the pattern to nil.
1417
23fca891
GM
14182001-05-10 Gerd Moellmann <gerd@gnu.org>
1419
ff9aa2ca
GM
1420 * xdisp.c (try_window_id): Fix case of all changes before
1421 the window start.
7b2654b5 1422
23fca891
GM
1423 * xdisp.c (try_window_id): Add some xasserts.
1424
e9726794
GM
14252001-05-09 Gerd Moellmann <gerd@gnu.org>
1426
1427 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1428
9e53a675
GM
14292001-05-09 Dave Love <fx@gnu.org>
1430
1431 * xdisp.c (GIVE_UP): Fix for K&R C.
1432
0d487c52
GM
14332001-05-09 Gerd Moellmann <gerd@gnu.org>
1434
fe88d421
GM
1435 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1436
0d487c52
GM
1437 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1438 back to the text cursor shape without need.
1439
1e9fc92e
GM
14402001-05-07 Gerd Moellmann <gerd@gnu.org>
1441
a2a6232e
GM
1442 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1443
1444 * dispextern.h (inverse_video): Declare extern.
1445
1e9fc92e
GM
1446 * keyboard.c (delete_kboard): Handle the case that selected_frame
1447 has been deleted in the course of x_connection_closed.
1448
12949a7f
EZ
14492001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1450
7b2654b5
SM
1451 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1452 Fix the change from 2001-04-30.
12949a7f 1453
2fa2f461
GM
14542001-05-03 Gerd Moellmann <gerd@gnu.org>
1455
a779d213
GM
1456 * xfns.c (file_dialog_unmap_cb): New function.
1457 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1458 where a dialog is closed via the window manager.
1459
7b2654b5 1460 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1461 the window start or all below the window end mostly rewritten.
1462 (redisplay_window): Move the tests if try_window_id is
1463 applicable to try_window_id.
1464 (GIVE_UP): New macro.
1465
3356df63
GM
14662001-05-02 Gerd Moellmann <gerd@gnu.org>
1467
a39202f6 1468 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1469 currently being updated, mark the frame garbaged.
1470 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1471 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1472
3356df63
GM
1473 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1474 again if it has already been drawn.
1475
a9d2fd1d
SM
14762001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1477
1478 * syntax.c (update_syntax_table): Check that oldi has the same
1479 properties as old_prop before deciding not to invalidate.
1480
c95fc5f1
GM
14812001-04-30 Gerd Moellmann <gerd@gnu.org>
1482
a9793e45
GM
1483 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1484 read-only text that is so because of text properties.
1485
c95fc5f1 1486 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1487 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1488 windows that are components of a Lucid menu bar.
1489
5a5d9185
GM
14902001-04-27 Gerd Moellmann <gerd@gnu.org>
1491
1492 * term.c (turn_on_face): Fix reverse video handling on terminals
1493 that don't support colors.
1494
ba973f7a
GM
14952001-04-26 Gerd Moellmann <gerd@gnu.org>
1496
1497 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1498 a non-buffer.
1499
8c56a983
GM
15002001-04-25 Gerd Moellmann <gerd@gnu.org>
1501
a728644c
GM
1502 * term.c (toggle_highlight): New function.
1503 (turn_on_face): Change handling of reverse video.
1504
7b2654b5
SM
1505 * process.c (wait_reading_process_input):
1506 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1507
bfd8410f
GM
1508 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1509 of the number of overlays to check.
1510
be2488ca
GM
1511 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1512
8c56a983
GM
1513 * xdisp.c (try_window_id): Fix a case where window_end_pos
1514 and window_end_bytepos were not adjusted.
1515
522d42f7
GM
15162001-04-23 Gerd Moellmann <gerd@gnu.org>
1517
1518 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1519 zero instead of -1.
1520
78c1afb6
EZ
15212001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1522
a9d2fd1d
SM
1523 * process.c (wait_reading_process_input) [!subprocesses]:
1524 Don't reference waiting_for_user_input_p, it's not defined in the
1525 branch without async subprocesses support.
78c1afb6 1526
a2fab450
GM
15272001-04-19 Gerd Moellmann <gerd@gnu.org>
1528
a122a38e
GM
1529 * keyboard.c (delete_kboard): Prevent a dangling reference
1530 from current_kboard to KB, which is freed.
1531
a9d2fd1d
SM
1532 * process.c (wait_reading_process_input):
1533 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1534 read_key_sequence aware of buffer changes from under it.
1535
0f8d6dc7
GM
15362001-04-18 Gerd Moellmann <gerd@gnu.org>
1537
eeffb293
GM
1538 * xfaces.c (Qscalable_fonts_allowed): New variable.
1539 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1540 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1541 removed.
eeffb293 1542 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1543 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1544 for scalable-fonts-allowed to t.
eeffb293 1545
0f8d6dc7
GM
1546 * fileio.c (Finsert_file_contents): If the file size returned from
1547 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1548 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1549
eec2d1de
EZ
15502001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1551
1552 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1553 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1554 (__memalign_hook): Make the two prototypes consistent.
1555
f4f480bd
GM
15562001-04-17 Gerd Moellmann <gerd@gnu.org>
1557
1558 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1559 matrix of mini-windows.
1560
52283633
SM
15612001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1562
1563 * intervals.c (find_interval): Don't rebalance during signal handling.
1564
ec2423c9
GM
15652001-04-11 Gerd Moellmann <gerd@gnu.org>
1566
30cb0001 1567 * fns.c: Include blockinput.h.
52283633 1568
ec2423c9
GM
1569 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1570
719d83ad
GM
15712001-04-10 Gerd Moellmann <gerd@gnu.org>
1572
60f8d735
GM
1573 * fns.c (Fcompare_strings): Fix return values.
1574
afffeb57
GM
1575 * window.c (window_scroll): Change the meaning of N to mean
1576 N screen-fulls or N lines.
1577 (window_scroll_pixel_based, window_scroll_line_based)
1578 (scroll_command, Fscroll_other_window): Change accordingly.
1579
52283633
SM
1580 * window.c (window_scroll_pixel_based, Frecenter):
1581 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1582 height of the window.
1583
1584 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1585 instead of using it.last_visible_y for the height of the window.
52283633 1586
719d83ad 1587 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1588 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1589
1590 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1591 able to write to hidden and system files. From Dan Holmsand
1592 <dan@eyebee.com>.
719d83ad 1593
8ddf3ee1
GM
1594 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1595 Holmsand <dan@eyebee.com>.
719d83ad 1596
522ed7fb
GM
15972001-04-09 Gerd Moellmann <gerd@gnu.org>
1598
9170e5d4
GM
1599 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1600
522ed7fb
GM
1601 * window.c (window_internal_height): Return 1 less if the
1602 window has a header line.
1603
1604 * xdisp.c (try_window_id): When scrolling on a terminal, take
1605 the change of window_internal_height into account.
1606
ceeb3d7d
EZ
16072001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1608
1609 * gmalloc.c (align): If the argument SIZE would overflow
1610 __malloc_ptrdiff_t, fail right away.
1611
63685b9d
GM
16122001-04-06 Gerd Moellmann <gerd@gnu.org>
1613
1614 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1615 Make sure the tooltip is completely visible.
1616 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1617
1618 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1619
1620 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1621
3ffb33bb
DL
16222001-04-06 Dave Love <fx@gnu.org>
1623
52283633
SM
1624 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1625 Fix test of `from'.
3ffb33bb 1626
869fb12c
GM
16272001-04-06 Gerd Moellmann <gerd@gnu.org>
1628
52283633 1629 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1630
869fb12c
GM
1631 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1632
441bf856
GM
16332001-04-05 Gerd Moellmann <gerd@gnu.org>
1634
4d664b04
GM
1635 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1636
52283633 1637 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1638
30ca89f5
GM
1639 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1640 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1641
1642 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1643 shell widget's position only if it is non-null.
1644
52283633
SM
1645 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1646 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1647
81a81c0f
GM
1648 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1649 FILENAME to bring it in synch with the documentation.
1650
441bf856
GM
1651 * xfaces.c (realizing_basic_faces_p): Renamed from
1652 realize_default_face_p.
1653 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1654 (realize_default_face): Don't set the flag.
1655
702a1e8e
GM
16562001-04-04 Gerd Moellmann <gerd@gnu.org>
1657
1013f4e3
GM
1658 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1659
52283633
SM
1660 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1661
1013f4e3
GM
1662 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1663 the buffer that was used for echoing.
1664
702a1e8e
GM
1665 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1666 (first_font_matching): Removed unused function.
1667 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1668 (may_use_scalable_font_p): Remove parameter FONT; rename
1669 parameter NAME to FONT.
1670 (x_face_list_fonts): Fix missing bounds check.
1671 (realizing_default_face_p): New variable.
1672 (realize_default_face): Set and clear that flag.
1673 (x_face_list_fonts): When called during the realization of the
1674 default face, and no matching fonts are found when ignoring
1675 scalable fonts and fonts matching a regexp from
1676 face-ignored-fonts, try without ignoring fonts.
1677
f9dbcda4
GM
16782001-04-03 Gerd Moellmann <gerd@gnu.org>
1679
ad18ffb1
GM
1680 * xfns.c (postprocess_image): New function.
1681 (lookup_image): Call it for all image types except PostScript.
1682 (x_kill_gs_process): Call postprocess_image.
1683
f9dbcda4
GM
1684 * xterm.c (x_use_underline_position_properties): New variable.
1685 (x_draw_glyph_string): Use it.
1686 (syms_of_xterm): DEFVAR_BOOL it.
1687
651f03b6
GM
16882001-04-02 Gerd Moellmann <gerd@gnu.org>
1689
1690 * xterm.c (x_alloc_nearest_color_1): New function.
1691 (x_alloc_nearest_color): Use it.
1692 (x_color_cells): Take a Display as argument, instead of a frame.
1693 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1694 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1695 (x_initialize): Register cvt_string_to_pixel as resource converter
1696 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1697
73d75a62
GM
16982001-03-30 Gerd Moellmann <gerd@gnu.org>
1699
b2046df8
GM
1700 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1701 (set_iterator_to_next): If a string from a display property ends,
1702 consider the case that this might also be the end of an
1703 overlay string having the display property.
1704
52283633 1705 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1706
87d8eba4
GM
1707 * xdisp.c (reseat_to_string): Undo last change.
1708
73d75a62
GM
1709 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1710 matrix of a window when the header line changes, when
1711 new rows are allocated, or when the width changes.
1712
911a2406
EZ
17132001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1714
52283633 1715 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1716
aea51abe
EZ
17172001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1718
1719 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1720 deprecated.
1721
176bc847
GM
17222001-03-29 Gerd Moellmann <gerd@gnu.org>
1723
ed31fabf
GM
1724 * data.c (Fsubr_interactive_form): New function.
1725 (syms_of_data): Defsubr it.
1726
176bc847
GM
1727 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1728 (live_float_p, live_misc_p): Return 1 only if the offset of the
1729 pointer in its block is >= 0.
1730
e59d0e9d
GM
17312001-03-28 Paul Eggert <eggert@twinsun.com>
1732
1733 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1734 microseconds calcuation. Avoid double-rounding problem.
1735 In doc string, warn that the result is approximate.
1736
f827b862
GM
17372001-03-28 Gerd Moellmann <gerd@gnu.org>
1738
30a3f61c
GM
1739 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1740 bind `inhibit-eval-during-redisplay' to t.
1741
1742 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1743
1744 * xdisp.c (inhibit_eval_during_redisplay)
1745 (Qinhibit_eval_during_redisplay): New variables.
1746 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1747 don't eval, return nil instead.
1748 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1749 Initialize Qinhibit_eval_during_redisplay.
1750
e719f5ae
GM
1751 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1752 the iterator's multibyte_p flag.
1753
deb2613a
GM
1754 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1755 instead of setting it to zero; it's incremented for each frame
1756 where the menu face is changed.
1757
52283633
SM
1758 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1759 change bottom shadow accordingly.
1760
1761 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1762 intersections here.
1763 (expose_window): Do it here instead.
52283633 1764 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1765
f827b862
GM
1766 * bytecode.c (BYTE_CODE_QUIT): New macro.
1767 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1768
4bde0ebb
GM
17692001-03-27 Gerd Moellmann <gerd@gnu.org>
1770
607ec83c
GM
1771 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1772 Give up if matrix starts in an ellipsis.
1773 (init_from_display_pos): Do nothing if POS doesn't specify
1774 a dpvec_index but the iterator has such a position.
1775
0245398f
GM
1776 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1777
aba25348
GM
1778 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1779 x/y position is (0, 0) after destroying the menu bar, restore
1780 its original position.
1781
4bde0ebb
GM
1782 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1783 (init_from_display_pos): Use it.
1784 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1785
8cdb267e
GM
17862001-03-26 Gerd Moellmann <gerd@gnu.org>
1787
1788 * xdisp.c (try_window_id): Undo last change.
1789
9948db79
EZ
17902001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1791
1792 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1793
1794 * buffer.c (syms_of_buffer): Doc fix.
1795
2eddf899
GM
17962001-03-26 Gerd Moellmann <gerd@gnu.org>
1797
1798 * xfaces.c (x_update_menu_appearance): Use local variable
1799 popup_path for setting font resources.
1800
6c145d35
EZ
18012001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1802
6a65b1b5
EZ
1803 * frame.c (Fframe_list): Don't reference tip_frame if
1804 HAVE_WINDOW_SYSTEM is not defined.
1805
6c145d35
EZ
1806 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1807 <wl@gnu.org>.
1808
d74c1900
GM
18092001-03-25 Gerd Moellmann <gerd@gnu.org>
1810
20fbd925
GM
1811 * xdisp.c (init_from_display_pos): Test invisible property
1812 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1813
927c5b3b
GM
1814 * xdisp.c (redisplay_internal) <update one window>: Make sure
1815 last_arrow_position and last_arrow_string are set.
1816
d74c1900
GM
1817 * frame.c (Fframe_list): Don't return a tooltip frame.
1818
091f8878
GM
18192001-03-23 Gerd Moellmann <gerd@gnu.org>
1820
52283633
SM
1821 * xdisp.c (mark_window_display_accurate_1): New function,
1822 extracted from mark_window_display_accurate.
1823 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1824 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1825 (mark_window_display_accurate): Use it.
1826 (redisplay_internal): Use it for the selected window.
1827 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1828 for the selected frame.
1829
ac90c44f
GM
1830 * xdisp.c Use make_number, for readability.
1831 (try_window_id): Disable rows below the window end.
1832 (try_window_reusing_current_matrix): Use cursor_row_p.
1833 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1834 of rows.
1835 (init_from_display_pos): If POS specifies a position in a display
1836 vector, maybe get the iterator set up for that ellipsis.
43c09969 1837
091f8878
GM
1838 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1839
991786dd
EZ
18402001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1841
1842 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1843
6c29b43c
GM
18442001-03-23 Gerd Moellmann <gerd@gnu.org>
1845
1846 * xfaces.c (x_update_menu_appearance): Use a different path
1847 for Lucid popup menus.
1848
d8731202
SM
18492001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1850
1851 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1852
1853 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1854 (string_buffer_position): Use `make_number'.
1855
f61a541b
GM
18562001-03-22 Gerd Moellmann <gerd@gnu.org>
1857
3c9e997b
GM
1858 * xfaces.c (x_update_menu_appearance): Renamed from
1859 x_set_menu_face_resources. Use different resources for popups.
1860
1861 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1862 (GC_CHECK_STRING_BYTES): Don't define.
1863
364cd450
GM
1864 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1865 Removed, together with subroutines.
1866 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1867 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1868
d8731202
SM
1869 * dispextern.h (x_set_menu_resources_from_menu_face):
1870 Remove prototype.
364cd450 1871
d8731202 1872 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1873 Remove calls to x_set_menu_resources_from_menu_face.
1874
d8731202
SM
1875 * xfaces.c (xm_set_menu_resources_from_menu_face):
1876 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1877
1878 * xmenu.c: Include widget.h.
1879 (single_submenu): Return int. Some cleanup.
1880 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1881
140330de
GM
18822001-03-21 Gerd Moellmann <gerd@gnu.org>
1883
1884 * xterm.c (x_update_window_end): Handle overwritten mouse face
1885 also for tool bar windows.
1886 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1887 DRAW is DRAW_IMAGE_RAISED.
1888
1741905c
GM
18892001-03-20 Gerd Moellmann <gerd@gnu.org>
1890
fa88947e
GM
1891 * print.c (syms_of_print): Doc fixes.
1892
1741905c
GM
1893 * fns.c (Fmd5): Doc fix.
1894
ade0bee1
GM
18952001-03-19 Gerd Moellmann <gerd@gnu.org>
1896
357e7376
GM
1897 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1898 Clear area of the frame not occupied by the scroll bar.
1899
c2c097cc
GM
1900 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1901 tip frame's root window buffer to *tip* right after creating
1902 the frame.
1903
ade0bee1
GM
1904 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1905 is an integer don't have to be for space characters.
1906
88c6e37e
GM
19072001-03-16 Gerd Moellmann <gerd@gnu.org>
1908
52283633
SM
1909 * indent.c (current_column, current_column_1, Fmove_to_column)
1910 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1911
c62eed76
KH
19122001-03-15 Kenichi Handa <handa@etl.go.jp>
1913
1914 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1915 drawing glyph string.
1916
c899e7e6
GM
19172001-03-15 Gerd Moellmann <gerd@gnu.org>
1918
d0bbfc99
GM
1919 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1920 (command_loop_1): Undo last change.
1921
03d1a189
GM
1922 * xterm.c (fast_find_position): Return the correct vpos.
1923
c899e7e6 1924 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1925 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1926 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1927 Call store_symval_forwarding with BUF null.
1928 (set_internal): Call store_symval_forwarding with the BUF
1929 parameter passed to set_internal. Formerly, the value was always
1930 set in the current buffer; the buffer recorded in specbind for
1931 this case wasn't used.
1932 (arith_driver): Reindent.
1933
52283633
SM
1934 * buffer.c (swap_out_buffer_local_variables):
1935 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1936
1937 * lisp.h (store_symval_forwarding): Change prototype.
1938
1939 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1940
57ac7c81
GM
19412001-03-14 Gerd Moellmann <gerd@gnu.org>
1942
697617d9
GM
1943 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1944 FOR_DELETION. Avoid resizing the mini-window of the selected
1945 frame if FOR_DELETION is set.
1946 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1947 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1948 signature.
1949
1950 * window.c (Fset_window_configuration): Change call to
1951 do_switch_frame to new format.
1952
1953 * keyboard.c (quit_throw_to_read_char): Change call to
1954 do_switch_frame to new format.
1955
1956 * lisp.h (do_switch_frame): Change prototype.
1957
819dce0f
GM
1958 * frame.c (Fframe_parameters): In the `buffer-list' frame
1959 parameter, store the buffer list of FRAME, not the list of the
1960 selected frame.
1961
57ac7c81
GM
1962 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1963 box just because the glyph row's full_width_p flag is set.
1964
65008712
GM
19652001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1966
1967 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1968 skip the padding blanks inserted in extend_face_to_end_of_line,
1969 before checking for trailing whitespace.
1970
159cf431
GM
19712001-03-13 Gerd Moellmann <gerd@gnu.org>
1972
52283633 1973 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1974 Remove special handling for LessTif/Motif.
1975 (toplevel): Don't include Xm/Xm.h.
1976
52283633
SM
1977 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1978 Remove workaround code for LessTif; it doesn't work anymore.
1979
2564ea1b 1980 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1981 Xm/ScrollBarP.h.
afcdc0a1 1982
52283633
SM
1983 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1984 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1985 contemporary LessTif.
1986
52283633
SM
1987 * xfaces.c (xm_set_menu_resources_from_menu_face):
1988 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1989
159cf431
GM
1990 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1991 removing button grabs.
1992
c6f7429a
KH
19932001-03-13 Kenichi Handa <handa@etl.go.jp>
1994
cb82d767
KH
1995 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1996 and clip-large-size-font as obsolete.
1997
c6f7429a
KH
1998 * lread.c (read_multibyte): Check the validity of multibyte
1999 sequence. If invalid, return the first byte.
2000
760cefb5
GM
20012001-03-12 Gerd Moellmann <gerd@gnu.org>
2002
2003 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2004 before running the command; timer functions or process
2005 filters may have set it.
2006
5141f9d0
EZ
20072001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2008
2009 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2010 Doc fix.
2011
b6a15240
GM
20122001-03-12 Gerd Moellmann <gerd@gnu.org>
2013
2014 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2015 to sprintf.
2016
95522746
GM
20172001-03-09 Gerd Moellmann <gerd@gnu.org>
2018
db14cfc5
GM
2019 * dispextern.h (string_buffer_position): Add prototype.
2020
52283633 2021 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2022 (single_display_prop_string_p): New functions.
2023
2024 * xterm.c (note_mouse_highlight): If there's no help-echo on
2025 a string, look at the buffer text ``under'' it.
2026
2027 * keyboard.c (make_lispy_event): Add string info to the event,
2028 analogous to what's done on mode lines.
2029 (read_key_sequence): For a click on a string, consider `local-map'
2030 and `keymap' of that string.
2031
52283633
SM
2032 * keyboard.c (make_lispy_event, make_lispy_movement):
2033 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2034
2035 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2036
2037 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2038 POS; return void.
2039
95522746
GM
2040 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2041 flags argument to emacs_open; it seems to conflict with O_EXCL.
2042
898a399d
KH
20432001-03-09 Kenichi Handa <handa@etl.go.jp>
2044
28cd4910
KH
2045 * composite.h (struct composition): Change types of members;
2046 glyph_len to unsigned, width to unsigned short.
898a399d 2047
4cdf6a6c
AI
20482001-03-08 Andrew Innes <andrewi@gnu.org>
2049
2050 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2051 menu titles.
2052
129004d3
GM
20532001-03-08 Gerd Moellmann <gerd@gnu.org>
2054
221dd3e7
GM
2055 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2056 instead of nil.
2057
52283633 2058 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2059 help-echo in strings.
2060 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2061 (fast_find_string_pos): New function.
2062
52283633
SM
2063 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2064 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2065
2066 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2067 Handle `mouse-face'.
2068
2069 * dispextern.h (face_at_string_position): Change prototype.
2070
52283633 2071 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2072
129004d3
GM
2073 * keyboard.c (make_lispy_event): Avoid generating drag events
2074 if the mouse hasn't actually moved to another buffer position.
52283633 2075
80c8ab8c
DL
20762001-03-08 Dave Love <fx@gnu.org>
2077
129004d3 2078 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2079
989521fd
GM
20802001-03-08 Gerd Moellmann <gerd@gnu.org>
2081
2082 * process.c (Fset_process_window_size): Fix a typo.
2083
bb5c338d
KH
20842001-03-08 Kenichi Handa <handa@etl.go.jp>
2085
2086 * coding.c (detect_coding_sjis): Do more rigid check.
2087 (detect_coding_big5): Likewise.
2088 (decode_coding_sjis_big5): Likewise.
2089 (Fdetect_coding_region): Call detect_coding_system with tailing
2090 anchor byte `\0' for more rigid detection.
52283633 2091 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2092 (Fdetect_coding_string): Likewise.
2093
8b8f9197
SM
20942001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2095
2096 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2097 a string before extracting its data.
2098
3bdf2660
GM
20992001-03-07 Gerd Moellmann <gerd@gnu.org>
2100
2101 * window.c (Frecenter): Rewrite code handling negative values
2102 of ARG on graphical frames.
2103
21042001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2105
2106 * window.c (displayed_window_lines): If W->start is outside the
2107 accessible portion of the buffer, call start_display with BEGV or
2108 ZV instead of W->start.
2109
471f86b9
GM
21102001-03-07 Gerd Moellmann <gerd@gnu.org>
2111
2ab62c6c
GM
2112 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2113
471f86b9
GM
2114 * process.c (Fset_process_filter): Don't crash if the input
2115 file descriptor of PROCESS is closed.
2116 (Fset_process_window_size): Likewise.
2117
101922c3
GM
21182001-03-06 Kenichi Handa <handa@etl.go.jp>
2119
2120 * xterm.c (XTflash): Make the timeout of select shorter, and call
2121 select repeatedly until the desired time expires.
2122
45d051a7
GM
21232001-03-06 Gerd Moellmann <gerd@gnu.org>
2124
2125 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2126
2127 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2128
2129 * lisp.h (Vwindow_list): Declare extern.
2130
8f372c46
EZ
21312001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2132
2133 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2134
f16a7aa5
GM
21352001-03-06 Gerd Moellmann <gerd@gnu.org>
2136
157ae273
GM
2137 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2138 to detect a case where we have to highlight a different region
2139 despite not having left the currently highlighted region.
2140 Set mouse_face_overlay in the x_display_info.
45d051a7 2141 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2142
2143 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2144
2145 * buffer.c (mouse_face_overlay_overlaps): New function.
2146
2147 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2148 (Qmouse_face): Declare extern.
2149
f16a7aa5
GM
2150 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2151 if face_change_count is non-zero.
2152
827afcac
KH
21532001-03-06 Kenichi Handa <handa@etl.go.jp>
2154
2155 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2156 that the source is unibyte.
2157
14c7242e
DL
21582001-03-05 Dave Love <fx@gnu.org>
2159
827afcac 2160 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2161
c28b847b
GM
21622001-03-05 Gerd Moellmann <gerd@gnu.org>
2163
2164 * minibuf.c (read_minibuf): Clean up the binding stack if
2165 called noninteractively.
2166
b86644f2
KH
21672001-03-05 Kenichi Handa <handa@etl.go.jp>
2168
2169 * coding.c (syms_of_coding): Docstring modified.
2170
203682cc 21712001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2172
2173 * charset.c (char_to_string): If a single byte char has modifier
2174 bits that can't be reflected to the character code, ignore them
45d051a7 2175 instead of signaling an error.
b86644f2 2176
e30bd7b7
EZ
21772001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2178
2179 * s/msdos.h: Update copyright notice.
2180
2181 * dosfns.h: Update copyright notice.
2182
2183 * dosfns.c: Update copyright notice.
2184
2185 * msdos.c: Update copyright notice.
2186
b52b65bd
GM
21872001-03-02 Gerd Moellmann <gerd@gnu.org>
2188
2189 * xterm.c (glyph_rect): New function.
2190 (XTmouse_position): Use it to raise the threshold for mouse
2191 movement event generation.
2192
53c4b1e6
EZ
21932001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2194
2195 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2196 specifies (reverse . t), reverse the initial screen colors.
2197 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2198 but we are reversing the colors, set bg_set, not fg_set.
2199 Likewise for setting background-color and reversing: set fg_set.
2200 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2201 in effect.
2202
2203 * xfaces.c (Finternal_set_lisp_face_attribute)
2204 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2205 parameters alist.
2206
f964b4d7
GM
22072001-03-02 Gerd Moellmann <gerd@gnu.org>
2208
ef53d75e
GM
2209 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2210 to a single slash in the middle of file names.
2211
52283633 2212 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2213 Accept only alphanumeric time zone names.
2214
f964b4d7
GM
2215 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2216 or width area.
2217 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2218 a widget to zero height.
52283633 2219
c3c45f65
GM
22202001-03-01 Gerd Moellmann <gerd@gnu.org>
2221
2222 * window.c (Fwindow_end): Call move_it_past_eol only if
2223 ending up on a partially visible line.
2224
028d739a
DL
22252001-03-01 Dave Love <fx@gnu.org>
2226
2227 * ccl.c (Fccl_execute): Doc fix.
2228
57c5889c
GM
22292001-03-01 Gerd Moellmann <gerd@gnu.org>
2230
35f59f6b
GM
2231 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2232 of the tool bar before calling x_figure_window_size.
2233
f84ff02c
GM
2234 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2235 NULL after destroying it, otherwise XTread_socket can access a
2236 destroyed widget when input is unblocked.
2237
8b8f9197 2238 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2239
57c5889c
GM
2240 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2241 same name as before, although there was a change in fontsets.
2242
224227d1
KR
22432001-02-28 Ken Raeburn <raeburn@gnu.org>
2244
4560730a
KR
2245 * lisp.h (Fframe_parameter): Declare.
2246
224227d1 2247 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2248 Lisp_Object.
224227d1 2249
ece93c02
GM
22502001-02-28 Gerd Moellmann <gerd@gnu.org>
2251
11ef99b9
GM
2252 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2253 NULL instead.
2254
2255 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2256 NULL instead.
2257
ece93c02
GM
2258 * alloc.c (toplevel): Include process.h.
2259 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2260 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2261 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2262 (allocate_vector, allocate_hash_table, allocate_window)
2263 (allocate_frame, allocate_process, allocate_other_vector):
2264 New functions.
ece93c02
GM
2265 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2266 (mark_maybe_pointer): New function.
52283633 2267 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2268 remain and not Lisp_Objects.
2269 (min_heap_address, max_heap_address): New variables.
2270 (mem_find): Return MEM_NIL if START is below min_heap_address or
2271 above max_heap_address.
2272 (mem_insert): Compute min_heap_address and max_heap_address.
2273
2274 * process.c (make_process): Use allocate_process.
2275
2276 * frame.c (make_frame): Use allocate_frame.
2277
2278 * window.c (make_window, make_dummy_parent): Use allocate_window.
2279 (Fcurrent_window_configuration): Use allocate_other_vector.
2280
2281 * lisp.h (allocate_vectorlike): Remove prototype.
2282 (allocate_vector, allocate_other_vector, allocate_frame)
2283 (allocate_window, allocate_process, allocate_hash_table):
2284 Add prototypes.
2285
2286 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2287 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2288
063af457
KH
22892001-02-27 Kenichi Handa <handa@etl.go.jp>
2290
2291 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2292 treat the produced bytes as a valid multibyte sequence.
2293
2294 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2295 (ccl_driver) <CCL_WriteMultibyteChar2>:
2296 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2297 <ccl_finish>: Set ccl->eight_bit_control properly.
2298
2299 * ccl.h (struct ccl_program): New member eight_bit_control.
2300
f58c6494
SM
23012001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2302
2303 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2304 accessible_keymaps_char_table.
2305 (accessible_keymaps_char_table): Obey `is_metized'.
2306 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2307 Lisp_Object.
2308
c596c392
GM
23092001-02-26 Gerd Moellmann <gerd@gnu.org>
2310
2311 * dispnew.c: Check HAVE_TERM_H before including term.h.
2312
425de386
AI
23132001-02-24 Andrew Innes <andrewi@gnu.org>
2314
2315 * makefile.w32-in: Update copyright notice.
2316
2ba11bbd
SM
23172001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2318
2319 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2320
66c56ed1
KH
23212001-02-24 Kenichi Handa <handa@etl.go.jp>
2322
4c1593ce
KH
2323 * Makefile.in (lisp): Add international/utf-8.elc.
2324
66c56ed1
KH
2325 * fontset.c (Fnew_fontset): Fix handling of the case that an
2326 element of FONTLIST is a cons of family and registry.
2327
796ead7e
JR
23282001-02-23 Jason Rumney <jasonr@gnu.org>
2329
2330 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2331 to height unconditionally.
2332
2333 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2334 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2335 (x_insert_glyphs): Call window_box_left to obtain the left
2336 x-coordinate of the area to shift.
2337
2338 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2339 safe_run_hooks.
2340
f6839838
AI
23412001-02-22 Andrew Innes <andrewi@gnu.org>
2342
52283633 2343 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2344 ($(BLD)\dispnew.obj):
2345 ($(BLD)\editfns.obj):
2346 ($(BLD)\fileio.obj):
2347 ($(BLD)\filelock.obj):
2348 ($(BLD)\keyboard.obj):
2349 ($(BLD)\w32proc.obj):
2350 ($(BLD)\process.obj):
2351 ($(BLD)\sysdep.obj): Ditto.
2352
2353 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2354 header files.
52283633
SM
2355 ($(BLD)/dispnew.$(O)):
2356 ($(BLD)/editfns.$(O)):
2357 ($(BLD)/fileio.$(O)):
2358 ($(BLD)/filelock.$(O)):
2359 ($(BLD)/keyboard.$(O)):
2360 ($(BLD)/w32proc.$(O)):
2361 ($(BLD)/process.$(O)):
f6839838
AI
2362 ($(BLD)/sysdep.$(O)): Ditto.
2363
c224f70b
GM
23642001-02-22 Gerd Moellmann <gerd@gnu.org>
2365
51695746
GM
2366 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2367 at the start of the function, check that the \n in it->c is
2368 from the iterator's current position.
52283633 2369
a61b7058
GM
2370 * xdisp.c (handle_single_display_prop): Add parameter
2371 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2372 properties which replace the display of text with something else.
2373 (handle_display_prop): Call handle_single_display_prop with
2374 additional argument saying if we already replaced text display
2375 with something else. Use AREF.
52283633 2376 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2377 (decode_mode_spec_coding): Use AREF and ASIZE.
2378
3473f362
GM
2379 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2380 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2381 * vmstime.h: Files removed.
52283633 2382
2bb58df3
GM
2383 * unexencap.c, unexfx2800.c: Files removed.
2384
c224f70b
GM
2385 * dispnew.c (direct_output_for_insert): Give up if we are showing
2386 a message or just cleared the message because we might need to
2387 resize the echo area window or display an empty echo area.
2388
ffc9ff0c
GM
23892001-02-21 Gerd Moellmann <gerd@gnu.org>
2390
0528abe1
GM
2391 * xdisp.c (redisplay_internal): Do the
2392 mark_window_display_accurate after all windows have been
2393 redisplayed because this call resets flags in buffers which are
2394 needed for proper redisplay.
2395
52283633
SM
2396 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2397 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2398 the old names.
2399
52283633
SM
2400 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2401 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2402
2403 * msdos.h (struct x_output): Rename busy_window to
2404 hourglass_window, busy_p to hourglass_p.
2405
52283633
SM
2406 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2407 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2408
2409 * xfns.c: Rename everything containing *busy_cursor* and similar
2410 to *hourglass*.
2411 (syms_of_w32fns): Rename x-busy-pointer-shape to
2412 x-hourglass-pointer-shape, display-busy-cursor to
2413 display-hourglass, busy-cursor-delay to hourglass-delay.
2414
2415 * w32fns.c: Rename everything containing *busy_cursor* and similar
2416 to *hourglass*.
2417 (syms_of_w32fns): Rename x-busy-pointer-shape to
2418 x-hourglass-pointer-shape, display-busy-cursor to
2419 display-hourglass, busy-cursor-delay to hourglass-delay.
2420
2421 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2422 of its busy_p flag.
2423
2424 * dispextern.h (start_hourglass, cancel_hourglass)
2425 (display_hourglass_p): Renamed from *busy_cursor*.
2426
ab2c5f0a
GM
24272001-02-20 Gerd Moellmann <gerd@gnu.org>
2428
d17e49a8
GM
2429 * keyboard.c (read_char): When an event from unread-command-events
2430 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2431
fa97adf6
GM
2432 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2433 equal to the current buffer.
2434
ab2c5f0a
GM
2435 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2436 nil, otherwise we're left with truncate_lines t when a message
2437 is printed with message-truncate-lines bound to t.
2438
aeac019e
GM
24392001-02-19 Gerd Moellmann <gerd@gnu.org>
2440
c8bc6f65
GM
2441 * window.c (Fmove_to_window_line): Undo last change.
2442 (displayed_window_lines): Call line_bottom_y to determine
2443 the line's bottom position.
2444
2445 * dispextern.h (line_bottom_y): Add prototype.
2446
52283633 2447 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2448 (pos_visible_p): Use it.
2449
980a2d69
GM
2450 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2451 set redisplaying_p to 0 here instead of in Frecursive_edit.
2452 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2453 set redisplaying_p.
2454
52283633 2455 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2456 New variables.
2457 (syms_of_xdisp): Initialize new variables.
2458 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2459 Specbind `inhibit-menubar-update' when updating the menu bar.
2460
65048e97
GM
2461 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2462 safe_run_hooks.
2463
2464 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2465 safe_run_hooks.
2466
a57c4026
GM
2467 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2468 is null.
2469
aeac019e
GM
2470 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2471 to the start of the file.
2472
76846b31
GM
24732001-02-16 Gerd Moellmann <gerd@gnu.org>
2474
f3f053f3 2475 * window.c (set_window_buffer): Fix last change.
52283633 2476
f3f053f3
GM
2477 * window.c (set_window_buffer): Set window's vscroll to 0.
2478
dad75588
GM
2479 * window.c (coordinates_in_window): Increase width of area
2480 where the vertical line can be dragged.
2481
c220b753
GM
2482 * xterm.c (x_set_glyph_string_background_width): Extend the
2483 background face to the end of the drawing area in the text
2484 area, only.
2485
c56b1c1b
GM
2486 * xdisp.c (handle_single_display_prop): Set iterator's position
2487 to where the `display' property starts, like for images.
2488 (dump_glyph): New function.
2489 (dump_glyph_row): Use it. Dump info about marginal areas.
2490
2491 * dispnew.c (direct_output_for_insert): Recognize more cases where
2492 glyphs can be written instead of being inserted.
2493
2494 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2495 the left x-coordinate of the area to shift.
2496
76846b31
GM
2497 * dired.c (directory_files_internal): Set result list to nil
2498 before retrying.
2499
0fc71a77
KH
25002001-02-15 Kenichi Handa <handa@etl.go.jp>
2501
2502 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2503 invalid multibyte sequence, treat *SRC as a character of
2504 eight-bit-graphic.
2505
25078b54
EZ
25062001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2507
2508 * textprop.c (Fset_text_properties): Doc fix.
2509
8399f8a0
GM
25102001-02-15 Gerd Moellmann <gerd@gnu.org>
2511
2512 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2513
9a2a6f73
DL
25142001-02-14 Dave Love <fx@gnu.org>
2515
2516 * coding.c: Doc and message fixes.
2517
bf853fee
AI
25182001-02-14 Andrew Innes <andrewi@gnu.org>
2519
2520 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2521 Emacs frame above the screen size.
2522
78c663d8
GM
25232001-02-14 Gerd Moellmann <gerd@gnu.org>
2524
2525 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2526
7cc9f69f
GM
25272001-02-13 Gerd Moellmann <gerd@gnu.org>
2528
0a411995
GM
2529 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2530 case that TO ends up beyond ZV after running before-change-functions.
2531
5ddc1b75
GM
2532 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2533 the selected window if it is showing the buffer in question.
2534
7cc9f69f
GM
2535 * dired.c (directory_files_internal): Initialize errno.
2536 (toplevel): Include errno.h.
2537
2e6621ca
GM
25382001-02-13 Kenichi Handa <handa@etl.go.jp>
2539
2540 * xfaces.c (best_matching_font): New parameter width_ratio.
2541 Multiply avgwidth by width_ratio.
2542 (choose_face_font): Call best_matching_font with width_ratio
2543 calculated from the column width of C.
2544
60222d69
AI
25452001-02-12 Andrew Innes <andrewi@gnu.org>
2546
2547 The following changes are to draw box lines inside characters area
2548 if line-width is negative.
52283633 2549
60222d69
AI
2550 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2551 face->box_line_width is negative.
2552 (x_produce_stretch_glyph): Likewise.
2553 (x_produce_glyphs): Likewise.
2554 (x_estimate_mode_line_height): Likewise.
2555 (x_draw_glyph_string_background): Likewise.
2556 (x_draw_glyph_string_foreground): Likewise.
2557 (x_draw_composite_glyph_string_foreground): Likewise.
2558 (x_draw_glyph_string_box): Likewise.
2559 (x_draw_image_foreground): Likewise.
2560 (x_draw_image_relief): Likewise.
2561 (x_draw_image_foreground_1): Likewise.
2562 (x_draw_image_glyph_string): Likewise.
2563
9804b846
KH
25642001-02-09 Kenichi Handa <handa@etl.go.jp>
2565
2566 The following changes are to draw box lines inside characters area
2567 if line-width is negative.
52283633 2568
9804b846
KH
2569 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2570 face->box_line_width is negative.
2571 (x_produce_stretch_glyph): Likewise.
2572 (x_produce_glyphs): Likewise.
2573 (x_estimate_mode_line_height): Likewise.
2574 (x_draw_glyph_string_background): Likewise.
2575 (x_draw_glyph_string_foreground): Likewise.
2576 (x_draw_composite_glyph_string_foreground): Likewise.
2577 (x_draw_glyph_string_box): Likewise.
2578 (x_draw_image_foreground): Likewise.
2579 (x_draw_image_relief): Likewise.
2580 (x_draw_image_foreground_1): Likewise.
2581 (x_draw_image_glyph_string): Likewise.
2582
2583 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2584 and :line-width can be negative.
52283633 2585 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2586
49be9f70
JR
25872001-02-09 Jason Rumney <jasonr@gnu.org>
2588
2589 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2590 characters the same as ASCII and latin-1.
2591 (x_display_and_set_cursor): Check for the focus frame's selected
2592 window instead of selected_window.
2593 (x_after_update_window_line): Don't clear if frame's internal
2594 border width is zero.
2595 (x_new_font): Don't change a tooltip's size.
2596 (w32_initialize): Set char_ins_del_ok to 1.
2597
2598 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2599 (x_set_font): If font hasn't changed, avoid recomputing
2600 faces and other things.
52283633
SM
2601 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2602 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2603 (x_create_tip_frame): Prevent changing the tooltip's
2604 background color by specifying a color for the default font
2605 in .Xdefaults.
2606 (Qcancel_timer): New variable.
2607 (syms_of_w32fns): Initialize and staticpro it.
2608 (Fx_hide_tip, Fx_show_tip): Use it.
2609 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2610 the timer.
2611 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2612
2613 * w32.c (init_environment): Duplicate local string before putenv.
2614
555e35d2
SZ
26152001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2616
2617 * charset.c (Fstring): A typo.
2618
19c92c94
KH
26192001-02-09 Kenichi Handa <handa@etl.go.jp>
2620
e47a1c33
KH
2621 * charset.c (Fstring): If all arguments are less than 256, return
2622 a unibyte string.
2623
2624 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2625 return a unibyte string.
2626
19c92c94
KH
2627 * coding.c (code_convert_region): After detecting a coding, if
2628 nothing found, set coding->composing to COMPOSITION_NO.
2629 (decode_coding_string): Likewise.
2630
d8e675f5
SM
26312001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2632
2633 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2634 to avoid overflow.
2635
bd503487
KH
26362001-02-07 Kenichi Handa <handa@etl.go.jp>
2637
2638 * charset.c (parse_str_to_multibyte): New function.
2639
2640 * charset.h (parse_str_to_multibyte): Extern it.
2641
2642 * print.c (print_string): If we are going to print a unibyte
2643 string into a multibyte buffer, convert the string to multibyte by
2644 str_to_multibyte.
2645
a8370d72
AI
26462001-02-06 Andrew Innes <andrewi@gnu.org>
2647
2648 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2649 been created. It seems we can get sent window messages such as
2650 WM_ERASEBKGND before we properly update a frame.
2651
c363a1d6
GM
26522001-02-06 Gerd Moellmann <gerd@gnu.org>
2653
2654 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2655 Avoid some unnecessary cursor positioning.
2656
a08332c0
GM
26572001-02-05 Gerd Moellmann <gerd@gnu.org>
2658
52283633 2659 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2660 (LFACE_AVGWIDTH): New macro.
2661 (LFACEP): Use AREF.
2662 (check_lface_attrs): Check LFACE_AVGWIDTH.
2663 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2664 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2665 (merge_face_vectors): Check LFACE_AVGWIDTH.
2666 (Finternal_make_lisp_face): Use AREF.
2667 (xm_set_menu_resources_from_menu_face)
2668 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2669 (Finternal_lisp_face_empty_p): Use AREF.
2670 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2671 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2672 Compare average widths..
2673 (best_matching_font): Arrange for comparing average widths.
2674
52283633
SM
2675 * dispextern.h (enum lface_attribute_index):
2676 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2677
5cb3c8d4
DL
26782001-02-05 Dave Love <fx@gnu.org>
2679
2680 * puresize.h: Revert last change following loadup.el change.
2681
193fba87
AI
26822001-02-05 Andrew Innes <andrewi@gnu.org>
2683
2684 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2685 invocation of temacs, to work with Windows 2000.
2686 (bootstrap-emacs): Ditto.
2687
e16f52ce
GM
26882001-02-05 Gerd Moellmann <gerd@gnu.org>
2689
7a58ab59
GM
2690 * xterm.c (x_display_and_set_cursor): Check for the focus
2691 frame's selected window instead of selected_window.
2692
e89aaabd
GM
2693 * xdisp.c (try_scrolling): If point is in the line below the
2694 window, make sure to move the iterator at least a canonical
2695 char height down.
2696
52283633 2697 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2698
789ce875
KH
26992001-02-05 Kenichi Handa <handa@etl.go.jp>
2700
52283633
SM
2701 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2702 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2703 (ccl_driver): If the CCL program is terminated because of
2704 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2705 destination instead of throwing them away.
2706
20b28f82
GM
27072001-02-02 Gerd Moellmann <gerd@gnu.org>
2708
79fb38c0
GM
2709 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2710 faces and other things.
2711
20b28f82
GM
2712 * xdisp.c (get_next_display_element): Fix case of empty
2713 display table entry.
2714
5a72551e
EZ
27152001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2716
eb24d0bf
EZ
2717 * editfns.c (Fconstrain_to_field): Doc fix.
2718
6a3f48c7
EZ
2719 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2720 into `thoroughly', to make it consistent with the doc string.
2721
5a72551e
EZ
2722 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2723
01acdb05
GM
27242001-02-01 Gerd Moellmann <gerd@gnu.org>
2725
0353b28f
GM
2726 * search.c (search_buffer): Call set_search_regs with a byte
2727 position, not a character position.
2728
01acdb05
GM
2729 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2730 minibuffer-only,
2731
e86b5133
EZ
27322001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2733
2734 * frame.c (Fmodify_frame_parameters): Doc fix.
2735
7442878f
GM
27362001-01-31 Gerd Moellmann <gerd@gnu.org>
2737
01acdb05
GM
2738 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2739 identifier which is not reserved by Standard C.
52283633 2740
7442878f
GM
2741 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2742
2743 * window.c (enum window_part): New enumeration.
2744 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2745 Qright_bitmap_area.
2746 (coordinates_in_window): Return an enumerator from enum
2747 window_part. Fix handling of right scroll bar.
2748 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2749 `right-fringe' instead of `left-bitmap-area' and
2750 `right-bitmap-area'. Use enumerators from enum window_part
2751 instead of hard-coded integers.
52283633
SM
2752 (check_window_containing, window_from_coordinates):
2753 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2754 (syms_of_window): Replace Qleft_bitmap_area and
2755 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2756
7c132cba
EZ
27572001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2758
2759 * editfns.c (Fformat_time_string): Doc fix.
2760
c359dd9e
SM
27612001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2762
2763 * keymap.c (Fwhere_is_internal): Use the first valid binding
2764 if no ascii binding is found (when firstonly is t).
2765
ce070307
GM
27662001-01-31 Gerd Moellmann <gerd@gnu.org>
2767
b4f30ec5
GM
2768 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2769 instead of Finteractive_p.
2770
2771 * lisp.h (interactive_p): Add prototype.
2772
2773 * eval.c (interactive_p): New function.
2774 (Finteractive_p): Use it.
2775
ce070307
GM
2776 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2777
f57b6e64
DL
27782001-01-31 Dave Love <fx@gnu.org>
2779
d61c7afe
DL
2780 * .gdbinit (hook-run): Define to run xreload.
2781
f57b6e64
DL
2782 * textprop.c (Fset_text_properties): Fix newline in doc string.
2783
eef93f99
GM
27842001-01-30 Gerd Moellmann <gerd@gnu.org>
2785
52283633
SM
2786 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2787 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2788
2789 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2790 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2791 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2792
2793 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2794 height.
2795
d9c1f6f9
DL
27962001-01-30 Dave Love <fx@gnu.org>
2797
2798 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2799 AFTER_POTENTIAL_GC.
2800
e8f044a0
GM
28012001-01-29 Gerd Moellmann <gerd@gnu.org>
2802
52283633
SM
2803 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2804 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2805
8e1db7b3
EZ
28062001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2807
2808 * textprop.c (Fset_text_properties): Doc fix.
2809
4eefd9d2
GM
28102001-01-29 Gerd Moellmann <gerd@gnu.org>
2811
2812 * xdisp.c (forward_to_next_line_start): Remove xassert.
2813
fccb8288
EZ
28142001-01-29 Jason Rumney <jasonr@gnu.org>
2815
4eefd9d2 2816 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2817 returning without releasing it.
2818
76581eab
KH
28192001-01-29 Kenichi Handa <handa@etl.go.jp>
2820
2821 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2822 for '^', '$', and '\0'.
2823
83a96b4d
AC
28242001-01-28 Andrew Choi <akochoi@i-cable.com>
2825
5604ec34
AC
2826 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2827 regex for '^', '$', and '\0'.
2828
83a96b4d
AC
2829 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2830 only if current_sblock has been initialized.
2831
2832 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2833 terminal frame even if it is the only visible frame.
2834
c09a6440
KH
28352001-01-28 Kenichi Handa <handa@etl.go.jp>
2836
2837 * fontset.c (font_family_registry): Even if FONTNAME conform to
2838 XLFD, if it specifies other fields than family and registry,
52283633 2839 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2840 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2841 a signle byte character. Don't set FAMILY part to nil here.
2842 It is handled by the caller choose_face_font.
c09a6440
KH
2843 (Fnew_fontset): Call font_family_registry with FORCE 0.
2844 (Fset_fontset_font): Likewise.
2845
4dcd74e6
GM
28462001-01-27 Gerd Moellmann <gerd@gnu.org>
2847
2848 * xdisp.c (display_line): Don't treat a newline as fitting
2849 on the line.
2850
d2906bf8
GM
28512001-01-26 Gerd Moellmann <gerd@gnu.org>
2852
0130fe1a
GM
2853 * window.c (size_window): Set the window's orig_top to nil when
2854 changing heights, so that a future shrink_mini_window won't
2855 restore a bogus height.
2856
550f0e6a
GM
2857 * frame.c (do_switch_frame): If selected frame has a mini-window,
2858 resize that to exact size.
2859
b7b20fbd
GM
2860 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2861
a47b7816
GM
2862 * xdisp.c (display_line): Simplify check for glyphs fitting
2863 entirely in the line.
2864
d2906bf8
GM
2865 * xfns.c (xic_style): New variable.
2866 (create_frame_xic): Move static variable to global scope for
550f0e6a 2867 the case that `static' gets defined away.
d2906bf8 2868
73df2b1e
KH
28692001-01-26 Kenichi Handa <handa@etl.go.jp>
2870
2871 * coding.c (decode_coding): Set a flag for inhibiting
2872 inconsistent eol.
2873 (code_convert_region): Always set saved_coding_symbol.
2874 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2875 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2876
6613cfc4
GM
28772001-01-25 Gerd Moellmann <gerd@gnu.org>
2878
c5e6e06b
GM
2879 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2880 XClearArea.
2881
2882 * xterm.c (x_after_update_window_line): Don't clear if frame's
2883 internal border width is zero.
2884 (x_clear_area): New function.
2885 (x_after_update_window_line, x_clear_end_of_line)
2886 (x_scroll_bar_create, x_scroll_bar_set_handle)
2887 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2888 instead of XClearArea.
2889
2890 * xterm.h (x_clear_area): Add prototype.
2891
6613cfc4
GM
2892 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2893 which doesn't seem necessary anymore with Lesstif 0.92.
2894
650cc6cc
DL
28952001-01-25 Dave Love <fx@gnu.org>
2896
34ac3367
DL
2897 * puresize.h (BASE_PURESIZE): Up to 720000.
2898
650cc6cc
DL
2899 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2900
5e37dc22
GM
29012001-01-25 Gerd Moellmann <gerd@gnu.org>
2902
e1e441f9
GM
2903 * xdisp.c (echo_area_display): Don't call redisplay_internal
2904 when Emacs is shutting down. We can't run hooks etc. that
2905 would be necessary to do a redisplay.
2906
5e37dc22
GM
2907 * lread.c (read_integer): Use type EMACS_INT instead of int.
2908
0fb94c7f
EZ
29092001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2910
2911 * ccl.c (ccl_driver): Fix last change.
2912
e3778624
KH
29132001-01-25 Kenichi Handa <handa@etl.go.jp>
2914
2915 * ccl.h (sturct ccl_program): New member suppress_error.
2916
bb264518 2917 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2918 insert error message to the output.
2919 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2920
2921 * coding.h (struct coding_system): New member suppress_error.
2922
2923 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2924 (Fset_terminal_coding_system_internal): Set the member
2925 suppress_error to 1.
2926 (Fset_safe_terminal_coding_system_internal): Likewise.
2927
245ed2b1
SM
29282001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2929
2930 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2931 as if it was a `charset'.
2932
f9aaedb6
GM
29332001-01-24 Gerd Moellmann <gerd@gnu.org>
2934
2935 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2936 value in where_is_cache; the next lookup in the cache returns
2937 something bogus if we do.
2938
c3902c3e
EZ
29392001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2940
2941 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2942 if HAVE_WINDOW_SYSTEM isn't defined.
2943
3497f73e
GM
29442001-01-24 Gerd Moellmann <gerd@gnu.org>
2945
e7e41584
GM
2946 * fns.c (sweep_weak_table): Fix code taking items out of
2947 the hash collision chain. Some cleanup.
2948
3497f73e
GM
2949 * xterm.c (x_new_font): Don't change a tooltip's size.
2950
2951 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2952 background color by specifying a color for the default font
2953 in .Xdefaults.
2954
3d48e687
KH
29552001-01-24 Kenichi Handa <handa@etl.go.jp>
2956
96531b20
KH
2957 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2958 a workaround for SunOS 4's cc.
2959 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2960 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2961 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2962 statement.
3d48e687 2963
a30629d2
GM
29642001-01-23 Gerd Moellmann <gerd@gnu.org>
2965
2966 * xterm.c (x_set_window_size_1): New function extracted from
2967 x_set_window_size.
2968 (x_set_window_size): Use it.
2969 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2970 doesn't have a widget, like tooltips.
2971
5a43decf
EZ
29722001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2973
52283633 2974 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2975
b0e98867
KH
29762001-01-23 Kenichi Handa <handa@etl.go.jp>
2977
2978 * fns.c (Fset_char_table_default): Fix to make sub char-table
2979 correctly.
2980
50606b4c
GM
29812001-01-22 Gerd Moellmann <gerd@gnu.org>
2982
cb2ddc53 2983 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2984 a desired tool bar string, even if there are no tool bar items.
2985
57c28064
GM
2986 * xdisp.c (Ftool_bar_lines_needed): New function.
2987 (syms_of_xdisp): Defsubr it.
2988
50606b4c
GM
2989 * editfns.c (Fformat): Don't extend text properties from arguments
2990 to padding chars in the result.
2991
2f169c38
EZ
29922001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2993
2994 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2995
0f32f023
AI
29962001-01-20 Andrew Innes <andrewi@gnu.org>
2997
52283633 2998 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2999 (w32_initialize): Don't set term hooks that aren't actually needed
3000 in windowed mode.
3001
3002 * xfaces.c (realize_default_face):
3003 (realize_face):
3004 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3005
3006 * xdisp.c (handle_single_display_prop): Remove references to
3007 FRAME_W32_CONSOLE_P.
3008
52283633 3009 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3010
3011 * frame.h (output_method): Remove output_w32_console method.
3012 (FRAME_W32_CONSOLE_P): Remove macro.
3013
3014 * frame.c (Qw32_console): Remove variable.
3015 (Fframep): Remove references to it.
3016 (syms_of_frame): Ditto.
3017 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3018
3019 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3020 redefinition.
3021
7173eada
KH
30222001-01-20 Kenichi Handa <handa@etl.go.jp>
3023
3024 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3025
755b45ce
AI
30262001-01-19 Andrew Innes <andrewi@gnu.org>
3027
3028 * w32.c (init_environment): Add a version-independent site-lisp
3029 directory to EMACSLOADPATH, after the version dependent one.
3030
0a949811
GM
30312001-01-19 Gerd Moellmann <gerd@gnu.org>
3032
8501998a
GM
3033 * editfns.c (Fbuffer_substring): Doc fix.
3034
52283633
SM
3035 * xdisp.c (message_dolog, message2, message2_nolog):
3036 Rename parameter LEN to NBYTES.
0a949811 3037
e6ebcbbe
KH
30382001-01-19 Kenichi Handa <handa@etl.go.jp>
3039
200ecca2
KH
3040 * charset.c (strwidth): Use c_string_width.
3041 (c_string_width): New function.
3042 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3043 Caller changed.
3044
3045 * charset.h (c_string_width, lisp_string_width): Extern them.
3046
52283633 3047 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3048
e6ebcbbe
KH
3049 * indent.c (check_composition): Check validity of composition.
3050
200ecca2
KH
3051 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3052 characters by calling c_string_width.
3053 (x_consider_frame_title): Get byte length of frame tile string
3054 correctly.
3055 (display_mode_element): Pay attention to width of non-ASCII
3056 characters by calling strwidth.
3057
8692ca92
GM
30582001-01-18 Gerd Moellmann <gerd@gnu.org>
3059
8962e303
GM
3060 * xfns.c (Qcancel_timer): New variable.
3061 (syms_of_xfns): Initialize and staticpro it.
3062 (Fx_hide_tip, Fx_show_tip): Use it.
3063 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3064 the timer.
3065 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3066
91523be9
GM
3067 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3068
3069 * window.h (WINDOW_LIVE_P): New macro.
3070
b0b7ed0e
GM
3071 * window.c (window_size_fixed): New variable.
3072 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3073 the doc string.
3074
06bccf8e
GM
3075 * eval.c (specbind): If binding a per-buffer variable which
3076 doesn't have a buffer-local value in the current buffer, change
3077 the global value by changing the value of the symbol bound in all
3078 buffers not having their own value, to make it consistent with
3079 what happens with other buffer-local variables.
3080
8692ca92
GM
3081 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3082
3083 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3084 when searching for a newline.
3085
bb3a3b50
KH
30862001-01-18 Kenichi Handa <handa@etl.go.jp>
3087
3088 * xdisp.c (display_string): Fix previous change.
3089
c2cc16fa
JR
30902001-01-18 Jason Rumney <jasonr@gnu.org>
3091
3092 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3093 GLYPH_DEBUG is defined.
3094 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3095 true for images with `:ascent 100'.
3096 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3097 meantime, use face MOUSE_FACE_ID.
3098 If first glyph isn't a character glyph, use the ASCII NUL
3099 character to determine the face.
3100 (expose_area): Do not treat left margin specially.
3101 (note_mode_line_highlight): If no local_map, check global keymap.
3102 (note_mouse_highlight): Initialize overlay.
52283633 3103 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3104 (show_scroll_bars): Remove unused function.
3105 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3106 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3107 Clip to row.
52283633 3108 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3109 (x_free_frame_resources): Unload relief colors.
3110
9c11f79e
GM
31112001-01-17 Gerd Moellmann <gerd@gnu.org>
3112
3aec8722 3113 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3114 get_next_display_element when the newline is already found.
3115 This may change the iterator's position, when its current position is
3aec8722
GM
3116 equal to the iterator's stop_charpos.
3117
f3ffc2c3
GM
3118 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3119 zero, use this method only at the end of a line.
3120
52283633 3121 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3122 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3123 if SCALABLE_FONTS_P is set.
52283633 3124
d26d6fd9
GM
3125 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3126 so that scalable fonts are included.
3127
9c11f79e
GM
3128 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3129 In the cache, use a key containing the information if scalable
3130 fonts are included.
3131 (x_load_font): Adapt to change of keys in the font cache.
3132
31332001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3134
d26d6fd9
GM
3135 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3136 XListFonts to take advantage of font caching.
3137
9c11f79e
GM
3138 * xterm.c (x_list_fonts): Ensure caching font information when
3139 called for a null frame, which is the case frequently when Emacs
3140 starts.
3141
51446987
GM
31422001-01-17 Gerd Moellmann <gerd@gnu.org>
3143
f864120f
GM
3144 * xfns.c (QCconversion): Replaces QCalgorithm.
3145
3146 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3147
3148 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3149 of :algorithm.
52283633 3150
e37d1417
GM
3151 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3152 not everything could be displayed.
3153
51446987
GM
3154 * line.h, x-list-font.c: Files removed because unused.
3155
9ad4f3e5
AI
31562001-01-17 Andrew Innes <andrewi@gnu.org>
3157
3158 * dired.c (directory_files_internal): Convert result from readdir
3159 to a unibyte string initially, to avoid possible misinterpretation
3160 of some bytes as the internal form of Emacs characters.
3161
2eda09b5
KH
31622001-01-17 Kenichi Handa <handa@etl.go.jp>
3163
3164 * fns.c (concat): Be sure to avoid putting the same `composition'
3165 property on the adjacent regions.
3166
826f3788
GM
31672001-01-16 Gerd Moellmann <gerd@gnu.org>
3168
52283633 3169 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3170 (Fscroll_right, Fscroll_left): Set it here instead, if called
3171 interactively.
3172
d57b83b3
GM
3173 * buffer.c (Fset_buffer_modified_p): Set buffer's
3174 prevent_redisplay_optimizations_p flag.
3175
826f3788 3176 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3177 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3178 with additional arg.
3179
3180 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3181 Change prototype.
826f3788 3182
826f3788
GM
3183 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3184 FROM_WHERE, for debugging.
3185
261d788b
KH
31862001-01-16 Kenichi Handa <handa@etl.go.jp>
3187
3188 * ccl.c (Fregister_ccl_program): Handle the return value of
3189 resolve_symbol_ccl_program correctly.
52283633 3190 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3191
bccee4f2
GM
31922001-01-15 Gerd Moellmann <gerd@gnu.org>
3193
e4ded23c
GM
3194 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3195 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3196
3197 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3198 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3199 the display; we didn't open it.
3200
bccee4f2
GM
3201 * dispnew.c (save_or_restore_current_matrices): Function removed.
3202 (save_current_matrix, restore_current_matrix): New functions.
3203 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3204 restore the frame's current matrix. Due to the glyph pointer
3205 setup done in adjust_glyph_matrix, there is no easy way to make
3206 saving the current matrix in the desired matrix generally correct,
3207 so don't try it.
3208
ebeccffa
KH
32092001-01-15 Kenichi Handa <handa@etl.go.jp>
3210
3211 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3212 truncation glyphs.
3213 (display_line): Optimize for wide characters.
e4ded23c 3214 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3215 partially. On ttys, produce more than one truncation glyph for
3216 multi-column characters that don't fit on the line.
3217
64388126
KH
32182001-01-13 Kenichi Handa <handa@etl.go.jp>
3219
52283633
SM
3220 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3221 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3222
8edb0a6f
JR
32232001-01-13 Jason Rumney <jasonr@gnu.org>
3224
3225 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3226 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3227 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3228 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3229
52283633
SM
3230 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3231 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3232 (x_draw_image_glyph_string): Adapt to change of image margins.
3233
3234 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3235 variables.
3236
3237 * w32bdf.c (search_file_line, get_cached_font_char)
3238 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3239
3240 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3241
3242 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3243 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3244 (Fw32_send_sys_command): Remove unused variables.
3245 (w32_msg_pump): Add parentheses.
3246
3247 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3248 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3249 Add parentheses.
3250
4956d1ef
GM
32512001-01-12 Gerd Moellmann <gerd@gnu.org>
3252
b30623be
GM
3253 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3254 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3255 being a pair of margins.
3256 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3257 to DEFVAR_LISP. Extend doc.
3258
3259 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3260 margins.
3261 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3262 pair of integers `(X . Y)', use X for the horizontal and Y for the
3263 vertical margin.
3264 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3265 (parse_image_spec): Check it.
52283633
SM
3266 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3267 (tiff_format, gif_format, gs_format):
3268 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3269
52283633
SM
3270 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3271 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3272 (x_draw_image_glyph_string): Adapt to the change of image margins.
3273
3274 * dispextern.h (struct image): Replace member `margin' with
3275 `hmargin' and `vmargin'.
3276
4554cc79
GM
3277 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3278 and GLYPHS.
3279
3280 * dispnew.c (update_text_area): Put code which decrements the
3281 stop position when the row's face extends to the end of the
3bffc665 3282 line in #if 0.
4554cc79 3283
3cccce8d
GM
3284 * xfns.c (x_set_mouse_color): Fix color allocation.
3285
4956d1ef
GM
3286 * keyboard.c: Call get_local_map with new argument list.
3287
3288 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3289
3290 * intervals.h (enum map_property): Removed.
3291 (get_local_map): Change prototype.
3292
3293 * keymap.c: Call get_local_map with new argument list.
3294 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3295
2c2ff7f2
GM
32962001-01-11 Gerd Moellmann <gerd@gnu.org>
3297
a23887b9
GM
3298 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3299 of the size needed for the tool bar string. For the last image,
3300 use a `display' property that reaches to the end of the string.
3301
a7ee2d2e
GM
3302 * xselect.c (selection_request_dpyinfo): New variable.
3303 (x_handle_selection_request): Set it.
3304 (x_selection_request_lisp_error): Don't call
3305 x_decline_selection_request if selection request's display has
3306 been closed.
3307
52283633
SM
3308 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3309 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3310
457b792c
GM
33112001-01-10 Dave Love <fx@gnu.org>
3312
3313 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3314 ${SOME_MACHINE_LISP}, not ${lisp}.
3315
c1efd260
GM
33162001-01-10 Gerd Moellmann <gerd@gnu.org>
3317
52283633
SM
3318 * xdisp.c (display_line): On ttys, produce more than one truncation
3319 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3320
ac95a621
GM
3321 * xselect.c (x_reply_selection_request): Add a comment.
3322
c1efd260
GM
3323 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3324 XkbGetNames instead of XkbGetKeyboard.
3325
1bfb1345
DL
33262001-01-10 Dave Love <fx@gnu.org>
3327
3328 * sysdep.c (random): Revert the declaration.
3329
38119822
GM
33302001-01-09 Gerd Moellmann <gerd@gnu.org>
3331
52283633
SM
3332 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3333 Call function string_bytes.
35f464a7
GM
3334 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3335
3336 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3337 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3338 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3339 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3340 the current sblock.
3341 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3342 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3343 after sweeping strings, and at the end.
3344 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3345
38119822
GM
3346 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3347 ensure that pop_message is called.
3348
3349 * keyboard.c (Fexecute_extended_command): Use a
3350 record_unwind_protect to ensure that pop_message is called.
3351
3352 * lisp.h (push_message_unwind): Add prototype.
3353
3354 * xdisp.c (push_message_unwind): New function.
3355
3356 * fileio.c (do_auto_save_unwind): Do the pop_message here
3357 instead of in Fdo_auto_save.
3358 (Fdo_auto_save): Don't call pop_message.
3359
f47a9ec4
KR
33602001-01-08 Ken Raeburn <raeburn@gnu.org>
3361
3362 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3363 in inner block.
3364
a758f97d
GM
33652001-01-08 Gerd Moellmann <gerd@gnu.org>
3366
6d0afc03
GM
3367 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3368 when increasing window's vscroll.
3369
a758f97d
GM
3370 * macros.c (Qkbd_macro_termination_hook): New variable.
3371 (syms_of_macros): Initialize and staticpro it.
3372 (pop_kbd_macro): Run kbd-macro-termination-hook.
3373
3374 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3375
1bfb1345 33762001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3377
3378 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3379 arglist, for documentation's sake.
3380
0dac6924
AI
33812001-01-06 Andrew Innes <andrewi@gnu.org>
3382
3383 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3384 of *.pdb.
3385
8182406a
AI
33862001-01-05 Andrew Innes <andrewi@gnu.org>
3387
3388 * term.c (update_end): Don't check updating_frame; for some reason
3389 this can be 0 sometimes, such as after dismissing a popup menu,
3390 and isn't necessary given the explicit frame argument.
3391
3828218c
GM
33922001-01-05 Gerd Moellmann <gerd@gnu.org>
3393
3394 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3395 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3396
2f5ded21
GM
33972001-01-04 Gerd Moellmann <gerd@gnu.org>
3398
52283633 3399 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3400
3401 * xfns.c (x_create_tip_frame): Preserve the value of
3402 face_change_count around the creation of the tip frame.
52283633 3403
2f5ded21
GM
3404 * xfns.c (last_show_tip_args): New variable.
3405 (compute_tip_xy): New function.
3406 (Fx_show_tip): Reuse an existing tip frame, if possible.
3407 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3408
dfad65fa
DL
34092001-01-04 Dave Love <fx@gnu.org>
3410
64d4ec0f
DL
3411 * editfns.c (Fformat): Doc fix.
3412
dfad65fa
DL
3413 * systime.h (set_file_times): Prototype.
3414
3415 * widget.h (EmacsFrameSetCharSize_): Prototype.
3416
3417 * sysdep.c (random, srandom): Declare explicitly.
3418
3419 * dispextern.h (move_it_vertically_backward): Declare.
3420
85fe3b5e
GM
34212001-01-04 Gerd Moellmann <gerd@gnu.org>
3422
0f2ac578
GM
3423 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3424 like in Fx_create_frame.
3425
482cca61
GM
3426 * xfaces.c (set_font_frame_param): Don't do anything for
3427 non-graphical frames.
3428
85fe3b5e
GM
3429 * window.c (Fdelete_other_windows): Set window's window_end_valid
3430 to nil when changing the window's start. Don't change the
3431 window's start when its top position hasn't changed. If we do,
3432 this will set the window's optional_new_start, which act's like a
3433 force_start during redisplay with C-x 1 M-> under particular
3434 circumstances (see report from Per Starback to emacs-pretest-bug
3435 from 2000-12-13.).
3436
3e99d3b4
GM
34372001-01-03 Gerd Moellmann <gerd@gnu.org>
3438
a77dc1ec
GM
3439 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3440 short cut at the start of the function. Add an assertion.
3441 (reseat_at_next_visible_line_start): Add an assertion.
3442
2f3cad6c
GM
3443 * window.c (Frecenter): When changing the window start, set the
3444 window's window_end_valid to nil.
3445 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3446
3447 * dispextern.h (move_it_past_eol): Add prototype.
3448
3449 * xdisp.c (move_it_past_eol): New function.
3450
3e99d3b4
GM
3451 * window.c (Fwindow_end): Doc fix.
3452
34532001-01-03 Dave Love <fx@gnu.org>
3454
52283633 3455 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3456
bafb434c
GM
34572001-01-03 Gerd Moellmann <gerd@gnu.org>
3458
3459 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3460 the enabled_p flag of the glyph row at window_end_vpos to 0.
3461 (handle_single_display_prop): Fix last change.
3462
5297fb00
RS
34632001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3464
3465 * window.c (Frecenter): Doc fix.
3466
13d6a61c
AI
34672001-01-02 Andrew Innes <andrewi@gnu.org>
3468
3469 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3470
3471 * frame.h (output_method): Add output_w32_console method.
3472 (FRAME_W32_CONSOLE_P): New macro.
3473
3474 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3475 use output_w32_console method.
3476 (Qw32_console): New Lisp_Object.
3477 (Fframep): Return it.
3478 (syms_of_frame): Init it.
52283633 3479 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3480
3481 * xfaces.c (realize_default_face): Set face foreground and
3482 background to unspecified for w32_console frames.
3483 (realize_face): Realize face cache for w32_console frames.
3484 (realize_tty_face): Accept w32_console frames.
3485
52283633 3486 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3487 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3488 necessary, even if running interactively.
3489
3490 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3491 w32_console frames.
3492
52283633
SM
3493 * w32term.c (x_update_begin):
3494 (x_update_end):
3495 (x_clear_frame):
3496 (x_ins_del_lines):
3497 (x_change_line_highlight):
3498 (x_delete_glyphs):
3499 (w32_ring_bell):
3500 (x_update_begin):
3501 (x_update_end):
3502 (w32_reassert_line_highlight):
3503 (w32_frame_rehighlight):
13d6a61c
AI
3504 (w32_frame_raise_lower): Do nothing if not w32 frame.
3505
3506 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3507
3508 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3509 system doesn't tell us directly.
3510 (Fx_display_visual_class): Implement properly.
3511
d6bb0c0d
GM
35122001-01-02 Gerd Moellmann <gerd@gnu.org>
3513
3514 * window.c (Frecenter): Handle centering in graphical frames
3515 specially. Centering on the basis of line counts doesn't work
3516 reliably with variable-height lines.
52283633 3517
315f5865
EZ
35182001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3519
3520 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3521 and al[].
3522
52283633 3523 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3524 (update_compositions): Remove unused variable `hook'.
3525
3526 * intervals.c (get_local_map): Remove unused variable `tem'.
3527
3528 * doprnt.c (doprnt1): Remove unused variable `size'.
3529
3530 * fns.c (Flength): Remove unused variable `tail'.
3531 (Fdelete): Remove unused variable `size'.
3532
3533 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3534 and `gcpro2'.
3535
52283633 3536 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3537
3538 * data.c (find_symbol_value): Remove extra 3rd argument in the
3539 call to swap_in_symval_forwarding.
3540
52283633 3541 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3542
3543 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3544 (trivial_regexp_p): Remove unused variable `c'.
3545 (boyer_moore): Remove unused variable `k'.
3546
3547 * indent.c (current_column): Remove unused variable `stopchar'.
3548 (Fcompute_motion): Remove unused variable `contin'.
3549
3550 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3551
3552 * dired.c (directory_files_internal): Fix a typo in a comment.
3553 Remove an unused variable `handler'.
52283633 3554 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3555 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3556 on BSD4_2.
3557
52283633 3558 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3559
3560 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3561 and `buf'.
3562 (Fmarker_insertion_type): Remove unused variable `buf'.
3563
3564 * insdel.c (make_gap): Remove unused variable `result'.
3565
52283633 3566 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3567 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3568 (menu_bar_items): Remove unused function-scope variable `tem'.
3569
3570 * fontset.c (fontset_ref): Remove unused variable `i'.
3571 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3572 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3573 (make_fontset_for_ascii_face): Remove unused variable `name'.
3574 (fs_load_font): Remove unused variable `font_idx'.
52283633 3575 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3576 (list_fontsets): Remove unused variable `tail'.
3577 (Fnew_fontset): Remove unused variables `family' and `registry'.
3578 (accumulate_font_info): Remove unused variable `tmp'.
3579 (Ffontset_font): Remove unused variable `id'.
3580 (syms_of_fontset): Remove unused variable `i'.
3581
3582 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3583 to x_term_init.
3584 (lookup_image): Remove unused variable `file'.
3585 (xbm_load): Remove unused variables `bitmap_data', `height', and
3586 `width'. Remove function-local variable `i', leave the
3587 block-local one.
3588 (gif_load): Remove unused variable `inc'.
3589
52283633 3590 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3591 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3592 leave only the one in the inner block.
3593
3594 * xfaces.c (face_fontset, realize_default_face): Remove unused
3595 variable `fontset'.
3596 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3597
3598 * term.c (encode_terminal_code): Remove unused variable `c'.
3599
3600 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3601 char *' instead of `char *'.
3602
3603 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3604 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3605 (Fchar_category_set): Remove unused variables `val', `charset',
3606 `c1' and `c2'.
3607
52283633
SM
3608 * coding.c (detect_coding_iso2022, setup_coding_system):
3609 Remove unused variable `i'.
315f5865
EZ
3610 (detect_coding_mask): Remove unused variable `idx'.
3611 (detect_coding): Remove unused variable `i'.
3612 (ccl_coding_driver): Remove unused variable `result'.
3613 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3614 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3615 (encode_coding_string): Remove unused variables `gcpro1' and
3616 `saved_coding_symbol'.
3617 (Ffind_coding_systems_region_internal): Remove function-local
3618 variable args[], leave only the block-local one.
3619 (code_convert_region1): Remove unused variable `len'.
3620
3621 * charset.c (char_printable_p): Remove unused variable `chars'.
3622 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3623 (str_to_multibyte): Remove unused variable `c'.
3624
3625 * window.c (size_window): Remove block-local variable `min_size'.
3626
3627 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3628 `header_line_height'.
3629 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3630 enum display_element_type.
3631
1a8a9daf
GM
36322001-01-02 Gerd Moellmann <gerd@gnu.org>
3633
6dde6abc 3634 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3635 statements that call X. Save away the error message in a local copy.
3636
1883b2c6
GM
3637 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3638 the start.
3639
a13be207
GM
3640 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3641 in or at the start of invisible text.
3642
1a8a9daf
GM
3643 * dispnew.c (update_window): Don't check_current_matrix_flags.
3644
3608c0f9
JR
36452001-01-01 Jason Rumney <jasonr@gnu.org>
3646
3647 * w32fns.c (x_figure_window_size): Do not allow new_height and
3648 new_width of frame to override specified values.
3649
abb1acc4
KH
36502000-12-30 Kenichi Handa <handa@etl.go.jp>
3651
52283633 3652 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3653
762a68ec
GM
36542000-12-29 Gerd Moellmann <gerd@gnu.org>
3655
52283633 3656 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3657 (update_window) [GLYPH_DEBUG]: Call it.
3658 (scrolling_window): Prevent including current rows which are below
3659 what's displayed in the window.
3660
3661 * xdisp.c (try_window_reusing_current_matrix)
3662 <new start <= old start>: Disable rows in the current matrix
3663 which are below the window after scrolling.
52283633 3664
762a68ec
GM
3665 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3666 is zero. It's not worth the complexity.
3667 (invisible_text_between_p): Put in #if 0 because unused.
3668
2d5912c1
GM
36692000-12-28 Gerd Moellmann <gerd@gnu.org>
3670
46f6a258
GM
3671 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3672 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3673
89f93679
GM
3674 * keyboard.c (echo_char): If C is an integer, always call
3675 push_key_description. Former code could signal an invalid
3676 character error.
3677
3678 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3679 If set, print multibyte text.
3680 (Fsingle_key_description): Call push_key_description with
3681 FORCE_MULTIBYTE set.
3682 (describe_buffer_bindings): Likewise.
3683
3684 * lisp.h (push_key_description): Add prototype.
3685
c06017fb
GM
3686 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3687 around the call to redisplay_internal.
3688
f1d2ce7f
GM
3689 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3690
2d5912c1
GM
3691 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3692
9371f831
KH
36932000-12-28 Kenichi Handa <handa@etl.go.jp>
3694
3695 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3696 (ccl_driver): New local variable `extra_bytes'.
3697
3698 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3699
52283633
SM
3700 * coding.c (setup_coding_system):
3701 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3702 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3703
0c80628a
KH
37042000-12-28 Kenichi Handa <handa@etl.go.jp>
3705
3706 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3707 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3708 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3709 (decode_composition_emacs_mule): New function.
3710 (decode_coding_emacs_mule): Decode composition sequence by calling
3711 decode_composition_emacs_mule.
3712 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3713 (encode_coding_emacs_mule): Changed from macro to function.
3714 If a text contains compositions, encode them correctly.
0c80628a
KH
3715 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3716 that decoding and encoding are required.
3717
3e32cc27
GM
37182000-12-27 Gerd Moellmann <gerd@gnu.org>
3719
5e25feee
GM
3720 * xfaces.c (PT_PER_INCH): New macro.
3721 (xlfd_point_size): Compute real point size from font's pixel size.
3722 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3723 instead of 72.
3724
892d8fcd
GM
3725 * .gdbinit: Comment out the line pointing to the Lesstif source
3726 directory.
3727
12c8b416
GM
3728 * window.c (Frecenter): Use displayed_window_lines instead
3729 of window_internal_height.
3730
6061fbf0
GM
3731 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3732 instead of x-toolkit-scroll-bars-p.
3733 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3734
3735 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3736 instead of x-toolkit-scroll-bars-p.
3737 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3738
3e32cc27
GM
3739 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3740 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3741 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3742 New variables.
3743 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3744 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3745 (build_frame_matrix_from_leaf_window): Remove unused code.
3746 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3747 redisplay history.
3748 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3749 (update_window) [GLYPH_DEBUG]: Likewise.
3750 (syms_of_display): Defsubr dump-redisplay-history.
3751
31798cfe
GM
37522000-12-23 Gerd Moellmann <gerd@gnu.org>
3753
f717c2ba
GM
3754 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3755 the end of the prompt. Set echo_after_prompt to the offset
3756 of echoptr in echobuf.
3757
aeb2b8fc
GM
3758 * xdisp.c (init_from_display_pos): Pop until the iterator's
3759 stack is empty; there may be frames for stretch or images
3760 on the stack.
3761
31798cfe
GM
3762 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3763 (save_or_restore_current_matrix): New function for the same
3764 purpose, but more efficient.
3765 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3766
f8156156
EZ
37672000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3768
3769 * xdisp.c (syms_of_xdisp): Fix last change.
3770
bdd6d4e8
GM
37712000-12-23 Gerd Moellmann <gerd@gnu.org>
3772
3773 * xdisp.c (syms_of_xdisp): Doc fix.
3774
3775 * xdisp.c (redisplay_window): Remove label restore_buffers;
3776 use finish_scroll_bars instead to make sure that scroll bars
3777 are redeemed. If we don't do this, flickering can result from
3778 scroll bars being destroyed and recreated.
3779
9436cdf9
JR
37802000-12-22 Jason Rumney <jasonr@gnu.org>
3781
3782 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3783 in the wrong colors when the foreground is not black.
3784 (expose_window): Don't redraw the window that's currently being
3785 updated.
3786
951f9df5
GM
37872000-12-22 Gerd Moellmann <gerd@gnu.org>
3788
856ff7a7
GM
3789 * window.c (size_window): When setting the window's too_small_ok
3790 flag, compare old size with minimum size depending on WIDTH_P,
3791 don't compare with window_min_width.
52283633 3792
951f9df5
GM
3793 * window.c (delete_window): Simplify somewhat.
3794 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3795 freeing window matrices. The flag windows_or_buffers_changed is
3796 set, so the next redisplay will consider all windows; this should
3797 suffice.
3798
886bc933
KH
37992000-12-22 Kenichi Handa <handa@etl.go.jp>
3800
3801 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3802
3803 * ccl.h (struct ccl_program): New member cr_consumed.
3804
3805 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3806 (CCL_READ_CHAR): Handle EOL conversion here.
3807 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3808
177f4e88
GM
38092000-12-21 Gerd Moellmann <gerd@gnu.org>
3810
52283633 3811 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3812
3813 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3814 otherwise tabs of different size compare equal.
3815
3816 * callint.c (Fcall_interactively): Prevent a compiler warning.
3817
3818 * print.c (print_unwind): Return nil.
3819 (PRINTDECLARE): Initialize all local variables.
3820 (print_preprocess): Add a default case.
3821
8e15274f
GM
3822 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3823
3824 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3825
52283633 3826 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3827 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3828
3829 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3830
3831 * dispnew.c (ensure_frame_matrix): Removed.
3832 (save_frame_matrix, restore_frame_matrix): New functions.
3833 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3834
3835 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3836 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3837
99012074
AI
38382000-12-21 Andrew Innes <andrewi@gnu.org>
3839
3840 * w32term.c (x_update_begin): Regenerate the palette here, rather
3841 than for each window.
3842
3843 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3844 palette is NULL, since this corrupts memory! Also get
3845 display_info reference from frame.
3846
29ef7d2d
JR
38472000-12-21 Jason Rumney <jasonr@gnu.org>
3848
3849 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3850
3851 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3852 to avoid returning without releasing it.
3e27fa1f 3853
3f9d67a6
KH
38542000-12-21 Kenichi Handa <handa@etl.go.jp>
3855
587fc3f9
KH
3856 * keymap.c (push_key_description): Don't convert eight-bit-control
3857 and eight-bit-graphic to multibyte character.
3858
3f9d67a6
KH
3859 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3860 generic character and CODE1 is nil, return the smallest character
3861 in CHARSET.
3862
774ba8c9
DL
38632000-12-20 Dave Love <fx@gnu.org>
3864
3865 * s/osf5-0.h (NSIG): Don't redefine.
3866
88416888
SM
38672000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3868
3869 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3870 excluding menu-bar and tool-bar.
3871 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3872 (menu_item_p): Remove.
3873 (where_is_internal_1): Don't ignore menu-items.
3874
a6426c6f
GM
38752000-12-20 Gerd Moellmann <gerd@gnu.org>
3876
03ff8aab
GM
3877 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3878 into account.
3879
3880 * window.c (make_window): Initialize window's min_hscroll.
3881 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3882 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3883 to zero.
3884 (struct saved_window): New member min_hscroll.
3885 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3886 (Fset_window_configuration): Set window's min_hscroll.
3887 (save_window_save): Save window's min_hscroll.
3888 (compare_window_configurations): Compare min_hscroll values.
3889
3890 * window.h (struct window): New member min_hscroll.
3891
3892 * keyboard.c (echo_prompt): Prevent a compiler warning.
3893
8de4aaf8
GM
3894 * xdisp.c (try_cursor_movement): Fix last change. The real
3895 condition is that PT is at the end of the row, and should
3896 be displayed at the start of the next row.
52283633 3897
3f7e3031
GM
3898 * xdisp.c (try_cursor_movement): If we end on a partially
3899 visible line, end we already decided to scroll, return -1.
3900
a6426c6f
GM
3901 * dispextern.h (ensure_frame_matrix): Add prototype.
3902
3903 * window.c (delete_window, Fsplit_window)
3904 (Fset_window_configuration): Call ensure_frame_matrix.
3905
52283633
SM
3906 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3907 New functions.
a6426c6f
GM
3908 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3909 completed, call fake_current_matrices instead of marking frame
3910 garbaged.
3911
57fa2774
JR
39122000-12-20 Jason Rumney <jasonr@gnu.org>
3913
3914 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3915
d925df90
EZ
39162000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3917
3918 * fns.c (Frequire): Doc fix.
3919
7b93a85b
GM
39202000-12-19 Gerd Moellmann <gerd@gnu.org>
3921
52283633 3922 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3923
c74e645b
GM
3924 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3925 currently displaying a message.
3926
7b93a85b
GM
3927 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3928 xterm.h.
3929 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3930
90d97e64
AI
39312000-12-18 Andrew Innes <andrewi@gnu.org>
3932
3933 * w32.c (w32_strerror): New function.
3934
3935 * w32.h (w32_strerror): New extern.
3936
3937 * w32fns.c (Fw32_shell_execute): Use it.
3938
91c9e6ce
GM
39392000-12-18 Gerd Moellmann <gerd@gnu.org>
3940
3941 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3942
6f4745e2
EZ
39432000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3944
3945 * msdos.c (IT_set_face): Obey inverse_video.
3946
c9e088ce
KH
39472000-12-18 Kenichi Handa <handa@etl.go.jp>
3948
3949 * dired.c (directory_files_internal): Always return decoded filenames.
3950
c3695f5f
GM
39512000-12-18 Gerd Moellmann <gerd@gnu.org>
3952
52d8e4ff
GM
3953 * xterm.c (x_connection_closed): Prevent being called recursively
3954 because of an error condition in XtCloseDisplay.
52283633 3955
62be9979
GM
3956 * xdisp.c (init_iterator): If noninteractive, and the frame's
3957 face cache is null, make one.
3958
52283633 3959 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3960
c3695f5f
GM
3961 * process.c (wait_reading_process_input): Check for pending
3962 input when running timers.
3963
78555fbe
EZ
39642000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3965
52283633 3966 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3967
b2b36264
KH
39682000-12-18 Kenichi Handa <handa@etl.go.jp>
3969
3970 * process.c (read_process_output): Don't run a filter if the code
3971 decoder produces nothing but carryover.
3972
9c543fbf
AI
39732000-12-17 Andrew Innes <andrewi@gnu.org>
3974
3975 * w32.c (sys_rename): Only check errno against EEXIST, and not
3976 EACCES, when determining whether rename failed because the target
3977 exists. This was resulting in indefinite looping on Windows 9x if
3978 the source file was locked by another process.
3979
3980 * w32fns.c (Ffile_system_info): New function.
3981 (syms_of_w32fns): Defsubr it.
3982
10c2b5a8
GM
39832000-12-17 Gerd Moellmann <gerd@gnu.org>
3984
b0228ace
GM
3985 * window.c (coordinates_in_window): Fix computation for
3986 position on vertical line between mode lines.
3987
10c2b5a8
GM
3988 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3989 Don't alter tip_frame or tip_window.
3990 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3991 was deleted.
3992
c844a81a
GM
3993 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3994 Don't alter tip_frame or tip_window.
3995 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3996 was deleted.
3997
6c825f8e
EZ
39982000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3999
4000 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4001 be consistent with the doc string. Reported by NAKAJIMA Mikio
4002 <minakaji@osaka.email.ne.jp>.
4003
af4bb4c8
KH
40042000-12-16 Kenichi Handa <handa@etl.go.jp>
4005
4006 * xfaces.c (Vface_ignored_fonts): New variable.
4007 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4008 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4009
8062e53a
GM
40102000-12-15 Gerd Moellmann <gerd@gnu.org>
4011
e87b8809
GM
4012 * dispnew.c (update_window): Detect pending input every nth line
4013 updated, i.e. do it depending on real work done, and not on the
4014 vpos of the line.
4015
4016 * xterm.c (expose_window): Don't redraw the window that's
4017 currently being updated.
4018
a6768cc5
GM
4019 * window.c (Fset_window_point): Remove test for
4020 cursor_in_non_selected_windows.
4021
4ea7fdca
GM
4022 * lread.c (read1): Recognize end of file after `\\'.
4023
8062e53a
GM
4024 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4025 not unwind_create_frame.
4026
bb7959c1
GM
40272000-12-15 Dave Love <fx@gnu.org>
4028
4029 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4030 bcopy & al.
4031
4032 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4033
ced04c42
KH
40342000-12-15 Kenichi Handa <handa@etl.go.jp>
4035
c5443913
KH
4036 * coding.c (setup_coding_system): Clear all members of the struct
4037 coding_system at first.
bc137305
KH
4038 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4039 argument.
4040 (code_convert_region): Don't override coding->src_multibyte and
4041 coding->dst_multibyte.
c5443913 4042
ced04c42
KH
4043 * fns.c (Fmd5): Docstring improved.
4044
c2d7f289
MB
40452000-12-15 Miles Bader <miles@gnu.org>
4046
4047 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4048 are actually marked as mode-lines; otherwise use
4049 estimate_mode_line_height.
4050
9d7d9263
GM
40512000-12-14 Gerd Moellmann <gerd@gnu.org>
4052
4053 * editfns.c (Fformat): Prevent a buffer overrun when the format
4054 specifies a precision.
4055
7cf0153a
EZ
40562000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4057
4058 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4059 argument is outside the range [2..3].
4060
1de0f662
AI
40612000-12-14 Andrew Innes <andrewi@gnu.org>
4062
4063 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4064 nothing to do. Bind inhibit-quit.
4065 (tip_frame): Make it a Lisp_Object.
4066 (x_create_tip_frame): Set tip_frame after it has been added to
4067 Vframe_list.
4068 (Fx_show_tip): Don't set tip_frame here.
52283633 4069 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4070 (unwind_create_frame, unwind_create_tip_frame): New functions.
4071 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4072 while a frame is only partially constructed.
4073
4074 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4075 (x_free_frame_resources): New function.
4076 (x_destroy_window): Use it.
4077
02387dcc
GM
40782000-12-14 Gerd Moellmann <gerd@gnu.org>
4079
4080 * xfns.c (Fx_backspace_delete_keys_p): New function.
4081 (syms_of_xfns): Defsubr it.
4082
4083 * config.in (HAVE_XKBGETKEYBOARD): Add.
4084
0544ef49
KH
40852000-12-14 Kenichi Handa <handa@etl.go.jp>
4086
98d62747
KH
4087 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4088 Always store string in multibyte representation in echobuf.
4089 (echo_char): Always store string in multibyte representation in
4090 echobuf.
4091 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4092 (read_key_sequence): Adjusted for the change of echo_prompt.
4093
a20193cd
KH
4094 * fns.c (Fmd5): Docstring improved.
4095
191b83b6
KH
4096 * lisp.h (detect_coding_system): Prototype adjusted.
4097
0544ef49
KH
4098 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4099 (detect_coding_emacs_mule, detect_coding_iso2022,)
4100 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4101 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4102 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4103 (detect_coding_mask, detect_coding_system): New argument
4104 MULTIBYTEP. Callers changed.
1da1bb05
KH
4105 (decode_coding_string): Set coding->src_multibyte and
4106 coding->dst_multibyte before calling detect_coding and detect_eol.
4107 Update them after some coding system is detected.
52283633 4108
d5b3eb1b
SM
41092000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4110
4111 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4112
4113 * keyboard.c (menu_bar_items, tool_bar_items):
4114 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4115
f7f8bb69
GM
41162000-12-13 Gerd Moellmann <gerd@gnu.org>
4117
52283633 4118 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4119 New variables.
4120 (unwind_create_frame, unwind_create_tip_frame): New functions.
4121 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4122 while a frame is only partially constructed.
4123
4124 * xterm.h (x_free_frame_resources): Declare.
4125
4126 * xterm.c (x_free_frame_resources): New function.
4127 (x_destroy_window): Use it.
4128
e10da507
GM
4129 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4130 don't interrupt the update for pending input initially, i.e.
4131 update at least some lines.
4132
4133 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4134
d5b3eb1b 4135 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4136
4137 * xfns.c (gray_bitmap_bits): Declare `char *'.
4138
90aa2856
GM
41392000-12-12 Gerd Moellmann <gerd@gnu.org>
4140
4141 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4142 lines start with a relief line.
4143
a308c9cd
DL
41442000-12-12 Dave Love <fx@gnu.org>
4145
4146 * window.c (Fdisplay_buffer): Doc fix.
4147 (Fwindow_list): Remove unused var.
4148
4149 * buffer.h (mmap_set_vars): Declare.
4150
4151 * window.h (Fset_window_point): Declare.
4152
d575011f
EZ
41532000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4154
bf6282d2 4155 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4156 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4157 variable `area'. When looking for a row under (X,Y), give up if some
4158 of the previous rows is not enabled.
d575011f 4159
ecf4d726
GM
41602000-12-12 Gerd Moellmann <gerd@gnu.org>
4161
2ebf6139
GM
4162 * window.c (Fset_window_point): If displaying cursors in windows
4163 other than the selected window, make sure redisplay updates
4164 other windows to show the new value of point in the window.
4165
4166 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4167
bfdb75ee
GM
4168 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4169 the buffer is the sole visible buffer when in the mini-buffer.
4170
52283633 4171 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4172 Bind `inhibit-read-only' to t.
4173 (unwind_with_echo_area_buffer): Use AREF.
4174
c0006262
GM
4175 * xfns.c (Fx_hide_tip): Simplified.
4176
52283633
SM
4177 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4178 instead of `1'.
e9a59cad 4179
ecf4d726
GM
4180 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4181
e5959a9a
GM
41822000-12-11 Gerd Moellmann <gerd@gnu.org>
4183
a3642e49 4184 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4185
44b5a125
GM
4186 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4187 nothing to do. Bind inhibit-quit.
4188 (tip_frame): Make it a Lisp_Object.
4189 (x_create_tip_frame): Set tip_frame after it has been added to
4190 Vframe_list.
4191 (Fx_show_tip): Don't set tip_frame here.
4192
4193 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4194
4195 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4196 Lisp_Object.
4197
4198 * dispextern.h: Change external declaration of tip_frame.
4199
d990421f
GM
4200 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4201 return an empty string.
4202
4db87380
GM
4203 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4204 of the window's update_mode_line flag, since the former is set by
4205 force-mode-line-update, not the latter. This makes
4206 column-number-mode slightly faster.
52283633 4207
e5959a9a
GM
4208 * xdisp.c (try_window_id) <all changes above window start>:
4209 Set the cursor.
4210
169fe44e
GM
42112000-12-11 Paul Eggert <eggert@twinsun.com>
4212
4213 * config.in (HAVE_FTELLO): Remove.
4214 (HAVE_FSEEKO): Add.
4215 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4216 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4217 HAVE_FTELLO.
4218 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4219 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4220
59ec59ae
MB
42212000-12-11 Miles Bader <miles@gnu.org>
4222
4223 * window.c (displayed_window_lines): Don't round up when
4224 converting empty space at bottom to lines.
ff904dd6
MB
4225 Handle non-newline-terminated final lines properly.
4226 (Fwindow_text_height): New function (used to be in lisp).
4227 (syms_of_window): Initialize it.
59ec59ae 4228
42ebfa31
SM
42292000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4230
4231 * syntax.c (scan_lists): Check that the right quote char has the
4232 right Sstring syntax when jumping over strings.
4233 (init_syntax_once): Use Smax rather than 13.
4234
5cdb3cf3
MB
42352000-12-09 Miles Bader <miles@gnu.org>
4236
4237 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4238 with PARTIALLY, inverting the sense.
4239 (window_scroll_pixel_based): Scroll partially visible lines into
4240 place if we hit the beginning or end of the buffer.
a12167c5
MB
4241 (displayed_window_lines): Don't include partially visible lines.
4242 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4243
842b2a94
GM
42442000-12-08 Gerd Moellmann <gerd@gnu.org>
4245
4246 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4247
4248 * tparam.c (tparam1): Change the way buffers are reallocated to be
4249 portable and less obfuscated.
4250
4251 * termcap.c (tgetent): Change the way buffers are reallocated to
4252 be portable and less obfuscated.
4253
4254 * macros.c (store_kbd_macro_char): Change the way buffers are
4255 reallocated to be portable and less obfuscated.
4256
4257 * lread.c (read1): Change the way buffers are reallocated to be
4258 portable and less obfuscated.
4259
4260 * doc.c (Fsubstitute_command_keys): Change the way buffers
4261 are reallocated so that it is portable.
4262
137cad7c
EZ
42632000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4264
4265 * dosfns.c (Ffile_system_info): New function.
4266 (syms_of_dosfns): Defsubr it.
4267
5c7f629c
SM
42682000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4269
4270 * alloc.c (gc_sweep): Add comment.
4271
959e647d
GM
42722000-12-07 Gerd Moellmann <gerd@gnu.org>
4273
52283633
SM
4274 * sound.c (vox_configure): Change order of ioctls.
4275 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4276 Ignore errors when changing volume.
4277 (vox_close): Don't reset the device.
4278
926b7e5e
GM
4279 * process.c (read_process_output): Make sure the process marker's
4280 position is valid when the process buffer is changed in
4281 after-change functions. W3 does that.
52283633 4282
959e647d
GM
4283 * xfns.c (x_free_gcs): New function.
4284
4285 * xterm.h (x_free_gcs): Add prototype.
4286
4287 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4288 freeing GCs here.
4289
4290 * xterm.c (x_destroy_window): Call x_free_gcs so that
4291 resources of non-toolkit X windows will be freed.
4292
478ea067
AI
42932000-12-07 Andrew Innes <andrewi@gnu.org>
4294
4295 * w32fns.c (xlfd_charset_of_font): Fix last change.
4296
fbee3231
DL
42972000-12-06 Dave Love <fx@gnu.org>
4298
67292061
DL
4299 * md5.h (__P): Don't define -- it comes from config.h.
4300
fbee3231
DL
4301 * strftime.c: Change some #if foo to #ifdef foo.
4302
4ee87dbb
AI
43032000-12-06 Andrew Innes <andrewi@gnu.org>
4304
4305 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4306
52283633 4307 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4308 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4309 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4310
9765b4a4
GM
43112000-12-06 Gerd Moellmann <gerd@gnu.org>
4312
d285b373
GM
4313 * alloc.c (gc_sweep): Prevent symbols read during loadup
4314 from being freed.
4315
384333ee
GM
4316 * xdisp.c (underlying_face_id): New function.
4317 (handle_face_prop, face_before_or_after_it_pos): Use it
4318 to determine the face ``under'' a string. Let strings inherit
4319 the face of the buffer under them.
4320
4321 * xfaces.c (face_at_string_position): Update function comment.
52283633 4322
d4b72d58
GM
4323 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4324 matrix if the window's left position has changed; we need to
4325 redraw it in this case.
4326
4327 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4328
e1d05387
GM
4329 * window.c (coordinates_in_window): Check mouse on mode-line or
4330 header-line first.
4331
eb1b0c74
GM
4332 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4333 advertized by the function documentation.
4334
d94d636f
GM
4335 * window.c (syms_of_window): Doc fix.
4336
3887b449
GM
4337 * sound.c (vox_configure): Set volume for left and right channel.
4338 (sound_cleanup): Return nil.
4339
efc8f57a
GM
4340 * xdisp.c (move_it_by_lines): Fix paren typo.
4341
9765b4a4
GM
4342 * xterm.c (x_load_font): Don't use the font's max_bounds for
4343 computing the height of the font. If max_bounds' ascent or
4344 descent are greater than the font's ascent or descent, this means
4345 glyphs overlap, which should be handled now by redisplay.
4346
6529ed87
GM
4347 * window.c (Veven_window_heights): New variable.
4348 (syms_of_window): DEFVAR_LISP it.
4349 (Fdisplay_buffer): Check Veven_window_heights before evening the
4350 window heights.
52283633 4351
0eb2ecde
MB
43522000-12-06 Miles Bader <miles@gnu.org>
4353
4354 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4355 update `default-frame-alist' instead of setting no frame parameters.
4356
03d7a167
KH
43572000-12-06 Kenichi Handa <handa@etl.go.jp>
4358
4359 * composite.c (update_compositions): Fix typo (use the correct
4360 variable).
4361
5f8803c2
JR
43622000-12-05 Jason Rumney <jasonr@gnu.org>
4363
4364 * md5.h: Remove underscores from function declarations.
4365 (__attribute__, __alignof__) [!__GNUC__]: Define.
4366
4367 * md5.c: Delay include of md5.h until after namespace cleaning.
4368
c28a075b
JR
4369 * makefile.w32-in (fns.o): Depend on md5.h
4370 (md5.o): New target.
4371 (sunfns.o): Remove.
4372
4373 * makefile.nt: Likewise.
4374
ff3c7056
JR
43752000-12-05 Jason Rumney <jasonr@altavista.net>
4376
4377 * w32term.c (expose_area): Complete last change.
4378
0c21eeeb
KR
43792000-12-05 Ken Raeburn <raeburn@gnu.org>
4380
4381 * minibuf.c: Include intervals.h.
4382
f201d732
JR
43832000-12-05 Jason Rumney <jasonr@gnu.org>
4384
4385 * w32term.c (x_produce_glyphs): If a font for a component of
4386 a composition is not found, use 1 pixel dot ascent and 0 dot
4387 descent value to avoid displaying terribly tall empty boxes.
4388 (expose_area): Pass x-coordinate relative to the exposed
4389 area to x_draw_glyphs instead of a window-relative coordinate.
4390
21999ab9
GM
43912000-12-05 Gerd Moellmann <gerd@gnu.org>
4392
4d2036e4
GM
4393 * xdisp.c (next_element_from_ellipsis): Save face before selective
4394 display in saved_face_id, and set face_before_selective_p.
4395 (reseat_1): Reset face_before_selective_p.
4396 (append_space, extend_face_to_end_of_line): If iterator's
4397 face_before_selective_p is set, use the face from saved_face_id.
4398 (extend_face_to_end_of_line): For tty frames, make sure to
4399 use the right face id when producing spaces at the end of
4400 the line.
4401
4402 * dispextern.h (struct it): Add face_before_selective_p.
4403
52be17cc
GM
4404 * keyboard.c (record_char): Don't record identical help-echo
4405 events in recent_keys.
4406
8a4f36cc
GM
4407 * xterm.c [USE_X_TOOLKIT]: Close the display.
4408 (xim_close_dpy): Handle case that the display has been closed.
4409
57d6e381
GM
4410 * xterm.c (x_destroy_window): Reset the frame's X window after
4411 destroying it.
4412
21999ab9
GM
4413 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4414 variable window_width.
4415 (line_draw_cost): Fix code skipping over spaces at the end of the
4416 line when must_write_spaces is not set.
4417 (scrolling_window): Fix code inserting runs in list of all runs.
4418
91372bb7
KH
44192000-12-05 Kenichi Handa <handa@etl.go.jp>
4420
4421 * coding.c (setup_coding_system): Be sure to initialize
4422 coding->category_idx.
4423
6c083b4c
GM
44242000-12-04 Gerd Moellmann <gerd@gnu.org>
4425
0c68ce6f 4426 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4427
6452929e
GM
4428 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4429 area to x_draw_glyphs instead of a window-relative coordinate.
4430
d7f31e22
GM
4431 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4432 error in the message.
4433
ae18aa3b
GM
4434 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4435 timer after having read a key. It's not good for code reading
4436 several keys in a loop, like an input method.
4437
caa15ef7
GM
4438 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4439 record undo information for format-decode.
4440
4441 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4442 current buffer is read-only, not if it isn't.
4443
6c083b4c
GM
4444 * keyboard.c (record_char): Record `help-echo' input events
4445 in recent_keys only if they display some help. Don't record
4446 `help-echo' events as macro char.
4447
caa15ef7
GM
44482000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4449
4450 * editfns.c (save_excursion_restore): Don't move point
4451 in another window if it is showing the wrong buffer.
4452 Avoid the call to Fwindow_live_p, for speed.
4453
5a13529b
KH
44542000-12-04 Kenichi Handa <handa@etl.go.jp>
4455
e225faa7
KH
4456 * xfaces.c (struct font_name): New member registry_priority.
4457 (split_font_name): Initialize the above member to zero.
4458 (concat_font_list): New function.
4459 (font_list): Include fonts of all alternative registries.
4460 (FONT_POINT_SIZE_QUANTUM): New macro.
4461 (better_font_p): Ignore point size difference less than
4462 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4463
e89648b4
KH
4464 * xterm.c (x_produce_glyphs): If a font for a component of
4465 a composition is not found, use 1 pixel dot ascent and 0 dot
4466 descent value to avoid displaying terribly tall empty boxes.
4467
5a13529b
KH
4468 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4469
d7935eb6
KR
44702000-12-03 Ken Raeburn <raeburn@gnu.org>
4471
4472 * coding.h (code_convert_string1): Declare.
4473
4474 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4475
52283633 4476 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4477
0dd5e255
JR
44782000-12-02 Jason Rumney <jasonr@gnu.org>
4479
4480 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4481 correctly for single byte character case.
4482 (w32_per_char_metric): Do not try to make any assumptions about
4483 the metrics of BDF fonts.
250cfece 4484 (x_estimate_mode_line_height): If `mode-line' face
52283633 4485 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4486 (note_mouse_highlight): Change the cursor shape on the vertical
4487 border between windows [not enabled].
4488
4489 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4490
4491 * w32fns.c (Fx_create_frame): Reintroduce the call to
4492 face-set-after-frame-defaults.
4493 (Vx_window_horizontal_drag_shape): New variable.
4494 (syms_of_xfns): DEFVAR_LISP it.
4495 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4496 enabled].
0dd5e255 4497
b5d8d2ca
GM
44982000-12-02 Simon Josefsson <simon@josefsson.org>
4499
4500 * fns.c (Fmd5): Use a different logic to decide the coding system
4501 to use.
4502
4503 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4504
fbb87147
EZ
45052000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4506
52283633 4507 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4508
447e9da0
GM
45092000-12-01 Gerd Moellmann <gerd@gnu.org>
4510
7708ced0
GM
4511 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4512 height for YNegative.
4513 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4514 height; also see comment there.
4515
447e9da0
GM
4516 * window.c (coordinates_in_window): Handle computations for
4517 positions on the vertical bar and fringes differently for
4518 window-system frames. Consider some pixels near the vertical bar
4519 as on the bar if the frame doesn't have vertical scroll bars.
4520 Associate positions between mode or header lines with the
4521 right window, the left one.
4522
86d1db20
JR
45232000-12-01 Jason Rumney <jasonr@gnu.org>
4524
4525 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4526
4527 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4528 invalid frame.
4529
a1d58e5b
GM
45302000-12-01 Gerd Moellmann <gerd@gnu.org>
4531
52283633 4532 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4533 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4534 (save_window_save, Fset_window_configuration): Save/restore
4535 window's orig_top and orig_height.
4536
89c609af
JR
45372000-12-01 Jason Rumney <jasonr@gnu.org>
4538
4d177746 4539 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4540
89c609af
JR
4541 * w32fns.c (x_set_cursor_color): Fix last change.
4542
eccc05db
GM
45432000-11-30 Gerd Moellmann <gerd@gnu.org>
4544
31b6671b
GM
4545 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4546 sure that the next redisplay displays the minibuffer, so that
4547 the cursor will be replaced with what the minibuffer wants.
4548
eccc05db
GM
4549 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4550 #ifndef instead of using #if.
4551 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4552 USE_TOOLKIT_SCROLL_BARS is defined.
4553
162de750
JR
45542000-11-30 Jason Rumney <jasonr@gnu.org>
4555
4556 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4557 x_display_cursor.
4558
693c4692
GM
45592000-11-30 Gerd Moellmann <gerd@gnu.org>
4560
4561 * fns.c (Fmd5): Doc fix.
4562
b5d8d2ca 45632000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4564
4565 * fns.c (Fmd5): New function.
4566 (syms_of_fns): Defsubr md5.
4567
4568 * Makefile.in (obj): Add md5.o
4569
b02cd40b
GM
45702000-11-30 Gerd Moellmann <gerd@gnu.org>
4571
edfb795e
GM
4572 * md5.h, md5.c: New files, taken from glibc.
4573
df3aedcf
GM
4574 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4575
b02cd40b 4576 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4577 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4578
8b5176cd
SM
45792000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4580
4581 * eval.c (Frun_hooks): Allow 0 arguments.
4582
346598f1
GM
45832000-11-29 Gerd Moellmann <gerd@gnu.org>
4584
f9396e03
GM
4585 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4586 is over the menu bar widget, say it's not on the frame.
4587
4a967a9b
GM
4588 * xfns.c (Fx_create_frame): Reintroduce the call to
4589 face-set-after-frame-defaults.
4590
346598f1
GM
4591 * eval.c (Fsignal): Reset handling_signal.
4592
222456a1
JR
45932000-11-28 Jason Rumney <jasonr@gnu.org>
4594
4595 * w32menu.c (add_menu_item): Reset menu item text when changing
4596 type to radio button.
4597
8049ddc0
GM
45982000-11-28 Gerd Moellmann <gerd@gnu.org>
4599
346598f1 4600 * xselect.c: Update copyright.
f4f4ee4d 4601
bebe4a2c
GM
4602 * window.c (coordinates_in_window): If on a mode or header line,
4603 but sufficiently close to its start, return ``on vertical
4604 border''. This gives us a way to drag windows horizontally when
4605 using toolkit scroll bars.
4606
4607 * xterm.c (note_mouse_highlight): Change the cursor shape
4608 on the vertical border between windows.
4609
4610 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4611
4612 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4613 (syms_of_xfns): DEFVAR_LISP it.
4614 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4615
8d2c2642
GM
4616 * textprop.c (text_read_only): New function.
4617 (verify_interval_modification): Use it instead of signaling
4618 `text-read-only'. This makes it easier to catch this error
52283633 4619 with a breakpoint.:
8d2c2642 4620
52283633 4621 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4622 not end of line, which includes CR.
4623
5a2bae6c
KH
46242000-11-28 Kenichi Handa <handa@etl.go.jp>
4625
4626 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4627 include no-conversion.
4628
ae31f84d
JR
46292000-11-27 Jason Rumney <jasonr@gnu.org>
4630
4631 * w32fns.c (w32_load_system_font): Always mark font as double byte
4632 if codepage is unicode.
4633
67f1cf4c
GM
46342000-11-27 Gerd Moellmann <gerd@gnu.org>
4635
4a74d071 4636 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4637 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4638
902ae620
GM
4639 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4640 `vertical-line', `mode-line' and `header-line' events.
4641
4642 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4643 of a character, a TAB for instance. This is easier than to set
4644 up the iterator exactly, and it's not a frequent case, so the
4645 additional effort wouldn't really pay off.
4646
c1e279c2
AC
46472000-11-26 Andrew Choi <akochoi@i-cable.com>
4648
67f1cf4c 4649 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4650 init_window_once.
4651
a609568a
JR
46522000-11-25 Jason Rumney <jasonr@gnu.org>
4653
52283633
SM
4654 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4655 Args to window_from_coordinates should be pixel coordinates.
48b21762 4656
a609568a
JR
4657 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4658 redisplay handles them properly.
4659
a658d039
MB
46602000-11-25 Miles Bader <miles@gnu.org>
4661
4662 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4663
d3416cca
JR
46642000-11-24 Jason Rumney <jasonr@gnu.org>
4665
4666 * w32.c (init_environment): Set LANG environment variable based on
4667 locale settings, if not set.
4668
4669 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4670 making tool bar smaller. When clearing the frame, also
4671 clear current matrices. Clear frame when tool bar disappears.
4672 Don't use more lines for the tool-bar than is available.
4673 (x_change_window_heights): New function.
4674
ba193890
GM
46752000-11-24 Gerd Moellmann <gerd@gnu.org>
4676
2be8f184
GM
4677 * xdisp.c (init_from_display_pos): If POS says we're already after
4678 an overlay string ending at POS, make sure to pop the iterator
4679 because it will be in front of that overlay string. When POS is
4680 ZV, we've thereby also ``processed'' overlay strings at ZV.
4681
ba193890
GM
4682 * xfaces.c (lface_from_face_name): Function comment fix.
4683
1862a24e
MB
46842000-11-24 Miles Bader <miles@gnu.org>
4685
4686 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4687 apply `mode-line-inverse-video' -- zero means force display using
4688 the default face, non-zero means display using the specialized face.
4689 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4690
f07fa1b8
KH
46912000-11-23 Kenichi Handa <handa@etl.go.jp>
4692
4693 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4694 hard coded `4'.
4695
2bcdf662
EZ
46962000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4697
4698 * coding.c (decode_coding_emacs_mule): Fix the case of
4699 CODING_EOL_LF, which used uninitialized value of c.
4700
ba8299ff
SM
47012000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4702
4703 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4704
f4117c4d
GM
47052000-11-22 Gerd Moellmann <gerd@gnu.org>
4706
03e757c1
GM
4707 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4708 buffer object.
4709
f4117c4d
GM
4710 * frame.h (struct frame): Replace desired_tool_bar_items,
4711 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4712 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4713
4714 * frame.c (make_frame): Change initialization of tool bar
4715 items accordingly.
4716
4717 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4718 Change references to members deleted from struct frame to use the
f4117c4d
GM
4719 new ones.
4720
4721 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4722 references to members deleted from struct frame to use the new ones.
f4117c4d 4723
52283633 4724 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4725
4726 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4727
4728 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4729 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4730 from struct frame to use the new ones.
4731
f8e2f3f2
MB
47322000-11-23 Miles Bader <miles@gnu.org>
4733
4734 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4735 the face's inverse-video attribute, rather than overriding it.
4736
60e8e0a5
GM
47372000-11-22 Gerd Moellmann <gerd@gnu.org>
4738
4739 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4740 making tool bar smaller.
4741
92dd1b29
DL
47422000-11-22 Dave Love <fx@gnu.org>
4743
4744 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4745
e672fdce
MB
47462000-11-22 Miles Bader <miles@gnu.org>
4747
3a17d6cc
MB
4748 * keyboard.c (Vminibuffer_message_timeout): New variable.
4749 (command_loop_1): Use it to determine message timeout.
4750 (syms_of_keyboard): Initialize it.
4751
60e8e0a5 4752 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4753
e9655d81
KH
47542000-11-22 Kenichi Handa <handa@etl.go.jp>
4755
4756 * sysdep.c: Move the code for declaring h_errno after #include
4757 <netdb.h>.
4758
77270fac
GM
47592000-11-21 Gerd Moellmann <gerd@gnu.org>
4760
cd913aae
GM
4761 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4762 the menu bar when the tooltip is unmapped.
4763
77270fac
GM
4764 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4765 sole visible buffer when we're currently in the mini-buffer, and
4766 give up if so.
52283633 4767
556635d6
JR
47682000-11-21 Jason Rumney <jasonr@gnu.org>
4769
4770 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4771 put on the clipboard.
4772 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4773 copy of what Emacs last put there. If they are the same, do not
52283633 4774 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4775
5b7bde64
MB
47762000-11-22 Miles Bader <miles@gnu.org>
4777
4778 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4779 (syms_of_minibuf): Initialize it.
4780 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4781 to prompt, don't make read-only.
4782
ff23e1dd
GM
47832000-11-21 Gerd Moellmann <gerd@gnu.org>
4784
52283633
SM
4785 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4786 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4787
7aaf4388
GM
4788 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4789
f5f47add 4790 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4791
ff23e1dd
GM
4792 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4793
37c35586
KH
47942000-11-21 Kenichi Handa <handa@etl.go.jp>
4795
4796 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4797 ... #endif scope.
4798
ff9ab414
GM
47992000-11-20 Gerd Moellmann <gerd@gnu.org>
4800
52283633 4801 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4802 screen supports it.
4803
29a01b72
GM
4804 * s/gnu-linux.h: Don't use `#cpu'.
4805
09dfdf85
GM
4806 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4807 not defined in mman.h.
4808
52283633 4809 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4810 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4811 and store an index in the XClientMessageEvent. Storing a
4812 Lisp_Object or pointer can fail on a 64 bit system, since X only
4813 transfers 32 bits.
52283633
SM
4814 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4815
81459ac9
DL
48162000-11-20 Dave Love <fx@gnu.org>
4817
4818 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4819
56c13ae6
GM
48202000-11-20 Gerd Moellmann <gerd@gnu.org>
4821
4822 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4823
495a6df3
KH
48242000-11-20 Kenichi Handa <handa@etl.go.jp>
4825
2bcf3714
KH
4826 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4827 by WIDTH.
4828
495a6df3
KH
4829 * alloc.c (make_string): Fix previous change. Be sure to make
4830 unibyte string correctly.
4831
6d950f4c
GM
48322000-11-19 Gerd Moellmann <gerd@gnu.org>
4833
39b39373
GM
4834 * window.c (Fwindow_list): Change parameter list to be XEmacs
4835 compatible.
4836 (window_list_1): New function.
4837 (window_loop): Use it instead of Fwindow_list.
4838
b95b34e5
GM
4839 * sysdep.c (emacs_ospeed): New variable.
4840 (toplevel): Don't declare ospeed extern.
4841 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4842
4843 * termcap.c (ospeed): Remove.
4844 (tputs) [!emacs]: Remove unused code.
4845 (tgetent): Avoid a compiler warning.
4846
e83dc917
GM
4847 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4848 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4849 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4850
4851 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4852 removed.
4853 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4854 Take the X display as additional argument.
4855 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4856 `Widget' is a pointer type that's not easily stored in Lisp_Object
4857 form in a portable way.
52283633 4858
6d950f4c
GM
4859 * dispnew.c (update_text_area): Fix last change.
4860
e47306e6
GM
48612000-11-18 Gerd Moellmann <gerd@gnu.org>
4862
fb3cd89b
GM
4863 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4864
4865 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4866 clear current matrices.
4867
edaa9aed
GM
4868 * buffer.c (mmap_enlarge): Don't print a message on stderr
4869 if mapping new memory at the end of the existing region fails.
4870
e47306e6
GM
4871 * dispnew.c (update_text_area): Don't skip over equal glyphs
4872 when the last current glyph overlaps the glyph to its right.
4873
509633e3
MB
48742000-11-18 Miles Bader <miles@gnu.org>
4875
4876 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4877 lines that *end* with "..." too (that's the most common case!).
4878
d392e9c5
GM
48792000-11-18 Gerd Moellmann <gerd@gnu.org>
4880
67988445
GM
4881 * xdisp.c (resize_mini_window): Temporarily change to the
4882 mini-window's buffer if necessary.
1bfdbe43 4883
d392e9c5
GM
4884 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4885 the tooltip obscures less text under it.
4886
48872000-11-17 Gerd Moellmann <gerd@gnu.org>
4888
4889 * puresize.h (BASE_PURESIZE): Increase to 700000.
4890
92bb977f
JR
48912000-11-18 Jason Rumney <jasonr@gnu.org>
4892
4893 * w32term.c (w32_draw_bitmap): Use face to set colors.
4894
26fbf20b
DL
48952000-11-17 Dave Love <fx@gnu.org>
4896
4897 * lread.c (Fload): Fix #ifdef for pcc.
4898
100b593b
GM
48992000-11-17 Gerd Moellmann <gerd@gnu.org>
4900
4901 * xdisp.c (pos_visible_p): Compute the default character height
4902 differently.
4903
a288d0d1
GM
49042000-11-16 Gerd Moellmann <gerd@gnu.org>
4905
cac94de6 4906 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4907 knowing the line's height; use the default font's height in that case.
cac94de6 4908
a288d0d1
GM
4909 * xfaces.c (weight_table): Add `demi' with the same meaning as
4910 `demibold'.
4911
981fb6f6
KH
49122000-11-16 Kenichi Handa <handa@etl.go.jp>
4913
2cca872d 4914 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4915 (clear_glyph_row): Delete local static variable null_row.
4916
e5fa381b
JR
49172000-11-15 Jason Rumney <jasonr@gnu.org>
4918
4919 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4920 (w32_alloc_lighter_color): Use new brightness calculations from
4921 xterm.c. Scale delta to be in the range expected by W32.
4922 (w32_draw_relief_rect): Use frame relief colors.
4923
8e42f043
GM
49242000-11-15 Gerd Moellmann <gerd@gnu.org>
4925
6d133d1f
GM
4926 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4927 (Qinhibit_default_face_x_resources): New variable.
4928 (syms_of_frame): Initialize it.
4929 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4930
4931 * xdisp.c (pos_visible_p): Improve function comment.
4932
4933 * lisp.h (BINDING_STACK_SIZE): New macro.
4934
8e42f043
GM
4935 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4936 reading the directory if readdir returns null and errno is EAGAIN
4937 or EINTR.
4938
e8c87124
SM
49392000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4940
4941 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4942 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4943 Set amount_to_scroll to max of dx and scroll_step so that
4944 scroll-conservatively doesn't defeat scroll-step>1.
4945 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4946 scroll-conservatively for line-at-a-time scrolling.
4947
5f0c971d
GM
49482000-11-14 Gerd Moellmann <gerd@gnu.org>
4949
4950 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4951 extra argument.
4952
4953 * xdisp.c (current_mode_line_height, current_header_line_height):
4954 New variables.
4955 (init_xdisp): Initialize them.
4956 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4957 and use exact mode line heights if it is set.
4958
4959 * lisp.h (pos_visible_p): Change prototype.
4960
4961 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4962 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4963 and current_header_line_height first.
52283633
SM
4964 (current_mode_line_height, current_header_line_height):
4965 Declare extern.
5f0c971d 4966
d7361edf
MB
49672000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4968
4969 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4970 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4971 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4972
ee5e440a
MB
49732000-11-14 Miles Bader <miles@gnu.org>
4974
4975 * xterm.c (x_alloc_lighter_color): Include an additive component
4976 too for dark colors, because FACTOR isn't enough.
4977 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4978 New macros.
4979
5ca020fc
GM
49802000-11-13 Gerd Moellmann <gerd@gnu.org>
4981
4982 * keyboard.c (show_help_echo): Call message3_nolog with number of
4983 bytes in the help string as 2nd parameter, instead of the number
4984 of characters.
4985
9d348294
MB
49862000-11-13 Miles Bader <miles@gnu.org>
4987
4988 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4989 (Fload): Use new openp return protocol.
4990 Don't try to use Vload_source_file_function to load .elc files.
4991 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4992 openp return protocol.
4993 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4994
1729bb9a
KH
49952000-11-11 Kenichi Handa <handa@etl.go.jp>
4996
4e677396
KH
4997 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4998
4999 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5000 Defined these macros.
5001 (NLIST_STRUCT): Avoid re-defining it.
5002
1729bb9a
KH
5003 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5004 -I/usr/contrib/X11R6/include.
5005 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5006
a82fe213
JR
50072000-11-10 Jason Rumney <jasonr@gnu.org>
5008
5009 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5010
5011 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5012 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5013
5014 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5015 (Qw32_charset_vietnamese): New symbol.
5016 (xlfd_charset_of_font): New function.
5017 (w32_load_system_font): Use it.
5018 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5019 when Vw32_charset_info_alist is nil to ensure default face always
5020 has font. Use Fcar and Fcdr for safety.
5021 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5022 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5023 pseudo-codepages for special cases.
5024 (w32_to_x_font): New parameter to allow charset portion to be
5025 specified where there is many to one mapping. Callers changed.
5026 (w32_list_fonts): Avoid listing fonts that won't display.
5027
52d89894
GM
50282000-11-10 Gerd Moellmann <gerd@gnu.org>
5029
5030 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5031 (font_list_1): Renamed from font_list.
5032 (font_list): New function, trying alternative registries from
5033 Vface_alternative_font_registry_alist.
5034 (Finternal_set_alternative_font_registry_alist): New function.
5035 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5036 Vface_alternative_font_registry_alist.
5037 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5038
651cd3da
KR
50392000-11-09 Ken Raeburn <raeburn@gnu.org>
5040
5041 * lisp.h (Flooking_at): Declare.
5042
388ac098
GM
50432000-11-09 Gerd Moellmann <gerd@gnu.org>
5044
778fbc46 5045 * dired.c (directory_files_internal): Fix a braino.
52283633 5046
388ac098
GM
5047 * dired.c (directory_files_internal): Add missing GCPRO's.
5048 Some cleanup.
5049
ecaedde1
GM
50502000-11-08 Gerd Moellmann <gerd@gnu.org>
5051
f7eb32aa
GM
5052 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5053 (resize_mini_window): Return quickly if Vresize_mini_window is
5054 nil. Don't return if Vmax_mini_window_height is nil.
5055
5056 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5057 (syms_of_xdisp): Initialize them.
5058 (resize_mini_window): Act according to the setting of
5059 Vresize_mini_window.
5060 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5061
ecaedde1
GM
5062 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5063 scroll bar widget after configuring it, so that it will appear at
5064 the right position from the start.
5065 (XTredeem_scroll_bar): Cleaned up.
5066
3747ef2c
KH
50672000-11-08 Kenichi Handa <handa@etl.go.jp>
5068
5069 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5070 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5071 division by two.
5072
5073 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5074
03391420
DL
50752000-11-07 Dave Love <fx@gnu.org>
5076
7758f1c1 5077 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5078
5079 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5080
b5de343d
GM
50812000-11-07 Gerd Moellmann <gerd@gnu.org>
5082
acad3c0b
GM
5083 * window.c (Fset_window_configuration): Don't try to preserve
5084 point in the current buffer, if that buffer is displayed in more
5085 than one window.
5086
b5de343d
GM
5087 * xfaces.c (lookup_named_face): If default face isn't realized,
5088 try to realize it. Return -1 if not successful.
5089 (Fx_list_fonts): Handle case that face cannot be determined.
5090 (Fface_font): Likewise.
5091
cdb1fe49
GM
50922000-11-06 Gerd Moellmann <gerd@gnu.org>
5093
5094 * window.c (displayed_window_lines): Detect partially
5095 visible lines at the bottom correctly.
5096
d3a67486
SM
50972000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5098
5099 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5100 when ensuring we don't do visit in indirect buffer.
5101
ff8dd5d5
KH
51022000-11-06 Kenichi Handa <handa@etl.go.jp>
5103
5104 * composite.h (compose_chars_in_text): Add prototype.
5105
5106 * composite.c (Vcomposition_function_table): New variable.
5107 (Qcomposition_function_table): New variable.
5108 (run_composition_function): Call
5109 Vcompose_chars_after_function with three arguments.
5110 (compose_chars_in_text): New function.
5111 (syms_of_composite): Modified the doc-string of
5112 Vcompose_chars_after_function. Declare composition-function-table
5113 as a lisp variable, and initialize it.
5114
5115 * xfns.c (x_encode_text): Suppress producing escape sequences for
5116 composition.
5117
5118 * xselect.c: Include composite.h.
5119 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5120
d1145f85
AI
51212000-11-05 Andrew Innes <andrewi@gnu.org>
5122
5123 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5124
5125 * sysdep.c (read_input_waiting): Remove extraneous argument to
5126 read_socket_hook.
5127
5128 * w32fns.c (Fx_server_version): Include w32_build_number in the
5129 return list.
5130
5131 * w32heap.c (w32_build_number): New variable.
5132 (cache_system_info): Set it.
5133
5134 * w32heap.h (w32_build_number): Add extern.
5135
5136 * emacs.c (syms_of_emacs): Update docstring for
5137 system-configuration, to reflect the actual usage on MS-Windows.
5138
e85ee976
GM
51392000-10-31 Gerd Moellmann <gerd@gnu.org>
5140
26dcb81b
GM
5141 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5142 process idle timers while waiting for another event.
5143
52283633 5144 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5145 the default face are colored.
5146
e85ee976
GM
5147 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5148 window height hasn't changed.
5149
01b220b6
JR
51502000-10-31 Jason Rumney <jasonr@gnu.org>
5151
5152 * w32term.c (x_produce_glyphs): Handle composite characters.
5153 (x_draw_glyph_string_foreground)
5154 (x_draw_composite_glyph_string_foreground): Restore old font.
5155
4e6b7204
MB
51562000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5157
5158 * minibuf.c (read_minibuf): Reset the undo history just before
5159 starting the recursive-edit.
5160
d4358b37
GM
51612000-10-30 Gerd Moellmann <gerd@gnu.org>
5162
563f68f1
GM
5163 * xfaces.c (menu_face_change_count): New variable.
5164 (Finternal_set_lisp_face_attribute): Increment it for changes
5165 of the `menu' face.
5166 (realize_basic_faces): Reflect changes in the `menu' faces
5167 in menu bars.
5168
82e274d1
GM
5169 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5170 dy obtained from the iterator's y-position after moving from
5171 scroll_margin_pos to PT; see comment there.
52283633 5172
0dbf9fd2
GM
5173 * xdisp.c (safe_eval_handler): Call add_to_log.
5174
906b3b14
GM
5175 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5176 is not a symbol or string.
5177
d4358b37
GM
5178 * xdisp.c (echo_area_display): Don't perform a display update from
5179 inside redisplay. The update will happen anyway at the end of
5180 redisplay, and it can confuse redisplay (GC messages while
5181 redisplaying, for instance.)
5182
70c825df
SM
51832000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5184
cf9b4b0b
SM
5185 * xrdb.c (x_load_resources): Use the class name in the defaults.
5186
70c825df
SM
5187 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5188 (regex_compile): Catch bogus \(\1\).
5189
a1d34b1e
GM
51902000-10-30 Gerd Moellmann <gerd@gnu.org>
5191
cae71efe
GM
5192 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5193 RGB values.
52283633 5194
35efe0a1
GM
5195 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5196 we have a color cache, check that the cached color equals the
5197 allocated color. If not, clear the color cache.
5198
1d3baf74
GM
5199 * window.c (displayed_window_lines): Change buffers if necessary.
5200 Fix computation of displayed lines.
5201
a1d34b1e
GM
5202 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5203 update_menu_bindings to DEFVAR_BOOL.
5204
70737ea9
KH
52052000-10-30 Kenichi Handa <handa@etl.go.jp>
5206
70c825df 5207 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5208
fa0cb51d
KH
5209 * puresize.h (BASE_PURESIZE): Increase to 680000.
5210
70737ea9
KH
5211 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5212
0e4c08e8
JR
52132000-10-29 Jason Rumney <jasonr@gnu.org>
5214
5215 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5216
5217 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5218 (w32_cache_char_metrics): Handle possibility that 'x' does not
5219 exist in a BDF font.
5220 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5221
5222 * w32bdf.h (bdffont): Add nchars.
5223
5224 * w32bdf.c (set_bdf_font_info): Set it.
5225 (w32_BDF_TextOut): Swap byte order of double byte characters.
5226 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5227
45b84006
EZ
52282000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5229
5230 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5231 don't override the colors in frame's param_alist, unless they are
5232 unspecified.
5233
5234 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5235 reverse the effect of the highlight flag.
5236
caf9deee
KR
52372000-10-27 Ken Raeburn <raeburn@gnu.org>
5238
5239 * window.h (Fwindow_live_p): Declare.
5240
ae0b9b46
KR
5241 * undo.c (record_delete): Check that last_undo_buffer is really a
5242 buffer before applying XBUFFER to it.
5243
5244 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5245 Faref.
5246
02067692
SM
52472000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5248
5249 * lisp.h (KEYMAPP): New macro.
5250 (get_keymap): Remove.
5251 (get_keymap_1): Rename get_keymap.
5252
5253 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5254
5255 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5256
5257 * xmenu.c (single_submenu): Use KEYMAPP.
5258 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5259 Use KEYMAPP rather than Fkeymapp.
5260
5261 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5262
5263 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5264 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5265 Use KEYMAPP rather than Fkeymapp.
5266 (single_submenu): Use KEYMAPP.
5267 (w32_menu_show, w32_dialog_show): Use TRUE.
5268
5269 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5270
5271 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5272 (Fkeymapp): Use KEYMAPP.
5273 (get_keymap): Rename from get_keymap_1. Remove old def.
5274 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5275 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5276 (Fminor_mode_key_binding): Don't raise an error if the binding
5277 is not a keymap.
5278 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5279 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5280
5281 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5282 Allow Vspecial_event_map to be autoloaded.
5283 (menu_bar_items): Fetch the keymap rather than using keymapp.
5284 (menu_bar_one_keymap): No need to follow func-indirect any more.
5285 (parse_menu_item): get_keymap_1 -> get_keymap.
5286 (tool_bar_items): Fetch the keymap rather than using keymapp.
5287 (read_key_sequence): Use KEYMAPP.
5288
5289 * intervals.c (get_local_map): Use get_keymap rather than following
5290 function-indirections explicitly.
5291
5292 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5293
f9d80af3
JR
52942000-10-27 Jason Rumney <jasonr@gnu.org>
5295
5296 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5297 point, as Windows has oversized fonts.
5298
5299 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5300
a3ba27da
GM
53012000-10-27 Gerd Moellmann <gerd@gnu.org>
5302
5303 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5304 (freehook, reallochook): Handle null pointer arguments.
5305 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5306
aa3b80cc
SM
53072000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5308
5309 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5310 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5311 Giving in to popular pressure to shut up the compiler with casts.
5312
e24e84cc
GM
53132000-10-27 Gerd Moellmann <gerd@gnu.org>
5314
5315 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5316 signed value, and use a default value computed from the font's
5317 maximum descent.
5318
05ea7ef2
MB
53192000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5320
5321 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5322 that specify a negative underline position can still use underlines.
5323
5324 * window.c (Fpos_visible_in_window_p): Make POS default to
5325 WINDOW's point, not the current buffer's point.
5326
0b95284b
DL
53272000-10-26 Dave Love <fx@gnu.org>
5328
5329 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5330 when it's necessary.
5331
6c5b90af
GM
53322000-10-26 Gerd Moellmann <gerd@gnu.org>
5333
8b6d9dc9
GM
5334 * window.c (size_window): Compute size difference from sum of old
5335 child window sizes instead of from parent's size.
5336
6bc92b2e
GM
5337 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5338 Handle obscured lines at the top of the window.
5339
5340 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5341 down after the last error condition check.
5342
6c5b90af
GM
5343 * frame.c (Fdelete_frame): Run delete-frame-hook.
5344
42f92d4d
KH
53452000-10-26 Kenichi Handa <handa@etl.go.jp>
5346
5347 * coding.c (decode_coding): Fix previous change (check also
5348 CODING_MODE_LAST_BLOCK).
5349
d97151cb
SM
53502000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5351
e7efc503
SM
5352 * regex.c: More `unsigned char' -> `re_char' changes.
5353 Also change several `int' into `re_wchar_t'.
5354 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5355 (PUSH_FAILURE_POINTER): Don't cast any more.
5356 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5357 We want GCC to complain, since this piece of code makes
5358 re_match non-reentrant, which *should* be fixed.
5359 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5360 (EXTEND_BUFFER): Use RETALLOC.
5361 (SET_LIST_BIT): Don't cast.
5362 (re_wchar_t): New type.
5363 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5364 that those two functions will always properly return.
5365 (IMMEDIATE_QUIT_CHECK): Cast to void.
5366 (analyse_first): Use recursion rather than an explicit stack.
5367 (re_compile_fastmap): Can't fail anymore.
5368 (re_search_2): Don't check re_compile_fastmap for failure.
5369 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5370 Now also sets the new value (passed in a new argument).
5371 (re_match_2_internal): Use it.
5372 Also, use a new var `reg' of type size_t when looping through regs
5373 rather than reuse the inappropriate `mcnt'.
5374
d97151cb
SM
5375 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5376 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5377 (where_is_internal): Renamed from Fwhere_is_internal.
5378 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5379 (Fwhere_is_internal): New function wrapping where_is_internal.
5380 (where_is_internal_1): Handle the case where we're filling the cache.
5381 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5382
d5789b65
MB
53832000-10-25 Miles Bader <miles@gnu.org>
5384
5385 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5386
4ecda532
GM
53872000-10-25 Gerd Moellmann <gerd@gnu.org>
5388
5389 * window.c (pos_fully_visible_p): Removed.
5390 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5391 if position is visible and/or fully visible.
5392
5393 * lisp.h (pos_visible_p): Add prototype.
5394
5395 * xdisp.c (pos_visible_p): New function.
5396
68c3a137
KH
53972000-10-25 Kenichi Handa <handa@etl.go.jp>
5398
5399 * process.c (send_process): If OBJECT is t, it means that the data
5400 is from C string, but we should encode it. Before calling
5401 setup_raw_text_coding_system, be sure to flush out data by the
5402 previous coding system.
5403
7ae1c032
MB
54042000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5405
ff4dcd4b
MB
5406 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5407 assignment of startpos to prev when startpos == pos.
5408
7ae1c032
MB
5409 * editfns.c (find_field): Set the field stickiness correctly from
5410 overlay fields. Use renamed `text_property_stickiness'.
5411 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5412 Only check text properties, not overlays.
7ae1c032
MB
5413 * textprop.c (get_char_property_and_overlay): New function.
5414 (Fget_char_property): Use it.
5415 * intervals.h (get_char_property_and_overlay): Add declaration.
5416
49801145
SM
54172000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5418
5419 * keymap.c: Use AREF, ASET and ASIZE macros.
5420 (Fmake_sparse_keymap): Docstring fix.
5421 (synkey): Remove.
5422 (shadow_lookup): Move up.
5423 Handle the case where lookup-key returns an integer.
5424 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5425 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5426 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5427 Simplify/rewrite the keymap-finding code.
5428 Add check for command shadowing, using shadow_lookup.
5429
39e776cd
SM
54302000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5431
5432 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5433 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5434 a symbol.
5435
2488aba5
AI
54362000-10-24 Andrew Innes <andrewi@gnu.org>
5437
5438 * dired.c (directory_files_internal_unwind): New function.
5439 (directory_files_internal): Use it to ensure closedir is called
5440 even if expand-file-name or file-attributes throw, eg. because of
5441 a user interrupt. Also enable immediate_quit while calling
5442 re_search, so that matching can be interrupted as well.
5443
b94fdf61
AI
54442000-10-24 Andrew Innes <andrewi@gnu.org>
5445
5446 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5447 NT-Emacs only.
5448 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5449 so that re_search functions only quit when callers expect them to.
5450
54512000-10-24 Kenichi Handa <handa@etl.go.jp>
5452
5453 * regex.c (regex_compile): Change the way of handling a range from
5454 a char less than 256 to a char not less than 256.
5455
1946f901
GM
54562000-10-24 Gerd Moellmann <gerd@gnu.org>
5457
7ae2f10f
GM
5458 * window.c (size_window): Prevent setting window's width or
5459 height to a negative value (esp. with XSETFASTINT).
5460
5dcab13e
GM
5461 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5462 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5463 (protect_malloc_state) [GC_MALLOC_CHECK &&
5464 GC_PROTECT_MALLOC_STATE]: New function.
5465 (PROTECT_MALLOC_STATE): New macro.
5466 (__malloc_initialize, morecore, _malloc_internal)
5467 (_free_internal) _realloc_internal): Use it to make _heapinfo
5468 read-only outside of gmalloc.
5469
63e1b552
GM
5470 * keymap.c: Update copyright.
5471
1946f901
GM
5472 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5473 a symbol.
5474
4fa09beb
GM
54752000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5476
5477 * filelock.c (unlock_all_files): Use unlock_file to expand each
5478 buffer's file_truename before trying remove its lock file.
5479
23afac01
EZ
54802000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5481
5482 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5483 or CRLF, decode EOLs.
5484
04448b95
KH
54852000-10-24 Kenichi Handa <handa@etl.go.jp>
5486
5487 * window.c (Fdisplay_buffer): Fix doc.
5488
3090a5a5
JR
54892000-10-23 Jason Rumney <jasonr@gnu.org>
5490
5491 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5492 ASCII font of default fontset on Windows.
5493
5494 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5495 xterm.c comment below).
5496
5497 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5498
a83fee2c
GM
54992000-10-23 Gerd Moellmann <gerd@gnu.org>
5500
5501 * xterm.c (x_connection_closed): Reset handling_signal.
5502
52283633 5503 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5504
6ffdb539
MB
55052000-10-23 Miles Bader <miles@gnu.org>
5506
5507 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5508 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5509 maintain old behavior.
5510 * minibuf.c (Fminibuffer_complete): Likewise.
5511
7f1c969b
MB
55122000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5513
5514 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5515 that when a font can't be exactly centered, it errs up rather than
5516 down.
5517
23afac01 55182000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5519
52283633 5520 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5521
1a578e9b
AC
55222000-10-23 Andrew Choi <akochoi@i-cable.com>
5523
5524 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5525
5526 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5527 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5528
5529 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5530 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5531 syms_of_search, x_term_init, and init_keyboard before calling
5532 init_window_once. Also, call syms_of_xmenu.
5533
5534 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5535 default fontset to Monaco.
5536
5537 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5538 NewMacWindow and DisposeMacWindow.
5539 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5540 instead of calling NewMacWindow and setting fields of
5541 f->output_data.mac directly. Call init_frame_faces.
5542 (Fdelete_frame) [macintosh]: Remove unused code.
5543 (Fmodify_frame_parameters) [macintosh]: Call
5544 x_set_frame_parameters instead of mac_set_frame_parameters.
5545
5546 * frame.h [macintosh]: Define menu_bar_lines field in struct
5547 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5548
5549 * keyboard.c [macintosh]: Include macterm.h.
5550 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5551 and menu_bar_activate_event type events as for X and NT.
5552 (make_lispy_event) [macintosh]: Construct lisp events of type
5553 MENU_BAR_EVENT as for X and NT.
5554
5555 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5556 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5557 (sys_subshell) [macintosh]: Remove definition entirely.
5558 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5559 Vwindow_system_version here. Remove initialization of
5560 Vx_bitmap_file_path.
5561 (read_input_waiting): Correct the number of parameters passed to
5562 read_socket_hook.
5563 Move all Macintosh functions to mac/mac.c.
5564
5565 * term.c [macintosh]: Include macterm.h.
5566
5567 * window.c [macintosh]: Include macterm.h.
5568
5569 * xdisp.c [macintosh]: Include macterm.h. Declare
5570 set_frame_menubar and pending_menu_activation.
5571 (echo_area_display) [macintosh]: Do not return if terminal frame
5572 is the selected frame.
5573 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5574 Allow only the selected frame to set menu bar.
5575 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5576 calling FRAME_EXTERNAL_MENU_BAR (f).
5577 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5578
5579 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5580 and check_x. Declare XCreateGC. Define x_create_gc and
5581 x_free_gc. Initialize font_sort_order.
5582 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5583 but call x_list_fonts instead of w32_list_fonts.
5584 (Finternal_face_x_get_resource) [macintosh]: Do not call
5585 display_x_get_resource.
5586 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5587 (realize_x_face) [macintosh]: Load the font if it is specified in
5588 ATTRS.
52283633 5589 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5590
1ffbabe3
SM
55912000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5592
5593 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5594 is nil: since we go to the end of submap anyway, we'd end up
5595 setting nil to nil.
5596 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5597 doesn't obey autoload.
5598
bed43f1d
EZ
55992000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5600
1ffbabe3 5601 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5602
ea4233a7
JR
56032000-10-21 Jason Rumney <jasonr@gnu.org>
5604
5605 * w32term.c (w32_cache_char_metrics): Double check that font is
5606 really fixed pitch before trusting tmPitchAndFamily.
5607
f3d3c491
AI
56082000-10-21 Andrew Innes <andrewi@gnu.org>
5609
5610 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5611
5612 * w32term.h: Extern decl for w32_cache_char_metrics.
5613
5614 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5615
5616 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5617 (w32_unload_font): Free per_char array if present.
5618
5619 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5620 cached information in emulated XFontStruct to handle common cases
5621 quickly. Do not allocate XCharStruct for return.
5622 (w32_native_per_char_metric): New function.
5623 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5624 allocating one.
5625 (x_produce_glyphs): Don't get an HDC. Change calls to
5626 w32_per_char_metric to match arg change above. Remove calls to
5627 free results.
5628 (w32_get_glyph_overhangs): Ditto.
5629 (w32_cache_char_metrics): New function.
5630
5631 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5632 ($(BLD)/casefiddle.$(O)): Remove compile command.
5633 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5634 ($(BLD)/dispnew.obj):
5635 ($(BLD)/keyboard.obj):
5636 ($(BLD)/w32inevt.obj):
5637 ($(BLD)/w32bdf.obj):
5638 ($(BLD)/alloc.obj):
5639 ($(BLD)/buffer.obj):
5640 ($(BLD)/editfns.obj):
5641 ($(BLD)/emacs.obj):
5642 ($(BLD)/fileio.obj):
5643 ($(BLD)/fns.obj):
5644 ($(BLD)/indent.obj):
5645 ($(BLD)/insdel.obj):
5646 ($(BLD)/intervals.obj):
5647 ($(BLD)/minibuf.obj):
5648 ($(BLD)/print.obj):
5649 ($(BLD)/scroll.obj):
5650 ($(BLD)/sysdep.obj):
5651 ($(BLD)/textprop.obj):
5652 ($(BLD)/widget.obj):
f3d3c491
AI
5653 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5654 ($(BLD)/term.obj): Add dependency on dispextern.h.
5655
52283633
SM
5656 * makefile.nt ($(BLD)\dispnew.obj):
5657 ($(BLD)\keyboard.obj):
5658 ($(BLD)\w32inevt.obj):
5659 ($(BLD)\w32bdf.obj):
5660 ($(BLD)\alloc.obj):
5661 ($(BLD)\buffer.obj):
5662 ($(BLD)\editfns.obj):
5663 ($(BLD)\emacs.obj):
5664 ($(BLD)\fileio.obj):
5665 ($(BLD)\fns.obj):
5666 ($(BLD)\indent.obj):
5667 ($(BLD)\insdel.obj):
5668 ($(BLD)\intervals.obj):
5669 ($(BLD)\minibuf.obj):
5670 ($(BLD)\print.obj):
5671 ($(BLD)\scroll.obj):
5672 ($(BLD)\sysdep.obj):
5673 ($(BLD)\textprop.obj):
5674 ($(BLD)\widget.obj):
f3d3c491
AI
5675 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5676 ($(BLD)\term.obj): Add dependency on dispextern.h
5677
18ad4821
EZ
56782000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5679
5680 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5681 with an additional argument of Qt.
5682
de54681a
MB
56832000-10-21 Miles Bader <miles@gnu.org>
5684
5685 * window.c (pos_fully_visible_in_window_p): New function.
5686 (Fpos_visible_in_window_p): Add FULLY argument.
5687 Use pos_fully_visible_in_window_p.
5688 (window_scroll_pixel_based, window_scroll_line_based): Update
5689 calls to Fpos_visible_in_window_p.
5690 * lisp.h (Fpos_visible_in_window_p): Update prototype
5691
13c844fb
GM
56922000-10-20 Gerd Moellmann <gerd@gnu.org>
5693
5694 * alloc.c (toplevel): Conditionalize compilation of mem_*
5695 functions differently.
52283633 5696
d9506268
JR
56972000-10-20 Jason Rumney <jasonr@gnu.org>
5698
5699 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5700 mem_init where it used to be. mem_z etc not defined otherwise.
5701
8094989b
GM
57022000-10-20 Gerd Moellmann <gerd@gnu.org>
5703
5704 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5705 GC_MALLOC_CHECK.
5706 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5707 structure definition and related variabled to the top of the file.
5708 Include this code when GC_MALLOC_CHECK is defined.
5709 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5710 register/unregister allocated region.
5711 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5712 which isn't allocated.
5713 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5714 something which is already in use.
5715 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5716 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5717 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5718 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5719
5720 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5721 _malloc_internal instead of malloc.
5722 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5723 of free.
5724
ea456eb4
AI
57252000-10-20 Andrew Innes <andrewi@gnu.org>
5726
5727 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5728 Windows.
5729 (my_strftime) <macro>: Don't use macro arg list when redefining as
5730 _strftime_copytm.
5731 (my_strftime) <function>: Supply 0 as ut argument.
5732
e64c3a75
JR
57332000-10-19 Jason Rumney <jasonr@altavista.net>
5734
5735 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5736 including dispextern.h, as it stops faces from working.
5737
5738 * w32fns.c (Fx_create_frame): Don't bother calling
5739 face-set-after-frame-default since the caller does it for us
5740 anyway. Clean up calls to x_get_arg to be consistent with X.
5741
5742 * w32term.c (x_produce_glyphs): Handle
5743 unibyte_display_via_language_environment correctly.
5744 (w32_draw_box_rect): Fix the calculation of width and height.
5745
5746 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5747 as it has stopped working.
5748 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5749 menu-bar.
5750
17401c97
GM
57512000-10-19 Gerd Moellmann <gerd@gnu.org>
5752
5753 * eval.c (skip_debugger): Prevent a compiler warning.
5754 (Fcondition_case): Likewise.
5755 (Fbacktrace_frame): Use a null interactive spec.
5756
773272d8
KH
57572000-10-19 Kenichi Handa <handa@etl.go.jp>
5758
5759 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5760
a42943e9
GM
57612000-10-18 Gerd Moellmann <gerd@gnu.org>
5762
e50517d9
GM
5763 * strftime.c: Sync with glibc, file version 1.78.
5764 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5765 should no longer be used according to ISO 8601.
5766
9035a35a
GM
5767 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5768 no map for meta_prefix_char, don't try to use it as a keymap.
5769 Instead, if T_OK is non-zero, look up a default binding, if any,
5770 otherwise, if T_OK is zero, return nil.
5771
a42943e9
GM
5772 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5773 (x_to_xcolors, png_load): Use x_query_color.
5774
52283633
SM
5775 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5776 New functions.
a42943e9
GM
5777 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5778 which can be slow.
5779 (x_copy_color, x_alloc_lighter_color): Likewise.
5780
5781 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5782 (x_query_color, x_query_colors): Add prototype.
5783
5784 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5785 check_string_bytes only if not noninteractive, increase count to 50.
5786
00de2987
MB
57872000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5788
5789 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5790 markers correctly.
5791
54918e2b
GM
57922000-10-17 Gerd Moellmann <gerd@gnu.org>
5793
1f0b3fd2
GM
5794 * alloc.c (pure_bytes_used): Renamed from pureptr.
5795 (ALIGN): New macro.
5796 (pure_alloc): New function.
5797 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5798 Use it.
5799 (Fpurecopy): Use PURE_POINTER_P.
5800
68c5d1db
GM
5801 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5802 PT has moved backward.
52283633 5803
9a038881
GM
5804 * xdisp.c (cursor_row_p): Take continued lines into account.
5805
361b097f
GM
5806 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5807 string's size_byte.
5808 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5809 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5810 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5811 string allocated.
5812
54918e2b
GM
5813 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5814 of selective display off while searching for the next line start.
5815
03ed0806
KH
58162000-10-17 Kenichi Handa <handa@etl.go.jp>
5817
5818 * Makefile.in (term.o): Depend on dispextern.h.
5819
7e05cdaf
SM
58202000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5821
5822 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5823
a6801fd1
GM
58242000-10-16 Gerd Moellmann <gerd@gnu.org>
5825
483de32b
GM
5826 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5827 the iterator at the beginning, so that they can be set later on,
5828 for instance in reseat_at_next_visible_line_start, without being
5829 overwritten.
5830
a6801fd1
GM
5831 * xfns.c (pbm_format): Add :foreground and :background keywords.
5832 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5833 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5834
dbf1fcc1
EZ
58352000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5836
5837 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5838
52283633 5839 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5840
5841 * msdos.c (IT_set_face): Compare highlighted face with the default
5842 face, and invert colors if these faces' colors are identical.
5843 (Fmsdos_remember_default_colors): Don't swap foreground and
5844 background colors in initial_colors[].
5845 (IT_set_frame_parameters): Don't swap frame's foreground and
5846 background pixels. If ALIST includes "(reverse . t)", swap
5847 foreground-color and background-color properties in frame's
5848 param_alist. If the original frame's param_alist doesn't specify
5849 the colors, store unspecified-fg and unspecified-bg, reversed if
5850 required.
5851
5852 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5853 the colors are unspecified and reversed, reverse fore- and back-
5854 ground in the returned value.
5855 (Fframe_parameter): Ditto.
5856
b41fe2c3 58572000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5858
3a6b59d9
GM
5859 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5860 get_last_unchanged_at_beg_row.
5861 (find_first_unchanged_at_end_row): Renamed from
5862 get_first_unchanged_at_end_row.
5863 (find_first_unchanged_at_end_row): Convert assertions to
5864 unconditional tests which abort. When looking for a row in
5865 unchanged text, don't go further back than first_text_row.
5866
b41fe2c3
GM
5867 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5868 Don't add in the last line's height when deciding if the new
5869 position is below the scroll margin.
9d1af64f 5870
b41fe2c3 58712000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5872
5873 * editfns.c (Fconstrain_to_field): Check carefully for field
5874 boundaries if either OLD_POS or NEW_POS has a non-nil field
5875 property, even if they're the same.
5876
c412cb7b
KH
58772000-10-16 Kenichi Handa <handa@etl.go.jp>
5878
5879 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5880 height for XFillRectangle.
5881
5586f3eb
SM
58822000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5883
5884 * syntax.c (Fstring_to_syntax): New function extracted from
5885 Fmodify_syntax_entry.
5886 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5887 (skip_chars, Fforward_comment): Remove unused variables.
5888 (syms_of_syntax): Add defsubr for string-to-syntax.
5889 (describe_syntax): Add code for comment and string fences.
5890
db785038
SM
58912000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5892
5893 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5894 Do the meta->esc mapping. Call get_keyelt before returning.
5895 Start scanning from the second element (the first is always `keymap')
5896 to make it easier to detect when we reach a parent map.
5897 Handle the case of inheriting from a symbol whose function is a map.
5898 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5899 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5900 (get_keyelt, Flookup_key): Update call to access_keymap.
5901 Remove the meta->esc mappings.
5902 (define_as_prefix): Delete old disabled code.
5903 (menu_item_p): New function.
5904 (where_is_internal_1): Skip over the few remaining menu items.
5905 * lisp.h (access_keymap): Update prototype.
5906 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5907 Update call to access_keymap.
5908 (follow_key, read_key_sequence): Update calls to access_keymap.
5909 Remove the meta->esc mappings.
5910
cafafe0b
GM
59112000-10-13 Gerd Moellmann <gerd@gnu.org>
5912
a2e2a7f6
GM
5913 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5914 with additional argument.
5915
cafafe0b
GM
5916 * xdisp.c (cursor_row_p): New function.
5917 (try_cursor_movement, display_line): Use it.
52283633 5918
cafafe0b
GM
5919 * xdisp.c (append_space): Also save/restore iterator's current
5920 character and its length.
5921
5922 * xdisp.c (init_from_display_pos): Add an assertion.
5923 (handle_stop): Don't set iterator's add_overlay_start.
5924 (handle_invisible_prop): Likewise.
5925 (load_overlay_strings): If text under an overlay is invisible,
5926 take both before- and after-strings into account when the iterator
5927 is positioned either at the start or at the end of the overlay.
5928 (forward_to_next_line_start): Rewritten.
5929 (reseat_at_next_visible_line_start): Rewritten.
5930 (set_iterator_to_next): Add parameter RESEAT_P.
5931
5932 * dispextern.h (struct it): Remove member add_overlay_start.
5933 (set_iterator_to_next): Change prototype.
5934
c744452b
KH
59352000-10-13 Kenichi Handa <handa@etl.go.jp>
5936
5937 * coding.c (code_convert_region): Be sure to initialize
5938 coding->category_idx.
e4a3f4e1
KH
5939 (decode_coding_string): Set coding->src_multibyte and
5940 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5941 (encode_coding_string): Set coding->src_multibyte and
5942 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5943
321fd26f
SM
59442000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5945
5946 * xfns.c (Fx_create_frame): Don't bother calling
5947 face-set-after-frame-default since the caller does it for us anyway.
5948
76832439
EZ
59492000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5950
5951 * window.c (coordinates_in_window): Fix detection of vertical line
5952 on character terminals.
5953
2483cf58
GM
59542000-10-12 Gerd Moellmann <gerd@gnu.org>
5955
5956 * editfns.c (save_excursion_save): Additionally record the
5957 selected window.
5958 (save_excursion_restore): If buffer was visible in a window, and a
5959 different window was selected, and the old selected window is
5960 still live, restore point in that window.
5961
eb991b25
KH
59622000-10-12 Kenichi Handa <handa@etl.go.jp>
5963
8a0eba09
KH
5964 * xterm.c (x_produce_glyphs): Handle
5965 unibyte_display_via_language_environment correctly.
5966
20401fcc
KH
5967 * regex.c (regex_compile): Change the way of handling a range from
5968 unibyte char to multibyte char.
5969
5970 * syntax.c (skip_chars): Change the way of handling a range from
5971 unibyte char to multibyte char.
5972
eb991b25
KH
5973 * process.c (read_process_output): Cancel previous change.
5974
365dd325
EZ
59752000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5976
c1b096cb
EZ
5977 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5978
365dd325
EZ
5979 * charset.c (Ffind_charset_string): Doc fix.
5980 (Ffind_charset_region): Doc fix.
5981
eb483c2b
KH
59822000-10-11 Kenichi Handa <handa@mule.m17n.org>
5983
5984 * process.c (read_process_output): Fix previous change. Adjust
5985 multibyteness of text to insert in a buffer by
52283633 5986 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5987
b40bfb99
AS
59882000-10-10 Andreas Schwab <schwab@suse.de>
5989
5990 * alloc.c (mark_object): Remove all workarounds installed on
5991 1993-08-08.
5992
caff31d4
KH
59932000-10-10 Kenichi Handa <handa@etl.go.jp>
5994
52283633 5995 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5996 (base64_encode_1): Make it work for a text of multibyte form.
5997 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5998 case. Don't call str_to_multibyte because base64_decode_1
5999 produces correct multibyte form for eight-bit codes.
52283633 6000 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6001 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6002 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6003 codes.
6004
6005 * charset.h (CHAR_STRING): Optimized for single byte characters.
6006
cba026ef
AS
60072000-10-09 Andreas Schwab <schwab@suse.de>
6008
6009 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6010 -1 after socket is closed, to fall through to error processing.
6011
1e21fe48
EZ
60122000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6013
6014 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6015 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6016 background-color, change also the colors of the default face for
6017 this frame.
6018
a640322e
EZ
60192000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6020
6021 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6022 them extern (they are defined on xfaces.c).
6023 (syms_of_msdos): Don't intern and don't staticpro
6024 Qbackground_color and Qforeground_color.
6025
a115794c
EZ
60262000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6027
6028 * frame.c (Fframe_parameter): For non-windowed frames, if
6029 f->param_alist says foreground or background color is unspecified,
6030 call tty_color_name to return the color name computed from the
6031 frame's current colors.
6032
f5533b63
DL
60332000-10-06 Dave Love <fx@gnu.org>
6034
6035 * terminfo.c (ospeed): Don't declare.
6036
6037 * sysdep.c: Don't include string.h.
6038 (h_errno): Declare conditional also on TRY_AGAIN.
6039
6040 * charset.c (Ffind_charset_string): Doc fix.
6041
52283633 6042 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6043 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6044 error messages.
6045
2b06561a
DL
60462000-10-05 Dave Love <fx@gnu.org>
6047
6048 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6049 position like menu-bar.
6050
ca839c85
GM
60512000-10-05 Gerd Moellmann <gerd@gnu.org>
6052
6053 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6054
6055 * xdisp.c (handle_single_display_prop): Use safe_call1.
6056 (safe_call): Renamed from call_function.
6057 (safe_call1): New function.
6058 (handle_fontified_prop): Use safe_call1 instead of call1.
6059 (safe_eval): Renamed from eval_form.
6060 (safe_eval_handler): Renamed from eval_handler.
6061 (handle_single_display_prop, display_mode_element): Use safe_eval
6062 instead of eval_form.
6063
6064 * xfaces.c (merge_face_heights): Use safe_call instead of
6065 call_function.
6066
6067 * keyboard.c (show_help_echo): Use safe_call instead of
6068 call_function; use safe_eval instead of eval_form.
6069
6070 * lisp.h (safe_call): Renamed from call_function.
6071 (safe_eval): Renamed from eval_form.
6072 (safe_call1): Add prototype.
6073
a3489ece
MB
60742000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6075
6076 * xfns.c (image_ascent): Rearrange ascent calculation for the
6077 has-a-font case.
6078
35810b6f
SM
60792000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6080
6081 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6082 (where_is_internal_1): Don't bother ignoring menu-items any more.
6083
3dc78168
GM
60842000-10-04 Gerd Moellmann <gerd@gnu.org>
6085
6086 * keyboard.c (update_menu_bindings): New variable.
6087 (parse_menu_item): Use AREF. If update_menu_bindings
6088 is 0, don't update menu bindings.
6089 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6090
1efc2bb9
EZ
60912000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6092
6093 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6094 to `mark_object'.
6095
3f679f55
SM
60962000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6097
6098 * syntax.c (forw_comment): Match nestedness of ender/starter.
6099 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6100 (prev_char_comstart_first): Remove.
6101 (back_comment): Check two-char comment markers more carefully
6102 to better handle overlapping cases like *//* or /* */* */ ...
6103 Match nestedness of ender/starter.
6104
2021ab61
DL
61052000-10-02 Dave Love <fx@gnu.org>
6106
6107 * config.in (HAVE_GAI_STRERROR): Add undef.
6108
6109 * process.c (Fopen_network_stream): Use it.
6110
6111 * m/alpha.h (NO_REMAP): Don't define.
6112
64e6cc18
GM
61132000-10-02 Gerd Moellmann <gerd@gnu.org>
6114
6115 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6116 return with a string converted to an integer or vice versa when
6117 Vmocklisp_arguments is t.
6118 (Fsignal): Likewise. The function can return for `quit'.
6119 (struct gcpro): Declare member `var' to point to a volatile
6120 Lisp_Object.
6121
6122 * eval.c (error): Prevent compiler warning.
6123
b1904cd9
SM
61242000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6125
6126 * keymap.c (keymap_memberp): New function.
6127 (Fset_keymap_parent): Use it.
6128 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6129 Use keymap_memberp to avoid creating cycles.
6130 (access_keymap): Use KEYMAPP.
6131
71c9ec51
GM
61322000-09-30 Gerd Moellmann <gerd@gnu.org>
6133
6134 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6135 gai_strerror. Make sure xerrno is set if connect fails. Improve
6136 error recovery.
71c9ec51 6137
c70c6b58
JR
61382000-09-29 Jason Rumney <jasonr@gnu.org>
6139
6140 * w32term.c (w32_char_font_type, w32_encode_char)
6141 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6142 (w32_bdf_per_char_metric): New function.
6143 (w32_per_char_metric): Use it.
6144 (x_draw_glyph_string_background): Always draw background for BDF
6145 glyphs.
6146
6147 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6148 GDI object which is a scarce resource.
6149
6150 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6151 (get_quoted_string): Fix limit on memchr search.
6152 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6153 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6154 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6155 (get_cached_font_char, cache_char_offset): Use macro
6156 BDF_CODEPOINT_RANGE_COVER_P.
6157 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6158 (clear_cached_bitmap_slots): New function.
6159 (GET_HEX_VALUE): G-Z, g-z are not hex.
6160 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6161 (get_bitmap_with_cache): Use new cache implementation.
6162 (create_offscreen_bitmap): New function.
6163 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6164
6165 * w32term.c (x_produce_glyphs): If the distance from the current
6166 position to the next tab stop is less than a canonical character
6167 width, use the tab stop after that.
6168 (x_draw_glyphs): Handle case START and END are out of bounds more
6169 carefully.
6170 (x_clear_mouse_face): Block/unblock input.
6171 (x_display_and_set_cursor): Don't show a hollow box cursor for
6172 buffers whose cursor_type is nil.
6173
fe01239f
GM
61742000-09-29 Gerd Moellmann <gerd@gnu.org>
6175
52283633 6176 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6177
6178 * dispextern.h (updating_frame): Declare extern.
6179
e7c52f1f
AS
61802000-09-29 Andreas Schwab <schwab@suse.de>
6181
6182 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6183
de6e1f7c
GM
61842000-09-29 Gerd Moellmann <gerd@gnu.org>
6185
25126faa
GM
6186 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6187 use its function definition.
6188 (tool_bar_items): Likewise.
6189
de6e1f7c 6190 * lisp.h (fatal): Declare NO_RETURN.
52283633 6191
454ee39b
KH
61922000-09-29 Kenichi Handa <handa@etl.go.jp>
6193
6194 * keymap.c: Remove the line "#undef NULL".
6195
96301c5f
GM
61962000-09-28 Gerd Moellmann <gerd@gnu.org>
6197
52283633 6198 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6199
efffeeb4
DL
62002000-09-28 Dave Love <fx@gnu.org>
6201
ecb8b666
DL
6202 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6203
dc3cd20f
DL
6204 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6205
6206 * .gdbinit (xreload): Note its need on GNU/Linux.
6207
efffeeb4
DL
6208 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6209 r_alloc, r_alloc_free.
6210
8610d903
KH
62112000-09-28 Kenichi Handa <handa@etl.go.jp>
6212
6213 * syntax.c (skip_chars): Handle negation correctly.
6214
8901d1ac
GM
62152000-09-27 Gerd Moellmann <gerd@gnu.org>
6216
6f22f1ad
GM
6217 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6218 with non-zero FORCE_P argument.
6219
52283633 6220 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6221 Add assertions.
6222
6223 * xdisp.c (window_box_height): Add an assertion.
6224
6225 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6226 tool-bar than is available.
6227 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6228
36f1966f
DL
62292000-09-27 Dave Love <fx@gnu.org>
6230
efffeeb4 6231 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6232
31d929e5
GM
62332000-09-26 Gerd Moellmann <gerd@gnu.org>
6234
c98863bf
GM
6235 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6236 instead of BITS_PER_INT.
6237 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6238 EMACS_UINT, respectively.
6239 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6240
6241 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6242
6243 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6244
77072ab1
GM
6245 * window.c (freeze_window_starts): Construct last argument for
6246 foreach_window differently.
6247
6248 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6249
6250 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6251 EMACS_UINT instead of `int' and `unsigned int'.
6252 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6253
6254 * frame.h (struct frame): Make the `nothing' member of union
6255 output_data an EMACS_INT.
6256
52283633 6257 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6258 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6259 size in the sdata structure.
6260 (SDATA_NBYTES, SDATA_DATA): New macros.
6261 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6262 differently for the different layout of the sdata structure.
6263 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6264 in sdata.
6265 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6266 Check that size recorded in the string size and size recorded in
6267 the sdata structure agree.
6268
3e60b029
DL
62692000-09-25 Dave Love <fx@gnu.org>
6270
6271 * buffer.c: Include stdio.h.
6272
6273 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6274
3e60b029
DL
6275 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6276
6277 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6278 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6279 (__malloc_extra_blocks): Declare as __malloc_size_t.
6280
8ff16b4e
GM
62812000-09-25 Gerd Moellmann <gerd@gnu.org>
6282
755a2ccd
GM
6283 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6284
d8b4516f
GM
6285 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6286 (read_char): If help-echo is showing, preserve the echo area
6287 when redisplaying.
6288
6289 * xdisp.c (help_echo_showing_p): New variable.
6290 (set_message): Reset it to 0.
6291 (init_xdisp): Initialize help_echo_showing_p.
6292
6293 * dispextern.h (help_echo_showing_p): Declare extern.
6294
6295 * config.in: Fix typo in __GNUC_MINOR__.
6296
6297 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6298
b11af2dd
GM
6299 * s/freebsd.h (POSIX_SIGNALS): Define.
6300
8ff16b4e
GM
6301 * xterm.c (x_clear_mouse_face): Block/unblock input.
6302
844eb643
DL
63032000-09-24 Dave Love <fx@gnu.org>
6304
6305 * fns.c (base64_encode_1): Fix last change.
6306
b30ab1b3
GM
63072000-09-22 Gerd Moellmann <gerd@gnu.org>
6308
6309 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6310
6311 * xdisp.c (try_window_reusing_current_matrix): More fixes
6312 for the case window has a header-line.
6313
c6cbe5f0
DL
63142000-09-22 Dave Love <fx@gnu.org>
6315
4c7c1f3f
DL
6316 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6317 a doc string.
6318
6319 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6320
c6cbe5f0
DL
6321 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6322
550a625e
GM
63232000-09-21 Gerd Moellmann <gerd@gnu.org>
6324
4c7c1f3f 6325 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6326 for GCC >= 2.5.
6327
52283633
SM
6328 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6329 Declare NO_RETURN.
fca99116 6330
80d26f99
GM
6331 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6332 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6333 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6334 warnings.
52283633 6335
80d26f99
GM
6336 * marker.c (byte_char_debug_check): Return void.
6337
623a0aae
GM
6338 * xfns.c (Fx_create_frame): Set default frame parameter value
6339 for tool-bar-lines to 1.
6340
6341 * dispnew.c (scrolling_window): Compare y-positions of rows
6342 equal at the start. Some simplification.
6343
6344 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6345 reused rows' y-position in the case window has a header-line, and
6346 new window start is greater than old window start.
6347
42ac0ae5
GM
6348 * process.c (process_sent_to): New variable.
6349 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6350 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6351 Declare more parameters volatile.
6352
550a625e
GM
6353 * lread.c (Vrecursive_load_depth_limit): New variable.
6354 (Fload): Check recursive loads whose recursion depth exceeds
6355 Vrecursive_load_depth_limit.
6356 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6357
8320414c
GM
63582000-09-20 Gerd Moellmann <gerd@gnu.org>
6359
f46c275e
GM
6360 * fileio.c (Fread_file_name): Doc fix.
6361
6362 * editfns.c (Fmessage_or_box): Doc fix.
6363
6364 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6365
b7e11c5b 6366 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6367
8320414c
GM
6368 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6369 symbols are specified, add color translations to the cache.
52283633 6370 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6371 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6372 xpm_cache_color.
6373 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6374 structures to xpm_init_color_cache.
6375
da1608d9
GM
63762000-09-19 Gerd Moellmann <gerd@gnu.org>
6377
52283633 6378 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6379
6badfa25
AI
63802000-09-19 Andrew Innes <andrewi@gnu.org>
6381
6382 * makefile.nt (bootstrap-emacs): Don't change directory.
6383
3a5f42bb
KH
63842000-09-19 Kenichi Handa <handa@etl.go.jp>
6385
1b7649bd
KH
6386 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6387
3a5f42bb
KH
6388 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6389 If output buffer is too small, signal an appropriated error.
6390
9f83cf0b
DL
63912000-09-18 Dave Love <fx@gnu.org>
6392
52283633 6393 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6394 (current_active_maps): Remove redundant get_local_map call.
6395
28c7826c
GM
63962000-09-18 Gerd Moellmann <gerd@gnu.org>
6397
5cefa566
GM
6398 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6399 cursor for buffers whose cursor_type is nil.
52283633 6400
6fed3546
GM
6401 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6402 a feature to implement that is already implemented.
6403 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6404 warnings.
6405
6406 * xfns.c (x_clear_image_1): New function.
6407 (x_clear_image): Use it.
52283633 6408 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6409
05b1f851
GM
6410 * dispnew.c (update_window): Move test for invisible lines
6411 at the top to update_window_line.
6412 (update_window_line): Handle invisible lines here.
6413
f4779de9
GM
6414 * xfns.c (clear_image_cache): Clear current matrices of all
6415 frames sharing an image cache. Block input while freeing
6416 images. Fix timestamp comparison.
6417 (x_clear_image): Also free the mask.
6418
28c7826c
GM
6419 * xfns.c (lookup_image): Block input while loading the image so
6420 that we won't get interrupted in a state where the image isn't yet
6421 set up completely.
6422 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6423 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6424 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6425 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6426
b7412313
GM
64272000-09-16 Gerd Moellmann <gerd@gnu.org>
6428
6429 * dispnew.c (update_window): Make sure to make desired rows
6430 current even if they are completely invisible at the top
6431 of a window.
6432
47e351a3
GM
64332000-09-15 Gerd Moellmann <gerd@gnu.org>
6434
7f8f1edc
GM
6435 * xfns.c (lookup_image): Build mask before applying an algorithm.
6436 Recognize algorithm `disabled'.
6437 (cross_disabled_images): New variable.
6438 (COLOR_INTENSITY): New macro.
6439 (x_detect_edges): Use COLOR_INTENSITY.
6440 (x_disable_image): New function.
6441 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6442
6443 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6444 disabled state, don't apply an image transformation algorithm if
6445 the user specified an image for the disabled state. Use
28c7826c 6446 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6447 user hasn't specified an image.
6448
ebb8f116
GM
6449 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6450 allocation functions with the XPM lib.
6451 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6452 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6453 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6454 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6455 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6456 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6457 functions, if possible, because these handle color allocation
6458 failure more gracefully.
6459 (Fimage_mask_p): New function.
6460
47e351a3
GM
6461 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6462 (Qedge_detection, Qheuristic): New symbols.
6463 (syms_of_xfns): Initialize new symbols.
6464 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6465 `algorithm (edge-detection ...)'.
6466 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6467 (tiff_format, gif_format, gs_format): Add `:mask'.
6468 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6469 (GIF_MASK, GS_MASK): New enumerators.
6470 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6471 (emboss_matrix, laplace_matrix): New variables.
6472 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6473 (x_edge_detection): New functions.
6474 (x_laplace): Rewritten in terms of x_detect_edges.
6475 (x_build_heuristic_mask): If image has a mask, free it.
6476
fe83b953
AI
64772000-09-14 Andrew Innes <andrewi@gnu.org>
6478
6479 * makefile.w32-in: Revert to Unix line endings.
6480
3021e816
AI
64812000-09-14 Andrew Innes <andrewi@gnu.org>
6482
6483 * makefile.w32-in: Standardize indentation somewhat.
6484 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6485 cater for differences between shells.
6486
6487 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6488
2a32b5ea
GM
64892000-09-14 Gerd Moellmann <gerd@gnu.org>
6490
6491 * xterm.c (x_produce_glyphs): If the distance from the current
6492 position to the next tab stop is less than a canonical character
6493 width, use the tab stop after that.
6494
b4331e96
DL
64952000-09-14 Dave Love <fx@gnu.org>
6496
6497 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6498
ef9e4345
GM
64992000-09-14 Gerd Moellmann <gerd@gnu.org>
6500
085536c2
GM
6501 * xdisp.c (handle_fontified_prop): While running fontification
6502 functions, bind `fontification-functions' and
6503 `after-change-functions' to nil.
6504
ef9e4345
GM
6505 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6506 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6507
6508 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6509
6510 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6511 USE_MMAP_FOR_BUFFERS.
6512
6513 * insdel.c (make_gap): Use enlarge_buffer_text.
6514
6515 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6516 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6517 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6518 from former r_alloc_* functions in ralloc.c.
52283633 6519 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6520 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6521 (mmap_init) [REL_ALLOC_MMAP]: New function.
6522 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6523 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6524 BUFFER_FREE.
6525
6526 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6527 (enlarge_buffer_text): Add prototype.
6528
6529 * ralloc.c: Remove everything having to do with the use of mmap.
6530
f8608968
GM
65312000-09-13 Gerd Moellmann <gerd@gnu.org>
6532
2a494b2d
GM
6533 * sound.c (Fplay_sound): Doc fix.
6534
8c907a56
GM
6535 * keyboard.c: Avoid some more compiler warnings.
6536 (parse_tool_bar_item): Ignore cached key bindings.
6537
f8608968
GM
6538 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6539 and allocation of Lisp data.
6540
6ab70e9a
GM
65412000-09-12 Gerd Moellmann <gerd@gnu.org>
6542
d12d0a9b
GM
6543 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6544 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6545 defaults first.
6546
6ab70e9a
GM
6547 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6548
63c36c3c
KH
65492000-09-12 Miyashita Hisashi <himi@meadowy.org>
6550
6551 * ccl.c: Comment fixed.
6552 (MAX_MAP_SET_LEVEL): Increased to 30.
6553 (PUSH_MAPPING_STACK): Enclose with do-while block.
6554 (POP_MAPPING_STACK): Likewise.
6555 (stack_idx_of_map_multiple): New variable.
6556 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6557 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6558 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6559 (ccl_driver) <CCL_MapSingle>: Likewise.
6560 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6561 with the case where looking up process reaches to the end of
6562 map-set, and call CCL programs as the above change.
6563
7ee3bd7b
GM
65642000-09-11 Gerd Moellmann <gerd@gnu.org>
6565
8ec8a5ec
GM
6566 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6567 that might be clobbered by longjmp.
6568 (check_x_display_info, x_decode_color, create_frame_xic)
6569 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6570 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6571
f74b0705
GM
6572 * lread.c (init_lread): Set Vloads_in_progress to nil.
6573 (Fload): Show list of recursively loaded files, when signaling an
6574 error.
6575
7ee3bd7b
GM
6576 * lread.c (Vloads_in_progress): New variable.
6577 (record_load_unwind): New function.
6578 (Fload): Check for recursive loads.
6579 (syms_of_lread): Initialize Vloads_in_progress.
6580 (read_integer, read1): Avoid some compiler warnings.
6581
6582 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6583 compiler warnings.
6584
974e1e5b
MB
65852000-09-11 Miles Bader <miles@gnu.org>
6586
6587 * editfns.c (Fbuffer_string): Doc fix.
6588
9824c4e3
GM
65892000-09-10 Gerd Moellmann <gerd@gnu.org>
6590
6591 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6592
6a72fdd1
KR
65932000-09-09 Ken Raeburn <raeburn@gnu.org>
6594
6595 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6596 whether to include other header files.
6597
28e6fb66
GM
65982000-09-09 Gerd Moellmann <gerd@gnu.org>
6599
52283633 6600 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6601 by Fmemq as a boolean.
28e6fb66 6602
7f8b6551
SM
66032000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6604
6605 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6606
a8710abf
GM
66072000-09-08 Gerd Moellmann <gerd@gnu.org>
6608
d1a02881
GM
6609 * ralloc.c (mmap_fd): Remove initializer which can make it
6610 read-only in a dumped Emacs.
6611 (mmap_fd_1): New variable.
6612 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6613 restore it from there.
6614 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6615 unconditionally so that mmap_fd can be initialized there.
6616 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6617 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6618 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6619
c454aac1
GM
6620 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6621
6622 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6623 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6624
fc653ef2
GM
6625 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6626
3015eec0
GM
6627 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6628 inheritance.
6629
bfe0ee88
GM
6630 * xdisp.c (try_window_id): When trying to locate cursor in
6631 unchanged rows at the top, handle the case that we can't find it.
6632
a8710abf
GM
6633 * xterm.c (x_draw_glyphs): Handle case START and END are out
6634 of bounds more carefully.
6635
6b7d4ae4
DL
66362000-09-08 Dave Love <fx@gnu.org>
6637
423193c5
DL
6638 * s/sol2.h (REL_ALLOC_MMAP): Define.
6639 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6640
6641 * ralloc.c: Don't include string.h (redundant).
6642 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6643 [!MAP_ANON]: Include fcntl.h.
6644 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6645 (r_alloc, r_re_alloc, r_alloc_free)
6646 (mmap_enlarge, mmap_set_vars): Use it.
6647 (r_alloc_init_fd): New function.
6648 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6649 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6650 malloc type.
6651
6652 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6653 Remove vm-limit.o.
6654
6b7d4ae4
DL
6655 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6656 change to __NetBSD__.
6657
44d31981
KH
66582000-09-08 Kenichi Handa <handa@etl.go.jp>
6659
6660 * search.c (compile_pattern): Check the multibyteness of cached
6661 string and PATTERN.
6662
aad40737
MB
66632000-09-08 Miles Bader <miles@gnu.org>
6664
6665 * xfaces.c (default_face_vector): Function removed.
6666 (Finternal_merge_in_global_face): Restore old global/local
6667 attribute override order. Use inline loop instead of calling
6668 default_face_vector.
6669
91a211b5
GM
66702000-09-07 Gerd Moellmann <gerd@gnu.org>
6671
6672 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6673 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6674 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6675 where necessary, in case POINTER_TYPE is `void'.
6676
03419440
EZ
66772000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6678
6679 * frame.c (make_terminal_frame): Initialize frame foreground and
6680 background colors to unspecified, for the initial instance of an
6681 MSDOS frame.
6682
f46f845b
GM
66832000-09-07 Gerd Moellmann <gerd@gnu.org>
6684
24f76fbf
GM
6685 * ralloc.c (mmap_find): Fix overlap computation.
6686 (mmap_enlarge): Compute nbytes before trying to find an
6687 overlapping region.
6688
f46f845b
GM
6689 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6690 instead of `!='.
6691
6692 * lread.c (syms_of_lread): Change value of regexp
6693 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6694
6695 * xmenu.c (xdialog_show): When looking up the selection in
6696 menu_items, take `quote' boundaries into account; this corresponds
6697 to a nil ITEM in x-popup-dialog.
6698
3c014385
KH
66992000-09-07 Kenichi Handa <handa@etl.go.jp>
6700
fd6f711b
KH
6701 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6702 not 0x81.
6703 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6704
3c014385 6705 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6706 encoding, not decoding. Fix the handling of latin-jisx0201.
6707 Check for the charset katakana-jisx0201 too.
3c014385 6708 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6709 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6710
0da3ecef
GM
67112000-09-07 Gerd Moellmann <gerd@gnu.org>
6712
ab0ee409
GM
6713 * xfaces.c (Vparam_value_alist): New variable.
6714 (syms_of_xfaces): Initialize it.
6715 (Finternal_set_lisp_face_attribute): Avoid more consing.
6716
6717 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6718 specially.
6719 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6720 (Qbackground_mode): New variable.
6721 (syms_of_frame_1): Initialize Qbackground_mode.
6722
6723 * lisp.h (Qdisplay): Declare extern.
1091dd67 6724
0da3ecef
GM
6725 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6726 change face on all frames, and change the default for new frames.
6727
b14654b9
DL
67282000-09-07 Dave Love <fx@gnu.org>
6729
6730 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6731
d24fd56f
KH
67322000-09-07 Kenichi Handa <handa@etl.go.jp>
6733
794f3670
KH
6734 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6735
0fddd0dc
KH
6736 * charset.c: Include composite.h
6737 (lisp_string_width): New function.
6738 (Fstring_width): Call lisp_string_width instead of strwidth.
6739
6740 * Makefile.in (charset.o): Depends on composite.h.
6741
d24fd56f
KH
6742 * process.c (read_process_output): Before inserting the decoded
6743 text in the buffer, adjust the multibyteness.
6744
fa0b693c
GM
67452000-09-06 Gerd Moellmann <gerd@gnu.org>
6746
52283633 6747 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6748 buffer's text buffer is null, map new memory.
6749
0a58f946
GM
6750 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6751 POINTER_TYPE and size_t.
6752 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6753 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6754 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6755 [REL_ALLOC_MMAP]: New macros.
6756 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6757 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6758 [REL_ALLOC_MMAP]: New functions.
6759
6760 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6761 before and after unexec.
6762
6763 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6764 text buffers if necessary.
6765
6766 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6767 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6768 in prototypes.
6769
fa0b693c
GM
6770 * config.in (HAVE_MMAP): Add #undef.
6771
877055f6
GM
67722000-09-05 Gerd Moellmann <gerd@gnu.org>
6773
08ba3862
GM
6774 * frame.c (Qdisplay_type): New variable.
6775 (syms_of_frame_1): Initialize it.
6776 (Fframe_parameter): New function that avoids consing.
6777 (syms_of_frame): Defsubr it.
6778
66ffe51c
GM
6779 * buffer.c (Fother_buffer): Consider buffers as invisible when
6780 they are displayed in a window on an invisible frame.
6781
877055f6
GM
6782 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6783 get-largest-window always return nil.
6784
bb970e67
GM
67852000-09-04 Gerd Moellmann <gerd@gnu.org>
6786
6787 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6788 variable; recognize Emacs 19 elc files.
6789
7a3d0e0e
MB
67902000-09-04 Miles Bader <miles@gnu.org>
6791
6792 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6793 before initially popping up the menu, so the menu doesn't flash
52283633 6794 when the face settings are significantly different from the defaults.
7a3d0e0e 6795
14473664
SM
67962000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6797
6798 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6799 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6800 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6801 (BIT_UNIBYTE): Remove.
6802 (re_match_2_internal): Delete corresponding code and streamline the
6803 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6804 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6805 (re_wctype_t): New type.
6806 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6807 (regex_compile): Use them and fix handling of overly long char classes.
6808
c1174479
AI
68092000-09-03 Andrew Innes <andrewi@gnu.org>
6810
f8803e97
AI
6811 * makefile.w32-in: Change to DOS line endings.
6812
c1174479
AI
6813 * s/ms-w32.h (ORDINARY_LINK): New define.
6814
6815 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6816 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6817
6818 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6819 (distclean): Delete them here instead.
6820
44ef7cf6
AI
6821 * w32proc.c (compare_env): Convert to uppercase for comparison,
6822 not lowercase, to match how the native Windows shell works.
6823
49b3bd82
JR
68242000-09-03 Jason Rumney <jasonr@gnu.org>
6825
6826 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6827 CVS changes the line-ends when checking in/out on DOS/Windows.
6828
6829 * makefile.nt (emacs): Do not change directory to run temacs, as
6830 the load-path is set relative to current directory.
6831
a3d35a39
MB
68322000-09-03 Miles Bader <miles@gnu.org>
6833
6834 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6835
d276b0cf
GM
68362000-09-02 Gerd Moellmann <gerd@gnu.org>
6837
715e84c9
GM
6838 * xdisp.c (redisplay_mode_lines): New function.
6839 (display_mode_lines): Return number of mode lines displayed.
6840 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6841 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6842
8892f40b
GM
6843 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6844 string.h and strings.h.
6845 (index) [HAVE_INDEX]: Add prototype.
6846
d276b0cf
GM
6847 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6848 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6849
6850 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6851 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6852
38404229
GM
68532000-09-01 Gerd Moellmann <gerd@gnu.org>
6854
6855 * lread.c (read1): Accept `?' as symbol constituent, for
6856 compatiblity with XEmacs.
6857
c0f9ea08
SM
68582000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6859
6860 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6861 (struct re_pattern_buffer): Remove newline_anchor.
6862 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6863 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6864 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6865 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6866 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6867 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6868 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6869 Get rid of references to newline_anchor.
6870 (regcomp): Allocate and precompute a fastmap.
6871
8c0f83fe
GM
68722000-08-31 Gerd Moellmann <gerd@gnu.org>
6873
6874 * lread.c (openp): GCPRO local variable `filename'.
6875
4bb91c68
SM
68762000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6877
6878 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6879
6880 * regex.c: Merge some changes from GNU libc. Add prototypes.
6881 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6882 Use memcmp and memcpy instead of bcopy and bcmp.
6883 (init_syntax_once): Use ISALNUM.
6884 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6885 (REG_UNSET_VALUE): Remove. Use NULL instead.
6886 (REG_UNSET, re_match_2_internal): Use NULL.
6887 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6888 New macros.
6889 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6890 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6891 (regex_compile): In handle_interval, return an error rather than try to
6892 unfetch the interval if we can't find the closing brace.
6893 Obey the RE_NO_GNU_OPS syntax bit.
6894 (TOLOWER): New macro.
6895 (regcomp): Use it.
6896 (regexec): Allocate regs.start and regs.end as one block.
6897
5226a931
GM
68982000-08-30 Gerd Moellmann <gerd@gnu.org>
6899
868dd24b
GM
6900 * xdisp.c (echo_area_display): Check display_completed instead
6901 of calling detect_input_pending.
6902
6903 * dispnew.c (update_frame): Only set display_completed here; move
6904 the update_begin and update_end calls here from update_frame_1.
6905 (update_frame_1): Don't set display_completed here, don't call
6906 update_begin/update_end.
6907
5226a931
GM
6908 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6909 instead of store_frame_param.
6910
2a8bd25f
GM
69112000-08-29 Gerd Moellmann <gerd@gnu.org>
6912
6913 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6914 desired window matrix hasn't been displayed, use the current row
6915 instead. Make sure that only those frame rows are updated for
6916 which there exists a corresponding enabled desired row.
52283633 6917
ba3478d9
MB
69182000-08-29 Miles Bader <miles@gnu.org>
6919
6920 * xfaces.c (default_face_vector): New function.
6921 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6922
87d0f685
GM
69232000-08-29 Gerd Moellmann <gerd@gnu.org>
6924
6925 * lread.c (openp): Prevent temporary string passed to
6926 Ffile_readable_p from being garbage collected.
6927
6fa86045
DL
69282000-08-28 Dave Love <fx@gnu.org>
6929
6930 * keymap.c (store_in_keymap): Add `static' to declaration.
6931
bb17930d
GM
69322000-08-28 Gerd Moellmann <gerd@gnu.org>
6933
6934 * emacs.c, callint.c, doc.c, editfns.c
6935 (toplevel) [HAVE_STRING_H]: Include string.h.
6936 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6937 (index): Remove prototypes which might conflict with non-standard
6938 definitions of index/strchr.
6939
6940 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6941 (rindex): Define only if !HAVE_RINDEX.
6942
6943 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6944
6945 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6946
87188200
MB
69472000-08-28 Miles Bader <miles@gnu.org>
6948
6949 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6950 made inconsistent by a font-related attribute in FROM.
6951 (merge_face_inheritance): Add function comment.
6952
41a68aef
KH
69532000-08-28 Kenichi Handa <handa@etl.go.jp>
6954
6955 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6956 the 4th arg (PREV_EVENT) Qt to suppress input method.
6957
f7c436c1
SM
69582000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6959
0b32bf0e
SM
6960 * regex.c: Indent cpp directives and remove parens after `defined'.
6961 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6962 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6963 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6964 (re_compile_pattern): Use size_t for length.
6965 (init_syntax_once): Move to a better place.
6966 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6967 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6968
f7c436c1
SM
6969 * syntax.c (back_comment): Detect cases where a comment-starter is
6970 actually inside another comment as in: /* a // b */ c // d \n.
6971 Make it clear that `comstart_pos' is unused for nested comments.
6972
6973 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6974 (KEYMAPP): New macro.
6975 (Fkeymap_parent, Fset_keymap_parent): Use it.
6976 (fix_submap_inheritance): Mark it static.
6977 (define_as_prefix, describe_buffer_bindings, describe_command)
6978 (describe_translation, describe_map): Complete prototypes.
6979
6980 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6981
6982 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6983 to better match the key-lookup behavior.
6984
6288c62f
GM
69852000-08-27 Gerd Moellmann <gerd@gnu.org>
6986
6987 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6988 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6989
e931344e
EZ
69902000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6991
6992 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6993 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6994 (xterm.o): Depend on coding.h
6995
d10dfeef
KH
69962000-08-26 Kenichi Handa <handa@etl.go.jp>
6997
6998 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6999 the corresponding '#endif'.
7000
2d73e8d3
MB
70012000-08-26 Miles Bader <miles@gnu.org>
7002
7003 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7004 * xfaces.c (QCinherit): New variable.
7005 (syms_of_xfaces): Initialize it.
7006 (LFACE_INHERIT): New macro.
7007 (Finternal_get_lisp_face_attribute)
52283633 7008 (merge_face_vector_with_property)
2d73e8d3
MB
7009 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7010 (check_lface_attrs): Allow new types of face height. Check
7011 inherit attribute.
7012 (CYCLE_CHECK): New macro.
7013 (merge_face_inheritance): New function.
7014 (merge_face_vectors): Merge inherited faces too. Add F and
7015 CYCLE_CHECK arguments.
7016 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7017 (lookup_named_face, lookup_derived_face, realize_named_face)
7018 (face_at_string_position, face_at_buffer_position): Supply
7019 new F and CYCLE_CHECK arguments to merge_face_vectors.
7020 (merge_face_heights): New function.
52283633 7021 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7022 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7023 handle relative face heights.
7024 (lface_same_font_attributes_p): Compare heights using EQ.
7025
6ce974d4
KH
70262000-08-26 Kenichi Handa <handa@etl.go.jp>
7027
7028 * charset.c (char_to_string): Check the character validity.
52283633 7029 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7030
dc1e502d
SM
70312000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7032
7033 * regex.c (PUSH_FAILURE_COUNT): New macro.
7034 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7035 Handle popping of a register's or a counter's data.
7036 (POP_FAILURE_POINT): Use the new name.
7037 (re_match_2_internal): Push counter data on the stack for succeed_n,
7038 jump_n and set_number_at and remove misleading dead code in succeed_n.
7039
bd9d0f3f
GM
70402000-08-25 Gerd Moellmann <gerd@gnu.org>
7041
7042 * xdisp.c (redisplay_internal): If considering all windows on all
7043 frames, update the display for each frame as soon as possible,
7044 instead of first building all desired matrices for all frames, and
7045 then updating them all.
7046 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7047
aa5b8e15
GM
70482000-08-24 Gerd Moellmann <gerd@gnu.org>
7049
17494071
GM
7050 * bytecode.c (mark_byte_stack): Add a comment.
7051
52283633
SM
7052 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7053 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7054 a graphical frame.
7055
c543db81
KH
70562000-08-24 Kenichi Handa <handa@etl.go.jp>
7057
d246d5f5
KH
7058 * minibuf.c (do_completion): Always use compare-string, not
7059 string-equal because the latter doesn't pay attention to
7060 multibyteness of strings.
7061
c543db81
KH
7062 * process.c (create_process): Don't setup raw-text coding here.
7063 (Fopen_network_stream): Don't set coding->src_multibyte and
7064 coding->dst_multibyte here.
7065 (read_process_output): For process filter, return unibyte string
7066 if default-enable-multibyte-characters is nil.
7067 (send_process): If OBJECT is multibyte text, be sure to encoded it
7068 by the specified coding system for the process. Otherwise, setup
7069 raw-text coding.
52283633 7070 (init_process): Don't initialize default-process-coding-system here.
c543db81 7071
9b47cfe0
EZ
70722000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7073
7074 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7075 <scroll-down-aggressively>: Likewise.
7076
f5a36960
KH
70772000-08-23 Kenichi Handa <handa@etl.go.jp>
7078
7079 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7080 zero. Set coding->produced_char correctly.
7081
69a7ffa7
AI
70822000-08-22 Andrew Innes <andrewi@gnu.org>
7083
7084 * makefile.w32-in: New file.
7085
7086 * unexw32.c (unexec): Ignore old_name, and use the actual location
7087 of the current executable instead. Base new_name on this.
7088
7089 * w32proc.c (create_child): Remove reference to security
7090 descriptor, which isn't needed and doesn't compile with mingw32.
7091
7092 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7093 up dllimport attributes.
7094 (x_update_window_end): Update prototype.
7095
7096 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7097 extern, which screws up dllimport attributes.
7098
7099 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7100 up dllimport attributes.
7101
7102 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7103 screws up dllimport attributes.
7104
7105 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7106 up dllimport attributes.
7107 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7108 screws up dllimport attributes.
7109
7110 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7111 up dllimport attributes.
7112
7113 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7114 screws up dllimport attributes.
7115
7116 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7117 screws up dllimport attributes.
7118
7119 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7120 up dllimport attributes.
7121
7122 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7123 unnecessary extern, which screws up dllimport attributes.
7124 (main): Ditto.
7125
7126 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7127 up dllimport attributes.
7128
7129 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7130 unnecessary extern, which screws up dllimport attributes.
7131
7132 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7133 screws up dllimport attributes.
7134
7135 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7136 up dllimport attributes.
7137
7138 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7139
52283633
SM
7140 * w32bdf.c (search_file_line):
7141 (set_bdf_font_info):
7142 (seek_char):
7143 (w32_get_bdf_glyph):
69a7ffa7
AI
7144 (w32_BDF_to_x_font): Fix compile warnings.
7145
52283633 7146 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7147
7148 * w32select.c: Include keyboard.h before frame.h.
7149
7150 * w32fns.c (max): Define macro.
7151 (JOHAB_CHARSET): Define if not known.
7152 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7153 (Fx_show_tip): Synch with X version.
7154
7155 * w32xfns.c: Include keyboard.h before frame.h.
7156
7157 * w32fns.c: Include keyboard.h before frame.h.
7158
7159 * w32term.c: Include keyboard.h before frame.h.
7160
7161 * fontset.c: Include keyboard.h before frame.h.
7162
7163 * w32inevt.c: Include keyboard.h before frame.h.
7164 (MOUSE_MOVED): Define if not known.
7165
7166 * minibuf.c: Include keyboard.h before frame.h.
7167
7168 * keyboard.c: Include keyboard.h before frame.h.
7169
7170 * indent.c: Include keyboard.h before frame.h.
7171
7172 * dispnew.c: Include keyboard.h before frame.h.
7173
7174 * buffer.c: Include keyboard.h before frame.h.
7175
7176 * alloc.c: Include keyboard.h before frame.h.
7177
7178 * print.c: Include keyboard.h before frame.h.
7179
7180 * process.c: Include keyboard.h before frame.h.
7181
7182 * scroll.c: Include keyboard.h before frame.h.
7183
7184 * sysdep.c: Include keyboard.h before frame.h.
7185
7186 * term.c: Include keyboard.h before frame.h.
7187
7188 * window.c: Include keyboard.h before frame.h.
7189
7190 * xdisp.c: Include keyboard.h before frame.h.
7191 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7192
7193 * frame.c: Include keyboard.h before frame.h.
7194
7195 * w32heap.h: Undefine min, max.
7196
7197 * w32gui.h: Undefine min, max.
7198
7199 * unexw32.c: Change PUCHAR to PCHAR.
7200 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7201 (relocate_offset):
7202 (get_section_info):
69a7ffa7
AI
7203 (copy_executable_and_dump_data): Remove unnecessary static defs.
7204 (copy_executable_and_dump_data): Fix compile warnings.
7205
7206 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7207
7208 * w32console.c (min): Define macro.
7209 (clear_frame, write_glyphs): Fix compile warning.
7210
52283633 7211 * w32proc.c (compare_env):
69a7ffa7
AI
7212 (find_child_console): Fix compile warning.
7213
7214 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7215 sys_errlist instead of _sys_errlist.
7216 (get_emacs_configuration_options): New function.
7217
7218 * s/ms-w32.h (sys_nerr): Provide default definition.
7219 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7220 name with _ prepended.
7221 (NSIG): Define if not known.
7222 (get_emacs_configuration): Provide extern declaration.
7223 (get_emacs_configuration_options): Provide extern declaration.
7224 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7225
7226 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7227 (map_w32_filename):
69a7ffa7
AI
7228 (read_unc_volume): Fix compile warning.
7229
7230 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7231 definitions from being used.
7232
7233 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7234
52283633 7235 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7236 (open_unc_volume): Make arg const.
7237
7238 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7239 (read_input_waiting): Remove excess parameter.
7240
7241 * w32.c (init_environment): Call _access.
7242 (check_windows_init_file): Call _close.
7243 (init_user_info): Call _putenv.
7244 (init_environment): Call _putenv and _strdup.
7245 (init_ntproc): Reset volume info cache on startup.
7246
7247 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7248 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7249 cannot override the CRT malloc.
7250
7251 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7252 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7253
7254 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7255 unless we are linking with a static CRT.
7256 (RVA_TO_PTR): Cast result to unsigned char*.
7257
7258 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7259 (add_volume_info): Use xstrdup.
7260
25060080
SM
72612000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7262
7263 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7264 (do_completion, Fminibuffer_complete_word): Use it.
7265 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7266 var so it can take non-boolean values.
7267
6917e6bb
GM
72682000-08-21 Gerd Moellmann <gerd@gnu.org>
7269
acb7cc89 7270 * editfns.c (find_field): Formatting changes.
52283633 7271 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7272 changed to prototypes, some new protypes added, some functions
7273 made static.
7274
7275 * lisp.h (set_time_zone_rule): Add prototype.
7276 (use_dialog_box): External declaration.
7277
0bbfdc25
GM
7278 * keyboard.c (gen_help_event): Add parameter SIZE.
7279 (kbd_buffer_events_waiting): Slightly rewritten.
7280 (clear_event): New function.
7281 (kbd_buffer_get_event): Use it, and clear the input_events of
7282 HELP_EVENTs.
7283 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7284 don't fill the newly created array with nils.
7285 (toplevel): Convert some old-style function forward declarations
7286 to prototypes.
7287
7288 * keyboard.h (gen_help_event): Change prototype.
7289
7290 * xterm.c (XTread_socket): Change calls to gen_help_event.
7291
7292 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7293
6917e6bb
GM
7294 * eval.c (Fmacroexpand): Doc fix.
7295
e5cd3d11
JR
72962000-08-20 Jason Rumney <jasonr@gnu.org>
7297
7298 * w32term.h (x_display_info_for_display): Remove as this function
7299 does not exist on W32.
7300
7301 * w32term.c (help_echo_window): New variable.
7302 (syms_of_w32term): staticpro it.
7303 (note_mode_line_highlight): Set it.
7304 (XTextExtents16): Removed as there is no equivalent on W32.
7305 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7306 the X way of doing this will not work for W32.
7307 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7308 (x_draw_image_foreground): Avoid drawing outside of the clip area
7309 when image doesn't have a mask.
7310 (note_mouse_highlight): Process overlays in the right order of
7311 priority. Set help_echo_window.
7312 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7313 because that's more visible for large images.
7314
7315 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7316 name to single_keymap_panes.
7317 (w32_menu_show): Set wv->title when dealing with titles.
7318 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7319
6e69ab8c
MB
73202000-08-21 Miles Bader <miles@gnu.org>
7321
7322 * minibuf.c (do_completion): Try again if we rewrite the input
7323 string, but no completion was done, so that any completion message
7324 will be correct.
7325
511bd4eb
GM
73262000-08-20 Gerd Moellmann <gerd@gnu.org>
7327
7328 * xfaces.c (lface_equal_p): Compare strings differently.
7329 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7330 (realize_tty_face): Use them.
7331 (syms_of_xfaces): Initialize new variables.
7332 (map_tty_color): New function, extracted from realize_tty_face.
7333 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7334 foreground or background color, store the new color name in the
7335 realized face; previous code trying to do this had no effect.
7336 (realize_tty_face): Use map_tty_color.
7337 (Fclear_face_cache): Set face_change_count and ensure thorough
7338 redisplay.
7339
1433385f
GM
73402000-08-19 Gerd Moellmann <gerd@gnu.org>
7341
511bd4eb
GM
7342 * undo.c (record_first_change, record_marker_adjustment): Don't
7343 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7344
419ac0a2
KH
73452000-08-18 Kenichi Handa <handa@etl.go.jp>
7346
7347 * coding.c (decode_coding_string): Set members consumed,
7348 consumed_char, produced, produced_char of *coding correctly. If
7349 decode_coding doesn't consume any byte, don't try anymore.
7350 (encode_coding_string): Likewise.
7351
7eb9e30d
GM
73522000-08-18 Gerd Moellmann <gerd@gnu.org>
7353
511bd4eb
GM
7354 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7355 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7356
7357 * xdisp.c (redisplay_internal): Compare windows for equality with
7358 EQ, instead of applying XWINDOW to something that might not
7359 be a window.
52283633 7360
dd34a735
KH
73612000-08-18 Kenichi Handa <handa@etl.go.jp>
7362
7363 * fontset.c (Finternal_char_font): Search only the selected frame
7364 for a window of the current buffer.
7365
385ff9e3
GM
73662000-08-18 Gerd Moellmann <gerd@gnu.org>
7367
511bd4eb 7368 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7369 Lisp_Objects.
7370
385ff9e3
GM
7371 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7372 second half of a HELP_EVENT is found at the start of kbd_buffer.
7373
d6abb4c7
MB
73742000-08-18 Miles Bader <miles@gnu.org>
7375
4618074a
MB
7376 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7377
d6abb4c7
MB
7378 * editfns.c (save_restriction_save): Rewrite to use markers.
7379 (save_restriction_restore): Rewrite to understand new form of data
7380 saved by save_restriction_save.
7381 (Fsave_restriction): Remove cautionary note in doc-string.
7382
a7b28523
GM
73832000-08-17 Gerd Moellmann <gerd@gnu.org>
7384
7385 * fileio.c (build_annotations): Add a comment explaining the
7386 return value of format-annotate-function. Replace a spurious call
7387 to Flength with a CONSP test. Call format-annotate-function with
7388 a fifth arg specifying how many times the function is been called
7389 in a row, to let it choose temporary buffers appropriately.
7390
03c9ed77
DL
73912000-08-17 Dave Love <fx@gnu.org>
7392
7393 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7394 declare make_temp_name twice.
7395
52283633 7396 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7397 (unreadpure): Give it an arg.
7398
7399 * unexalpha.c: Prototype fatal_unexec, mark_x,
7400 update_dynamic_symbols. Declare unexec as void.
7401
7402 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7403 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7404
7405 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7406 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7407
7408 * alloca.c: Use #error.
7409 [POINTER_TYPE]: Use it.
7410
7411 * eval.c (Fdefvar): Doc fix.
7412
7413 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7414 INITIALIZE_INTERVAL.
7415
7416 * buffer.h: Avoid DECLARE_INTERVALS.
7417
7418 * config.in: Add size_t.
7419
aae41d97
EZ
74202000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7421
7422 * w16select.c (set_clipboard_data): If there's not enough memory
7423 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7424 expects. In case of other failures, return 3.
7425 (system_error_msg): New error message.
7426 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7427 system_error_msg.
7428
65aa5e85
GM
74292000-08-16 Gerd Moellmann <gerd@gnu.org>
7430
7431 * term.c (write_glyphs): Also turn off inverse video after turning
7432 off other appearances in case TS_exit_attribute_mode is not equal
7433 to TS_end_standout_mode.
7434 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7435 with the same face.
7436 (turn_off_face): Reset standout_mode only if
7437 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7438 is equal to TS_end_standout_mode.
7439
ece23901
KH
74402000-08-16 Kenichi Handa <handa@etl.go.jp>
7441
9d7bcb2e
KH
7442 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7443 sequence at the end of the source block.
7444
ece23901
KH
7445 * ccl.c (Fccl_program_p): Docstring modified.
7446 (Fccl_execute): Likewise.
7447 (Fccl_execute_on_string): Likewise.
7448
5e30eaa2
EZ
74492000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7450
7451 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7452
290602fd
KH
74532000-08-16 Kenichi Handa <handa@etl.go.jp>
7454
7455 The following changes are mainly to fix bugs of
7456 encode/decode-coding-string failing if encoding/decoding return
7457 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7458 variable conversion_buffer.
7459
7460 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7461 decrement dst_end to avoid buffer overflow in the later call of
7462 string_as_multibyte
7463
7464 * coding.h (conversion_buffer_size, conversion_buffer)
7465 (get_conversion_buffer): Extern deleted.
7466
7467 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7468 (conversion_buffer, conversion_buffer_size): Variables deleted.
7469 (get_conversion_buffer): Function deleted.
7470 (struct conversion_buffer): New structure.
7471 (MAX_ALLOCA): New macro.
7472 (allocate_conversion_buffer): New macro.
7473 (extend_conversion_buffer, free_conversion_buffer): New functions.
7474 (ccl_coding_driver): Set coding->result.
7475 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7476 this is the last block of source.
7477 (encode_coding): Likewise. Handle the source block as the last
7478 one only when the whole source text is consumed.
7479 (decode_coding_string): Handle the case that the output buffer is
7480 too small to decode the whole source text. Use
7481 allocate_conversion_buffer, extend_conversion_buffer and
7482 free_conversion_buffer, not get_conversion_buffer.
7483 (encode_coding_string): Likewise.
7484 (init_coding): Function deleted.
52283633 7485 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7486
7487 * emacs.c (main): Don't call init_coding.
7488
52283633 7489 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7490
7491 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7492 (insert_glyphs): Likewise.
7493
7494 * w32console.c (write_glyphs): Use a locally declared
7495 conversion_buffer.
7496
b9f80d41
EZ
74972000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7498
7499 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7500 member of display_info is NULL.
7501
32dc52f7
GM
75022000-08-15 Gerd Moellmann <gerd@gnu.org>
7503
52283633 7504 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7505
32dc52f7 7506 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7507 appearances with capability `me'.
32dc52f7
GM
7508 (write_glyphs): Switch on inverse video before each face change.
7509
4eb22d33
DL
75102000-08-14 Dave Love <fx@gnu.org>
7511
7512 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7513 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7514 (lisp_free): Declare and make static.
7515
7516 * window.c: Fix embedded comment.
7517 (syms_of_window): Fix doc string.
7518
90cbf47e
GM
75192000-08-14 Gerd Moellmann <gerd@gnu.org>
7520
52283633 7521 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7522 make sure to print `C-' before `M-', like in the manual.
7523
440fc135
GM
75242000-08-11 Gerd Moellmann <gerd@gnu.org>
7525
7526 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7527 since they aren't relocated anymore.
52283633 7528 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7529
7530 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7531 partially visible line which is smaller than the window's height.
440fc135 7532
6e264fad
KH
75332000-08-11 Kenichi Handa <handa@etl.go.jp>
7534
7535 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7536 the multibyte form of eight-bit-control characters.
6e264fad
KH
7537 (Fccl_execute_on_string): Initialize ccl->multibyte.
7538
7539 * ccl.h (struct ccl_program): New member multibyte.
7540
7541 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7542
c371f69a
KH
75432000-08-11 Kenichi Handa <handa@etl.go.jp>
7544
7545 * regex.c (regex_compile) <normal_char>: Pay attention to
7546 multibyteness.
7547 (analyse_first) <exactn>: Setup fastmap correctly for
7548 eight-bit-control characters.
7549
75502000-08-11 Kenichi Handa <handa@etl.go.jp>
7551
52283633 7552 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7553
7554 * keyboard.c (make_lispy_event): Handle the new event type
7555 multibyte_char_keystroke.
7556
7557 * xterm.c: Include coding.h.
7558 (XTread_socket): Work around a bug of XmbLookupString. If the
7559 input is from XIM, decode it according to the current locale. In
7560 that case, generate multibyte_char_keystroke events.
7561
b8ddbe71
KH
75622000-08-11 Kenichi Handa <handa@etl.go.jp>
7563
7564 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7565 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7566
47589c8c
GM
75672000-08-10 Gerd Moellmann <gerd@gnu.org>
7568
7569 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7570 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7571 (move_it_in_display_line_to): Record iterator's ascent and descent
7572 before producing glyphs, and restore them when we know the glyph
7573 doesn't fit on the line.
7574 (move_it_to): Restructured so that it's easier to debug. If
7575 moving to a vpos, and not moving to an x or character position,
7576 stop as soon as the specified vpos is reached; don't move further
7577 into that line because that might change the computed line height.
7578 (try_cursor_movement): New function, extracted from the cursor
7579 movement branch of redisplay_window. If ending on a partially
7580 visible line, don't try to scroll if the cursor line is taller
7581 than the window.
7582 (redisplay_window): Use try_cursor_movement.
7583
7584 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7585 because that function doesn't cope with variable-height lines.
7586
7587 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7588 box cursor because that's better visible for large images.
52283633 7589
c51bacd6
MB
75902000-08-10 Miles Bader <miles@gnu.org>
7591
7592 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7593
bea56df7
GM
75942000-08-10 Gerd Moellmann <gerd@gnu.org>
7595
7596 * xdisp.c (Vmessages_buffer_name): New variable.
7597 (message_dolog): Use it.
7598 (syms_of_xdisp): Initialize it.
7599
99cd7364
EZ
76002000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7601
52283633 7602 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7603 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7604 redundant now that keyboard.h is included.
7605
7d093d56
EZ
76062000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7607
7608 * keyboard.c (kbd_buffer_events_waiting): New function.
7609
7610 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7611
7612 * msdos.c: Include keyboard.h.
7613 (XMenuActivate): Empty no_event events from the event buffer. If
7614 no events are left after that, call clear_input_pending.
7615 (mouse_clear_clicks): New function, code moved from mouse_init.
7616 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7617 mouse driver to ``forget'' any past clicks.
7618
7619 * Makefile.in (msdos.o): Depend on keyboard.h.
7620
41e757a6
GM
76212000-08-09 Gerd Moellmann <gerd@gnu.org>
7622
8e7bd231
GM
7623 * lisp.h (input_pending): External declaration.
7624
7625 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7626
8e7bd231
GM
7627 * xdisp.c (echo_area_display): Display thoroughly if input is
7628 pending. Bind redisplay-dont-pause to t during the redisplay.
7629 in case input is pending.
7630
7631 * dispnew.c (Qredisplay_dont_pause): New variable.
7632 (syms_of_display): Initialize and staticpro it.
7633 (update_frame_1): Don't interrupt the display for pending input if
7634 redisplay_dont_pause is set.
52283633 7635
43028b7e
GM
7636 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7637
41e757a6
GM
7638 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7639
2f2174fa
KH
76402000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7641
7642 * callproc.c (Fcall_process): Terminate the unwind-protect around
7643 the post-read-conversion of coding system.
7644
0a6fd67e
MB
7645 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7646 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7647 * buffer.h (overlays_at): Update prototype.
7648 * xdisp.c (next_overlay_change): Update call to overlays_at.
7649 * xfaces.c (face_at_buffer_position): Likewise.
7650 * textprop.c (Fget_char_property): Likewise.
7651 * xterm.c (note_mouse_highlight): Likewise.
7652
0c80756e
MB
7653 * minibuf.c (do_completion): Don't consider a simple change of
7654 case as `completion'.
7655
975f250a
KR
76562000-08-08 Ken Raeburn <raeburn@gnu.org>
7657
52283633 7658 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7659 * undo.c (record_delete): Make sure last_point_position_buffer is
7660 a buffer before comparing pointers.
7661
7662 * coding.h (decode_coding_string): Declare.
7663
7664 * intervals.h (Fprevious_single_char_property_change): Declare.
7665
7666 * textprop.c (Fprevious_single_char_property_change): Don't do
7667 arithmetic directly on lisp objects.
7668
52283633 7669 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7670
7671 * keyboard.h (menu_item_eval_property): Declare.
7672
7673 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7674 reuse as buffer name, instead of recreating (and discarding) every
7675 time a message is logged.
7676 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7677 (current_message_1, truncate_message_1, set_message_1)
7678 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7679 (current_message, truncate_echo_area, display_echo_area)
7680 (resize_echo_area_axactly): Changed calls.
b347b3fd 7681
975f250a 7682 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7683 Lisp object.
975f250a 7684 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7685 must be an integer, not a Lisp object.
975f250a 7686
46dc9912
KH
76872000-08-08 Kenichi Handa <handa@etl.go.jp>
7688
7689 * charset.c (Fchar_width): Doc fix.
7690
9f6d1a6c
GM
76912000-08-08 Gerd Moellmann <gerd@gnu.org>
7692
7693 * charset.c (Fstring_width): Doc fix.
7694
ff3d9573
GM
76952000-08-07 Gerd Moellmann <gerd@gnu.org>
7696
41e757a6 7697 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7698 line, clear ascent and descent members of the iterator structure;
7699 the height of the continued line does not affect the height of the
7700 continuation line.
7701 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7702 line taller than the window.
7703 (redisplay_window) <forced window start>: Handle case that the
7704 middle of the window is not found in any row.
7705 (dump_glyph_row): Show more information.
7706 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7707 first text line in a glyph matrix.
7708
7709 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7710 of the clip area when image doesn't have a mask.
7711
70fc58b3
GM
7712 * fns.c (sweep_weak_table): Fix survival conditions for
7713 key-or-value and key-and-value weakness.
7714
7715 * .gdbinit (xhashtable): New command.
7716
ac0e96ee
GM
7717 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7718 tables out of the list of all weak hash tables.
7719
ff3d9573
GM
7720 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7721 a new buffer is created, make sure echo_area_buffer[] references
7722 the new buffer.
7723
e0d8827b
EZ
77242000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7725
7726 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7727 the doc string.
7728
c6f35378
KH
77292000-08-07 Kenichi Handa <handa@etl.go.jp>
7730
7731 * syntax.c (skip_chars): Fix previous change. Make the handling
7732 of unibyte string consistent with that of regex search.
7733
1fd4c450
GM
77342000-08-05 Gerd Moellmann <gerd@gnu.org>
7735
e49aa397
GM
7736 * xmenu.c (popup_get_selection): Use xfree instead of free.
7737
7738 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7739
7740 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7741
7742 * callproc.c (child_setup): Use xfree instead of free.
7743
7744 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7745 instead of malloc.
7746 (run_mac_command, closedir): Use `xfree' instead of `free'.
7747
7748 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7749
7750 * eval.c (error): Use xfree instead of free.
7751
1fd4c450
GM
7752 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7753
7754 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7755 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7756
82d497fc
KH
77572000-08-05 Kenichi Handa <handa@etl.go.jp>
7758
7759 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7760 conversion.
7761
59f953a2
NF
77622000-08-04 Noah Friedman <friedman@splode.com>
7763
7764 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7765 docstring.
7766
688351f2
GM
77672000-08-04 Gerd Moellmann <gerd@gnu.org>
7768
7769 * syntax.c (skip_chars): Fix typo in error message.
7770
2dad51cc
AS
77712000-08-04 Andreas Schwab <schwab@suse.de>
7772
7773 * m/ia64.h: Moved from s/ia64.h.
7774
99bb2c60
KH
77752000-08-04 Kenichi Handa <handa@etl.go.jp>
7776
082a1df2
KH
7777 * process.c (read_process_output): Big simplification. Handle
7778 composition and post-read-conversion of coding system correctly.
7779 (send_process): Handle composition correctly.
7780
7781 * callproc.c (Fcall_process): Handle post-read-conversion of
7782 coding system if any.
7783
99bb2c60
KH
7784 * coding.c (decode_coding_iso2022): More strict check for handling
7785 single shifting.
082a1df2
KH
7786 (coding_restore_composition): Pay attention to the case that
7787 cmp_data is not set properly (because of invalid code in the
7788 source text).
7789 (run_pre_post_conversion_on_str): Include text properties in the
7790 resulting string.
7791 (decode_coding_string): Set members of coding correctly.
99bb2c60 7792
f4988be7
GM
77932000-08-03 Gerd Moellmann <gerd@gnu.org>
7794
7795 * s/ia64.h: New file.
7796
7797 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7798 Use NULL instead of 0 at the end of variable argument list of
7799 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7800 sizeof (int) < sizeof (void *).
7801
7802 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7803 of variable argument lists of XtVaGetValues and XtVaSetValues.
7804
7805 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7806 variable argument lists of XtVaGetValues and XtVaSetValues.
7807
ead53494
GM
78082000-08-02 Gerd Moellmann <gerd@gnu.org>
7809
7810 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7811 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7812
7813 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7814 prototype.
7815
7816 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7817 in call to Fsingle_key_description.
7818
7819 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7820 Callers changed.
7821
78222000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7823
7824 * window.c (display_buffer_reuse_frames): New variable.
7825 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7826 frames displaying BUFFER.
52283633 7827 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7828
10b0f752
MB
78292000-08-01 Miles Bader <miles@gnu.org>
7830
7831 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7832 when to constrain NEW_POS (they were pretty screwed up before).
7833
16425c4a
EZ
78342000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7835
7836 * msdos.c (run_msdos_command): Save and restore the master
7837 environment, for the case that child_setup signals an error.
7838 When mirroring slashes in DOS shell commands, don't fail when
7839 argv[2] has embedded blanks.
da288c14
EZ
7840 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7841 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7842 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7843
7844 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7845 using alloca; free it after run_msdos_command returns.
7846
27f73852
DL
78472000-07-27 Dave Love <fx@gnu.org>
7848
52283633
SM
7849 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7850 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7851
7852 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7853
c0261b5e
EZ
78542000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7855
7856 * editfns.c (lisp_time_argument): Fix last change.
7857
b548072f
GM
78582000-07-27 Gerd Moellmann <gerd@gnu.org>
7859
3ab82477
GM
7860 * fns.c (Fdelete): Make it work on vectors and strings in addition
7861 to lists.
7862
b548072f
GM
7863 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7864 (syms_of_fns): Initialize new variables.
52283633 7865 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7866 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7867 weakness, with t meaning the same as `key-and-value'.
7868
91ae8751
KH
78692000-07-27 Kenichi Handa <handa@etl.go.jp>
7870
7871 * coding.h (struct coding_system): Member safe_charset deleted.
7872
7873 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7874 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7875 New variables.
91ae8751
KH
7876 (coding_safe_chars): New function.
7877 (CODING_SAFE_CHAR_P): New macro.
7878 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7879 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7880 (detect_coding_iso2022): New local variable safe_chars.
7881 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7882 safe_charsets member of the coding system.
7883 (decode_coding_iso2022): New local variable safe_chars.
7884 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7885 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7886 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7887 (ENCODE_UNSAFE_CHARACTER): New macro.
7888 (encode_coding_iso2022): New local variable safe_chars. Check
7889 unsafe chars.
7890 (setup_coding_system): Delete the code to initialize
7891 coding->safe_charses
7892 (intersection, find_safe_codings): New functions.
7893 (Ffind_coding_systems_region_internal): New function.
7894 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7895 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7896 variable and initialize it.
7897
7898 * fns.c (char_table_ref_and_index): New function.
7899
7900 * lisp.h (char_table_ref_and_index): Add prototype.
7901
34a7a267
SS
79022000-07-26 Sam Steingold <sds@gnu.org>
7903
7904 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7905 (Ffloat_time): New built-in Lisp function.
34a7a267 7906
a95cb10a
GM
79072000-07-26 Gerd Moellmann <gerd@gnu.org>
7908
3353ef5a
GM
7909 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7910 for the character code.
7911
7912 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7913 GNU/Linux.
7914
a95cb10a
GM
7915 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7916 if called for a popup menu.
7917 (xmenu_show): Store help string in widget values.
7918
b4a12321
DL
79192000-07-26 Dave Love <fx@gnu.org>
7920
7921 * syswait.h: Move some definitions.
7922 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7923 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7924 perspicuous definitions.
7925 (WTERMSIG): Fix bit pattern used.
7926
13f5ad37
KH
79272000-07-26 Kenichi Handa <handa@etl.go.jp>
7928
7929 * print.c (print_object): If vector printing is truncated, print
7930 "..." to indicate it as well as the case of list printing.
7931
070fe99c
GM
79322000-07-25 Gerd Moellmann <gerd@gnu.org>
7933
969065c3
GM
7934 * xdisp.c (next_element_from_display_vector): Improve comments.
7935
7936 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7937 for the character code, and the rest for the face id as in 20.x.
7938 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7939
7940 * window.c (window_display_table): Cleaned up.
7941
070fe99c
GM
7942 * syntax.c (Fforward_word): Add last arg nil in call of
7943 Fconstrain_to_field.
7944
bad77ef7
EZ
79452000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7946
969065c3 7947 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7948 identical but for the letter-case, don't call
7949 barf_or_query_if_file_exists.
bad77ef7 7950
c28da489
MB
79512000-07-25 Miles Bader <miles@gnu.org>
7952
7953 * editfns.c (find_field): Honor special `boundary' fields.
7954 (Qboundary): New variables.
7955 (syms_of_editfns): Initialize Qboundary.
7956 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7957 Use scan_buffer instead of find_before_next_newline, because it
7958 allows us to detect the boundary case where there's a newline at
7959 the search limit.
7960 * lisp.h (Fconstrain_to_field): Update external declaration.
7961
e3c31fd5
GM
79622000-07-24 Gerd Moellmann <gerd@gnu.org>
7963
7964 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7965 if that is nil.
c28da489 7966
c66c29a2
DL
79672000-07-24 Dave Love <fx@gnu.org>
7968
7969 * s/sunos4-0.h, s/sol2.h:
7970 (LIBS_TERMCAP): Move from m/sparc.h.
7971
7972 * m/sparc.h (TERMINFO): Moved to system files (probably only
7973 relevant for sunos4 judging by its vintage).
7974 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7975 __arch64__.
7976
fbe0a958
EZ
79772000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7978
7979 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7980 name to single_keymap_panes.
7981
7d88e5c9
AS
79822000-07-24 Andreas Schwab <schwab@suse.de>
7983
7984 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7985
e024b101
GM
79862000-07-24 Gerd Moellmann <gerd@gnu.org>
7987
7988 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7989 parameters instead of using int parameters. Expect FN to accept
7990 EMACS_INT parameters.
7991 (display_echo_area, resize_echo_area_axactly, current_message)
7992 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7993 with new argument list.
7994 (resize_mini_window_1): New callback function.
7995 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7996 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7997
25c1a9ce
KH
79982000-07-24 Kenichi Handa <handa@etl.go.jp>
7999
8000 * fontset.c (fontset_ref): Remove INLINE declaration.
8001 (fontset_ref_via_base): Likewise.
8002 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8003 to downcase.
8004
7f987ac0
EZ
80052000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8006
8007 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8008 correct order of priority. If help echo was found in an overlay,
8009 use that overlay as the object in which the help echo was found.
8010
e2db3069
MB
80112000-07-22 Miles Bader <miles@gnu.org>
8012
8013 * textprop.c (Fprevious_single_char_property_change): The initial
8014 property value should be from the position preceding POSITION, not
8015 following it.
8016
5e3203e4
EZ
80172000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8018
8019 * coding.c (syms_of_coding): Doc fix for
8020 inhibit-iso-escape-detection.
8021
62145073
GM
80222000-07-21 Gerd Moellmann <gerd@gnu.org>
8023
c20aeb83
GM
8024 * xterm.c (note_mouse_highlight): Process overlays in the right
8025 order of priority.
34a7a267 8026
743934db
GM
8027 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8028
8029 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8030 overlay, use that overlay as the object in which the help was found.
743934db 8031
d1dc7e43 8032 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8033
62145073
GM
8034 * window.c (foreach_window): Instead of a fake variable argument
8035 list, take one USER_DATA argument.
8036 (foreach_window_1): Likewise, and call callback functions with two
8037 args, the window and USER_DATA.
8038 (struct check_window_data): New struct.
8039 (check_window_containing): Use it.
8040 (window_from_coordinates): Set up a struct check_window_data for
8041 foreach_window.
8042 (add_window_to_list, freeze_window_start): Change parameters
8043 according to new calling convention.
8044
8045 * window.h (foreach_window): Change prototype.
8046
8047 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8048
80492000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8050
8051 * xmenu.c (menu_help_callback): Call show_help_echo with
8052 additional arguments OBJECT and POS.
8053
11270583
KH
80542000-07-21 Kenichi Handa <handa@etl.go.jp>
8055
07b14857
KH
8056 * data.c (Faset): Allow storing any multibyte character in a
8057 string. Convert unibyte string to multibyte if necessary.
8058
11270583
KH
8059 * xfns.c (x_encode_text): New function.
8060 (x_set_name): Use x_encode_text.
8061 (x_set_title): Likewise.
8062
8063 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8064
8065 * xterm.h (x_encode_text): Add prototype.
8066
bc75b4fd
DL
80672000-07-20 Dave Love <fx@gnu.org>
8068
8069 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8070 xfree, not free.
8071
48c14970
EZ
80722000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8073
8074 * msdos.c (help_echo_window): New variable.
8075 (syms_of_msdos): Initialize and staticpro it.
8076 (IT_note_mode_line_highlight): Set help_echo_window.
8077 (IT_note_mouse_highlight): Ditto.
8078 (dos_rawgetc): Store help_echo_window in the second event produced
8079 for HELP_EVENTs.
8080
8081 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8082 Record the object that generated the help echo and the position of
8083 that object in help_echo_object and help_echo_pos. Record that
8084 some glyphs in a row are displayed in mouse-face.
8085 (IT_update_begin): Don't clear mouse highlight unless one of the
8086 enabled glyph rows is marked as being displayed in mouse-face.
8087 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8088 and position recorded in help_echo_object and help_echo_pos to the
8089 event queue.
8090 (IT_menu_display): Accept a new argument PN: the pane number of
8091 the current menu pane. Record the pane number and the item
8092 number of the item which has associated help string.
8093 (XMenuActivate): Update the prototype for help_callback in
8094 function declaration. Call IT_menu_display with the current menu
8095 pane number as an additional argument. Call help_callback with
8096 two additional arguments: the pane number and the item number of
8097 the menu item associated with the help text.
8098 (help_echo_object, help_echo_pos): New variables.
8099 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8100
8101 * msdos.h (XMenuActivate): Update prototype.
8102
4279296d
GM
81032000-07-19 Gerd Moellmann <gerd@gnu.org>
8104
47db06aa
GM
8105 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8106 Add some more prototypes.
8107
8108 * xterm.c, xterm.h: Add some more prototypes.
8109
8110 * lisp.h (Fnext_single_char_property_change): Add prototype.
8111
8112 * dispnew.c (direct_output_for_insert): Remove confusing
8113 outer local variable mouse_face_overwritten_p.
8114 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8115
4279296d
GM
8116 * alloc.c (allocate_string_data): Don't copy old string contents.
8117
670acd62
KH
81182000-07-19 Kenichi Handa <handa@etl.go.jp>
8119
8120 * coding.c (code_convert_region): Delete text properties before
8121 shrinking the conversion region.
8122
7cea38bc
GM
81232000-07-18 Gerd Moellmann <gerd@gnu.org>
8124
dc1cac59
GM
8125 * dispnew.c (update_text_area): Write the whole row if it
8126 has mouse-face in it.
8127
85a8aca9
GM
8128 * xfaces.c (face-alternative-font-family-alist): Remove
8129 DEFVAR_LISP; staticpro instead.
8130
34a7a267 8131 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8132 new arguments.
8133
8134 * keyboard.c (show_help_echo): Add parameter WINDOW.
8135 (read_char): Call show_help_echo with window extracted from Lisp
8136 help event.
8137 (gen_help_event): Add parameter WINDOW.
8138
8139 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8140
8141 * xterm.c (help_echo_window): New variable.
52283633 8142 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8143 (XTread_socket): Pass help_echo_window to gen_help_event.
8144 (syms_of_xterm): Initialize and staticpro help_echo_window.
8145
f8276b77
DL
81462000-07-18 Dave Love <fx@gnu.org>
8147
52283633 8148 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8149
088831a6
GM
81502000-07-18 Gerd Moellmann <gerd@gnu.org>
8151
3d6cd763
GM
8152 * alloc.c (allocate_string_data): If string had already data
8153 assigned, copy old contents to new string data.
8154
8155 * coding.c (syms_of_coding): Fix typo in spelling of variable
8156 `inhibit-iso-escape-detection'.
8157
088831a6
GM
8158 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8159
8160 * Makefile.in: Add dependencies on dispextern.h.
8161 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8162 `free'; both can conflict with system header files.
8163
bc8a8d55
KH
81642000-07-18 Kenichi Handa <handa@etl.go.jp>
8165
8166 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8167 undefined.
8168
069f5950
DL
81692000-07-18 Dave Love <fx@gnu.org>
8170
8171 * window.c (Fwindow_list): Declare arg `window'.
8172
aa96c820
KH
81732000-07-18 Kenichi Handa <handa@etl.go.jp>
8174
8175 * coding.c (setup_coding_system): Don't override the explicitly
8176 specified designations.
8177
06be8d32
MB
81782000-07-15 Miles Bader <miles@gnu.org>
8179
8180 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8181 from `text_property_eq' and `text_property_stickiness', respectively.
8182 (find_field, Fconstrain_to_field, char_property_eq)
8183 (char_property_stickiness): Changed to call char-property functions
8184 instead of text-property-only ones.
8185
8186 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8187 `next_single_char_property_change'). Do more error checking, and
8188 cleanup limit behavior.
8189 (Fprevious_single_char_property_change): New function.
8190 (syms_of_textprop): Initialize new subrs.
8191
8192 * xdisp.c (display_prop_end, invisible_text_between_p):
8193 Call Fnext_single_char_property_change instead of
8194 next_single_char_property_change.
8195
3fddcdc3
JR
81962000-07-15 Jason Rumney <jasonr@gnu.org>
8197
8198 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8199 after menu is finished with.
8200 (add_menu_item): Only consider wv->title as a menu title.
8201 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8202
8203 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8204 null title.
8205 (FONT_REGEXP): Remove unused macro, and its sub-components.
8206 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8207
8208 * w32term.c (help_echo_object, help_echo_pos): New variables.
8209 (note_mode_line_highlight): Store additional information about the
8210 help-echo in help_echo_object and help_echo_pos. Check both
8211 `local-map' and `keymap' properties for changing the cursor
8212 (note_mouse_highlight): Store additional information about the
8213 help-echo in help_echo_object and help_echo_pos.
8214 (note_tool_bar_highlight): Set help_echo_object to nil and
8215 help_echo_pos to -1.
8216 (w32_read_socket): Use gen_help_event instead of filling
8217 input_events manually.
8218 (syms_of_w32term): Staticpro help_echo_object.
8219 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8220 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8221 (x_clear_mouse_face): New function.
8222 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8223 (x_update_window_begin): No need to turn off the mouse
8224 highlight here.
8225 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8226 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8227 (x_fill_stretch_glyph_string): Consume runs of stretch
8228 glyphs instead of a single one.
8229 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8230 with new argument list.
8231 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8232 (x_append_glyph, x_append_composite_glyph)
8233 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8234 changes in struct glyph starting 1999-12-27. See comments for
8235 xterm.c on 2000-07-05.
8236
178c5d9c
SS
82372000-07-14 Sam Steingold <sds@gnu.org>
8238
8239 * xfaces.c (realize_x_face): Fix the last patch:
8240 check `default_face' before dereferencing.
8241
6fe533f6
DL
82422000-07-14 Dave Love <fx@gnu.org>
8243
069f5950 8244 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8245
dd7b81cf
KH
82462000-07-14 Kenichi Handa <handa@etl.go.jp>
8247
0693904a 8248 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8249 default_face's fontset, not using the default fontset.
0693904a 8250
dd7b81cf
KH
8251 * coding.c (inhibit_iso_escape_detection): New variable.
8252 (syms_of_coding): Make it a Lisp variable.
8253 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8254 nonzero, ignore ISO2022's escape sequence.
8255
d5aa31d8
GM
82562000-07-14 Gerd Moellmann <gerd@gnu.org>
8257
e5acf0ca
GM
8258 * alloca.c (malloc) [emacs]: Define as xmalloc.
8259
bd23a692
GM
8260 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8261 use that instead of the mouse position. Add parameters DX and DY.
8262
8263 * dispextern.h (Fx_show_tip): Adjust number of parameters
8264 in prototype.
8265
9662da0b
GM
8266 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8267 if HELP is a function, call it with OBJECT and POS as parameters
8268 to get the help to display.
8269 (gen_help_event, kbd_buffer_store_help_event): New functions.
8270 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8271 (read_char): Call show_help_echo with new parameters.
8272
178c5d9c 8273 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8274 Add prototypes.
8275
8276 * xterm.c (help_echo_object, help_echo_pos): New variables.
8277 (note_mode_line_highlight): Store additional information about the
8278 help-echo in help_echo_object and help_echo_pos. Check both
8279 `local-map' and `keymap' properties for changing the cursor
8280 (note_mouse_highlight): Store additional information about the
8281 help-echo in help_echo_object and help_echo_pos.
8282 (note_tool_bar_highlight): Set help_echo_object to nil and
8283 help_echo_pos to -1.
8284 (XTread_socket): Use gen_help_event instead of filling
8285 input_events manually.
8286 (syms_of_xterm): Staticpro help_echo_object.
8287
8288 * xmenu.c (menu_highlight_callback): Use
8289 kbd_buffer_store_help_event instead of setting up and input_event
8290 structure manually.
8291
8292 * xdisp.c (eval_form): GCPRO argument sexpr.
8293 (call_function): New function.
8294 (handle_single_display_prop): Use call_function and FUNCTIONP
8295 instead of checking whether if font_height is a symbol and
8296 using eval_form.
8297
8298 * eval.c (internal_condition_case_2): New function.
8299
8300 * lisp.h (FUNCTIONP): New macro.
8301 (internal_condition_case_2, call_function): Add prototypes.
8302
d5aa31d8
GM
8303 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8304 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8305 Always set `arg' member of input_events.
8306 (construct_menu_click): Unused function removed.
8307
8308 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8309
8310 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8311 (construct_drag_n_drop, x_scroll_bar_handle_click)
8312 (w32_read_socket): Always set `arg' member of input_events.
8313
8314 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8315
8316 * lisp.h (eval_form): Add prototype.
8317
8318 * xdisp.c (eval_form): Make it externally visible.
8319
0f1a9b23
GM
83202000-07-13 Gerd Moellmann <gerd@gnu.org>
8321
8322 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8323 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8324 consing. For prefix events, store the frame in the `arg' slot of
8325 the event, otherwise store the key there.
8326 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8327 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8328
8329 * xmenu.c (menu_highlight_callback): Store help string in the
8330 `arg' member of the input event; don't cons.
8331 (menubar_selection_callback): Use the `arg' slot of input events
8332 to queue additional information, instead of consing.
8333
8334 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8335
8336 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8337 TOOL_BAR_EVENTs.
8338 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8339
8340 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8341 input events to queue additional information, instead of consing.
8342
8343 * keyboard.c (kbd_buffer_gcpro): Renamed from
8344 kbd_buffer_frame_or_window. Now used for all Lisp objects
8345 referenced from the input queue.
8346 (kbd_buffer_store_event): Always use structure assignment for
8347 copying input events. Record all Lisp objects referenced from
8348 events in kbd_buffer_gcpro.
8349 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8350 differently from input events. Test for prefix menu_bar_events
8351 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8352 event in kbd_buffer_gcpro to nil.
8353 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8354 frame_or_window is equal to its arg member as prefix events.
8355 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8356 used by an input event to nil.
8357 (init_keyboard): Use two times the size of the input queue
8358 for kbd_buffer_gcpro.
8359 (syms_of_keyboard): Likewise.
8360
52283633
SM
8361 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8362 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8363
8364 * termhooks.h (struct input_event): Add member `arg'.
8365 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8366 (USER_SIGNAL_EVENT): Renamed from user_signal.
8367
8368 * xfaces.c (ASET): Remove definition.
8369
8370 * lisp.h (AREF, ASET, ASIZE): New macros.
8371
8372 * fontset.c (AREF, ASIZE): Remove definitions.
8373
8374 * fns.c (AREF): Remove definition.
178c5d9c 8375
0f1a9b23
GM
8376 * composite.c (AREF): Remove definition.
8377
712eaef2
GM
83782000-07-12 Gerd Moellmann <gerd@gnu.org>
8379
d8ee7803
GM
8380 * dispnew.c (redraw_overlapped_rows): Add missing local.
8381 (scrolling_window): Remove debug code.
8382
712eaef2
GM
8383 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8384 Before scrolling, turn off a mouse-highlight in the window
8385 being scrolled.
8386
8387 * xterm.c (x_update_window_end): Add parameter
8388 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8389 redisplay in XTframe_up_to_date.
8390 (x_clear_mouse_face): New function.
8391 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8392
8393 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8394 current glyph row.
8395 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8396 it when any row is written to that contains glyphs highlighted in
8397 mouse-face.
8398 (update_window): Call the window update end hook with new
8399 parameter MOUSE_FACE_OVERWRITTEN_P.
8400 (direct_output_for_insert): Give up if row contains mouse-face.
8401
8402 * dispextern.h (struct redisplay_interface): Add parameter
8403 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8404 (clear_mouse_face): New function pointer member.
8405
02010917
SM
84062000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8407
8408 * syntax.c (back_comment): Use one switch rather than a few `if's.
8409 Obey open_paren_in_column_0_is_defun_start.
8410 When reverting to the `slow' method, try to nicely handle the case
8411 of nested comments by checking that the comment-starter we found
8412 does indeed match the comment-ender.
8413 (scan_sexps_forward, scan_sexps_forward):
8414 Ignore excessive opening parenthesis rather than throwing an error.
8415
d76c03ea
GM
84162000-07-11 Gerd Moellmann <gerd@gnu.org>
8417
8418 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8419 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8420
8421 * dispnew.c (direct_output_forward_char): Give up if currently
8422 displaying a message instead of the minibuffer contents.
8423
8424 * xterm.c (x_update_window_begin): No need to turn off the mouse
8425 highlight here.
8426 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8427 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8428
8429 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8430 compare the mouse_face_p flags of both rows.
8431
8432 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8433
d55ead18
EZ
84342000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8435
8436 * keyboard.c (show_help_echo): Accept additional parameter
8437 ok_to_overwrite_keystroke_echo.
8438 (read_char): Call show_help_echo with a zero
8439 ok_to_overwrite_keystroke_echo argument.
52283633 8440 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8441 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8442 ok_to_overwrite_keystroke_echo argument.
8443 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8444 non-zero ok_to_overwrite_keystroke_echo argument.
8445
df75b1a3
GM
84462000-07-10 Gerd Moellmann <gerd@gnu.org>
8447
4b92c49a
GM
8448 * xdisp.c (try_window_id): If changes are all below what is
8449 displayed in the window, and point is in the window, we still
8450 might have to find point on the display.
8451
8452 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8453 glyphs instead of a single one.
8454 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8455 with new argument list.
8456 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8457
df75b1a3
GM
8458 * keymap.c (get_keymap_1): Add comment that this function can GC.
8459 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8460 comment that functions can GC.
8461 (Fset_keymap_parent): GCPRO arg KEYMAP.
8462
4314cf3e
EZ
84632000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8464
8465 * msdos.c (XMenuActivate): After exiting the menu, restore the
8466 echo area message and erase it.
8467
ab49ce15
KH
84682000-07-10 Kenichi Handa <handa@etl.go.jp>
8469
8470 * fontset.c (Ffontset_info): Make the return value more compatible
8471 with that of Emacs 20.
8472
090a072f
GM
84732000-07-07 Gerd Moellmann <gerd@gnu.org>
8474
8475 * eval.c (Fsignal): Handle case that backtrace_list is null.
8476
f92de4a6
KH
84772000-07-07 Kenichi Handa <handa@etl.go.jp>
8478
8479 * ccl.c (Fccl_execute): Typo fixed.
8480
dd8888a1
GM
84812000-07-06 Gerd Moellmann <gerd@gnu.org>
8482
e5c81191 8483 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8484
dd8888a1
GM
8485 * window.c (Fwindow_list): Reverse list at the end.
8486 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8487 means allow windows on OWINDOW's frame, only.
8488 (window_loop): Simplified; use Fwindow_list.
8489
8490 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8491
485266d0
GM
84922000-07-05 Gerd Moellmann <gerd@gnu.org>
8493
8494 * xterm.c (XTread_socket): Increment handling_signal at the start,
8495 decrement it at the end.
8496
8497 * eval.c (handling_signal): New variable.
8498 (Fsignal): Abort if handling_signal is non-zero.
8499
8500 * lisp.h (handling_signal): External declaration.
178c5d9c 8501
485266d0
GM
8502 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8503
80fcd514
KR
85042000-07-05 Ken Raeburn <raeburn@gnu.org>
8505
8506 Sound support for NetBSD through "Linux emulation" support:
8507 * config.in (HAVE_SOUNDCARD_H): Undef.
8508 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8509 * Makefile.in (LIBSOUND): New variable.
8510 (LIBES): Include it.
52283633
SM
8511 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8512 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8513 (vox_open): Use DEFAULT_SOUND_DEVICE.
8514 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8515
d5c5cddd
GM
85162000-07-05 Gerd Moellmann <gerd@gnu.org>
8517
8518 * print.c (print_error_message): If Vsignaling_function is set,
8519 show it in *Messages*.
8520
8521 * lisp.h (Vsignaling_function): External declaration.
8522
8523 * eval.c (Vsignaling_function): New variable.
8524 (Fsignal): Compute it.
8525 (syms_of_eval): Staticpro it.
8526
65171e3a
DL
85272000-07-05 Dave Love <fx@gnu.org>
8528
8529 * syswait.h: Use the autoconf recommended approach. Old code
8530 #if'd out in case we need to revert.
8531
178c5d9c 8532 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8533
e2c46326
AI
85342000-07-05 Andrew Innes <andrewi@gnu.org>
8535
8536 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8537 when non-NULL instead of __morecore, to take account of buffer
8538 memory. This also solves a problem with spurious memory warnings
8539 on Windows.
8540
8541 * ralloc.c: Make real_morecore non-static.
8542
8543 * eval.c (internal_condition_case): Comment out abort if
8544 interrupt_input_blocked is not zero.
8545
8546 * makefile.nt: Add support for `bootstrap' and related targets.
8547 Include minimal debug info in emacs.exe in release build.
8548 Remove all dependencies on lisp.h, and fixup some others.
8549
8550 * w32.c (init_environment): Install code from 20.7 for providing
8551 default values for environment variables, based on the
8552 executable's own location.
52283633 8553 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8554 (sys_socket): Install socket inheritance bug fix from 20.7.
8555
8556 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8557 here via blockinput.h).
8558
a027a91b
SM
85592000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8560
e4b31601
SM
8561 * w32menu.c (w32_menu_display_help):
8562 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8563
8564 * keyboard.h (show_help_echo): Declare.
8565
8566 * keyboard.c (show_help_echo): New function, extracted from read_char.
8567 Feval its `msg' argument if it's a cons cell.
8568 (read_char): Use it.
4cf8d9d5 8569 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8570
178c5d9c 8571 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8572 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8573 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8574 (dos_rawgetc):
8575 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8576 (note_tool_bar_highlight, w32_read_socket):
8577 Do not gratuitously ignore non-string `help-echo' properties.
8578
88d75730
GM
85792000-07-05 Gerd Moellmann <gerd@gnu.org>
8580
969f7e79
GM
8581 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8582
71201b00
GM
8583 * window.c (delete_all_subwindows): Reset Vwindow_list.
8584
88d75730
GM
8585 * xterm.c (x_append_glyph, x_append_composite_glyph)
8586 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8587 changes in struct glyph starting 1999-12-27. Some bit-fields of
8588 struct glyph were not set, which made glyphs unequal when compared
8589 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8590 effects were the result. This also depended on the contents of
8591 memory returned by xmalloc. If flickering happens again, activate
8592 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8593 gone with that, chances are that it is caused by something similar.
88d75730
GM
8594
8595 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8596
88d75730
GM
8597 * dispextern.h: Add some comments.
8598
8599 * window.c (add_window_to_list): Add parameter LIST.
8600 (window_list): Order list so that, for each frame, windows are
8601 in canonical order, and so that frames appear in the list in
8602 the order given by Vframe_list.
8603 (next_window): Reverse the handling of NEXT_P.
8604
53654733
GM
86052000-07-04 Gerd Moellmann <gerd@gnu.org>
8606
87efd256
GM
8607 * window.c (Vwindow_list): New variable.
8608 (make_window, delete_window): Set Vwindow_list to nil.
8609 (check_window_containing): New function.
8610 (window_from_coordinates): Rewritten.
8611 (add_window_to_list, window_list, candidate_window_p)
8612 (decode_next_window_args, next_window): New functions.
52283633 8613 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8614 (Fwindow_list): New function.
8615 (Fother_window): Cleaned up.
8616 (foreach_window): Add a longer "variable argument list". Let
8617 callback function return 0 to indicate that cycling over windows
8618 should stop.
8619 (foreach_window_1): Likewise.
8620 (freeze_window_start): Return int.
8621 (init_window): New function.
8622 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8623
8624 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8625 input_event with bzero.
8626 (main): Call init_window.
8627
53654733
GM
8628 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8629 a menu filter.
8630
4a8c194f
KH
86312000-07-04 Kenichi Handa <handa@etl.go.jp>
8632
8633 * composite.h (make_composition_value_copy): Extern it.
8634
8635 * composite.c (make_composition_value_copy): New function.
8636
8637 * editfns.c (Fformat): While copying text properties, make each
8638 composition property value a copy.
8639
8640 * fns.c (concat): While copying text properties, make each
8641 composition property value a copy.
8642
831a6cb0
GM
86432000-07-03 Gerd Moellmann <gerd@gnu.org>
8644
2f516940
GM
8645 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8646
178c5d9c 8647 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8648 marked already.
8649
831a6cb0
GM
8650 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8651 include those frames as candidates which have their focus
8652 redirected to the minibuffer frame.
8653
d9c4f922
SM
86542000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8655
8656 * fns.c (Fputhash): Return `value' rather than nil.
8657
3780bc22
GM
86582000-06-30 Gerd Moellmann <gerd@gnu.org>
8659
97d176db
GM
8660 * frame.c (next_frame): Don't check focus redirection in case
8661 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8662 unless their focus is redirected, which contradicts the
8663 specification of next-frame, and leads to infinite loops in
8664 certain situations when cycling through windows with next-window.
8665
dca9961d
KH
86662000-06-30 Kenichi Handa <handa@etl.go.jp>
8667
8668 * coding.c (code_convert_region): Even if the length of text is
8669 zero, try to convert it if coding->type is coding_type_ccl.
8670 (decode_coding_string, encode_coding_string): Likewise.
8671
d5483ab1
GM
86722000-06-28 Gerd Moellmann <gerd@gnu.org>
8673
af5c25e1 8674 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8675 the display if windows_or_buffers_changed.
af5c25e1
GM
8676
8677 * dispnew.c (struct row_entry): New structure.
8678 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8679 (row_table_size, old_lines, new_lines, old_lines_size)
8680 (new_lines_size, run_pool, runs_size, runs): New variables.
8681 (add_row_entry): New function.
8682 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8683 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8684 holding them in local variables. Use a larger hash table whose
8685 size depends on glyph matrix sizes. Don't use bzero to clear the
8686 hash table; instead, clear used slots only.
8687
8688 * fns.c (next_almost_prime): Make it externally visible.
8689
8690 * lisp.h (next_almost_prime): Add prototype.
8691
d5483ab1
GM
8692 * s/isc4-0.h (sigunblock): Define.
8693
8694 * s/sco5.h (sigunblock): Define.
8695
93e40f40
DL
86962000-06-27 Dave Love <fx@gnu.org>
8697
8698 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8699 (moved to osf5-0.h).
8700 [!NOT_C_CODE]: Protect string.h stuff.
8701
8702 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8703 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8704
3c4b7685
GM
87052000-06-27 Gerd Moellmann <gerd@gnu.org>
8706
97d176db 8707 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8708 below the last line from the needed window height.
8709
32cad0aa
SM
87102000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8711
8712 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8713 (Fwidget_get): Use it.
8714 (syms_of_fns): Defsubr it.
8715
2c69ced2
GM
87162000-06-26 Gerd Moellmann <gerd@gnu.org>
8717
178c5d9c 8718 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8719 display info for XIM.
8720 (xim_open_dpy): Likewise.
8721 (xim_close_dpy): Don't free the display info's XIM.
8722
8723 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8724
8725 * config.in (USE_XIM): New define.
8726
3fc720e4
GM
8727 * keymap.c (get_keyelt): For menu-items containing a `:filter
8728 FILTER', apply FILTER to the menu-item's definition to get the
8729 real definition to use.
8730
8731 * lisp.h (QCfilter): External declaration.
8732
2c69ced2
GM
8733 * xfns.c (Fimage_size): New function.
8734 (syms_of_xfns): Defsubr it.
8735
f978b2a2
AS
87362000-06-26 Andreas Schwab <schwab@suse.de>
8737
8738 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8739 Fstring_as_unibyte.
8740
94cc7892
DL
87412000-06-25 Dave Love <fx@gnu.org>
8742
52283633 8743 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8744
8745 * Makefile.in (blockinput.h): Depend on atimer.h.
8746 (atimer.h): Depend on systime.h.
8747
52283633 8748 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8749
52283633 8750 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8751
8752 * lisp.h (swap_in_global_binding): Declare.
8753
b8c24556
KR
87542000-06-24 Ken Raeburn <raeburn@gnu.org>
8755
8756 * process.c (Fopen_network_stream): Turn off atimers for duration
8757 of call to connect. (Patch from Gerd.)
8758
8cf8560b
DL
87592000-06-23 Dave Love <fx@gnu.org>
8760
511c7541
DL
8761 * ralloc.c: Maybe include unistd.h
8762
8cf8560b
DL
8763 * emacs.c (setgrp): Undefine before defining.
8764 (malloc_warning, set_time_zone_rule, index): Prototype.
8765
8766 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8767 HAVE_STRUCT_TIMEZONE.
8768
8769 * s/osf1.h: Move string.h hack here from alpha.h and make it
8770 conditional.
8771 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8772 _XOPEN_SOURCE.
8773 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8774 (SOCKLEN_TYPE): Don't define.
8775
8776 * m/alpha.h: Remove string.h hack.
8777
8778 * s/osf5-0.h: New file.
8779
8780 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8781 include time.h, done by systime.h.
8782 [__FreeBSD__]: Remove redundant includes.
8783
3fc720e4 8784 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8785 (delete_temp_file): Return Qnil to avoid warning.
8786
8787 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8788
8789 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8790 HAVE_X_WINDOWS.
8791
8792 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8793
8794 * composite.h (compose_text): Declare.
8795
8796 * xterm.c: Don't include sys/types.h unconditionally. Don't
8797 protect its inclusion with !USG (following xmenu.c).
8798
ea055732
GM
87992000-06-23 Gerd Moellmann <gerd@gnu.org>
8800
8801 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8802 in x_create_frame.
8803
74b01b80
EZ
88042000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8805
8806 * coding.c (decode_eol_post_ccl): Special handling for undecided
8807 and inconsistent EOL types.
8808
64f3a166
GM
88092000-06-22 Gerd Moellmann <gerd@gnu.org>
8810
16cf31f7
GM
8811 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8812 trough color and main window's background color.
8813
52283633 8814 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8815
8816 * xterm.h (Xt_app_con): External declaration.
8817
8818 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8819
486a103d
GM
8820 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8821
64f3a166
GM
8822 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8823 (handle_invisible_prop): Record the start of invisible text in
8824 it->add_overlay_start.
8825 (struct overlay_entry): Add member `overlay'.
8826 (handle_overlay_change): Simplify.
8827 (next_overlay_string): After having processed overlay strings at the
8828 end of the buffer, record that fact in
8829 it->overlay_strings_at_end_processed_p.
8830 (compare_overlay_entries): If before- and after-strings come
8831 from the same overlay, let before-strings come first.
8832 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8833 (load_overlay_strings): Take it->add_overlay_start into account
8834 when adding overlay strings.
8835
8836 * dispextern.h (struct it): Add member add_overlay_start.
8837
bb746ea6
DL
88382000-06-22 Dave Love <fx@gnu.org>
8839
8840 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8841
8842 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8843
a8f573f3
KH
88442000-06-22 Kenichi Handa <handa@etl.go.jp>
8845
8846 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8847 is greater than 0.
8848
9f2bbc92
DL
88492000-06-21 Dave Love <fx@gnu.org>
8850
178c5d9c 8851 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8852
3ee5041c
SM
88532000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8854
8855 * syntax.c (back_comment): Simplify string-parity counting (with
8856 the added benefit of handling multiple string-styles as long as
8857 they are not intertwined).
8858 Jump to the slow code as soon as a comment starter is found in
8859 a "string_lossage" position. Fixes the case: " /* " /* " */.
8860
4c343001
DL
88612000-06-21 Dave Love <fx@gnu.org>
8862
8863 * Makefile.in: Use GETLOADAVG_LIBS.
8864
8865 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8866 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8867
e6365855
SM
88682000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8869
8870 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8871 (Fforward_comment, scan_lists):
8872 Check the comstyle of single-char comment-starters.
8873 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8874 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8875 Check the comstyle of single-char comment-starters.
8876 Clarify control-flow around the Scomment case.
e6365855 8877
5700d2cc
DL
88782000-06-20 Dave Love <fx@gnu.org>
8879
d355bd8a
SM
8880 * fns.c (make_hash_table, maybe_resize_hash_table):
8881 Cast arg of next_almost_prime.
5700d2cc 8882
178c5d9c 8883 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8884
8885 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8886 and unistd.h.
8887
4a27bdfb
GM
88882000-06-20 Gerd Moellmann <gerd@gnu.org>
8889
a61d762c 8890 * keyboard.c (adjust_point_for_property): Check if display
52283633 8891 property should be treated as intangible by looking at its value.
a61d762c 8892
178c5d9c 8893 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8894 (display_prop_intangible_p): New functions.
8895
8896 * dispextern.h (display_prop_intangible_p): Add prototype.
8897
8898 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8899
4a27bdfb
GM
8900 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8901 argument to sigprocmask.
8902
8903 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8904 argument to sigprocmask.
8905
8906 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8907 sigprocmask_set, and pass a pointer to it to sigprocmask.
8908
8909 * sysdep.c (sigprocmask_set): New variable.
8910
8911 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8912 report_file_error.
8913
427ec082
SS
89142000-06-20 Sam Steingold <sds@gnu.org>
8915
8916 * xrdb.c: Don't declare xmalloc, xrealloc.
8917
8972fe79 89182000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8919
8920 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8921 (re_comp): Cast gettext return value to avoid complaints when
8922 !HAVE_LIBINTL.
8923
074b6efe
DL
89242000-06-20 Dave Love <fx@gnu.org>
8925
52283633 8926 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8927
5700d2cc 8928 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8929
d355bd8a 8930 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8931
8932 * m/alpha.h: Don't declare xmalloc, xrealloc.
8933
0af4f205
DL
8934 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8935
8936 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8937
8938 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8939
8940 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8941 HAVE_GETWD.
8942
074b6efe
DL
8943 * keyboard.h (poll_for_input_1): Declare.
8944
8945 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8946
8947 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8948
8949 * doprnt.c: Don't declare xmalloc, xrealloc.
8950
8951 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8952 (getenv, ctime, getwd): Removed.
8953 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8954
8955 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8956 x_set_tool_bar_lines.
8957
8958 * config.in: Add HAVE_GETWD. Move some definitions above
8959 machine/system includes.
8960
68a5e97b
KH
89612000-06-20 Kenichi Handa <handa@etl.go.jp>
8962
95417e1e
KH
8963 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8964
68a5e97b
KH
8965 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8966 contain information about ENCODING.
8967
8968 * fontset.c (FONTSET_ASCII): Use the first element of char table
8969 for an ASCII font, not defalt slot.
8970 (fontset_ref_via_base): If FONTSET doesn't contain information for
8971 C, try the default fontset.
8972 (make_fontset): Don't copy the default fontset.
8973 (fontset_font_pattern): Likewise.
8974 (accumulate_font_info): If ELT is nil, use the corresponding
8975 element in the default fontset.
8976
3b4fa1b2
DL
89772000-06-19 Dave Love <fx@gnu.org>
8978
943e731c
DL
8979 * syntax.c (Fparse_partial_sexp): Doc fix.
8980
8981 * regex.h: Test PROTOTYPES as well as __STDC__.
8982
3b4fa1b2
DL
8983 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8984 errno, strerror. Put text after #endif in comment.
8985
52283633 8986 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8987
8988 * xterm.c (x_frame_of_widget): Likewise.
8989
cdf0357b
GM
89902000-06-19 Gerd Moellmann <gerd@gnu.org>
8991
8992 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8993 to Vfundamental_mode_abbrev_table.
8994
8995 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8996 bogus objects are marked. This slows down GC by ~80 percent, but
8997 it might be worth trying when debugging GC-related problems.
8998 This feature requires conservative stack marking to be enabled.
8999
9000 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9001 returns XLookupChars, reset `modifiers' to zero.
9002
998e9f8c
DL
90032000-06-19 Dave Love <fx@gnu.org>
9004
9005 * mktime.c: Unprotoized.
9006
18e21ce8 90072000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9008
9009 * data.c (set_internal): If variable is frame-local,
9010 store the new value immediately into the frame parameter alist.
9011
140c4ac6
KR
90122000-06-19 Ken Raeburn <raeburn@gnu.org>
9013
14358466
KR
9014 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9015 in the custom handler pointer.
9016
140c4ac6
KR
9017 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9018 value, or checks for CHAR_META can fail when Lisp_Object is a
9019 union type.
9020 * keymap.c (get_keyelt): Likewise.
9021
10d7bf84
KH
90222000-06-19 Kenichi Handa <handa@etl.go.jp>
9023
9024 * ccl.h (struct ccl_program): New member eol_type.
9025 (struct ccl_spec): New member cr_carryover.
9026
9027 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9028 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9029
9030 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9031 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9032 (decode_eol_post_ccl): New function.
9033 (decode_coding): Don't detect EOL format here for CCL based coding
9034 systems.
9035 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9036 decode_eol_post_ccl after running the CCL program.
9037 (code_convert_region): Don't detect EOL format here for CCL based
9038 coding systems.
9039 (decode_coding_string): Likewise.
9040
52e386c2
KR
90412000-06-18 Ken Raeburn <raeburn@gnu.org>
9042
9043 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9044 when treating it as an integer.
9045
9046 * coding.h (encode_coding_string): Declare.
9047
9048 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9049 it as an integer.
9050
9051 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9052 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9053 to be passed to get_local_map.
9054
9055 * sound.c (Fplay_sound): Don't call make_number on
9056 Frun_hook_with_args count argument.
9057
9058 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9059 for lisp objects in X event structure data field, when lisp
9060 objects are represented with unions.
9061 (x_scroll_bar_to_input_event): Ditto.
9062
b357b9d4
KR
90632000-06-16 Ken Raeburn <raeburn@gnu.org>
9064
9065 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9066 termination of string. Fix sense of test whether
9067 Vline_number_display_limit is an integer.
b357b9d4 9068
a871441d
GM
90692000-06-16 Gerd Moellmann <gerd@gnu.org>
9070
a9021acd
GM
9071 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9072 only if HAVE_X_WINDOWS.
9073
6344985d
GM
9074 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9075 of titles.
9076
427ec082 9077 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9078 out of bounds.
9079
228b083e
EZ
90802000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9081
9082 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9083 of its headers.
9084
c25b53a2
KH
90852000-06-15 Kenichi Handa <handa@etl.go.jp>
9086
9087 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9088 start of the while loop.
9089
a6981b11
GM
90902000-06-15 Gerd Moellmann <gerd@gnu.org>
9091
e9924e52
GM
9092 * atimer.c (alarm_signal_handler): Add forward declaration.
9093
a6981b11
GM
9094 * data.c (set_internal): Remove debug code.
9095
25fa6deb
GM
90962000-06-14 Gerd Moellmann <gerd@gnu.org>
9097
dce6b995
GM
9098 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9099
9f817ea4
GM
9100 * unexec.c (toplevel) [COFF]: Include coff.h.
9101
9102 * s/lynxos.h: New file.
9103
9104 * keymap.c (Fsingle_key_description): Enclose function key and
9105 event symbol names in angle brackets.
9106
8a4e3c0c
GM
9107 * xdisp.c (setup_echo_area_for_printing): Call
9108 message_log_maybe_newline if message_buf_print is not set.
9109
9110 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9111 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9112 function does something useful even when message_buf_print is
9113 already set.
9114
52283633
SM
9115 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9116 New variables.
25fa6deb
GM
9117 (ensure_echo_area_buffers): Initialize echo buffer's
9118 truncate lines setting to nil.
9119 (with_echo_area_buffer): Don't set the echo buffer's truncate
9120 lines setting here.
8a4e3c0c 9121 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9122 of message_truncate_lines.
9123 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9124 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9125 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9126
9127 * keyboard.c (read_char): Bind message-truncate-lines to t
9128 while displaying a help-echo.
9129
9130 * lisp.h (Qmessage_truncate_lines): External declaration.
9131
163dcff3
GM
91322000-06-13 Gerd Moellmann <gerd@gnu.org>
9133
1681ead6
GM
9134 * xdisp.c (Vline_number_display_limit): Renamed from
9135 line_number_display_limit.
9136 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9137 Extend documentation string. Initialize
9138 Vline_number_display_limit to nil meaning no limit.
9139 (decode_mode_spec): Use Vline_number_display_limit with its new
9140 meaning.
9141
163dcff3
GM
9142 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9143
18e21ce8 91442000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9145
9146 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9147
163dcff3
GM
9148 * xfns.c (x_set_frame_parameters): Comment fix.
9149
9150 * frame.c (store_frame_param): Call swap_in_global_binding if the
9151 variable's current binding was chosen based on this frame.
9152
9153 * data.c (swap_in_global_binding): New function.
9154
a704139d
EZ
91552000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9156
9157 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9158 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9159
9b6610db
EZ
91602000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9161
9162 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9163
c68833d2
JR
91642000-06-12 Jason Rumney <jasonr@gnu.org>
9165
9166 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9167
9168 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9169
9170 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9171
9172 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9173
ed1056b3
GM
91742000-06-12 Gerd Moellmann <gerd@gnu.org>
9175
9176 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9177 (syms_of_xfaces): Defsubr Sdump_colors.
9178 (x_free_colors): Don't treat b&w specially on default visual.
9179 (x_free_dpy_colors): New function.
9180 (free_face_colors): Don't check visual class; it's done
9181 in x_free_colors.
9182
9183 * xterm.c (x_frame_of_widget): New function.
9184 (x_alloc_nearest_color_for_widget): Use it.
9185 (x_copy_dpy_color): New function.
9186 (x_destroy_window): Free various colors.
9187
5050a2ef
KH
91882000-06-12 Kenichi Handa <handa@etl.go.jp>
9189
9190 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9191
9192 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9193
9194 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9195
9196 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9197
9198 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9199
fb1b041d
DL
92002000-06-11 Dave Love <fx@gnu.org>
9201
9202 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9203
ff96b5f4
EZ
92042000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9205
9206 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9207
db8eeecd
GM
92082000-06-11 Gerd Moellmann <gerd@gnu.org>
9209
ed1056b3 9210 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9211 to `XEvent *'.
9212
49b71c5f
KH
92132000-06-10 Kenichi Handa <handa@etl.go.jp>
9214
c479bd55
KH
9215 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9216 (regex_compile): Fix the code for handling the case of single byte
9217 char and multibyte char being mixed in a range within [...].
9218
ff6a65c2
KH
9219 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9220 and dst_multibyte members of coding.
9221
49b71c5f
KH
9222 * charset.c (update_charset_table): Update the table
9223 bytes_by_char_head.
9224 (init_charset_once): Initialize elements of bytes_by_char_head to
9225 1 except for leading codes for private charases.
9226
9227 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9228 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9229
9e80b57d
KR
92302000-06-09 Ken Raeburn <raeburn@gnu.org>
9231
9232 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9233 access the data it doesn't point to.
9234
f83fe4b4
GM
92352000-06-08 Gerd Moellmann <gerd@gnu.org>
9236
9237 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9238 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9239 event queue. This is necessary because Emacs otherwise won't
9240 perform a switch-frame to a new frame until some other event, for
9241 example a keystroke event, forces it to do so. This has various
9242 effects, one visible being that the cursor of a frame created with
9243 C-x 5 2 or switched to with a window manager key binding like
9244 A-TAB stays hollow because selected_window isn't on the newly
9245 focused frame until the switch-frame is performed.
9246
9247 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9248 generating a switch-frame event if necessary.
9249
9250 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9251
9252 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9253 it's an integer.
9254
0890801b
KH
92552000-06-08 Kenichi Handa <handa@etl.go.jp>
9256
52283633 9257 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9258
173cbca8
GM
92592000-06-07 Gerd Moellmann <gerd@gnu.org>
9260
3091c2a6
GM
9261 * window.c (displayed_window_lines): Take empty lines at
9262 the bottom of a window into account.
427ec082 9263
f38952fe
GM
9264 * window.c (displayed_window_lines): New function.
9265 (Fmove_to_window_line): Use displayed_window_lines to determine
9266 the number of lines to move, instead of using the window's height.
9267
9268 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9269 to stop reading, even if the form read sets point to a different
9270 value when evaluated.
9271
427ec082 9272 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9273 put the cursor.
9274
6ba6c818
KH
92752000-06-07 Kenichi Handa <handa@etl.go.jp>
9276
9277 * fileio.c (e_write): Free composition data if stored in
9278 coding->cmp_data.
9279
5f1aea9a
GM
92802000-06-06 Gerd Moellmann <gerd@gnu.org>
9281
666852af
GM
9282 * xdisp.c (display_line): Set row's and iterator's
9283 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9284 Set cursor even if row ends in the middle of a character.
9285 (dump_glyph_row): Print values of new flags.
9286 (redisplay_window) <cursor movement in unchanged window>: When
9287 point has been moved forward, and PT is at the end of the cursor
9288 row, don't place the cursor in the next row if the cursor row ends
9289 in the middle of a character or at ZV.
9290
9291 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9292 (struct glyph_row): Add starts_in_middle_of_char_p and
9293 ends_in_middle_of_char_p.
9294 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9295 ends_in_middle_of_char_p flag.
9296 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9297
d13f3e2e
GM
9298 * term.c (append_glyph): Revert change of 2000-06-06.
9299
9300 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9301 padding glyph not fitting on line as whole character not
9302 fitting on line.
9303
5f1aea9a
GM
9304 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9305 this isn't true for images with `:ascent 100'.
9306
10cda9b0
KH
93072000-06-06 Kenichi Handa <handa@etl.go.jp>
9308
ed00559d
KH
9309 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9310 as modified if it is originally unmodified.
9311
10cda9b0
KH
9312 * term.c (encode_terminal_code): Change the way to check if
9313 terminal coding does any conversion.
9314 (append_glyph): Set glyph->pixel_width correctly.
9315
9316 * xdisp.c (display_line): While checking line continuation, pay
9317 attention to a padding glyph.
9318
1969fae2
GM
93192000-06-05 Gerd Moellmann <gerd@gnu.org>
9320
9321 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9322
162ccef4
DL
93232000-06-05 Dave Love <fx@gnu.org>
9324
f19f32dd
DL
9325 * xdisp.c: Include fontset.h.
9326
9327 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9328
9329 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9330
9331 * dispnew.c: Conditionally include term.h.
9332
9333 * coding.h: Declare code_convert_string_norecord.
9334
9335 * frame.h (struct frame): Use volatile unconditionally.
9336
9337 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9338
9339 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9340
9341 * systime.h: Protect against multiple inclusion.
9342 (timezone) [USG5_4]: Define as time_t.
9343
9344 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9345 (Foptimize_char_table, make_temp_name): Declare.
9346
9347 * Makefile.in (xdisp.o): Depend on fontset.h.
9348
9349 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9350
9351 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9352 (Foptimize_char_table, make_temp_name): Declare.
9353
427ec082 9354 * s/irix4-0.h:
162ccef4
DL
9355 * s/irix5-0.h:
9356 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9357
2082fe81
DL
93582000-06-02 Dave Love <fx@gnu.org>
9359
9360 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9361
dcf671d2
GM
93622000-06-02 Gerd Moellmann <gerd@gnu.org>
9363
9364 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9365 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9366 be freed.
9367
9368 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9369 glyph, use the ASCII NUL character to determine the face.
9370
d42122a3
DL
93712000-06-02 Dave Love <fx@gnu.org>
9372
9373 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9374 (VFORK_RETURN_TYPE): Remove.
427ec082 9375
d42122a3
DL
9376 * config.in: Add NO_MATHERR.
9377
dd432f16
DL
93782000-06-01 Dave Love <fx@gnu.org>
9379
90aa4ea8
DL
9380 * cmds.c (internal_self_insert): Don't check
9381 Vbefore_change_function, Vafter_change_function.
9382
9383 * insdel.c (signal_before_change, signal_after_change): Likewise.
9384
9385 * buffer.c (Vbefore_change_function, Vafter_change_function):
9386 Variables and their initializations deleted.
9387
2330c9d4
DL
9388 * callint.c (Fcall_interactively): Doc fix.
9389
dd432f16
DL
9390 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9391
bf9e8804
DL
93922000-05-31 Dave Love <fx@gnu.org>
9393
9394 * textprop.c: Revert last change -- duplicated.
9395
3694b4ab
GM
93962000-05-31 Gerd Moellmann <gerd@gnu.org>
9397
9398 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9399 in #if 0.
9400
9401 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9402
f14156cd
JR
94032000-05-31 Jason Rumney <jasonr@gnu.org>
9404
8119aab8
JR
9405 * search.c (Fre_search_forward, Fre_search_backward)
9406 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9407
f14156cd
JR
9408 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9409
4aab9be3
JR
94102000-05-30 Jason Rumney <jasonr@gnu.org>
9411
9412 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9413 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9414
52283633 9415 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9416
9417 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9418 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9419 expand a nil default_filename.
9420
9421 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9422 pointer to glyph_to_pixel_coords, not a frame.
9423
9424 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9425 coding.h to dependencies.
9426
9427 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9428
9429 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9430 window pointer to be consistent with w32term.c and xterm.c.
9431
9432 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9433 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9434 (Qline_spacing, Qcenter): New variables.
9435 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9436 (x_set_line_spacing): New function.
52283633 9437 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9438 (x_specified_cursor_type): New function.
9439 (x_set_cursor_type): Use it.
9440 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9441 and icon strings.
9442 (validate_x_resource_name, x_get_resource_string): Measure lengths
9443 of external strings in bytes.
9444 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9445 GetTextExtentPoint32 with NULL title.
9446 (Fx_create_frame): Initialize Qline_spacing.
9447 (w32_load_system_font): Initialize font->double_byte_p.
9448 (x_to_w32_charset): Use Vw32_charset_info_alist.
9449 (Image, busy cursor, tooltip functions): Merged changes from
9450 xfns.c. Not yet functional on Windows.
9451
9452 * w32gui.h (W32FontStruct): Add double_byte_p member.
9453
9454 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9455 (emacs_button_translation): Use it.
9456 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9457 in `mask' to be set.
9458
9459 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9460 menu strings.
9461
9462 * w32term.c: Format and doc changes to bring closer to xterm.c.
9463 (w32_char_font_type): New enum.
9464 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9465 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9466 (w32_encode_char): New function.
9467 (x_encode_char): Removed.
9468 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9469 x_encode_char and w32_font_is_double_byte.
9470 (x_produce_image_glyph): Use image_ascent.
9471 (x_produce_glyphs): Use new version of w32_per_char_metric and
9472 handle NULL return value. Allow extra line spacing.
9473 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9474 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9475 w32_font_type member of glyph instead.
9476 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9477 (fast_find_position): Make sure not to consider rows not visible
9478 in the window.
9479 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9480 w32_menu_display_help with input blocked, as it can abort.
9481 (x_display_and_set_cursor): Choose cursor depending
9482 on buffer-local value of cursor_type.
9483 (x_draw_bar_cursor): Add parameter WIDTH.
9484
9485 * w32term.h (CP_DEFAULT): Define.
9486 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9487
10fc3187
GM
94882000-05-30 Gerd Moellmann <gerd@gnu.org>
9489
9490 * search.c (Fre_search_forward, Fre_search_backward)
9491 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9492
d0555360
KH
94932000-05-30 Kenichi Handa <handa@etl.go.jp>
9494
9495 * coding.c (detect_coding_iso2022): Fix code for checking
9496 CODING_CATEGORY_MASK_ISO_8_2.
9497
f1ad044f
SM
94982000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9499
9500 * regex.c (PREFETCH_NOLIMIT): New function.
9501 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9502
84ec3b4b
GM
95032000-05-29 Gerd Moellmann <gerd@gnu.org>
9504
66254a13
GM
9505 * syntax.c (find_defun_start): Move test for
9506 open_paren_in_column_0_is_defun_start outside of the loop.
9507
49e70dec
GM
9508 * xdisp.c (redisplay_window): Really switch buffers when
9509 displaying mode lines, and temporarily set selected_frame to the
9510 frame of the window that's redisplayed.
9511
84ec3b4b
GM
9512 * xfaces.c (free_realized_faces): Block/unblock input.
9513 (free_realized_multibyte_face): Ditto.
9514
869a3a14
DL
95152000-05-29 Dave Love <fx@gnu.org>
9516
9517 * textprop.c (Qkeymap): New variable.
9518 (syms_of_textprop): Intern it.
9519
9520 * keymap.c: Include intervals.h.
9521 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9522
9523 * Makefile.in (keymap.o): Depend on intervals.h.
9524
9525 * keyboard.c (menu_bar_items, tool_bar_items)
9526 (Fexecute_extended_command): Deal with `keymap' property.
9527 (read_key_sequence): Track map from `keymap' property as well as
9528 `local_map'.
9529
9530 * intervals.c (get_local_map): Extra arg to allow looking for
9531 `keymap' too.
9532
9533 * intervals.h (map_property): New enum.
9534 (get_local_map): Extra arg using it.
9535 (Qkeymap): Declare.
9536
84ec3b4b 9537 * lisp.h (get_local_map): Don't declare here.
869a3a14 9538
89d0c844
KH
95392000-05-29 Kenichi Handa <handa@etl.go.jp>
9540
9541 * Makefile.in (callproc.o): Depend on composite.h.
9542
9543 * callproc.c: Include composite.h.
9544 (Fcall_process): Handle composition correctly.
9545
9546 * coding.h (coding_allocate_composition_data): Extern it.
9547 (coding_restore_composition): Likewise.
9548
9549 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9550 yet allocated, finish decoding with result
9551 CODING_FINISH_INSUFFICIENT_CMP.
9552 (coding_allocate_composition_data): Make it non-static.
9553 (coding_restore_composition): Likewise.
9554
797a084a
EZ
95552000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9556
9557 * charset.c (syms_of_charset): Revert last change.
9558
cf872af5
EZ
95592000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9560
9561 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9562 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9563 Handa.
cf872af5 9564
5b1ae051
EZ
95652000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9566
9567 * charset.c (syms_of_charset): Set width of character sets
9568 eight-bit-control and eight-bit-graphic to 1 column.
9569
34ec9ebe
GM
95702000-05-26 Gerd Moellmann <gerd@gnu.org>
9571
9572 * config.in (HAVE_SPEED_T): New define.
9573
9574 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9575 `extern speed_t'.
9576
dd854dc2
DL
95772000-05-26 Dave Love <fx@gnu.org>
9578
9579 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9580
9581 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9582 (Fsubr_arity): New function.
9583 (syms_of_data): Install them.
9584
ba9f8f95
KH
95852000-05-26 Kenichi Handa <handa@etl.go.jp>
9586
0f3e0672
KH
9587 * charset.c (init_charset_once): Set the table bytes_by_char_head
9588 correctly.
9589
cebefb44
KH
9590 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9591 the default fontset to what Emacs uses by default.
0f3e0672
KH
9592 (check_registry_encoding): This function deleted.
9593 (Fset_fontset_font): Remove the adhoc condition for the default
9594 fontset. Allow cons in FONTNAME.
cebefb44 9595
0f3e0672
KH
9596 * fns.c (map_char_table): Ignore char-table entries for
9597 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9598
7a18af49
KR
95992000-05-25 Ken Raeburn <raeburn@gnu.org>
9600
9601 * emacs.c (main): Initialize keyboard syms before initializing
9602 window code, so face names are available.
9603
d2af47df
SM
96042000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9605
9606 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9607 of an anchor at the beginning of a shy-group.
9608
fc6a6a4e
GM
96092000-05-25 Gerd Moellmann <gerd@gnu.org>
9610
9611 * xdisp.c (handle_invisible_prop): Don't try to skip over
9612 invisible text if end of text is already reached.
9613
005f0d35
DL
96142000-05-25 Dave Love <fx@gnu.org>
9615
02513cdd
DL
9616 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9617
005f0d35
DL
9618 * coding.c (encode_eol): Add null statement after label.
9619
89f6ca4e
EZ
96202000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9621
9622 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9623 2000-05-20.
9624
a4e1759e
KH
96252000-05-25 Kenichi Handa <handa@etl.go.jp>
9626
9627 * ccl.c (ccl_driver): Fix previous change.
9628
eacfd7fe
KH
96292000-05-25 Kenichi Handa <handa@etl.go.jp>
9630
46ab33a9
KH
9631 * coding.c (run_pre_post_conversion_on_str): Set point to the
9632 beginning of buffer before calling coding->post_read_conversion.
9633 (decode_coding_string): Give correct args to
9634 run_pre_post_conversion_on_str.
9635 (encode_coding_string): Likewise.
9636
eacfd7fe
KH
9637 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9638 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9639 eight-bit-graphic correctly.
9640
f8569325
DL
96412000-05-24 Kenichi HANDA <handa@etl.go.jp>
9642
9643 * fileio.c (Finsert_file_contents): Even if a file is not found,
9644 execute codes for setting up coding system. Call
9645 after-insert-file-functions unconditionally.
9646
04545643
GM
96472000-05-24 Gerd Moellmann <gerd@gnu.org>
9648
9649 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9650 BSD_PGRPS are not defined.
9651
747d90ea
KH
96522000-05-24 Kenichi Handa <handa@etl.go.jp>
9653
9654 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9655 DESCRIPTION.
9656 (syms_of_charset): Avoid building same strings.
9657
716e3b88
GM
96582000-05-23 Gerd Moellmann <gerd@gnu.org>
9659
9660 * lread.c (Fload): Add a comment about the meaning of
9661 Vuser_init_file being t.
9662
9663 * puresize.h (BASE_PURESIZE): Increase to 675000.
9664
9665 * s/gnu-linux.h (setpgrp): Don't define it here because this
9666 prevents compilation on GNU/Linux systems with glib 2.2.
9667
9668 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9669 as setpgid.
427ec082 9670
9aeb39fa
EZ
96712000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9672
9673 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9674 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9675 version.
9676 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9677
29ced61b
KH
96782000-05-23 Kenichi Handa <handa@etl.go.jp>
9679
52283633 9680 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9681
3d80f24d
KH
9682 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9683
52283633 9684 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9685
29ced61b
KH
9686 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9687
d7e00792
KH
96882000-05-22 Kenichi Handa <handa@etl.go.jp>
9689
c9d80d38
KH
9690 * keyboard.c (read_char): Allow character codes 128..255 to be
9691 handled by input-method-function.
9692
d7e00792
KH
9693 * insdel.c (adjust_markers_for_replace): Fix previous change.
9694 (adjust_after_replace): If PREV_TEXT is nil, call
9695 adjust_markers_for_insert, not adjust_markers_for_replace.
9696
087121cc 96972000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9698
087121cc
GM
9699 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9700 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9701 [HAVE_GRANDPT]: Define.
9702 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9703
9704 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9705 like SYSV_PTYS.
9706
9707 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9708
9709 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9710
c9671f81
KH
97112000-05-20 Kenichi Handa <handa@etl.go.jp>
9712
9713 The following changes are to handle 8-bit characters in a
9714 multibyte buffer/string without facing with byte combining
9715 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9716 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9717
9718 * Makefile.in (fns.o): Depend on charset.h.
9719
9720 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9721 convert it to unibyte.
9722 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9723
9724 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9725 apparent char boundary.
9726 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9727 0x80..0x9F to/from multibyte form.
9728
9729 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9730 to unibyte.
9731
9732 * callproc.c (Fcall_process): Always encode an argument string if
9733 it is multibyte. Setup src_multibyte and dst_multibyte members of
9734 process_coding properly.
ce75fd23 9735
c9671f81
KH
9736 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9737 SPLIT_NON_ASCII_CHAR.
9738
9739 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9740 as is.
9741 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9742
52283633 9743 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9744 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9745 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9746 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9747 and eight-bit-graphic.
9748 (char_to_string): Likewise. Signal an error for too large
9749 character code.
9750 (char_printable_p): Return 0 for 8-bit characters.
9751 (update_charset_table): Update iso_charset_table only when a final
9752 character is non-negative.
9753 (find_charset_in_text): Renamed from find_charset_in_str.
9754 Arguments and return value changed. Callers changed.
9755 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9756 be -1 if CHARSET is used only internally.
9757 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9758 eight-bit-graphic.
9759 (Fcharset_after): Simplified.
9760 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9761 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9762 (multibyte_chars_in_text): Simplified by assuming there's no
9763 invalid multibyte sequence.
52283633
SM
9764 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9765 (str_as_unibyte): New functions.
9766 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9767 (init_charset_once): Initialization for
9768 LEADING_CODE_8_BIT_CONTROL.
9769 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9770 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9771 eight-bit-control and eight-bit-graphic.
9772
52283633
SM
9773 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9774 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9775 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9776 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9777 (CHARSET_REVERSE_CHARSET): Likewise.
9778 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9779 eight-bit-graphic.
9780 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9781 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9782 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9783 encounter an invalid multibyte sequence.
9784 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9785 sequence is always valid.
9786 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9787 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9788 (CHAR_STRING): For 8-bit characters, call char_to_string.
9789 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9790 multibyte sequence is always valid.
9791 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9792 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9793 (str_as_unibyte): Extern them.
c9671f81 9794 (BCOPY_SHORT): Fix a bug.
52283633 9795 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9796 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9797 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9798 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9799
bd4bde7f 9800 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9801 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9802 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9803 (EMIT_BYTES): New macros.
9804 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9805 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9806 macros deleted.
9807 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9808 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9809 check the validity of multibyte sequence.
9810 (decode_coding_emacs_mule): New function.
9811 (encode_coding_emacs_mule): New macro.
9812 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9813 the source.
9814 (DECODE_ISO_CHARACTER): Just return a character code.
9815 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9816 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9817 EMIT_CHAR to produced decoded characters. Exit the loop only by
9818 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9819 block here.
9820 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9821 only position codes for an invalid character.
9822 (encode_designation_at_bol): Return new destination pointer. 5th
9823 arg DSTP is changed to DST.
9824 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9825 from the source by ONE_MORE_CHAR. Don't handle the case of last
9826 block here.
9827 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9828 macros deleted.
52283633
SM
9829 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9830 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9831 TWO_MORE_BYTES to fetch a byte from the source.
9832 (encode_eol): Pay attention to coding->src_multibyte.
9833 (detect_coding, detect_eol): Preserve members src_multibyte and
9834 dst_multibyte.
9835 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9836 (encoding_buffer_size): Set magnification to 3 for all coding
9837 systems that require encoding.
9838 (ccl_coding_driver): For decoding, be sure that the result is
9839 valid multibyte sequence.
9840 (decode_coding): Initialize coding->errors and coding->result.
9841 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9842 and raw-text, always call decode_eol. Handle the case of last
9843 block here. If not coding->dst_multibyte, convert the resulting
9844 sequence to unibyte.
9845 (encode_coding): Initialize coding->errors and coding->result.
9846 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9847 and raw-text, always call encode_eol. Handle the case of last
9848 block here.
9849 (shrink_decoding_region, shrink_encoding_region): Detect cases
9850 that we can't skip data more rigidly.
9851 (code_convert_region): Setup src_multibyte and dst_multibyte
9852 members of coding. For decoding, if the buffer is multibyte,
9853 convert the source sequence to unibyte in advance. For encoding,
9854 if the buffer is multibyte, convert the resulting sequence to
9855 multibyte afterward.
9856 (run_pre_post_conversion_on_str): New function.
9857 (code_convert_string): Deleted and divided into the following two.
9858 (decode_coding_string, encode_coding_string): New functions.
9859 (code_convert_string1, code_convert_string_norecord): Call one of
9860 above.
9861 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9862 MAKE_NON_ASCII_CHAR.
52283633
SM
9863 (Fset_terminal_coding_system_internal)
9864 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9865 and dst_multibyte members.
9866 (init_coding_once): Initialize iso_code_class with new enum
9867 ISO_control_0 and ISO_control_1.
9868
9869 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9870 devided into ISO_control_0 and ISO_control_1.
9871 (struct coding_system): New members src_multibyte, dst_multibyte,
9872 errors, and result. Delete member fake_multibyte.
9873 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9874 nonzero.
9875 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9876 nonzero.
9877
9878 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9879 (Faset): Likewise.
9880
9881 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9882 multibyte form.
9883 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9884 combining occurs.
9885 (Ftranspose_region): Delete codes for handling byte combining.
9886
9887 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9888 dst_multibyte members of coding. On handling REPLACE on unibyte
9889 buffer, convert the result of decode_coding to unibyte. On
9890 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9891 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9892 multibyteness of the source (buffer or string).
9893
9894 * fns.c (concat): Handle 8-bit characters correctly.
9895 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9896 unibyte in the result.
9897 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9898 valid multibyte form in the result.
9899 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9900 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9901 return -1, signal an error.
9902 (base64_encode_1): New arg MULTIBYTE. Get each character by
9903 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9904 character is found, return -1.
9905 (Fbase64_decode_region): Delete codes for handling byte-combining.
9906 Treat each decoded byte as a unibyte character.
9907 (Fbase64_decode_string): Return unibyte string.
9908 (Fcompare_strings, concat, string_byte_to_char): Use
9909 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9910 FETCH_STRING_CHAR_ADVANCE.
9911 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9912 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9913
9914 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9915 SPLIT_NON_ASCII_CHAR.
9916 (fontset_ref_via_base, fontset_set): Likewise
9917
9918 * insdel.c (adjust_markers_for_record_delete): Deleted.
9919 (adjust_markers_for_insert): Argument changed. Caller changed.
9920 (adjust_markers_for_replace): Likewise.
52283633
SM
9921 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9922 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9923 (copy_text): Delete unused local varialbe c_save. For converting
9924 to multibyte, be sure to make all 8-bit characters in valid
9925 multibyte form.
9926 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9927 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9928 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9929 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9930 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9931 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9932 handling byte combining.
9933 (adjust_before_replace): Deleted.
427ec082 9934
c9671f81
KH
9935 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9936 SPLIT_NON_ASCII_CHAR.
9937 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9938 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9939 (Fkey_description): Likewise.
9940
9941 * lread.c (read1): On reading multibyte string, be sure to make
9942 all 8-bit chararacters in valid multibyte form.
9943 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9944
9945 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9946 unconditionally.
9947
9948 * process.c (Fstart_process): GCPRO current_dir before calling
9949 Ffind_operation_coding_system. Encode arguments here.
9950 (create_process): Don't encode arguments here. Setup
9951 src_multibyte and dst_multibyte members of struct coding.
9952 (read_process_output): Setup src_multibyte and dst_multibyte
9953 members of struct coding. If the output is to multibyte buffer,
9954 always decode the output of the process. Adjust the
52283633 9955 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9956 (send_process): Setup coding->src_multibyte according to the
9957 multibyteness of the source.
9958
52283633 9959 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9960 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9961 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9962
52283633 9963 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9964
9965 * w16select.c (Fw16_set_clipboard_data): Setup members
9966 src_multibyte and dst_multibyte of coding. Adjusted for the
9967 change for find_charset_in_str.
9968 (Fw16_get_clipboard_data): Likewise.
9969
9970 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9971 dst_multibyte of coding.
9972 (x_to_w32_font): Likewise.
9973
9974 * w32select.c (Fw32_set_clipboard_data): Setup members
9975 src_multibyte and dst_multibyte of coding. Adjusted for the
9976 change for find_charset_in_str.
9977 (Fw32_get_clipboard_data): Likewise.
9978
9979 * xdisp.c (get_next_display_element): Handle 8-bit characters
9980 correctly.
52283633
SM
9981 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9982 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9983
9984 * xselect.c (selection_data_to_lisp_data): Setup members
9985 src_multibyte and dst_multibyte of coding. Adjusted for the
9986 change for find_charset_in_str.
9987 (lisp_data_to_selection_data): Likewise.
9988
5f64c9e0
GM
99892000-05-19 Gerd Moellmann <gerd@gnu.org>
9990
52283633 9991 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9992
5f64c9e0
GM
9993 * dispextern.h (Vimage_types): Add extern declaration.
9994
9995 * xdisp.c (Vimage_types): Moved here from xfns.c.
9996 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9997
9998 * xfns.c (Vimages_types): Moved to xdisp.c.
9999 (syms_of_xfns): Move `image-types' to xdisp.c.
10000
10001 * w32fns.c (Vimage_types): Removed.
10002 (syms_of_w32fns): Remove `image-types'.
10003
813086ea
KH
100042000-05-18 Kenichi Handa <handa@etl.go.jp>
10005
10006 * fns.c (map_char_table): Pay attention to character number of
10007 charset. Check the validity of charset at the first level. For
10008 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10009 the default value.
10010
10011 * fontset.c: Include "buffer.h".
10012 (fs_load_font): If the face has fontset, record the face ID in
10013 that fontset.
10014 (Finternal_char_font): New function.
10015 (accumulate_font_info): New function.
10016 (Ffontset_info): Rewritten for the new fontset implementation.
10017 (syms_of_fontset): Register Vdefault_fontset in the first element
10018 of Vfontset_table. Include Vdefault_fontset in
10019 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10020 function.
10021
bdaebbf0
DL
100222000-05-16 Dave Love <fx@gnu.org>
10023
10024 * m/iris5d.h: Deleted -- unused.
10025
cb613bb8
GM
100262000-05-16 Gerd Moellmann <gerd@gnu.org>
10027
b15f3b77
GM
10028 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10029 `invalid' instead of `illegal'.
10030
10031 * indent.c (Fmove_to_column): When ending within a tab, insert
10032 spaces first so that markers at the end of the tab get adjusted.
10033
835c1b36
GM
10034 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10035 buffer list that wasn't selected in that frame.
10036
cb613bb8
GM
10037 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10038 is needed on mescaline, use a 2 char prefix, and call
10039 make_temp_name with second arg non-zero.
10040
10041 * fileio.c (make_temp_name): New function, extracted from
10042 Fmake_temp_name.
10043 (Fmake_temp_name): Use it.
10044
f685bea9
EZ
100452000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10046
52283633 10047 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10048
a1b8d58b
GM
100492000-05-15 Gerd Moellmann <gerd@gnu.org>
10050
10051 * Makefile.in (lisp): Add env.elc.
10052
10053 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10054
a265079f
GM
100552000-05-12 Gerd Moellmann <gerd@gnu.org>
10056
10057 * search.c (Freplace_match): Handle case of `\N' in the
10058 replacement when there's no group N.
10059
da4496b6
GM
100602000-05-11 Gerd Moellmann <gerd@gnu.org>
10061
0ace421a
GM
10062 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10063 of the message to message_dolog.
10064
1172eb8d
GM
10065 * keyboard.c (read_char): Don't clear current message for help
10066 events; let the code handling help events handle this. Change
10067 code detecting help events that should be ignored.
10068
da4496b6
GM
10069 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10070 we're interating over a string.
10071
0623e40f
DL
100722000-05-09 Dave Love <fx@gnu.org>
10073
10074 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10075 that offset before writing. Move gcpro region past call of
10076 Ffile_regular_p.
10077
bae2503b
DL
100782000-05-04 Dave Love <fx@gnu.org>
10079
10080 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10081
ec82fb2f
GM
100822000-05-04 Gerd Moellmann <gerd@gnu.org>
10083
10084 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10085 of inserted characters when BUF equals the current buffer, and PT
10086 is in front of or equal to FROM.
10087
cbf18892
GM
100882000-05-03 Gerd Moellmann <gerd@gnu.org>
10089
4ff40dd0
GM
10090 * xdisp.c (handle_single_display_prop): If display property value
10091 is invalid, or something not supported on the frame, restore
10092 iterator's position to what it was initially. Make sure to return
10093 0 for invalid and unsupported property values.
10094
cbf18892
GM
10095 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10096 that x_per_char_metric returns null.
10097
1b0672c3
GM
100982000-05-02 Gerd Moellmann <gerd@gnu.org>
10099
576da55d
GM
10100 * xterm.h (struct face): Add forward declaration.
10101 (struct image): Ditto.
10102 (image_ascent): Add prototype.
10103
10104 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10105 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10106 image_ascent instead of using IMAGE_ASCENT.
10107
10108 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10109 (IMAGE_ASCENT): Removed.
10110
10111 * xfns.c (Qcenter): New variable.
10112 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10113 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10114 (image_ascent): New function.
10115 (lookup_image): Recognize `:ascent center'.
10116 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10117 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10118 (xbm_load): Don't set image's ascent here.
10119 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10120 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10121 check ascent values here.
10122 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10123 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10124 (syms_of_xfns): Initialize Qcenter.
10125
1b0672c3
GM
10126 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10127 to the limits, increase the limits.
10128
0d7811ed
KH
101292000-05-01 Kenichi Handa <handa@etl.go.jp>
10130
10131 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10132 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10133
a943a5ca
GM
101342000-04-28 Gerd Moellmann <gerd@gnu.org>
10135
10136 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10137 taller than the window.
10138
5dba1e29
KH
101392000-04-28 Kenichi Handa <handa@etl.go.jp>
10140
10141 * xfaces.c (realize_x_face): Fix the argument of the second
10142 xassert. BASE_FACE may not be a face for ASCII.
10143
353964e3
GM
101442000-04-27 Gerd Moellmann <gerd@gnu.org>
10145
c76e04a8
GM
10146 * print.c (print_object): Treat print-length < 0 as nil.
10147
10148 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10149
10150 * s/freebsd.h (TERMCAP_OBJ): Removed.
10151 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10152
10153 * lread.c (read1): Don't treat period followed by certain
10154 characters as symbol start.
10155
10156 * xfns.c (slurp_file): New function.
10157 (xbm_image_p): Handle case of in-memory XBM files.
10158 (xbm_scan): Rewritten to work on memory buffers instead of files.
10159 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10160 Work on memory buffers instead of files. If DATA is null test
10161 if buffer looks like an in-memory XBM file.
10162 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10163 memory buffers instead of files.
10164 (xbm_file_p): New function.
10165 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10166
353964e3
GM
10167 * lread.c (end_of_file_error): New function.
10168 (read1): Call it instead of signaling `end-of-file' directly.
10169
427ec082 10170 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10171 with Fprinc instead of Fprin1.
10172
24d744ac
KR
101732000-04-26 Ken Raeburn <raeburn@gnu.org>
10174
10175 * window.c (freeze_window_start): Check that minibuffer scroll
10176 window isn't nil before extracting the window structure pointer
10177 from it.
10178
10179 * undo.c (record_delete): If we hit the end of the undo list, stop
10180 picking elements apart.
10181
7464346d
GM
101822000-04-26 Gerd Moellmann <gerd@gnu.org>
10183
10184 * xdisp.c (display_line): If lines are continued, restore
10185 iterator's ascent/descent information to the values before the
10186 first glyph not fitting on the line.
10187
612839b6
GM
101882000-04-25 Gerd Moellmann <gerd@gnu.org>
10189
10190 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10191 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10192
10193 * dispnew.c (increment_matrix_positions): Renamed from
10194 increment_glyph_matrix_buffer_positions.
10195 (increment_row_positions): Renamed from
10196 increment_glyph_row_buffer_positions.
10197
10198 * dispextern.h: Change names of renamed functions from dispnew.c
10199 in prototypes.
10200
cc181e95
GM
102012000-04-24 Gerd Moellmann <gerd@gnu.org>
10202
abfcc168
GM
10203 * fileio.c (Fdo_auto_save): Create directories for auto-save
10204 list file if necessary.
10205
cc181e95
GM
10206 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10207 from buffer or frame.
10208 (automatic_hscrolling_p): New variable.
10209 (hscroll_windows): Scroll windows horizontally only if automatic
10210 hscrolling is allowed.
10211 (syms_of_xdisp): New variable `automatic-hscrolling'.
10212
10213 * frame.h (struct frame): Add member extra_line_spacing.
10214
10215 * xfns.c (x_set_line_spacing): New function.
10216 (Fx_create_frame): Set line spacing from resources.
10217 (Qline_spacing): New variable.
10218 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10219
cc181e95
GM
10220 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10221
10222 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10223 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10224 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10225 extra_line_spacing from default value.
10226 (init_buffer_once): Initialize default value of extra_line_spacing.
10227
10228 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10229 and extra3.
10230
10231 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10232 prompt_width. Add extra line spacing.
10233
10234 * term.c (produce_glyphs): Remove reference to struct it's
10235 prompt_width.
10236
10237 * dispextern.h (struct it): Remove member prompt_width, add
10238 extra_line_spacing.
10239
58827478
GM
102402000-04-22 Gerd Moellmann <gerd@gnu.org>
10241
10242 * dispnew.c (update_frame_line): When writing a whole line, make
10243 sure cursor is in the right row afterwards, otherwise a use of
10244 capability `ch' in cmgoto might leave the cursor in the row below.
10245
25a87f42
GM
102462000-04-21 Gerd Moellmann <gerd@gnu.org>
10247
10248 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10249
10250 * keyboard.c (timer_check): Fix typo in comment.
10251
54edf5c2
KH
102522000-04-21 Kenichi Handa <handa@etl.go.jp>
10253
10254 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10255 name change: ch -> character.
10256
3a64eef5
GM
102572000-04-20 Gerd Moellmann <gerd@gnu.org>
10258
10259 * keyboard.c (echo_message_buffer): New variable.
10260 (echo_now): Set echo_message_buffer to the echo area buffer used
10261 to display the echo.
10262 (cancel_echoing): Reset echo_message_buffer to nil.
10263 (read_char): Code rewritten that handles canceling an echo or
10264 echoing a dash, respectively.
10265
10266 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10267 directory doesn't exist.
10268
6142fdcb
DL
102692000-04-19 Dave Love <fx@gnu.org>
10270
10271 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10272 (concat): Don't allow numeric args.
10273 (Fconcat): Doc change.
6142fdcb 10274
ac6b5352
SM
102752000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10276
10277 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10278 instead define end_match(1|2) more carefully.
10279 Use GET_CHAR_BEFORE_2 for `begline'.
10280
cb9215e4
GM
102812000-04-19 Gerd Moellmann <gerd@gnu.org>
10282
5e3dac3f
GM
10283 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10284 on 64-bit systems where NULL is defined as `0'.
10285
10286 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10287 the `variable argument list' to make it work on Alpha.
10288
cb9215e4
GM
10289 * m/alpha.h (_LP64) [!_LP64]: Define.
10290 (ORDINARY_LINK): Define for NetBSD.
10291
10292 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10293
f532dca0
DL
102942000-04-19 Dave Love <fx@gnu.org>
10295
c750667e
DL
10296 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10297 change.
10298
10299 * Makefile.in (LIBS): Don't use.
10300 (GETLOADAVG_OBJ): Define again.
10301 (otherobj): Add GETLOADAVG_OBJ.
10302
f532dca0
DL
10303 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10304
1c7e22fd
GM
103052000-04-18 Gerd Moellmann <gerd@gnu.org>
10306
f6d3257b
GM
10307 * lread.c (read_filtered_event): Cancel and start busy cursor.
10308
427ec082 10309 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10310 that the per-character metrics may be null.
10311
e10f64e7
GM
103122000-04-17 Gerd Moellmann <gerd@gnu.org>
10313
0daee095
GM
10314 * buffer.c (clone_per_buffer_values): New function.
10315 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10316 clone_per_buffer_values if CLONE is not nil.
10317
e10f64e7
GM
10318 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10319
38687d43
DL
103202000-04-16 Dave Love <fx@gnu.org>
10321
10322 * Makefile.in: Remove obsolete localcpp stuff.
10323 (GETLOADAVG_OBJ): Don't define.
10324 (obj): Move LIBOBJS...
10325 (otherobj): ... to here.
10326 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10327 whitespace-only lines after the continuation (Irix).
10328
c21c7262
GM
103292000-04-14 Gerd Moellmann <gerd@gnu.org>
10330
10331 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10332
10333 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10334
314767c0
DL
103352000-04-14 Dave Love <fx@gnu.org>
10336
10337 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10338 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10339 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10340 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10341 NLIST_STRUCT.
10342
10343 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10344 autoconfiscated HAVE_GETLOADAVG.
10345
10346 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10347 BROKEN_MKTIME.
10348
a2522dca
GM
103492000-04-14 Gerd Moellmann <gerd@gnu.org>
10350
10351 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10352 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10353
33744b5d
DL
103542000-04-14 Dave Love <fx@gnu.org>
10355
c21c7262 10356 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10357 (INTERVAL_SRC): Convert to make variable.
10358 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10359 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10360 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10361 add LIBOBJS.
10362 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10363 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10364 (shortlisp): Add facemenu, float-sup, frame.
10365 (SOME_MACHINE_LISP): Remove them from here.
10366 (LIBES): Change unused LDLIBS to autoconf LIBS.
10367
10368 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10369
9d3d5916
KH
103702000-04-14 Kenichi Handa <handa@etl.go.jp>
10371
10372 * composite.c (update_compositions): If FROM and TO are not in a
10373 valid range, do nothing.
10374
198e3c7a
GM
103752000-04-13 Gerd Moellmann <gerd@gnu.org>
10376
52283633 10377 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10378
52283633 10379 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10380
10381 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10382 as TERMCAP_OBJ.
10383
055a28c9
EZ
103842000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10385
10386 * fileio.c (a_write): Remove redundant semi-colons.
10387 (e_write): Return -1 if failed to write all the data.
10388 This fixes the changes made at 1999-12-15.
10389
f5c75033
DL
103902000-04-12 Dave Love <fx@gnu.org>
10391
10392 * fns.c (mapcar1): Test for null vals to support mapc.
10393 (Fmapc): New function.
10394
0c3cfc51
EZ
103952000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10396
10397 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10398 (IT_frame_up_to_date): Support the buffer local value of
10399 cursor-type, if defined.
10400
33465a31
DL
104012000-04-10 Dave Love <fx@gnu.org>
10402
10403 * editfns.c (preceding-char, following-char): Doc fix.
10404
6ed56568
KR
104052000-04-10 Ken Raeburn <raeburn@gnu.org>
10406
10407 * Makefile.in (temacs): Revert 2000-03-12 change.
10408
7cf80d4e
JR
104092000-04-10 Jason Rumney <jasonr@gnu.org>
10410
10411 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10412
34f3f342
GM
104132000-04-10 Gerd Moellmann <gerd@gnu.org>
10414
1a1b1895
GM
10415 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10416 area buffer, if it's not set up yet.
10417
34f3f342
GM
10418 * indent.c (compute_motion): Set immediate_quit.
10419
be0dbdab
GM
104202000-04-09 Gerd Moellmann <gerd@gnu.org>
10421
52283633 10422 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10423 (realize_tty_face): Suppress boldness if colors are the inverse of
10424 the default colors, and tty_suppress_bold_inverse_default_colors_p
10425 is set.
10426 (Ftty_suppress_bold_inverse_default_colors): New function.
10427 (syms_of_xfaces): Defsubr it.
10428
be0dbdab
GM
10429 * buffer.c (Frestore_buffer_modified_p): New function.
10430 (syms_of_buffer): Defsubr it.
10431
e8413c3b
KR
104322000-04-08 Ken Raeburn <raeburn@gnu.org>
10433
87f67317
KR
10434 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10435 charset id (int) argument, not a charset (Lisp_Object).
10436
e8413c3b
KR
10437 * coding.h (code_convert_string): Declare.
10438 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10439 object, as the fourth argument to code_convert_string.
10440
52283633 10441 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10442 (Fset_fontset_font): Use EQ to compare lisp objects.
10443
7c752c80
KR
104442000-04-05 Ken Raeburn <raeburn@gnu.org>
10445
c0333abc
KR
10446 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10447 a pointer that looks like a lisp object.
10448 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10449 zero, instead see whether it's an integer object, since they can't
10450 have intervals.
10451 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10452
52283633
SM
10453 * dispnew.c (allocate_matrices_for_frame_redisplay)
10454 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10455 to convert between (unsigned) int values and lisp integers.
10456 * keyboard.c (read_key_sequence): Likewise.
10457 * lread.c (substitute_object_recurse): Likewise.
10458 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10459 * minibuf.c (do_completion, Fminibuffer_complete_word)
10460 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10461 * term.c (produce_special_glyphs): Likewise.
10462
10463 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10464 * print.c (print_preprocess, print_object): Likewise.
10465
10466 * search.c (compile_pattern): Use NILP when checking for nil.
10467
74e49b38
KR
10468 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10469 __OPTIMIZE__]: Provide a GNU C macro version that handles
10470 lisp-object unions.
10471 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10472 field, to better cope with ENABLE_CHECKING and calls that modify a
10473 Lisp_Object using its old value.
10474
685e5ed2
GM
104752000-04-04 Gerd Moellmann <gerd@gnu.org>
10476
c407c570
GM
10477 * window.c (compare_window_configurations): Signal an error
10478 if parameters C1 or C2 aren't window configurations.
10479
685e5ed2
GM
10480 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10481 AFTER_POTENTIAL_GC calls around calls to functions that can
10482 signal an error and thus invoke the debugger.
10483
587a49ab
GM
104842000-04-03 Gerd Moellmann <gerd@gnu.org>
10485
62f20204
GM
10486 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10487 an error if decoding fails.
10488
587a49ab
GM
10489 * keyboard.c (lispy_mouse_names): Variable removed.
10490 (Vlispy_mouse_stem): New variable.
10491 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10492 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10493 for any mouse button number. Increase size of mouse_syms and
10494 button_down_location as needed. Call modify_event_symbol with
10495 different arguments.
10496 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10497 Call modify_event_symbol with different arguments.
10498 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10499 for any button number. Call modify_event_symbol with different
10500 arguments.
10501 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10502 Accept a string for NAME_ALIST_OR_STEM.
10503
10504 * lisp.h (larger_vector): Add prototype.
10505
10506 * fns.c (larger_vector): Make externally visible.
10507
10508 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10509
2d1675e4
SM
105102000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10511
10512 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10513 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10514 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10515 we are between str1 and str2.
10516 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10517 (PATFETCH): Use `TRANSLATE'.
10518 (PATFETCH_RAW): Fetch multibyte char if applicable.
10519 (PATUNFETCH): Remove.
10520 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10521 When writing a char, write it directly into the pattern buffer rather
10522 than going needlessly through a temp char-array.
10523 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10524 multibyte magic and remove the useless `#ifdef emacs'.
10525 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10526 buffer.
10527
10528 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10529 conditional on `emacs'.
10530
10531 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10532
cc2d8c6b
KR
105332000-04-01 Ken Raeburn <raeburn@gnu.org>
10534
10535 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10536 non-union-type versions of XMARK and friends here, because XMARK
10537 and friends won't work on an integer field if NO_UNION_TYPE is not
10538 defined.
52283633 10539 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10540
52283633 10541 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10542 (syms_of_composite): Delete local var NARGS, pass an int as first
10543 argument to Fmake_hash_table.
10544
2387b382
KR
10545 * editfns.c (text_property_stickiness): Use NILP to test
10546 Lisp_Object boolean value.
10547 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10548 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10549 problems reading from and changing the same lisp value in an
10550 XSETSTRING call.
10551
27660e89
GM
105522000-04-01 Gerd Moellmann <gerd@gnu.org>
10553
10554 * term.c (TN_no_color_video): New variable.
10555 (term_init): Intitialize TN_no_color_video.
10556 (enum no_color_bit): New enumeration.
10557 (MAY_USE_WITH_COLORS_P): New macro.
10558 (turn_on_face): Use it to determine if attributes may be used
10559 combined with colors.
10560
3578db3c
KR
105612000-04-01 Ken Raeburn <raeburn@gnu.org>
10562
10563 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10564 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10565 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10566 proper accessor macros.
10567 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10568 (grow_mini_window): Fix typo getting int value of root->height.
10569
6fc556fd
KR
10570 * xdisp.c (compute_string_pos): Fix order of arguments to
10571 string_pos_nchars_ahead.
10572 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10573 count arg to variable-arg routines like Frun_hook_with_args and
10574 Fformat.
587a49ab
GM
10575 (back_to_previous_visible_line_start)
10576 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10577 fixed-arg routines like Fget_char_property and Fmake_string.
10578 (reconsider_clip_changes): Use XINT when comparing integer lisp
10579 objects, or passing them as int arguments.
587a49ab
GM
10580 (mark_window_display_accurate, insert_left_trunc_glyphs)
10581 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10582 storing or passing integer values as lisp objects.
10583 (set_cursor_from_row, highlight_trailing_whitespace): Use
10584 INTEGERP, not implicit test against zero, for glyph object.
10585 (try_window_id): Don't use make_number when we want an int value.
10586
10587 * xfaces.c (xlfd_symbolic_value): Make last argument a
10588 Lisp_Object, to be consistent with callers.
10589 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10590 (lface_hash): Apply XFASTINT to lisp values before folding in.
10591
10592 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10593 fill in window width and height. Pass an int, not a lisp object,
10594 as first arg to Finsert.
10595
6e7b2457
GM
105962000-04-01 Gerd Moellmann <gerd@gnu.org>
10597
610d841e
GM
10598 * xfaces.c (realize_basic_faces): Block input while realizing
10599 the faces.
10600
6e7b2457
GM
10601 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10602
10603 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10604
aa110c0c
GM
106052000-03-31 Gerd Moellmann <gerd@gnu.org>
10606
10607 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10608 or ASCII, handle case that per-char metric is null.
aa110c0c 10609
8801a864
KR
106102000-03-30 Ken Raeburn <raeburn@gnu.org>
10611
c6129d7e
KR
10612 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10613
52283633
SM
10614 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10615 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10616 pointer, using eassert.
10617 * frame.h (XFRAME): Likewise.
10618
52283633
SM
10619 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10620 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10621 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10622 * data.c (set_internal): Likewise.
52283633
SM
10623 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10624 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10625 * fileio.c (auto_save_1): Likewise.
10626 * insdel.c (check_markers): Likewise.
10627 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10628 * undo.c (record_insert): Likewise.
10629 * vmsproc.c (child_sig): Likewise.
10630 * window.c (unshow_buffer, window_loop): Likewise.
10631 * xterm.c (x_erase_phys_cursor): Likewise.
10632
8e7af858
GM
106332000-03-30 Gerd Moellmann <gerd@gnu.org>
10634
10635 * xfns.c (free_image_cache): Free the cache structure itself
10636 last, after all its members have been freed.
10637
10638 * lisp.h (xstrdup): Add prototype.
10639
10640 * alloc.c (xstrdup): Moved here from xfaces.c.
10641 (allocating_for_lisp): Variable removed.
52283633 10642 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10643
10644 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10645 of Fsymbol_value.
10646 (xstrdup): Moved to alloc.c.
10647
e0b8c689
KR
106482000-03-29 Ken Raeburn <raeburn@gnu.org>
10649
b96f9fb7
KR
10650 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10651
10652 * emacs.c (main): Fix sense of no-loadup test.
10653
e0b8c689
KR
10654 * config.in (ENABLE_CHECKING): Undef.
10655
10656 * lisp.h (struct interval): Replace "parent" field with a union of
10657 interval pointer and Lisp_Object; add new bitfield to use as
10658 discriminant. Change other flag fields to bitfields.
10659 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10660 is defined and the supplied test fails, print a message and abort.
10661 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10662
10663 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10664 pointers; abort if the value looks like a lisp object.
52283633
SM
10665 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10666 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10667 Modify for new interval parent definition.
10668
52283633
SM
10669 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10670 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10671 addressable lisp object in the interval structure.
10672 (die): New function.
10673 (suppress_checking): New variable.
10674
10675 * intervals.c (interval_start_pos): Just return 0 if there's no
10676 parent object.
10677
f83c5440
GM
106782000-03-29 Gerd Moellmann <gerd@gnu.org>
10679
10680 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10681 and earlier Emacs versions.
10682
10683 * keyboard.c (Ftop_level): Cancel busy-cursor.
10684
10685 * eval.c (call_debugger): Cancel busy-cursor.
10686
fdce64ff
KH
106872000-03-29 Kenichi Handa <handa@etl.go.jp>
10688
10689 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10690 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10691
f6a3f532
SM
106922000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10693
10694 * regex.c (analyse_first): New function obtained by ripping out most
10695 of re_compile_fastmap and generalizing it a little bit so that it
10696 can also just return whether a given (sub)pattern can match the empty
10697 string or not.
10698 (regex_compile): Use `analyse_first' to decide whether the loop-check
10699 needs to be done or not for *, +, *? and +? (the loop check is costly
10700 for non-greedy repetition).
10701 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10702
e9b309ac
DL
107032000-03-28 Dave Love <fx@gnu.org>
10704
52283633 10705 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10706
e9b309ac
DL
10707 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10708
ed0767d8
SM
107092000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10710
10711 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10712 an expression.
10713 (enum re_opcode_t): Update description of succeed_n.
10714 (PATFETCH): Always define.
10715 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10716 operators, char classes, shy-groups and intervals).
10717 Optimize special cases of intervals so as to only use succeed_n and
10718 jump_n when really needed.
10719 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10720 that we don't have to handle the special cases any more.
10721 Simplify on_failure_jump handling as well.
10722
e11e7e46
JR
107232000-03-28 Jason Rumney <jasonr@gnu.org>
10724
10725 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10726
88faab89
GM
107272000-03-27 Gerd Moellmann <gerd@gnu.org>
10728
182ff242
GM
10729 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10730
10731 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10732
182ff242
GM
10733 * alloc.c (mark_maybe_object): New function.
10734 (mark_memory): Use it.
10735 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10736 (setjmp_tested_p, longjmp_done): New variables.
10737 (test_setjmp): New function.
10738 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10739 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10740
c1005d06
GM
10741 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10742 to DEC_TEXT_POS and INC_TEXT_POS.
10743
10744 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10745 with parameter MULTIBYTE_P.
10746
52283633 10747 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10748
7439e5b9 10749 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10750 buffers because it looks for multibyte character byte sequences
10751 which don't exist in unibyte text.
7439e5b9 10752
d9c545da
GM
10753 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10754
11fd416e 10755 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10756 [DEBUG_X_COLORS]: New functions.
10757 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10758
10759 * xfns.c (x_set_cursor_color): Get color reference counts right.
10760
10761 * xterm.c (x_copy_color): New function.
10762 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10763
10764 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10765 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10766 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10767 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10768 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10769 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10770 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10771 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10772 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10773 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10774
11fd416e
GM
10775 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10776 names for handling per-buffer variables.
d9c545da
GM
10777
10778 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10779 instead of MAX_BUFFER_LOCAL_VARS.
10780 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10781
10782 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10783
88faab89
GM
10784 * xfns.c (x_specified_cursor_type): New function.
10785 (x_set_cursor_type): Use it.
10786
10787 * buffer.h (struct buffer): Add cursor_type.
10788
d80f42b7
SM
107892000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10790
10791 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10792 (print_partial_compiled_pattern, re_compile_fastmap):
10793 Handle new opcode.
d80f42b7
SM
10794 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10795 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10796 executing it as well as when popping it off the stack to find infinite
10797 loops in non-greedy repetition operators.
10798
89e80928
GM
107992000-03-26 Gerd Moellmann <gerd@gnu.org>
10800
3d4ff2dd
GM
10801 * doc.c (Qfunction_documentation): New variable.
10802 (syms_of_doc): Initialize Qfunction_documentation.
10803 (Fdocumentation): If FUNCTION is a symbol with non-nil
10804 `function-documentation' property, return a documentation derived
10805 from that.
10806
bd96bd79
GM
10807 * buffer.c (syms_of_buffer): Add default-cursor-type.
10808 (init_buffer_once): Don't let cursor_type have a local value
10809 in every buffer.
10810
19d1bc27
GM
10811 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10812 on buffer-local value of cursor_type.
10813 (x_draw_bar_cursor): Add parameter WIDTH.
10814
10815 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10816 (init_buffer_once): Set default cursor_type value to t.
10817 Mark cursor_type as local everywhere.
10818 (syms_of_buffer): New per-buffer variable cursor-type.
10819
89e80928
GM
10820 * buffer.h (struct buffer): Remove member local_var_flags,
10821 add local_flags.
10822 (MAX_BUFFER_LOCAL_VARS): New macro.
10823 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10824 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10825 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10826 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10827
52283633 10828 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10829
10830 * category.c (Fset_category_table): Use new macros for per-buffer
10831 variables.
10832
10833 * buffer.c (buffer_permanent_local_flags): Make a char array.
10834 (max_buffer_local_idx): New variable.
10835 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10836 for new handling of per-buffer variables.
10837 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10838 (init_buffer_once): Initialize per-buffer vars differently.
10839 Set max_buffer_local_idx.
10840
10841 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10842 variables.
10843
52283633 10844 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10845
10846 * data.c (do_symval_forwarding, store_symval_forwarding)
10847 (find_symbol_value, set_internal, default_value, Fset_default)
10848 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10849 per-buffer variables.
10850
10851 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10852
9a0dd3dc
GM
108532000-03-24 Gerd Moellmann <gerd@gnu.org>
10854
b68c375f
GM
10855 * xterm.c (x_term_init): Unblock input around call1 of
10856 Qvendor_specific_keysyms.
10857
9a0dd3dc
GM
10858 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10859 (find_defun_start): Consider an open parenthesis in column 0
10860 a defun start only if open_paren_in_column_0_is_defun_start is set.
10861 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10862
7973e637
SM
108632000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10864
10865 * eval.c (Fautoload): Add entry in load-history (if after dump).
10866 * lread.c (load-history): Update docstring.
10867
39210e90
GM
108682000-03-24 Gerd Moellmann <gerd@gnu.org>
10869
10870 * indent.c (Fvertical_motion): Always use the current buffer.
10871 Temporarily change the window's buffer, if necessary.
10872
72db3ab5
GM
108732000-03-23 Gerd Moellmann <gerd@gnu.org>
10874
10875 * xterm.c (fast_find_position): Make sure not to consider rows
10876 not visible in the window.
10877
990b2375
SM
108782000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10879
10880 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10881 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10882
ff4df011
JR
108832000-03-22 Jason Rumney <jasonr@gnu.org>
10884
10885 * w32menu.c (single_submenu): Set help string to NULL if none.
10886 (w32_menu_show): Set help string correctly.
10887 (add-menu-item): Set help string in MIIM_DATA for menu item.
10888 Load SetMenuItemInfoA explicitly.
10889 (w32_menu_display_help): New function.
427ec082 10890
ff4df011
JR
10891 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10892 (QCdata): Moved to xdisp.c.
10893
10894 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10895 (Vw32_charset_to_codepage_alist): Removed.
10896 (Vw32_charset_info_alist): New variable.
52283633
SM
10897 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10898 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10899 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10900 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10901 with TODO comment.
10902 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10903 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10904 Define Vw32_charset_info_alist and w32_charset symbols.
10905
109062000-03-22 Jason Rumney <jasonr@gnu.org>
10907
10908 * makefile.nt (w32bdf.obj): Update dependencies.
10909
10910 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10911
10912 * w32fns.c: Include fontset.h after dispextern.h.
10913 (Fx_create_frame): Do not create fontset.
10914 (w32_load_system_font): Doc fix.
10915 (Fx_close_connection): Free full_name if it is not shared.
10916
10917 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10918 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10919 Callers updated.
ff4df011
JR
10920 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10921 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10922 (w32_font_is_double_byte): New function, needs body.
10923 (x_append_glyph): Set glyph->glyph_not_available_p.
10924 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10925 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10926 character, convert it to a unibyte character.
10927 (struct glyph_string): Delete member `charset'.
10928 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10929 calculating it is found.
10930 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10931 the case that per char metric is not available correctly.
10932 (x_fill_glyph_string): Handle the case that the specific glyph is
10933 not available correctly.
10934 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10935 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10936 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10937 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10938 fontset. Don't call FS_LOAD_FONT.
10939
439d5cb4
KR
109402000-03-22 Ken Raeburn <raeburn@gnu.org>
10941
10942 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10943 (INT_LISPLIKE): New macro.
10944 (NULL_INTERVAL_P): Use it.
52283633
SM
10945 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10946 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10947 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10948
10949 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10950 explicit references to "parent" field of struct interval and
10951 associated unclean type conversions.
52283633
SM
10952 * intervals.c (create_root_interval, root_interval, rotate_right)
10953 (rotate_left, balance_possible_root_interval, split_interval_right)
10954 (split_interval_left, interval_start_pos, find_interval)
10955 (next_interval, previous_interval, update_interval)
10956 (adjust_intervals_for_insertion, delete_node, delete_interval)
10957 (adjust_intervals_for_deletion, merge_interval_right)
10958 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10959 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10960 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10961 Likewise.
10962 * syntax.c (update_syntax_table): Likewise.
10963
10964 * intervals.c (reproduce_tree_obj): New function, like
10965 reproduce_tree but takes a Lisp_Object for the parent. Declare
10966 with prototype.
10967 (graft_intervals_into_buffer): Use it when appropriate.
10968 (reproduce_tree): Declare with prototype.
10969 (balance_possible_root_interval): Check that the parent is a lisp
10970 object before trying to examine its type.
10971
ee1c5b21
GM
109722000-03-22 Gerd Moellmann <gerd@gnu.org>
10973
10974 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10975 as strings only if both are known to be strings.
10976
10977 * s/openbsd.h (LIBS_TERMCAP): Undef.
10978
1fb352e0
SM
109792000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10980
10981 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10982 definitions for non-Emacs compilation.
10983 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10984 outside of `#ifdef emacs'.
10985 (print_partial_compiled_pattern): Update.
10986 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10987 (re_compile_fastmap): Merge handling of charset and charset_not (for
10988 emacs and non-emacs compilation as well).
10989 Similarly for (not)categoryspec and (not)syntaxspec.
10990 Don't use the fastmap when reaching `anychar' since the added
10991 complexity is not justified.
10992 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10993 and (not)syntaxspec. Merge (not)categoryspec.
10994
fdaa1f77
KH
109952000-03-22 Kenichi Handa <handa@etl.go.jp>
10996
52283633
SM
10997 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10998 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10999 --without-x.
fdaa1f77 11000
d152fb46
DL
110012000-03-21 Dave Love <fx@gnu.org>
11002
11003 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11004 doc string.
11005
d2cafc8c
GM
110062000-03-21 Gerd Moellmann <gerd@gnu.org>
11007
11008 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11009 (lface_fully_specified_p): Don't check contents of
11010 LFACE_FONT_INDEX because that attribute is optional.
11011 (realize_x_face): Remove now unwarranted xassert.
11012
9111d4b5
KH
110132000-03-21 Kenichi HANDA <handa@etl.go.jp>
11014
11015 The following changes are to make font selection based on
11016 characters, not charset. In addition, they recover fontset
11017 facilities while utilizing the new font selection mechanism.
11018
6c4bfdc0
KH
11019 * Makefile.in (fontset.o): Depend on dispextern.h.
11020
11021 * alloc.c (mark_face_cache): Don't mark face->registry.
11022
9111d4b5
KH
11023 * dispextern.h (struct glyph): New member glyph_not_available_p.
11024 Use 22 bits for face_id.
11025 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11026 (struct face): Delete member registry, new member ascii_face.
11027 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11028 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11029 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11030 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11031
11032 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11033 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11034 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11035 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11036 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11037 (fs_free_face_fontset, fontset_font_pattern)
11038 (face_suitable_for_char_p, face_for_char)
11039 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11040 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11041 (FS_LOAD_FACE_FONT): New macro.
11042
11043 * fontset.c: All codes rewritten or adjusted for the change of
11044 fontset implementation. Now fontset is represented by char table.
52283633
SM
11045 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11046 Variables removed.
9111d4b5 11047 (my_strcasecmp): Function removed.
52283633 11048 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11049 (AREF, ASIZE): New macros.
52283633
SM
11050 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11051 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11052 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11053 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11054 (fontset_id_valid_p, font_family_registry, fontset_name)
11055 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11056 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11057 New functions.
11058 (fs_load_font): New arg FACE. Caller changed.
11059 (fs_query_fontset): Argument changed. Caller changed.
11060 (Fquery_fontset): call fs_query_fontset.
11061 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11062 Functions removed.
52283633
SM
11063 (clear_fontset_elements, check_registry_encoding)
11064 (check_fontset_name): New functions.
9111d4b5
KH
11065 (syms_of_fontset): Set char-table-extra-slots property of fontset
11066 to 3. Staticpro and initialize Vfontset_table and
11067 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11068
11069 * frame.h (struct frame): Member `fontset_data' removed.
11070 (FRAME_FONTSET_DATA): Macro removed.
11071
11072 * frame.c (make_frame): Don't allocate f->fontset_data.
11073 (Fdelete_frame): Don't free f->fontset_data.
11074
6c4bfdc0
KH
11075 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11076
9111d4b5
KH
11077 * xdisp.c (charset_at_position): Function removed.
11078 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11079 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11080 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11081 Likewise.
11082 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11083 FACE_FOR_CHARSET.
52283633
SM
11084 (get_next_display_element, append_space)
11085 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11086
11087 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11088 Variables removed.
11089 (clear_font_table, frame_update_line_height, load_face_font):
11090 Adjusted for the change of fontset implementation.
11091 (load_face_fontset_font): Function removed.
11092 (pixel_point_size): New function.
11093 (font_list): Argument type changed. Caller changed.
11094 (LFACE_FONT): New macro.
11095 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11096 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11097 Lisp_Object. Determine the font name by actually loading a font
11098 by the specified pattern. Set LFACE_FONT (lface) to the specified
11099 pattern. Even if a font is not found, don't try alternatives.
11100 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11101 (set_font_frame_param): If `font' is specified in lface, use it.
11102 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11103 (lface_same_font_attributes_p): Likewise.
11104 (make_realized_face): Arguent changed. Caller changed. Set
11105 face->ascii_face to face itself.
11106 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11107 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11108 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11109 (free_realized_multibyte_face): New function.
11110 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11111 changed. Caller changed.
11112 (try_font_list): Argument type changed.
11113 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11114 (choose_face_font): Argument changed. Handle fontset properly.
11115 (choose_face_fontset_font): Function removed.
11116 (realize_default_face, realize_named_face): Don't remove the
11117 former face here.
11118 (realize_face): Argument changed. Caller changed. Remove face
52283633 11119 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11120 (realize_x_face): Argument changed. Caller changed. For a
11121 multibyte character, share fontset with base_face. For a single
52283633 11122 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11123 (realize_tty_face): Argument changed. Caller changed.
11124 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11125 (face_at_buffer_position): Don't check multibyte_p for returning
11126 DEFAULT_FACE_ID.
11127 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11128 FACE_SUITABLE_FOR_CHARSET_P.
11129 (syms_of_xfaces): Remove code for Qx_charset_registry and
11130 Vface_default_registry.
11131
6c4bfdc0
KH
11132 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11133 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11134 (x_per_char_metric): Don't try FONT->default_char. Even if
11135 pcm->width is zero, glyph bits may exist.
11136 (x_encode_char): Always initialize char2b->byte1.
11137 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11138 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11139 (x_append_glyph): Set glyph->glyph_not_available_p.
11140 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11141 it->charset. Handle the case that per char metric is not
11142 available. If it->multibyte_p is zero and it->c is a multibyte
11143 character, convert it to a unibyte character.
11144 (struct glyph_string): Delete member `charset'.
11145 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11146 the case that per char metric is not available correctly.
11147 (x_fill_glyph_string): Handle the case that the specific glyph is
11148 not available correctly.
11149 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11150 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11151 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11152 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11153 fontset. Don't call FS_LOAD_FONT.
11154
11155 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11156 (x_create_tip_frame): Likewise.
11157 (Fx_close_connection): Free full_name of font_info.
11158
11159 * fns.c (optimize_sub_char_table): New function.
11160 (Foptimize_char_table): New function.
11161 (syms_of_fns): Defsubr Soptimize_char_table.
11162
b33dd3b0
GM
111632000-03-20 Gerd Moellmann <gerd@gnu.org>
11164
11165 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11166 only if buffer is displayed in some window.
11167
11168 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11169 (try_window_reusing_current_matrix): Don't call scroll run
11170 function if run's current and desired position are the same;
11171 this prevents cursor flickering.
11172
4e8a9132
SM
111732000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11174
11175 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11176
11177 * regex.c (RE_STRING_CHAR): New macro.
11178 (GET_CHAR_AFER_2): Remove.
11179 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11180 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11181 (print_partial_compiled_pattern, re_compile_fastmap)
11182 (re_match_2_internal): Remove on_failure_jump_exclusive.
11183 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11184 optimization only need to work for * (ie. can use of_keep_string_jump).
11185 Remove the special case for .*\n since it is now covered by the general
11186 optimization.
11187 (re_search_2): Don't bother with `room'.
11188 (skip_one_char): New function.
11189 (skip_noops): Simplify since `memory' is not needed any more.
11190 (mutually_exclusive_p): Restructure slightly to use `switch' and
11191 add handling for "all" remaining cases.
11192 (re_match_2_internal): Change on_failure_jump_smart to use
11193 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11194 rather than on_failure_jump_exclusive.
11195
2136fdd4
GM
111962000-03-19 Gerd Moellmann <gerd@gnu.org>
11197
11198 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11199 number of bits per RGB because it's everywhere used as the depth
11200 of the visual.
11201
11202 * term.c (calculate_costs): Remove code dealing with X frames.
11203
18e21ce8 112042000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11205
11206 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11207
d7b511c4
GM
112082000-03-18 Gerd Moellmann <gerd@gnu.org>
11209
11210 * lread.c (read_integer): Unread the last char not consumed.
11211
16b5d424
GM
112122000-03-17 Gerd Moellmann <gerd@gnu.org>
11213
11214 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11215 which are in the process of being deleted.
16b5d424 11216
1fa28578
GM
112172000-03-16 Gerd Moellmann <gerd@gnu.org>
11218
83488cce
GM
11219 * Makefile.in (mostlyclean): Add `*.core'.
11220 (clean): Add `bootstrap-emacs'.
11221
1fa28578
GM
11222 * lread.c (read_integer): New function.
11223 (read1): Support read syntax #o, #x, #b, #r.
11224
99633e97
SM
112252000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11226
1fa28578
GM
11227 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11228 make sure POINTER_TO_OFFSET gives the same value before and after
11229 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11230 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11231 (debug): Now only active if > 0 rather than if != 0.
11232 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11233 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11234 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11235 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11236 (store_op1, store_op2, insert_op1, insert_op2)
11237 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11238 (group_in_compile_stack): Move to after its arg's types are
11239 declared and add a prototype.
99633e97 11240 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11241 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11242 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11243 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11244 indentation of the greedy-op and shy-group code.
99633e97
SM
11245 (at_(beg|end)line_loc_p): Fix argument's types.
11246 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11247 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11248 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11249 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11250 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11251 QUIT unconditionally.
99633e97 11252
699238d9
GM
112532000-03-15 Gerd Moellmann <gerd@gnu.org>
11254
11255 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11256 a sole completion.
11257
11258 * process.c (send_process): Add a hint that the function
11259 can call Lisp code to its comment.
11260
11261 * lread.c (load_dangerous_libraries): New variable.
11262 (Vbytecomp_version_regexp): New variable.
11263 (safe_to_load_p): New function.
11264 (Fload): Handle files not compiled with Emacs specially.
11265 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11266
34e23e5a
GM
112672000-03-14 Gerd Moellmann <gerd@gnu.org>
11268
9c763cca
GM
11269 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11270
11271 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11272 support functions only if HAVE_X11R6_XIM is defined.
11273 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11274
11275 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11276
11277 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11278 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11279 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11280
11281 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11282 (HAVE_X11R6_XIM): Define.
11283
11284 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11285
34e23e5a
GM
11286 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11287 If set, call XSynchronize.
11288
66f0296e
SM
112892000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11290
34e23e5a
GM
11291 * regex.c: Declare a new type `re_char' used throughout the code
11292 for the string char type. It's `const unsigned char' to match the
11293 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11294 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11295 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11296 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11297 code duplication.
66f0296e
SM
11298
11299 * charset.h (GET_CHAR_AFTER_2): Remove.
11300 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11301
854a025c
KR
113022000-03-12 Ken Raeburn <raeburn@gnu.org>
11303
11304 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11305 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11306 of them try to use backquotes.
11307
b9d2c7e2
DL
113082000-03-12 Dave Love <fx@gnu.org>
11309
11310 * unexelf.c: Restore changes of 1999-10-19.
11311 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11312 fix its type and alignment; copy it from current process.
11313
5e5dff44
GM
113142000-03-12 Gerd Moellmann <gerd@gnu.org>
11315
9b2f3c38
GM
11316 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11317 has been found. Fix bug not computing timer's predecessor.
11318
427ec082 11319 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11320 file name.
11321
e1cff360
GM
11322 * window.c (Fsave_window_excursion): Doc fix.
11323
52283633 11324 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11325
e411ce4b
EZ
113262000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11327
11328 * msdos.c (vga_installed): New function, code moved from
11329 dos_set_window_size.
11330 (Qbar, Qcursor_type, outside_cursor): New variables.
11331 (syms_of_msdos): Intern and staticpro them.
11332 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11333 shape used outside Emacs when called for the first time.
11334 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11335 cursor shape used outside Emacs.
11336 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11337 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11338 type has changed.
11339 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11340 parameters specify the cursor. Make qreverse a global
11341 variable (renamed to Qreverse).
11342
80460654
GM
113432000-03-09 Gerd Moellmann <gerd@gnu.org>
11344
11345 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11346
95cd4c40
SM
113472000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11348
11349 This is a big redesign of failure-stack and register handling, prompted
11350 by bugs revealed when trying to add shy-groups. Overall, what happened
11351 is that loops are now structured a little differently, groups can be
11352 shy and the code is a little simpler.
11353
11354 * regex.h: Update the copyright.
11355 (RE_SHY_GROUPS): New value.
11356 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11357 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11358
80460654
GM
11359 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11360 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11361 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11362 for (start|stop)_memory since they now only take one argument (the
11363 second has becomes unnecessary).
52283633 11364 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11365 (print_compiled_pattern): Use %ld to printf long ints and flush to
11366 make debugging a little easier.
95cd4c40
SM
11367 (union fail_stack_elt): Make the integer unsigned.
11368 (struct fail_stack_type): Add a `frame' element.
11369 (INIT_FAIL_STACK): Init `frame' as well.
11370 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11371 (DEBUG_PUSH, DEBUG_POP): Remove.
11372 (NUM_REG_ITEMS): Remove.
11373 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11374 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11375 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11376 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11377 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11378 New macros.
80460654
GM
11379 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11380 address pushed is not the destination of the jump but the source
11381 of it instead.
95cd4c40
SM
11382 (NUM_FAILURE_ITEMS): Remove.
11383 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11384 registers before the actual failure point). Don't hardcode any
11385 meaning for str==NULL anymore.
95cd4c40 11386 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11387 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11388 Remove.
95cd4c40
SM
11389 (REG_UNSET_VALUE): Use NULL (why not?).
11390 (compile_range): Remove declaration since it doesn't exist.
11391 (struct compile_stack_elt_t): Remove inner_group_offset.
11392 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11393 (regex_grow_registers): Remove dead code.
11394 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11395 (regex_compile): Add shy-groups Change loops to use
11396 on_failure_jump_smart&jump instead of
11397 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11398 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11399 variable to me). Use `jump' instead of `jump_past_alt' and don't
11400 bother with push_dummy_failure in alternatives since it is now
11401 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11402 emacs' for (re)allocating the stack.
11403 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11404 from loop when bufp->can_be_null rather than jumping to `done'.
11405 Avoid jumping backwards so as to ensure termination. Use
11406 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11407 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11408 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11409 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11410 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11411 (lowest_active_reg, highest_active_reg)
11412 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11413 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11414 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11415 variables. Push register (in `start_memory') on the stack rather
11416 than storing it in old_reg(start|end). Remove the cycle detection
11417 from `stop_memory', replaced by the use of on_failure_jump_loop
11418 for greedy loops. Add code for the new on_failure_jump_<foo>.
11419 Remove ad-hoc code in `on_failure_jump' to push more registers in
11420 the case of a loop. Take out code from `maybe_pop_jump' into
11421 separate functions and adapt it to the semantics of
11422 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11423 and push_dummy_failure. Remove dummy_failure handling and
11424 handling of `failures to jump to on_failure_jump' (this last one
11425 was already dead code, it seems).
11426 (group_match_null_string_p, alt_match_null_string_p)
11427 (common_op_match_null_string_p): Remove.
95cd4c40 11428
7397acc4
DL
114292000-03-08 Dave Love <fx@gnu.org>
11430
11431 * config.in: Don't depend on __STDC__ for volatile.
11432 Add POINTER_TYPE, PTR, PROTOTYPES.
11433
11434 * hftctl.c, strftime.c: Use PROTOTYPES.
11435 * eval.c (find_handler_clause): Likewise.
11436
11437 * mem-limits.h: Use POINTER_TYPE.
11438
11439 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11440 (memory_warnings): Declare using POINTER_TYPE.
11441
5e91ff9e
GM
114422000-03-08 Gerd Moellmann <gerd@gnu.org>
11443
feab4fba
GM
11444 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11445
52283633 11446 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11447
5e91ff9e
GM
11448 * xfns.c: Remove obsolete code in #if 0.
11449 (Fx_focus_frame): New function.
11450
a735b7e1
KH
114512000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11452
11453 * coding.c (coding_category_name): Add coding-category-utf-8,
11454 coding-category-utf-16-be, coding-category-utf-16-le.
11455 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11456 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11457 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11458 (detect_coding_utf_8): New function.
11459 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11460 UTF_16_LOW_SURROGATE_P): New macros.
11461 (detect_coding_utf_16): New function
11462 (detect_coding_mask): When priorities are specified, skip any
11463 categories that have `nil' coding-system. Fix bug of returning
11464 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11465 returns a mask not set in PRIORITIES.
11466 (detect_eol_type_in_2_octet_form): New function.
11467 (detect_eol): selects detect_eol_type_XXX to call according to
11468 cooding->category_idx.
11469 (detect_coding_system): Remove `nil' coding-system in the result.
11470 (Fupdate_coding_systems_internal): Update all coding-categories.
11471
52283633
SM
11472 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11473 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11474 New macros.
11475 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11476 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11477 (CODING_CATEGORY_IDX_UTF_16_LE)
11478 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11479 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11480 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11481 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11482
9994cc69
GM
114832000-03-07 Gerd Moellmann <gerd@gnu.org>
11484
e9b4e5ff
GM
11485 * doc.c (Fdocumentation_property): If value is not a string,
11486 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11487
f7daf1e1
GM
11488 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11489 close the display with XtCloseDisplay. This caused a bus error
11490 on OpenWindows.
11491
9994cc69
GM
11492 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11493 complete but not unique.
11494
4336c705
GM
114952000-03-06 Gerd Moellmann <gerd@gnu.org>
11496
18bb0684
GM
11497 * process.c (send_process): Remove local variable `procname' that
11498 might become invalid when a GC happens. Instead, access the
11499 process name slot directly.
11500
4336c705
GM
11501 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11502 orig_height if set.
11503
11504 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11505 orig_height if set.
11506
515d0d0e
EZ
115072000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11508
11509 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11510 glyph matrices have been freed.
11511
100b3cbb
GM
115122000-03-05 Gerd Moellmann <gerd@gnu.org>
11513
50df5e5a 11514 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11515 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11516
11517 * xfns.c (QCdata): Moved to xdisp.c.
11518
11519 * xdisp.c (QCdata): Moved here from xfns.c.
11520 (syms_of_xdisp): Initialize QCdata.
11521
11522 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11523
11524 * window.c (coordinates_in_window): Use
11525 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11526 FRAME_INTERNAL_BORDER_WIDTH.
11527
100b3cbb 11528 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11529 it is obviously invalid.
100b3cbb
GM
11530
11531 * xterm.c (x_term_init): Create a colormap if not using the
11532 default visual.
11533
11534 * xterm.h (select_visual): Change prototype.
11535
11536 * xfns.c (select_visual): Rewritten. Recognize user-specified
11537 visual classes.
11538 (visual_classes): New variable.
11539
64d739c4
GM
115402000-03-04 Gerd Moellmann <gerd@gnu.org>
11541
11542 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11543 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11544 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11545 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11546 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11547 XtNcolormap resources.
11548 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11549 (Fx_create_frame): Initialize color members of x_output structure.
11550 (xpm_load): Pass colormap to XPM lib.
11551
11552 * xfaces.c (x_free_colors): Access colormap of frame using
11553 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11554 when default colormap is used.
11555
11556 * xterm.c (x_term_init): Set Colormap member of x_display_info
11557 structure. Copy colormap if resource `privateColormap' is
11558 specified (PseudoColor only).
11559 (x_setup_relief_color): Access colormap of frame using
11560 FRAME_X_COLORMAP.
11561
11562 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11563 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11564
c3cee013
JR
115652000-03-04 Jason Rumney <jasonr@gnu.org>
11566
11567 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11568 other non-platform-specific equivalents.
64d739c4 11569 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11570 specific functions and macros as their w32 equivalents where
11571 non-platform-specifics are not available.
11572 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11573 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11574 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11575 (frame_update_line_height): Use macros to access f->output_data.
11576 (defined_color): Remove FIXME comments; fixed.
11577 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11578 into #ifdef blocks. Add WINDOWSNT blocks.
11579 (Fx_list_fonts): Use macros for accessing font data.
11580 (set_lface_from_font_name): Different default fonts for X and
11581 WINDOWSNT.
11582 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11583 scalable for backward compatibility.
64d739c4 11584 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11585 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11586
64d739c4 11587 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11588 syms_of_w32faces.
11589
11590 * makefile.nt (w32faces.obj): Remove.
11591 (xfaces.obj): Add.
11592
807cc41c
JR
115932000-03-03 Jason Rumney <jasonr@gnu.org>
11594
11595 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11596 correct parameters.
11597
0007072a
KR
115982000-03-03 Ken Raeburn <raeburn@gnu.org>
11599
11600 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11601 standard ELF definitions here if the system header does not.
11602
71a6ba55
GM
116032000-03-03 Gerd Moellmann <gerd@gnu.org>
11604
11605 * xterm.c (PER_CHAR_METRIC): Removed.
11606 (x_per_char_metric_1, x_default_char): New functions.
11607 (x_per_char_metric): If font's default char is invalid, return
11608 metrics of a suitably chosen usable default char.
11609 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11610 char, replace occurrences of unprintable chars with a suitably
11611 chosen usable default char.
71a6ba55 11612
900fa1f1
GM
116132000-03-02 Gerd Moellmann <gerd@gnu.org>
11614
42f55fe0
GM
11615 * xterm.c (note_mouse_highlight): Return quickly if frame's
11616 glyph matrices have been freed.
11617
11618 * dispnew.c (free_glyphs): Block input while freeing matrices.
11619
900fa1f1
GM
11620 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11621
52283633
SM
11622 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11623 Use x_free_colors.
900fa1f1
GM
11624
11625 * dispextern.h (x_free_colors): Add prototype.
11626
11627 * xfaces.c (x_free_colors): New function.
11628 (unload_color, free_face_colors): Use it.
11629
2f950292
EZ
116302000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11631
11632 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11633
11634 * window.c [MSDOS]: Include msdos.h.
11635
54d04320
DL
116362000-03-02 Dave Love <fx@gnu.org>
11637
11638 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11639
11640 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11641 set C_OPTIMIZE_SWITCH for gcc.
11642
0ba93ac4
KH
116432000-03-02 Kenichi Handa <handa@etl.go.jp>
11644
11645 * coding.c (coding_save_composition): Be sure to allocate
11646 composition data area in coding even if there's no composition in
11647 the current run.
11648
a2bc11d4
JR
116492000-03-01 Jason Rumney <jasonr@gnu.org>
11650
11651 * w32term.c: Equivalent changes to those made to xterm.c on
11652 2000-02-25 and 2000-02-24.
11653
11654 * w32fns.c: Equivalent changes to those made to xfns.c on
11655 2000-02-25 and 2000-02-21.
11656
11657 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11658 correct line-end convention is followed.
11659
11660 * w32menu.c [HAVE_BOXES]: Remove #undef.
11661 (single_keymap_panes): Remove code for simulating checkmarks.
11662 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11663 Remove code for drawing simulated checkmarks.
11664 (w32_menu_show): make unibyte help string correctly.
11665 (add_menu_item): draw standard Windows checkmarks. Draw radio
11666 buttons as radio buttons if possible.
11667
72d19d75
GM
116682000-03-01 Gerd Moellmann <gerd@gnu.org>
11669
2df636f4
GM
11670 * sysdep.c (start_of_text): Don't define this function for NetBSD
11671 with ELF.
11672
427ec082 11673 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11674 Don't define.
11675 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11676 (LINKER): Don't undef if __NetBSD__ is defined.
11677
11678 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11679
11680 * fileio.c [__NetBSD__]: Define `unix'.
11681
72d19d75
GM
11682 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11683
ed4d0512
GM
116842000-02-29 Gerd Moellmann <gerd@gnu.org>
11685
50b1039f
GM
11686 * atimer.c (start_atimer): Don't abort when timers are stopped.
11687 (append_atimer_lists): New function.
11688 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11689 arbitrary lists of stopped and running atimers.
11690
ed4d0512
GM
11691 * atimer.c (cancel_atimer): Handle canceling an atimer when
11692 some timers are stopped.
11693
11694 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11695 after canceling it.
11696
11697 * fns.c (maybe_resize_hash_table): Handle case of new size
11698 coming out as being the same as old size.
11699
387023ee
JR
117002000-02-27 Jason Rumney <jasonr@gnu.org>
11701
11702 * makefile.nt: Add atimer.h to dependencies.
11703 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11704 * w32console.c: Only disable window system features for dispextern.h
11705 (initialize_w32_display): Build a display info for the console.
11706 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11707 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11708 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11709 as 2 button mice.
11710 * w32gui.h (struct W32FontStruct): Revert last change after change
11711 to xdisp.c.
11712 * w32menu.c (single_submenu): Set up help string.
11713 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11714 (w32_dialog_show): Set up help string.
11715 * w32term.c (w32_display_info_for_display): Remove unused function.
11716 (w32_draw_bitmap): Use pre-built bitmaps.
11717 (w32_initialize_display_info): New function to initialize parts of
11718 display info that are common to both GUI and console frames.
11719 (w32_term_init): Use w32_initialize_display_info. Do not set
11720 Vw32_num_mouse_buttons here, as it is not called for console
11721 frames. Build bitmaps for indicating truncated lines etc.
11722 (x_delete_display): Destroy pre-built bitmaps.
11723 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11724 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11725
4516715a
DL
117262000-02-27 Dave Love <fx@gnu.org>
11727
11728 * lisp.h: Add a bunch of prototypes.
11729
171ca836
KH
117302000-02-26 Kenichi Handa <handa@etl.go.jp>
11731
11732 * keyboard.c (read_char): Set `usec' correctly.
11733
4013921d
KH
117342000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11735
11736 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11737 `lambda', set reg[RRR] to the map index.
11738 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11739 reg[RRR] to 0. Otherwise, set it to -1.
11740
9244a058
GM
117412000-02-25 Gerd Moellmann <gerd@gnu.org>
11742
2df636f4 11743 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11744
18e21ce8 117452000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11746
f43d79c1
GM
11747 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11748 and contains a `:', prepend `/:'.
11749
11750 * window.c (select_window_1): If selected_window is nil,
11751 don't "swap out" the buffer's point.
11752 (Fset_window_configuration): Set selected_window to nil
11753 before calling Fselect_window.
11754 (unshow_buffer): Don't set point in buffer from window's point
11755 if another more recently selected window also shows the buffer.
11756
bed0c171
GM
117572000-02-25 Gerd Moellmann <gerd@gnu.org>
11758
449c3c52
GM
11759 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11760
f5b58615
GM
11761 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11762 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11763 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11764 New variables.
f5b58615
GM
11765 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11766 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11767 (hide_busy_cursor): New functions.
11768 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11769
11770 * minibuf.c (read_minibuf): Cancel busy-cursor.
11771
11772 * keyboard.c (command_loop_1): Call start_busy_cursor before
11773 Fcommand_execute and cancel_busy_cursor after it.
11774 (timer_check): Remove busy-cursor code.
11775 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11776 cursor timer.
11777
11778 * process.c (wait_reading_process_input): Remove busy-cursor code.
11779
11780 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11781 Fx_hide_busy_cursor.
11782
11783 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11784 Remove prototyoes.
11785 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11786
11787 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11788
11789 * xterm.c (XTread_socket): Remove busy-cursor code.
11790
4eb8436f
GM
11791 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11792 (build_frame_matrix_from_leaf_window): Put code handling
11793 glyph row's not being a slice of a frame row in #if 0.
11794 (sync_window_with_frame_matrix_rows): New function.
11795 (frame_row_to_window): New function.
11796 (mirror_line_dance): Handle copies between windows.
11797
3cb65b0e
GM
11798 * lread.c (Fload): Use `xfree' instead of `free'.
11799 (init_obarray): Use `xmalloc' instead of `malloc'.
11800
bed0c171
GM
11801 * window.c (Fset_window_buffer): Set WINDOW to the window
11802 after decoding.
2add4349
GM
11803 (coordinates_in_window): Take frame's internal border width
11804 into account.
bed0c171 11805
42088c12
GM
118062000-02-24 Gerd Moellmann <gerd@gnu.org>
11807
11808 * xterm.c (x_display_and_set_cursor): Display cursor of
11809 non-selected windows depending on the setting of
11810 cursor_in_non_selected_windows.
11811
11812 * xdisp.c (cursor_in_non_selected_windows): New variable.
11813 (syms_of_xdisp): DEFVAR_BOOL it.
11814
d1e103b2
GM
118152000-02-23 Gerd Moellmann <gerd@gnu.org>
11816
723e779c
GM
11817 * data.c (Fstring_to_number): If number is greater than what
11818 fits into an integer, return a float.
11819
d1e103b2
GM
11820 * eval.c (specbind): Remove references to
11821 keyword_symbols_constant_flag.
11822
11823 * data.c (keyword_symbols_constant_flag): Removed.
11824 (Fmakunbound, set_internal, syms_of_data): Remove references to
11825 keyword_symbols_constant_flag.
11826
11827 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11828
214f877f
KH
118292000-02-23 Kenichi Handa <handa@etl.go.jp>
11830
11831 * syntax.c (multibyte_syntax_as_symbol): New variable.
11832 (syms_of_syntax): Declare it as a Lisp variable.
11833 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11834 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11835 nonzero, treat all multibyte characters as symbol.
52283633 11836 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11837
130adcb7
EZ
118382000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11839
3cb65b0e 11840 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11841 a deleted frame.
130adcb7 11842
17cbbf95
GM
118432000-02-21 Gerd Moellmann <gerd@gnu.org>
11844
11845 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11846
11847 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11848 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11849
beb0bc36
DL
118502000-02-21 Dave Love <fx@gnu.org>
11851
11852 * frame.c (Vmouse_position_function): New variable.
11853 (Fmouse_position): Use it.
11854 (syms_of_frame): Install it.
11855
11856 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11857
1d92afcd
GM
118582000-02-20 Gerd Moellmann <gerd@gnu.org>
11859
11860 * fileio.c (Finsert_file_contents): Unbind the binding of
11861 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11862
11863 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11864 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11865 (specbind, unbind_to): Handle most common case of non-constant
11866 symbol with trivial value specially.
11867
11868 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11869
18e21ce8 118702000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11871
11872 * data.c (Fmake_variable_buffer_local): Doc fix.
11873 Init found_for_buffer to 0.
11874 (Fmake_variable_frame_local): If the variable has already
11875 been buffer-local, set the check_frame field.
11876
1d4311c3
EZ
118772000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11878
11879 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11880 produced for CODING_MODE_LAST_BLOCK requires.
11881
2dc95ddd
DL
118822000-02-18 Dave Love <fx@gnu.org>
11883
11884 * keyboard.c (echo_keystrokes): Remove declaration.
11885 (Vecho_keystrokes) New variable.
11886 (read_char, record_menu_key, read_key_sequence): Use it to allow
11887 use of float value.
11888 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11889
11890 * lread.c: Undef feature selection macros before defining.
11891
f0930f35
GM
118922000-02-18 Gerd Moellmann <gerd@gnu.org>
11893
11894 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11895 for symbols other than the symbol in question.
11896
e3d4de90
DL
118972000-02-17 Dave Love <fx@gnu.org>
11898
11899 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11900
0b378936
GM
119012000-02-17 Gerd Moellmann <gerd@gnu.org>
11902
d621caf7
GM
11903 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11904
0b378936
GM
11905 * alloc.c (enum mem_type): Compile unconditionally.
11906
3b451f74
EZ
119072000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11908
11909 * xfaces.c (tty_defined_color): Don't return faulire indication
11910 for unspecified-fg and unspecified-bg pseudo-colors.
11911
10689a01
GM
119122000-02-17 Gerd Moellmann <gerd@gnu.org>
11913
1216f5e4
GM
11914 * alloc.c (mark_object): Don't mark symbol names in pure space.
11915 (gc_sweep): Don't unmark symbol names in pure space.
11916
11917 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11918 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11919 [GC_MARK_STACK]: New defines.
427ec082 11920 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11921 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11922
11923 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11924
11925 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11926 allocate_buffer instead of xmalloc.
11927
11928 * alloc.c (toplevel): Include setjmp.h.
11929 (PURE_POINTER_P): New define.
11930 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11931 (Vdead) [GC_MARK_STACK]: New variable.
11932 (lisp_malloc): Add parameter TYPE, call mem_insert if
11933 GC_MARK_STACK is defined.
11934 (allocate_buffer): New function.
427ec082 11935 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11936 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11937 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11938 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11939 (MEM_NIL) [GC_MARK_STACK]: New define.
11940 (struct mem_node) [GC_MARK_STACK]: New structure.
11941 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11942 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11943 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11944 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11945 (mark_stack) [GC_MARK_STACK]: New functions.
11946 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11947 (clear_marks): Removed.
11948 (gc_sweep): Set free conses' car, free floats' type, free
11949 symbols' function to Vdead. Use lisp_free to free buffers.
11950 (init_alloc_once): Initialize Vdead.
11951 (survives_gc_p): Return non-zero for pure objects.
11952
11953 * alloc.c: Add comments throughout the file.
11954
2503c8b1
GM
11955 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11956 that unblocks alarms.
11957
8389e1e2
GM
11958 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11959 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11960 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11961
10689a01 11962 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11963
bfc17d18
KH
119642000-02-17 Kenichi Handa <handa@etl.go.jp>
11965
4a09dee0
KH
11966 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11967 avoid infinite error signaling. Allocate sufficient memory for
11968 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11969
2b927d02
SM
119702000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11971
11972 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11973 depends on the previous behavior.
11974
b49cb764
GM
119752000-02-16 Gerd Moellmann <gerd@gnu.org>
11976
11977 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11978
99e95407
GM
119792000-02-15 Gerd Moellmann <gerd@gnu.org>
11980
11981 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11982
11983 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11984 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11985 write(2).
11986
6ffd3cf7
RS
119872000-02-15 Richard M. Stallman <rms@gnu.org>
11988
11989 * data.c (set_internal): Don't make variable buffer-local
11990 if within a let-binding for the same buffer.
11991 (let_shadows_buffer_binding_p): New function.
11992
11993 * eval.c (specbind): For buffer-local value,
11994 record the current buffer also.
11995 (unbind_to): Cope with that change.
11996
cad53475
GM
119972000-02-15 Gerd Moellmann <gerd@gnu.org>
11998
11999 * window.c (Fsave_window_excursion): Doc fix.
12000
1aa963c8
SM
120012000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12002
12003 * syntax.c (back_comment): Make sure we only consider comment-starters
12004 of the relevant style and return -1 in case of a failure to find the
12005 beginning of the comment.
12006 (Fforward_comment): If back_comment fails, go back to the position just
12007 after the comment-end.
12008 (scan_lists): Add comment describing a very minor bug.
12009
b9b84fd3
SM
120102000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12011
12012 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12013 `completion-regexp-list' in the docstring.
12014
3a28db80
DL
120152000-02-14 Dave Love <fx@gnu.org>
12016
12017 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12018
fb4a568d
SM
120192000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12020
12021 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12022 to Emacs' syntax. Also fix the comment about set/not-set meanings
12023 since Emacs syntax is not the value 0 any more.
12024 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12025 since it's now part of RE_SYNTAX_EMACS.
12026
1063ebb5
DL
120272000-02-12 Dave Love <fx@gnu.org>
12028
52283633 12029 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12030
fb07a302
GM
120312000-02-12 Gerd Moellmann <gerd@gnu.org>
12032
12033 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12034
aaf2320c
DL
120352000-02-12 Dave Love <fx@gnu.org>
12036
12037 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12038
12039 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12040 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12041 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12042
12043 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12044
12045 * s/nextstep.h: Don't define HAVE_ALLOCA.
12046
12047 * config.in: Add vfork bits.
12048
eedf8bde
GM
120492000-02-12 Gerd Moellmann <gerd@gnu.org>
12050
12051 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12052 unwind function to undo the effect of stopping atimers.
12053
52283633 12054 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12055
12056 * atimer.c (stopped_atimers): New variable.
12057 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12058 New functions.
12059
12060 * atimer.h (stop_other_atimers, run_all_atimers)
12061 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12062
eedf8bde
GM
12063 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12064
8476c2f8
KR
120652000-02-11 Ken Raeburn <raeburn@gnu.org>
12066
12067 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12068 library may depend on jpeg.
12069 (atimer.o): Depends on atimer.c.
12070
0e85e4a3
KH
120712000-02-11 Kenichi Handa <handa@etl.go.jp>
12072
12073 * insdel.c (del_range_1): Call update_compositions.
12074 (del_range_both): Call update_compositions just once..
12075
97fa0cc8
DL
120762000-02-10 Dave Love <fx@gnu.org>
12077
12078 * xfns.c (create_frame_xic): Fix initialization of automatic
12079 aggregates for pcc.
12080
25566a3c
KH
120812000-02-09 Kenichi Handa <handa@etl.go.jp>
12082
12083 * ccl.c (CCL_MAKE_CHAR): New macro.
12084 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12085 registers by CCL_MAKE_CHAR before calling translate_char.
12086 <CCL_TranslateCharacterConstTbl> Likewise.
12087
69da54ba
DL
120882000-02-08 Dave Love <fx@gnu.org>
12089
12090 * lread.c (__EXTENSIONS__): Define.
12091
f7136ee8
GM
120922000-02-08 Gerd Moellmann <gerd@gnu.org>
12093
12094 * puresize.h (BASE_PURESIZE): Increase to 650000.
12095
7768790b
EZ
120962000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12097
12098 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12099 the help message.
12100
38fd211b
EZ
121012000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12102
12103 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12104 md, mh, mb, mr, and me to the fake termcap entry.
12105
66e4690f
KR
121062000-02-06 Ken Raeburn <raeburn@gnu.org>
12107
12108 * sound.c (sound_cleanup): Don't call device close routine if the
12109 function pointer is null.
12110
a75dfea0
AI
121112000-02-06 Andrew Innes <andrewi@gnu.org>
12112
12113 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12114 around image definitions and prototypes.
12115 (gamma_correct) [WINDOWSNT]: New prototype.
12116
12117 * w32term.c (x_make_frame_visible): Replace call to
12118 input_poll_signal with poll_for_input.
12119
12120 * window.c [WINDOWSNT]: Include w32term.h.
12121
12122 * xdisp.c [WINDOWSNT]: Include w32term.h.
12123
12124 * makefile.nt: Add dependencies on w32gui.h.
12125 (OBJ1): Include atimer.obj.
12126 ($(BLD)\atimer.obj): New dependency rule.
12127
12128 * w32.c (sigmask): New function (does nothing).
12129 (sigunblock): Ditto.
12130
12131 * frame.c [WINDOWSNT]: Include w32term.h.
12132
12133 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12134
12135 * lread.c (syms_of_lread): Fix literal newlines.
12136
12137 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12138 the string constant limit (2048 bytes) in MSVC.
12139 (main): Ditto.
12140
59ddecde
GM
121412000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12142
52283633 12143 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12144 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12145 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12146 dispatch the event.
12147
07590973
DL
121482000-02-04 Dave Love <fx@gnu.org>
12149
12150 * fileio.c: Remove some unused vars.
12151 (_GNU_SOURCE): Define (for euidaccess).
12152
12153 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12154
12155 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12156 gcpro1, gcpro2.
12157 (read_minibuf): Deal with allow_props correctly.
12158
649351f9
EZ
121592000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12160
12161 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12162
66e4690f 121632000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12164
12165 * search.c (compile_pattern): If a cache entry has a nil regexp,
12166 fill in that entry instead of clobbering a previously cached
12167 string regexp.
12168
66e4690f 121692000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12170
12171 * puresize.h (BASE_PURESIZE): Increase to 610000.
12172
d240a249
GM
121732000-02-02 Gerd Moellmann <gerd@gnu.org>
12174
12175 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12176 can GC.
12177
ca91fb26
KH
121782000-02-02 Kenichi Handa <handa@etl.go.jp>
12179
25660570
KH
12180 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12181 instead of incrementing ic directly.
12182 <CCL_WriteExprConst> Likewise.
12183 <ccl_set_expr>: Set ic to jump_address.
12184
ca91fb26
KH
12185 * fileio.c (e_write): Fix the handling of
12186 CODING_FINISH_INSUFFICIENT_SRC.
12187
2ede9689
DL
121882000-02-01 Dave Love <fx@gnu.org>
12189
12190 * editfns.c (Fpropertize): Doc fix.
12191
12192 * process.c (Fstart_process): Doc fix.
12193
12194 * eval.c: Fix various doc strings not to duplicate information
12195 from help-manyarg-func-alist.
12196
52283633 12197 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12198
12199 * doc.c (Vhelp_manyarg_func_alist): New variable.
12200 (Fdocumentation): Use it.
12201 (syms_of_doc): Define it.
12202
b6680a0e
GM
122032000-01-31 Gerd Moellmann <gerd@gnu.org>
12204
2cb750ba
GM
12205 * xterm.c (xim_open_dpy): Remove unused local variable.
12206
52283633 12207 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12208
12209 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12210 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12211
b6680a0e
GM
12212 * fns.c (sweep_weak_table): New function.
12213 (sweep_weak_hash_tables): Use it. Keep on marking until there
12214 is no more change.
12215
994c5afe
GM
122162000-01-30 Gerd Moellmann <gerd@gnu.org>
12217
12218 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12219 that XTread_socket does not crash by trying to call XNoOp on a
12220 closed display.
427ec082 12221
f00276e3
JR
122222000-01-30 Jason Rumney <jasonr@gnu.org>
12223
12224 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12225 Change selected_frame to SELECTED_FRAME ().
12226 (w32_console_mouse_position): Remove #ifndef MULE from around
12227 `insist' parameter.
12228
12229 * makefile.nt: Remove dosfns.obj.
12230
12231 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12232
12233 * w32fns.c (w32_defined_color): Check for valid frame before
12234 applying gamma correction. Eliminate dependency on frame elsewhere.
12235 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12236 (w32_to_x_font): Use resx and resy not height_in and width_in.
12237 (x_to_w32_font): Doc fix.
12238 (xlfd_strip_height): New function to strip and return font height.
12239 (w32_font_match): Compare height separately from rest of xlfd
12240 spec, using xlfd_strip_height.
12241
12242 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12243 width_in. Use w32_defined_color in place of defined_color.
12244
12245 * w32faces.c: Merge more of DOS and X specifics in preparation for
12246 merge with xfaces.c.
12247 (defined_color): Remove FIXME comment.
12248 (tty_color_name): Provide w32-specific function.
12249 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12250
12251 * w32console.c (turn_on_face, turn_off_face): Removed.
12252 (w32_face_attributes): New function.
12253 (Global_variables): Reduce scope where possible.
12254 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12255 fill attribute.
12256 (hl_mode): Don't modify text attributes.
12257 (write_glyphs): Don't do anything if len <= 0. Use
12258 w32_face_attributes to get attributes for drawing. Write
12259 terminating codes using char_attr_normal.
12260 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12261 (update_begin, update_end): Likewise.
12262 (vga_stdcolor_name): New function.
12263 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12264 (Fset_screen_color): Remove char_attr_reverse.
12265
b08e8bb2
GM
122662000-01-29 Gerd Moellmann <gerd@gnu.org>
12267
12268 * xfns.c (xic_set_preeditarea): Take window parameter and
12269 window-relative pixel-positions.
12270
12271 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12272 is its frame's selected window.
12273 (xim_instantiate_callback): Likewise.
12274
12275 * xfns.c (x_create_im): Removed.
12276 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12277 (supported_xim_styles): Renamed from supported_styles.
12278 (best_xim_style): Renamed from best_style.
12279 (create_frame_xic): Renamed from xic_create_frame.
12280 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12281
b08e8bb2
GM
122822000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12283
12284 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12285 our frames, call XFilterEvent with 2nd parameter `None'.
12286 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12287 returning XBufferOverflow.
52283633 12288 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12289 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12290 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12291 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12292 (xim_initialize, xim_close)
12293 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12294 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12295 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12296 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12297
12298 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12299 and `xim_styles'.
12300 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12301 `xic_style' and `xic_xfs'.
12302 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12303 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12304 (FRAME_XIM): Removed.
12305
12306 * xfns.c (supported_styles): New variable.
12307 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12308 (xic_create_xfontset, best_style, xic_create_frame)
12309 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12310 (xic_set_xfontset): New functions.
12311
142e109c
DL
123122000-01-28 Dave Love <fx@gnu.org>
12313
12314 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12315
12316 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12317
b02786f9
GM
123182000-01-28 Gerd Moellmann <gerd@gnu.org>
12319
d060bc9f
GM
12320 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12321 for *scratch* if it already existed.
12322
b02786f9
GM
12323 * emacs.c (USAGE): New macro.
12324 (main): Use it to display usage information.
12325
2c52d7e4
EZ
123262000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12327
12328 Support for the menu-help feature:
12329
52283633 12330 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12331
12332 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12333 part of the line to the termscript file.
12334 (IT_clear_to_end): Clear the entire line, not just its beginning.
12335 (menu_help_message, prev_menu_help_message): New variables.
12336 (IT_menu_make_room): Make room for the help_text member.
12337 (IT_menu_display): New argument disp_help; all callers changed.
12338 If disp_help is non-zero, store the help text of the active menu
12339 item in menu_help_message.
12340 (XMenuAddPane): Initialize the help_text member to NULL.
12341 (XMenuAddSelection): New argument help_text. Store it in the
12342 XMenu structure.
12343 (XMenuActivate): New argument help_callback. If the value of
12344 menu_help_message has changed since the last time, display the
12345 menu help message text while waiting for the mouse to move. Clear
12346 the echo area before exiting.
12347 (XMenuDestroy): Free the help_text member.
12348
ffe0bcd1
GM
123492000-01-27 Gerd Moellmann <gerd@gnu.org>
12350
12351 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12352 XMenuAddSelection. Pass help callback to XMenuActivate.
12353 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12354
50dbd23f
EZ
123552000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12356
12357 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12358 and EMACS_SET_USECS.
12359
f5941bf8
GM
123602000-01-26 Dave Love <fx@gnu.org>
12361
6c67ddee
DL
12362 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12363
f5941bf8
GM
12364 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12365 an error may be signalled.
12366
9e49c990
GM
123672000-01-26 Gerd Moellmann <gerd@gnu.org>
12368
fc3cb460
GM
12369 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12370 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12371
9e49c990
GM
12372 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12373
d0c037d8
GM
123742000-01-25 Gerd Moellmann <gerd@gnu.org>
12375
12376 * charset.c (Fstring): If there is a multibyte char among
12377 the args, always return a multibyte string.
12378
e12489f9
GM
123792000-01-25 Gerd Moellmann <gerd@gnu.org>
12380
12381 * sysdep.c (sys_select): Turn atimers off and on instead of
12382 recording and restoring old alarm handler
12383
12384 * process.c (toplevel): Include atimer.h.
12385 (create_process_1): Rewritten.
12386 (create_process): Use atimers instead of alarm.
12387 (wait_reading_process_input) [hpux]: Turn atimers off instead
12388 of turning off SIGALRM.
12389 (wait_reading_process_input): Turn off atimers instead off
12390 calling stop_polling.
12391
12392 * emacs.c (main): Call init_atimer.
12393
12394 * keyboard.c (toplevel): Include systime.h and atimer.h.
12395 (polling_for_input): Removed because unused.
12396 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12397 (poll_timer): New variable.
12398 (poll_for_input, poll_for_input_1): New functions.
12399 (start_polling, stop_polling): Rewritten.
12400
12401 * keyboard.h (polling_for_input): Removed.
427ec082 12402
e12489f9
GM
12403 * atimer.h, atimer.c: New files.
12404
12405 * Makefile.in (obj): Add atimer.o.
12406 (atimer.o): New target.
12407
12408 * blockinput.h (pending_atimers): Add extern declaration.
12409 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12410
12411 * lisp.h (popup_activated_flag): Add extern declaration.
12412
12413 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12414 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12415 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12416
12417 * xterm.c (toplevel): Include atimer.h.
12418 (toolkit_scroll_bar_interaction): New variable.
12419 (Fxt_process_timeouts): Removed.
12420 (x_process_timeouts): New function.
12421 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12422 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12423 (x_make_frame_visible): Call poll_for_input_1 instead of
12424 input_poll_signal. Don't call alarm.
12425 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12426
1e5279b9
DL
124272000-01-24 Dave Love <fx@gnu.org>
12428
6c67ddee 12429 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12430 Don't use -cckr -- apparently not now necessary.
12431
edf6aeb8
EZ
124322000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12433
12434 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12435 screen boundary.
12436
9badad41
JR
124372000-01-23 Jason Rumney <jasonr@gnu.org>
12438
12439 * w32fns.c (w32_defined_color): Apply gamma correction before
12440 trying to map to the palette.
12441 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12442 to w32_clear_rect.
12443
12444 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12445 here. Callers changed to always pass real device context.
12446 (w32_draw_bitmap): Likewise.
12447 (w32_get_glyph_overhangs): Likewise.
52283633 12448 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12449 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12450 pfnSetScrollInfo and SetScrollRange.
12451 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12452 back into MULE characters after decoding them.
12453 (x_get_glyph_face_and_encoding): Likewise.
12454 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12455 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12456 (x_produce_glyphs): Calculate per char metrics for a character
12457 that we know exists in default font when font_not_found_p is true.
12458
63bd786b
JR
124592000-01-22 Jason Rumney <jasonr@gnu.org>
12460
12461 * makefile.nt (intervals.obj, composite.obj): New modules.
12462 (composite.h): Added as dependency where appropriate.
12463
12464 * w32gui.h (XGCValue): New struct for emulating X GCs.
12465
12466 * w32term.h (XCharStruct): New struct for emulating X.
12467
12468 * w32console.c (turn_on_face, turn_off_face): New functions.
12469 (change_line_highlight): New prototype for new redisplay.
12470 (write_glyphs): Support multibyte text. Support faces.
12471
52283633 12472 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12473
12474 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12475 throughout. struct frame * in place of FRAME_PTR.
12476 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12477 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12478 (w32_get_arg): Renamed from x_get_arg.
12479 (Fx_file_dialog): New function.
12480 (w32_list_fonts): Check cache before asking system.
12481 (Vw32_enable_synthesized_fonts): New variable.
12482 (Vw32_enable_italics): Obsolete, removed.
12483
12484 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12485 Use SELECTED_FRAME macro.
12486
12487 * w32menu.c: Add skeleton support for help strings on menus.
12488 (add_menu_item): Native checkbox and radio support added, but not
12489 yet enabled due to bugs.
12490 (push_menu_item): Add parameters type, selection and help.
12491 Callers updated.
12492 Formatting changes to reduce unnecessary diffs with xmenu.c.
12493
12494 * w32select.c (Fw32_set_clipboard_data): Update call to
12495 find_charset_in_str.
12496
12497 * w32term.c: Complete rewrite for new redisplay based on new
12498 xterm.c with necessary sections merged back in from old w32term.c.
12499
6ffd3cf7 125002000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12501
12502 * data.c (set_internal): Further fix in same criterion.
12503
6ffd3cf7 125042000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12505
12506 * data.c (set_internal): Fix the criteria for whether
12507 to swap out the old cached binding.
12508
60af03f1
DL
125092000-01-19 Dave Love <fx@gnu.org>
12510
12511 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12512
f9be074f
KH
125132000-01-18 Kenichi Handa <handa@etl.go.jp>
12514
12515 * regex.c (re_compile_fastmap): While checking a range table for
12516 `charset', skip flag bits for a character class correctly.
12517
52b8dbf9
GM
125182000-01-17 Gerd Moellmann <gerd@gnu.org>
12519
d36100c9
GM
12520 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12521
52283633 12522 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12523
12524 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12525 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12526
12527 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12528 MENU_ITEMS_ITEM_.*.
12529 (MENU_ITEMS_ITEM_HELP): New enumerator.
12530 (push_menu_item): Add parameter HELP. Record help in menu_items.
12531 (single_menu_item, single_submenu, list_of_items): Call
12532 push_menu_item with new parameter.
12533 (single_submenu): Set help string in widget value.
12534 (menu_highlight_callback): New function.
12535 (set_frame_menubar): Call lw_create_widget with new
12536 parameter list.
12537 (xmenu_show, xdialog_show): Ditto.
12538
3139018f
GM
125392000-01-13 Gerd Moellmann <gerd@gnu.org>
12540
12541 * sound.c (Fplay_sound): Improve doc string.
12542
83c8f461
RS
125432000-01-11 Richard M. Stallman <rms@gnu.org>
12544
12545 * lisp.h (set_internal): Enter the new arg.
12546
12547 * eval.c (specbind): Record buffer-local variables specially,
12548 indicating which buffer's binding was saved.
12549 (unbind_to): Restore buffer-local variables specially
12550 in the proper buffer.
12551
12552 * data.c (set_internal): New arg BUF.
427ec082 12553
83c8f461
RS
12554 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12555 * data.c (Fset): Pass new arg to set_internal.
12556 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12557
1fab1775
GM
125582000-01-11 Gerd Moellmann <gerd@gnu.org>
12559
52283633 12560 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12561
83c8f461 125622000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12563
12564 * minibuf.c (Ftry_completion): Doc fix.
12565
7a85e4df
GM
125662000-01-11 Gerd Moellmann <gerd@gnu.org>
12567
12568 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12569 vector, too.
12570
a970dae4
AS
125712000-01-11 Andreas Schwab <schwab@suse.de>
12572
12573 * coding.c (code_convert_region): Initialize total_skip.
12574
c65d14ee
DL
125752000-01-08 Dave Love <fx@gnu.org>
12576
12577 * eval.c (Fuser_variable_p): Check customizability too.
12578
834938d2
GM
125792000-01-07 Gerd Moellmann <gerd@gnu.org>
12580
12581 * minibuf.c (Fcompleting_read): Doc fix.
12582
e0303cd6
GM
125832000-01-05 Gerd Moellmann <gerd@gnu.org>
12584
8a26744b
GM
12585 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12586 -L /usr/local/lib.
12587
e0303cd6
GM
12588 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12589 Check that input style is supported before trying to create an
12590 IC for it.
12591 (x_window): Call x_create_im.
427ec082 12592
2e471eb5
GM
125932000-01-04 Gerd Moellmann <gerd@gnu.org>
12594
560a7bd2
GM
12595 * xfns.c (current_gif_memory_src): New variable.
12596 (gif_load): Record the address of the current memory source
12597 in current_gif_memory_src.
12598 (gif_read_from_memory): Use current_gif_memory_src.
12599
f9ee84a3
GM
12600 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12601 macros statement form.
12602
d1299cde
GM
12603 * sound.c (struct sound): Renamed from struct sound_file.
12604 (struct sound): Add members `data' and `header_size'.
12605 (enum sound_attr): Add SOUND_DATA.
12606 (current_sound, current_sound_device): Variables renamed from
12607 sound_file and sound_device.
12608 (parse_sound): Parse :data.
12609 (parse_sound): Handle sound data in strings.
12610 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12611 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12612 needed header size.
12613 (wav_play, au_play): Play sounds from string data.
12614
2e471eb5
GM
12615 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12616
12617 * lisp.h: Add prototype for allocate_string_data.
12618
52283633 12619 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12620
12621 * alloc.c (mark_buffer): Remove code in #if 0.
12622 (gc_sweep): Ditto.
12623 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12624 (strings_consed): New variable.
12625 (allocate_string): Set it.
12626 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12627 (Fmemory_use_counts): Return strings_consed. Use Flist.
12628
12629 * alloc.c: General cleanup in comments etc. Remove conditional
12630 compilation for `standalone'.
12631
12632 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12633
12634 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12635 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12636 (DONT_COPY_FLAG): Removed.
12637 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12638 (struct sdata, struct sblock): New
12639 (struct string_block): Rewritten.
12640 (STRINGS_IN_STRING_BLOCK): New macro.
12641 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12642 (large_sblocks, string_blocks, string_free_list): New variables.
12643 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12644 (init_strings): Rewritten.
12645 (allocate_string, allocate_string_data, compact_small_strings)
12646 (free_large_strings, sweep_strings): New functions.
12647 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12648 (struct string_block_head, current_string_block)
12649 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12650 (STRING_PAD): Removed.
12651 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12652 (Fgarbage_collect): Don't set mark bit in large strings.
12653 (mark_object): Mark strings differently. Mark symbol names
12654 differently.
12655 (survives_gc_p): Test marked strings differently.
427ec082 12656 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12657 symbol names.
12658 (compact_strings): Removed.
12659
42608ba8
EZ
126602000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12661
12662 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12663 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12664
e0a09e1a
KH
126652000-01-04 Kenichi Handa <handa@etl.go.jp>
12666
dd9f0750 12667 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12668 in a non-empty buffer.
dd9f0750 12669
3c0f3b15 12670 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12671
44cd3ae5
GM
126722000-01-03 Gerd Moellmann <gerd@gnu.org>
12673
12674 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12675 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12676
12677 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12678
c182a70f
EZ
126792000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12680
12681 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12682 need to test for MSDOS frames.
12683
24480d5b
EZ
126842000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12685
12686 * dosfns.c (unspecified_colors): Remove.
12687 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12688 unspecified_bg.
12689 (msdos_stdcolor_name): Return strings for unspecified fore- and
12690 back-ground colors.
12691
12692 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12693 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12694 (tty_color_name): Return Lisp strings for unspecified fore- and
12695 back-ground colors.
12696 (Finternal_set_lisp_face_attribute): Remove the special treatment
12697 for Qunspecified_{f,b}g.
52283633 12698 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12699
047f434a
GM
127002000-01-03 Gerd Moellmann <gerd@gnu.org>
12701
12702 * xdisp.c (reseat_at_next_visible_line_start): Position before
12703 newline only if ending up on a newline.
12704 (next_element_from_ellipsis): Return success. Handle case of
52283633 12705 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12706 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12707 returns 0.
12708
d684c676
EZ
127092000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12710
12711 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12712 (Fcolor_supported_p): Renamed from face-color-supported-p.
12713
5fe1d139
EZ
127142000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12715
12716 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12717 list of colors renamed to tty-defined-color-alist.
12718 (tty_color_name): Pass the frame to tty-color-by-index.
12719 (realize_tty_face): tty-color-alist is now a function which
12720 accepts the frame as argument.
12721
52283633 12722 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12723
816be8b8
EZ
127242000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12725
12726 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12727 encode_terminal_code.
12728
b635321e
EZ
127292000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12730
12731 * dispnew.c (mode_line_string): Support termcap frames as well.
12732
9b784e96
GM
127332000-01-01 Gerd Moellmann <gerd@gnu.org>
12734
27189709
GM
12735 * syntax.c (Fforward_word): Undo previous change.
12736
12737 * editfns.c (Fconstrain_to_field): Don't constrain if
12738 inhibit-field-text-motion is non-nil.
12739 (Fline_beginning_position): Undo previous change.
12740 (Fline_end_position): Ditto.
12741
12742 * syntax.c (Fforward_word): Notice field boundaries only if
12743 inhibit-field-text-motion is nil.
12744
12745 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12746
12747 * editfns.c (Vinhibit_field_text_motion): New variable.
12748 (inhibit-field-text-motion): New DEFVAR_LISP.
12749 (Fline_beginning_position, Fline_end_position): Notice field
12750 boundaries only if inhibit-field-text-motion is nil.
12751
45158a91
GM
12752 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12753 All calls adjusted.
12754 (x_build_heuristic_mask): Likewise.
12755 (xbm_load_image_from_file): Change error output.
12756 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12757 (gif_load, gs_load, x_kill_gs_process): Ditto.
12758
9b784e96
GM
12759 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12760 color indices when accessing raster pixels.
63cec32f
GM
12761 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12762 one of :file or :data.
12763 (enum pbm_keyword_index): Add PBM_DATA.
12764 (pbm_format): Add :data.
12765 (pbm_image_p): Allow either :file or :data.
12766 (pbm_read_file): New function.
12767 (pbm_scan_number): Rewritten to read from string.
12768 (pbm_load): Support :data.
9b784e96 12769
2cb085db 12770See ChangeLog.8 for earlier changes.
6922b018
KH
12771
12772;; Local Variables:
49b3bd82 12773;; coding: iso-2022-7bit
6922b018 12774;; End:
2a34a036
GM
12775
12776 Copyright (C) 2001 Free Software Foundation, Inc.
12777 Copying and distribution of this file, with or without modification,
12778 are permitted provided the copyright notice and this notice are preserved.