(face-font-registry-alternatives) [windows-nt]: Make
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ba88ff28
MB
12001-10-03 Miles Bader <miles@gnu.org>
2
3 * callproc.c (syms_of_callproc): Explicitly state in the
4 documentation for `process-environment' that earlier entries take
5 precedence over later ones.
6
ae1a9581
MB
72001-10-02 Miles Bader <miles@gnu.org>
8
9 * textprop.c (Fnext_char_property_change)
10 (Fprevious_char_property_change): Remove reference to non-existant
11 argument OBJECT from doc-string.
12
257e3f57
GM
132001-10-01 Gerd Moellmann <gerd@gnu.org>
14
15 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
16 (try_window_id): Skip back over lines ending in a newline from a
17 string.
18
19 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
20 New bit flag
21
c1f29759
RS
222001-10-01 Richard M. Stallman <rms@gnu.org>
23
24 * search.c (Freplace_match): Doc fix.
25
c30dce3d
AI
262001-09-28 Andrew Innes <andrewi@gnu.org>
27
28 * w32menu.c (set_frame_menubar): Take into account that
29 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
30 <raeburn@gnu.org>.
31
03be5931
EZ
322001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
33
34 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
35
75bec752
PJ
362001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
37
38 * s/gnu-linux.h: Fix a typo in comment.
39
83100e0a
AS
402001-09-28 Andreas Schwab <schwab@suse.de>
41
42 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
43 nocombreloc, in case -z combreloc is the default.
44
a74b48cf
GM
452001-09-28 Gerd Moellmann <gerd@gnu.org>
46
47 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
48 really going on here.
49
09c4719e
SM
502001-09-27 Stefan Monnier <monnier@cs.yale.edu>
51
52 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
53
f7d5d963
EZ
542001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
55
56 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
57 utf-8, menu-bar, and latin-N.
58 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
59 unconditionally now.
60 (lisp): Add latin-N, since they are preloaded.
61
9240e746
GM
622001-09-27 Gerd Moellmann <gerd@gnu.org>
63
14531065
GM
64 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
65 to the left. Some cleanup.
66
9240e746
GM
67 * xdisp.c (display_mode_element): One more case where a string's
68 multibyteness should be used for display.
69
edd1e654
GM
702001-09-26 Gerd Moellmann <gerd@gnu.org>
71
b02439c8
GM
72 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
73 reading at EOF.
74
032906b1 75 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 76 of the only temporarily set echoing flag for deciding when
032906b1
GM
77 the cancel echoing.
78
79 * keyboard.c (echo_kboard): Make externally visible.
80
81 * lisp.h (echo_kboard): Declare extern.
82
cb617e7c 83 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 84 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
85 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
86 this round of redisplay if make_cursor_line_fully_visible fails.
87 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 88 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
89
90 * dispextern.h (required_matrix_width, required_matrix_height):
91 Add prototypes.
92
09c4719e
SM
93 * dispnew.c (required_matrix_width, required_matrix_height):
94 New functions.
cb617e7c 95 (allocate_matrices_for_window_redisplay)
09c4719e
SM
96 (allocate_matrices_for_frame_redisplay: Use them.
97 Remove parameters CH_DIM.
cb617e7c 98
edd1e654
GM
99 * xdisp.c (display_mode_lines): Temporarily set selected_frame
100 and selected_window to the frame of the window whose mode-lines
101 are displayed, and to the window itself.
102 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 103 here.
edd1e654 104
924b604c
GM
1052001-09-25 Gerd Moellmann <gerd@gnu.org>
106
daba7643
GM
107 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
108 the image cache under us.
109
b7a22712 110 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 111 with a string value, use that string's multibyteness for displaying.
b7a22712 112
ad648212
GM
113 * keyboard.c (read_char): Don't clear a message for a switch-frame
114 event. From Stefan Monnier <monnier@cs.yale.edu>.
115
9f8531e5
GM
116 * xterm.c (fast_find_position) [0]: Add a presumably more correct
117 version for after 21.1.
118
119 * xdisp.c (row_containing_pos): Make externally visible.
120
121 * dispextern.h (row_containing_pos): Add prototype.
122
924b604c
GM
123 * process.c (send_process): Disable composition if from_byte < 0.
124 From Kenichi Handa <handa@etl.go.jp>.
125
6f3f0db4
GM
1262001-09-24 Gerd Moellmann <gerd@gnu.org>
127
c69c0ebc
GM
128 * xterm.c (refreshicon): Function removed.
129
d1182bc4
GM
130 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
131
132 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
133
134 * xterm.c (toplevel): Remove includes in #if 0.
135
6f3f0db4
GM
136 * process.c (sigchld_handler) [LINUX]: Don't return from
137 the signal handler at the end of the loop.
138
59957f85
GM
1392001-09-21 Gerd Moellmann <gerd@gnu.org>
140
09c4719e
SM
141 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
142 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 143
a0528984
EZ
1442001-09-21 Markus Rost <rost@math.ohio-state.edu>
145
146 * Makefile.in (shortlisp): Add ../lisp/env.elc.
147
db92b288
GM
1482001-09-20 Gerd Moellmann <gerd@gnu.org>
149
3fed8ad5
GM
150 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
151 since this function can be called during GC.
152
db92b288
GM
153 * callproc.c (Fcall_process): Handle errors from pipe(2).
154 (child_setup): Delete code in #ifdef vipc.
155
7121b85a
GM
1562001-09-19 Gerd Moellmann <gerd@gnu.org>
157
72f62cb5
GM
158 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
159 (display_mode_element): Display the string from decode_mode_spec
160 depending on its multibyteness.
161
a2697022
GM
162 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
163
7121b85a
GM
164 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
165
bfc97351
GM
1662001-09-18 Gerd Moellmann <gerd@gnu.org>
167
c9063433
GM
168 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
169 recursive_edit_unwind.
170 (recursive_edit_unwind): Set kboard state according to
171 SINGLE-KBOARD.
172
3fbdba3e
GM
173 * buffer.c (modify_overlay): Don't do nothing if START == END;
174 This can still be a modification, for example when an overlay has
175 a before-string or after-string.
176 (Fdelete_overlay): Prevent redisplay optimizations when deleting
177 an overlay with before-string or after-string.
178
1270031d
GM
179 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
180 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
181
bfc97351
GM
182 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
183 first_unchanged_at_end_row is in front of
184 last_unchanged_at_beg_row. This code should be removed after the
185 release of 21.1.
186
d8a973aa
GM
1872001-09-17 Gerd Moellmann <gerd@gnu.org>
188
e18c8b8d
GM
189 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
190 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
191
d8a973aa
GM
192 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
193 versions >= 2.95.
194
ed7d6ba4
EZ
1952001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
196
197 * dired.c (Ffile_attributes): Doc fix.
198
551629f9
GM
1992001-09-14 Gerd Moellmann <gerd@gnu.org>
200
201 * fileio.c (Ffile_symlink_p): Fix last change.
202
203 * filelock.c (current_lock_owner): Fix last change.
204
4c8c7926
GM
2052001-09-13 Gerd Moellmann <gerd@gnu.org>
206
620c4704
GM
207 * filelock.c (current_lock_owner): If readlink returns ERANGE,
208 take that to mean that the buffer is too small.
209
81c3310d
GM
210 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
211 that to mean that the buffer is too small.
212
06fd3792
GM
213 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
214 current buffer's multibyteness when discarding the iterator's
215 stack.
216
4c8c7926
GM
217 * xfns.c (Fx_window_property): Handle case that property gets
218 deleted between the two calls to XGetWindowProperty.
219
9a72e4c1
GM
2202001-09-11 Gerd Moellmann <gerd@gnu.org>
221
bd819d14
GM
222 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
223
a41edd99
GM
224 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
225 in addition to read-only.
226
227 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
228 to t in addition to read-only.
229
230 * lisp.h (Qinhibit_modification_hooks): Declare.
231
232 * insdel.c (Qinhibit_modification_hooks): New variable.
233 (syms_of_insdel): Initialize and staticpro it.
234
d4881c6a
GM
235 * textprop.c (verify_interval_modification): Don't run
236 modification-hooks if inhibit_modification_hooks.
237
238 * dispnew.c (set_window_cursor_after_update): Fix code
239 finding glyph row containing cursor when cursor_in_echo_area
240 is >= 0.
241
9a72e4c1
GM
242 * xdisp.c (init_from_display_pos): Put some code in #if 0.
243 (add_to_log): Use bcopy instead of strcpy.
244 (init_from_display_pos): Use an explicit loop over bytes in
245 overlay strings instead of calling index.
246
f4a374a1
GM
2472001-09-10 Gerd Moellmann <gerd@gnu.org>
248
300e57bd
GM
249 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
250
251 * dispnew.c (direct_output_for_insert): Don't change IT's
252 stop_charpos to something in front of its current position.
253
f4a374a1
GM
254 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
255 `format'.
256
7e4cbc91
RS
2572001-09-10 Richard M. Stallman <rms@gnu.org>
258
259 * frame.c (Fmouse_position): Doc fix.
260
6afad91e
GM
2612001-09-07 Gerd Moellmann <gerd@gnu.org>
262
263 * xdisp.c (init_from_display_pos): Don't compare the result
264 of calling index with NULL.
265
f76e0368
GM
2662001-09-06 Gerd Moellmann <gerd@gnu.org>
267
268 * xfns.c (x_set_background_color): Don't change the colors
269 of the X window of scroll bar widgets.
270
9ead1b60
AI
2712001-09-05 Andrew Innes <andrewi@gnu.org>
272
273 * w32fns.c (w32_createwindow): Undo last change.
274
c3b497b3
GM
2752001-09-05 Gerd Moellmann <gerd@gnu.org>
276
08e1d6df
GM
277 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
278
c3b497b3
GM
279 * xdisp.c (string_buffer_position): Use *single_char_property*
280 functions instead of the *single_property* functions.
281
8f860180
AI
2822001-09-04 Andrew Innes <andrewi@gnu.org>
283
9a72e4c1
GM
284 * w32term.c (w32_read_socket): Add more information to debugging
285 output.
8f860180
AI
286
287 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
288 from Emacs frames, so that calls to GetClipBox in w32term.c
289 correctly report when part of a frame is visible (including
290 scrollbars, etc). This prevents repeated redrawing of frames when
291 only a scrollbar is visible.
292 (w32_wnd_proc): Add more frame information to debugging output.
293
2ee1aa00
SM
2942001-09-03 Stefan Monnier <monnier@cs.yale.edu>
295
296 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
297
e3b22517
GM
2982001-09-03 Gerd Moellmann <gerd@gnu.org>
299
7e376260
GM
300 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
301 help-echo for a string which doesn't have help-echo itself, use
302 get-char-property to obtain the help-echo from the string's buffer
303 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
304 have mouse-face, look ``under'' the string for mouse-face from an
305 overlay.
306 (fast_find_position): Add parameter STOP. In the final row, stop
307 before glyphs having STOP as object. Don't consider glyphs that
308 are not from a buffer.
309
e3b22517
GM
310 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
311
9a249bba
EZ
3122001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
313
314 * fns.c (Fmd5): Doc fix.
315
c9979669
GM
3162001-08-31 Gerd Moellmann <gerd@gnu.org>
317
318 * composite.c (update_compositions): Do nothing if
319 inhibit-modification-hooks is set.
320
9584e63a
GM
3212001-08-30 Gerd Moellmann <gerd@gnu.org>
322
986ec8f2 323 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 324 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
325 glyph matrices etc. in a core dump.
326
92a25631
GM
327 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
328 (syms_of_xdisp): Initialize them.
329 (handle_single_display_prop): Don't change point, bind `object',
330 `position', and `buffer-position' instead to the object having the
2ee1aa00 331 `display' property, position in the object and position in the buffer.
92a25631 332
9584e63a
GM
333 * fileio.c (Finsert_file_contents): Don't change the multibyteness
334 of the buffer if REPLACE is non-nil.
335
d38633a3
GM
3362001-08-29 Gerd Moellmann <gerd@gnu.org>
337
338 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
339
f4fccc1e
EZ
3402001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
341
342 * w32term.c (x_set_glyph_string_background_width)
343 (show_mouse_face): Track the last changes in xterm.c.
344
eaaa65b0
GM
3452001-08-28 Gerd Moellmann <gerd@gnu.org>
346
7b0870b2
GM
347 * xterm.c (x_set_glyph_string_background_width): Set the glyph
348 string's background width so that multi-line mouse-face is drawn
349 to the right edge of the window.
350 (show_mouse_face): Set the row's mouse_face_p flag after drawing
351 glyphs.
352
6b6e2422 353 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 354 before inserting/writing glyphs.
6b6e2422 355
eaaa65b0
GM
356 * xdisp.c (display_mode_element): Use string_byte_to_char to
357 determine character positions in strings, use chars_in_text
358 instead of strwidth.
359 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
360 a matrix as parameter; this is easier to use from GDB.
361
9ad62cf8
MB
3622001-08-28 Miles Bader <miles@gnu.org>
363
2ee1aa00
SM
364 * textprop.c (Fprevious_single_char_property_change)
365 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 366
32171635
GM
3672001-08-27 Gerd Moellmann <gerd@gnu.org>
368
47d57b22
GM
369 * fileio.c (Finsert_file_contents): Allocate, restore, and
370 free composition data in the case of REPLACE not being nil.
371
372 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
373 there exist overlay strings with newlines at POS.
374 (text_outside_line_unchanged_p): Return 0 if changes start at
375 START and overlays exist at START. Likewise for END.
376 (try_window_id): Give up if init_to_row_end returns 0.
377
32171635
GM
378 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
379 unconditionally.
380
e1249666
GM
3812001-08-24 Gerd Moellmann <gerd@gnu.org>
382
33954c45
GM
383 * keymap.c (access_keymap): Return the cdr of the binding of
384 a generic character instead of its definition (KEY . BINDING).
385
e1249666
GM
386 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
387 to 0 also in the REPLACE case.
388
fb4c6c96
AC
3892001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
390
391 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
392 open to determine whether file is readable (as for DOS_NT).
393
59ecf80b
GM
3942001-08-23 Gerd Moellmann <gerd@gnu.org>
395
396 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
397 coding.type is coding_type_no_conversion or coding_type_raw_text,
398 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
399 non-nil instead of just setting enable_multibyte_characters in the
400 buffer to nil.
401
40e33037
GM
4022001-08-22 Gerd Moellmann <gerd@gnu.org>
403
374388c3
GM
404 * dispextern.h (struct face_cache): Add member
405 menu_face_changed_p.
406
407 * xfaces.c (menu_face_changed_default): New variable.
408 (menu_face_changed_count): Variable removed.
409 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
410 the menu_face_changed_default flag, otherwise set the FRAME's
411 menu_face_changed_p flag if the `menu' face has been changed.
412 Prevent calling set_font_frame_param if FRAME is t.
413 (make_face_cache): Initialize cache's menu_face_changed_p
414 from menu_face_changed_default.
415 (realize_basic_faces): Look into the frame's face cache to
416 determine if the menu appearance needs updating.
417
40e33037
GM
418 * keymap.c (access_keymap): Fix last change to not consider
419 IDX when it has modifiers.
420
859ea4b8
GM
4212001-08-21 Gerd Moellmann <gerd@gnu.org>
422
423 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
424 . BINDING) exists, where GENERIC-CHAR is the generic character of
425 the charset of IDX, return BINDING unless there exists a binding
426 for IDX itself.
427
e8660d73
GM
4282001-08-16 Gerd Moellmann <gerd@gnu.org>
429
cca1b1d7
GM
430 * xrdb.c (SYSV): Don't define on Solaris 2.
431 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
432
e8660d73 433 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 434 of the screen line, not text line, containing IT's current position.
e8660d73 435
93aba6fc
GM
4362001-08-15 Gerd Moellmann <gerd@gnu.org>
437
288d4e06
GM
438 * window.c (window_scroll_pixel_based): Don't recenter if
439 PT is partially visible in the window.
440
3452efc2
SM
441 * xterm.c (expose_window_tree, expose_window, expose_line):
442 Return 1 when overwriting mouse-face.
82f053ab
GM
443 (expose_frame): If mouse-face was overwritten, redo it.
444
93aba6fc
GM
445 * xfaces.c (x_update_menu_appearance): Don't call
446 set_frame_menubar, let the next redisplay do it.
447
858a55c1
AI
4482001-08-14 Andrew Innes <andrewi@gnu.org>
449
450 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
451 drawing glyph string.
452
3a990b67
EZ
4532001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
454
455 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
456 running HI-UX/MPP.
457
04386463
GM
4582001-08-14 Gerd Moellmann <gerd@gnu.org>
459
460 * xfaces.c (x_update_menu_appearance): Save and restore value of
461 interrupt_input_blocked.
462
3e6385a4
GM
4632001-08-13 Gerd Moellmann <gerd@gnu.org>
464
b0e619b4
GM
465 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
466 a line start, move back to the line start.
3452efc2 467
0de73d5a
GM
468 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
469 exactly when a mini-buffer is active.
470
3e6385a4
GM
471 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
472 in units of 1/8 character on non window-system frames.
473 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
474
d1b5f629
EZ
4752001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
476
477 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
478 a doc string.
479
eaa2319f
GM
4802001-08-09 Gerd Moellmann <gerd@gnu.org>
481
8e3189f0
GM
482 * keyboard.c (Vpre_help_message): New variable.
483 (syms_of_keyboard): Initialize and staticpro it.
484 (show_help_echo): Record current message before displaying a
485 help-echo, and restore that message when clearing the help.
486
eaa2319f
GM
487 * xfns.c (x_create_im): Remove prototype.
488
489 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
490
491 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 492
eaa2319f
GM
4932001-08-08 Gerd Moellmann <gerd@gnu.org>
494
495 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 496 windows whose height has changed, disable partially visible lines.
eaa2319f 497
17fdcfc8
GM
4982001-08-07 Gerd Moellmann <gerd@gnu.org>
499
22d01aed 500 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 501 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 502
17fdcfc8
GM
503 * xdisp.c (start_display): Don't try to determine the continuation
504 lines width if lines are truncated. It's superfluous and leads to
505 incorrect results if POS is not visible in the window after
506 reseating the iterator at the previous line start.
507
8e3fe78e
GM
5082001-08-06 Gerd Moellmann <gerd@gnu.org>
509
510 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
511
98a8938c
GM
5122001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
513
514 * alloc.c (init_stack): Remove declaration.
515
18f9986a
GM
5162001-08-03 Gerd Moellmann <gerd@gnu.org>
517
5e1f85e0
GM
518 * keyboard.c (read_key_sequence): Check that key is an integer
519 before comparing it with quit_char.
520 (add_command_key): Use larger_vector.
521 (read_char_x_menu_prompt): Instead of converting symbol and
522 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 523 which cannot be confused with valid events.
5e1f85e0
GM
524 (read_char): When reading from Vunread_command_events, check for
525 events of the form (EVENT . disabled) instead of
526 (EVENT . nil).
527
18f9986a
GM
528 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
529 a float, determine the max height from the frame's height.
530
fbc7f2a6
GM
5312001-08-02 Gerd Moellmann <gerd@gnu.org>
532
533 * xdisp.c (redisplay_internal): Take message_cleared_p into
534 account only if minibuf_level == 0.
535
81b1a79d
GM
5362001-08-01 Gerd Moellmann <gerd@gnu.org>
537
e5c60873
GM
538 * xdisp.c (redisplay_internal): Add a check for the last
539 displayed message.
3452efc2 540
6e019995
GM
541 * xdisp.c (message_cleared_p): New variable.
542 (clear_message): Set message_cleared_p when clearing the current
543 message.
544 (redisplay_internal): Look at message_cleared_p to capture
545 the case that the echo area should be cleared.
546
308a74d8
GM
547 * keyboard.c (command_loop_1): Fix spelling of
548 resize_echo_area_exactly.
549
3452efc2 550 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
551
552 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
553
81b1a79d
GM
554 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
555 current matrix when the window gets smaller.
556
ada329e6
EZ
5572001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
558
559 * print.c (strout): Cast the character passed to insert_char to
560 unsigned char, to avoid sign extension when it is promoted to int.
561
ed86208c
GM
5622001-07-31 Gerd Moellmann <gerd@gnu.org>
563
564 * fileio.c (Finsert_file_contents): Don't treat a return value
565 of 0 from emacs_read as an IO error.
566
6594ac22
GM
5672001-07-30 Gerd Moellmann <gerd@gnu.org>
568
cef68af5
GM
569 * keyboard.c (abs): New macro.
570 (double_click_fuzz): New variable.
571 (make_lispy_event): Use it to determine what makes a double-click.
572 (syms_of_keyboard): DEFVAR_INT it.
573
6594ac22
GM
574 * xmenu.c (set_frame_menubar): Take into account that
575 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
576 <raeburn@gnu.org>.
577
75c5350a
GM
5782001-07-27 Gerd Moellmann <gerd@gnu.org>
579
580 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
581
582 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
583 of row's visible height.
584
585 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
586 deal with the first overlay string having an image `display' property.
587 (try_window_reusing_current_matrix, compute_line_metrics):
588 Fix computation of row's visible height for the case that part of the
75c5350a
GM
589 row is invisible above and part of the row is at the same time
590 invisible below the window.
591
ac49effe
GM
5922001-07-26 Gerd Moellmann <gerd@gnu.org>
593
594 * xfns.c (x-show-tip): Doc fix.
3452efc2 595
ac49effe
GM
596 * xfns.c (Vx_max_tooltip_size): New variable.
597 (syms_of_xfns): DEFVAR_LISP it.
598 (Fx_show_tip): Set frame's window_width to the width of the
599 window. Use a maximum tooltip size specified by
600 Vx_max_tooltip_size, if that has valid contents.
601 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 602
8c3b00cb
AI
6032001-07-26 Andrew Innes <andrewi@gnu.org>
604
605 * w32term.c (x_display_list): New variable.
606 (w32_term_init): Set it.
607
608 * w32term.h (x_display_list): New extern.
609
16098288
GM
6102001-07-26 Gerd Moellmann <gerd@gnu.org>
611
612 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
613 is non-nil, instead of when redisplaying_p is non-zero.
614 See comment there.
16098288
GM
615 (mark_window_display_accurate_1): Add an assertion.
616
64c5be50
GM
6172001-07-25 Gerd Moellmann <gerd@gnu.org>
618
e743f599
GM
619 * dispextern.h (struct it): Increase size of ctl_chars to 16.
620
563b384d
GM
621 * xfns.c (Fx_file_dialog): Block/unblock input while processing
622 events so that we get a chance of processing expose events.
623
64c5be50
GM
624 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
625
296808a5
GM
6262001-07-24 Gerd Moellmann <gerd@gnu.org>
627
628 * xfns.c (valid_image_p): Protect better against invalid image
629 specifications. Previous code could signal an error.
630
5247262a
GM
6312001-07-23 Gerd Moellmann <gerd@gnu.org>
632
3452efc2 633 * indent.c (current_column): Fix column computation in the
f1004faf
GM
634 presence of display table entries.
635 (current_column_1, Fmove_to_column, compute_motion): Likewise.
636
dd42b31a
GM
637 * dispnew.c (adjust_glyph_matrix): In the optimization for
638 windows whose height has changed, use the new window height
639 to compute which rows to invalidate.
640
9e5a7f2a
GM
641 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
642 (MAX_10_EXP): New macro.
643 (Fformat): Use it.
644
5247262a
GM
645 * coding.c (code_convert_region): Handle the multibyte case if
646 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
647
177ab8ce
GM
6482001-07-20 Gerd Moellmann <gerd@gnu.org>
649
6e07c0a5
GM
650 * dispextern.h (struct face): Change type of `stipple' to
651 int; it's an ID.
652
177ab8ce
GM
653 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
654
b5b80599
GM
6552001-07-19 Gerd Moellmann <gerd@gnu.org>
656
4e2a256b
GM
657 * dispnew.c (update_window): Don't set the cursor at the end
658 of the update if display update has been paused.
659
3452efc2 660 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 661
c1fd9232
KR
6622001-07-18 Ken Raeburn <raeburn@gnu.org>
663
664 * fns.c (Fset_char_table_default): Check that a charset is defined
665 before checking its dimension.
666
928a85c1
KR
6672001-07-17 Ken Raeburn <raeburn@gnu.org>
668
669 * coding.c (setup_coding_system): Don't do any designation based
670 on reg_bits if charset is not yet defined.
671
fb4c6c96 672 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
673 pointer, using eassert.
674
de11c1ea
GM
6752001-07-17 Gerd Moellmann <gerd@gnu.org>
676
3452efc2
SM
677 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
678 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 679
467f1209
GM
6802001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
681
682 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
683
c3d6be34
GM
6842001-07-16 Gerd Moellmann <gerd@gnu.org>
685
c1d61a7d
GM
686 * fileio.c (unwind_read): Function removed.
687 (read_non_regular, read_non_regular_quit): New functions.
688 (Finsert_file_contents): When reading from non-regular files,
689 arrange to catch a `quit' and terminate the loop. Rearrange
690 code so that a `quit' when reading from a regular file doesn't
691 insert text in the buffer.
692
c3d6be34
GM
693 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
694 Clear faces afterwards.
695 (clear_font_table): Take a x_display_info parameter. Don't free
696 fonts being the default font of any frame on the given display.
697
e06aa1f9
GM
6982001-07-13 Gerd Moellmann <gerd@gnu.org>
699
700 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
701 instead of CHAR_STRING which can signal an error.
702
703 * charset.c (char_to_string_1): Extracted from char_to_string.
704 Return -1 instead of signaling an error.
705 (char_to_string): Use it.
706
707 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
708
176c92e6
SM
7092001-07-12 Stefan Monnier <monnier@cs.yale.edu>
710
711 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
712 is t, don't try to append anything to it.
713
1c56232f
EZ
7142001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
715
716 * dired.c (file_name_completion): Pass dp->d_name to
717 Fstring_match, not elt, which is always nil here.
718
1d2b2268
GM
7192001-07-12 Gerd Moellmann <gerd@gnu.org>
720
721 * xselect.c (x_decline_selection_request): Handle errors
722 caused by receivers that have vanished.
723
724 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
725 ignoring events on foreign windows in #if 0. Always dispatch
726 the event after checking it with x_handle_property_notify.
727
728 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
729 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
730 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
731 (toplevel): Add prototypes for file-local functions.
732 (x_atom_to_symbol): Remove DPYINFO parameter.
733
fe5a0162
SM
7342001-07-11 Stefan Monnier <monnier@cs.yale.edu>
735
736 * w32menu.c (menubar_selection_callback, w32_menu_show):
737 Initialize `entry' to nil.
738 (w32_dialog_show): Remove unused `save_wv' variable.
739 (name_is_separator): Recognize "--:foo" and "--foo-bar".
740
a777242c
GM
7412001-07-11 Gerd Moellmann <gerd@gnu.org>
742
8ee5b6a3
GM
743 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
744
d0e2444e
GM
745 * fileio.c (unwind_read): Print a message when discarding inserted
746 text or switching the buffer to unibyte. Change parameter.
747 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 748
a777242c
GM
749 * fileio.c (unwind_read): New function.
750 (Finsert_file_contents): Record it as unwind-function for
751 the case that reading is interrupted by C-g.
752
ae794295
GM
7532001-07-10 Gerd Moellmann <gerd@gnu.org>
754
fe5a0162 755 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
756 update when scrolling_window returns 0.
757
6b05fae3
GM
758 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
759
760 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 761 for the case that x_decode_color signals an error.
6b05fae3 762
ae794295
GM
763 * xdisp.c (add_to_log): Do nothing if called asynchronously.
764
bb6e8cee
GM
7652001-07-09 Gerd Moellmann <gerd@gnu.org>
766
767 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
768 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
769 around ioctls.
770
36b40a8a
EZ
7712001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
772
24b97d4b
EZ
773 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
774 doc string line for dos-timezone-offset.
775
36b40a8a
EZ
776 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
777 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
778 (syms_of_msdos): Add \n\ at the end of a line in the doc string
779 line for dos-unsupported-char-glyph.
36b40a8a
EZ
780
781 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
782
0967b4b0
GM
7832001-07-05 Gerd Moellmann <gerd@gnu.org>
784
f25cfe53
GM
785 * sound.c: Include Emacs' header files with #include "...".
786
0967b4b0
GM
787 * eval.c (specbind): Additionally record the buffer that was
788 current when a buffer-local or frame-local variable was bound.
789
c347a1c3
GM
7902001-07-04 Gerd Moellmann <gerd@gnu.org>
791
792 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
793 to unibyte characters in unibyte buffers.
794
6332ca8a
GM
7952001-07-03 Gerd Moellmann <gerd@gnu.org>
796
38472d44
GM
797 * eval.c (specbind): If SYMBOL has a frame-local binding, record
798 the frame on the binding stack. Change format of entries for
799 local bindings on the binding stack to '(SYMBOL . WHERE)'.
800 (unbind_to): Handle unbinding a frame-local variable.
801
6332ca8a 802 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 803 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
804 (dump_glyph_row): Print row's continuation_lines_width.
805 (try_window_id): Take the shortcut if ZV is visible in the
806 window, but there are actually no changes at ZV.
807
63d1b174
GM
8082001-07-02 Gerd Moellmann <gerd@gnu.org>
809
4c175203
GM
810 * xterm.h (x_free_dpy_colors): Add prototype.
811
812 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
813 right number of arguments.
814
0b54ce28
GM
815 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
816 ($(lwlibdir)TAGS): New target.
4c175203 817 (TAGS): Fix dependency list.
0b54ce28 818
63d1b174
GM
819 * xterm.c (x_list_fonts): Make sure XFreeFont is called
820 with input blocked.
821
d827466c
GM
8222001-06-30 Gerd Moellmann <gerd@gnu.org>
823
824 * emacs.c (main): Remove extern declaration for sys_nerr, which
825 isn't used and causes a compilation error with GCC 3.0 on
826 FreeBSD 4.3.
827
b5cb1ada
GM
8282001-06-27 Gerd Moellmann <gerd@gnu.org>
829
a5d3ec3f 830 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 831 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
832 (toplevel): Include <signal.h> and syssignal.h.
833
b5cb1ada
GM
834 * sound.c (vox_configure, vox_close): Turn off atimers
835 around ioctls.
836
d9bad487
GM
8372001-06-26 Gerd Moellmann <gerd@gnu.org>
838
fdbb67fe
GM
839 * keyboard.c (read_char) <non_reread>: Record the previous idle
840 start time before calling timer_stop_idle.
841 (read_char) <reread_first>: After processing a help-echo event,
842 restore the previous idle start time.
843
d9bad487
GM
844 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
845 the start of invisible text.
846 (setup_for_ellipsis): New function.
847 (next_overlay_string): After all overlay strings have been
848 processed, display an ellipsis if necessary.
849 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
850 (push_it): Initialize display_ellipsis_p on the iterator's stack.
851
852 * dispextern.h (struct iterator_stack_entry): Add member
853 display_ellipsis_p.
854
2b9c25e0
GM
8552001-06-25 Gerd Moellmann <gerd@gnu.org>
856
80de57df
GM
857 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
858 on the value of the wait-for-wm frame parameter.
859
860 * xterm.h (struct x_output): Add member wait_for_wm.
861
862 * xfns.c (Qwait_for_wm): New variable.
863 (x_frame_parms): Add entry for `wait-for-wm".
864 (x_set_wait_for_wm): New function.
865 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
866 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
867
2b9c25e0
GM
868 * xdisp.c (try_window_id) <all changes below window end>: Don't
869 take this shortcut if ZV is visible in the window.
870 (try_window_id): When checking for window start being in changed
871 text, don't check that the buffer's size has changed.
872
f772775c
RS
8732001-06-23 Richard M. Stallman <rms@gnu.org>
874
875 * minibuf.c (Fcompleting_read): Doc fix.
876
fa9090b8
GM
8772001-06-19 Gerd Moellmann <gerd@gnu.org>
878
879 * composite.c (Ffind_composition_internal): Accept ZV
880 and a string's end position as POS.
881
f6f1beba
GM
8822001-06-18 Gerd Moellmann <gerd@gnu.org>
883
884 * composite.c (Ffind_composition_internal): Check POS
885 for validity.
886
0ae83348
EZ
8872001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
888
889 * editfns.c (Fmessage_box): If the frame is not under a window
890 system, output the message in the echo area.
891
e4cdc335
RS
8922001-06-14 Richard M. Stallman <rms@gnu.org>
893
894 * xdisp.c (try_window_id): When EOB is visible, don't treat
895 insertion at EOB as if it were "off the bottom of the screen."
896
a55a5f3c
AI
8972001-06-11 Andrew Innes <andrewi@gnu.org>
898
899 * w32proc.c (create_child): Add new parameter is_gui_app.
900 (w32_executable_type): Add new parameter is_gui_app.
901 (sys_spawnve): Use it.
902 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
903 SIGQUIT. This matches better how the signals are interpreted by
904 MSVC compiled programs.
905 (syms_of_ntproc): Update docstring.
906
1b85dc1c
SM
9072001-06-02 Stefan Monnier <monnier@cs.yale.edu>
908
909 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
910 well otherwise note_mouse_highlight might optimize away highlighting
911 if we pass over that same overlay again.
912
b75f8eab
EZ
9132001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
914
915 * lread.c (Fload): Document that the argument is run via
916 substitute-in-file-name.
917
94843cc1
GM
9182001-05-31 Gerd Moellmann <gerd@gnu.org>
919
b14659e6
GM
920 * Makefile.in (bootstrap-doc): New target.
921 (bootstrap-emacs): Depend on it.
922
0894672f
GM
923 * fileio.c (Fdo_auto_save): Don't try to create the directory of
924 auto-save-list-file-name when shutting down Emacs, because
925 creating the directory might signal an error, and leaves
926 Emacs in a strange state.
927
94843cc1
GM
928 * term.c: (tty_cursor_hidden): New variable.
929 (update_begin): Don't call tty_hide_cursor. Clean up.
930 (update_end, set_terminal_window, set_scroll_region): Clean up.
931 (ring_bell, reset_terminal_modes): Clean up.
932 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
933 on tty_cursor_hidden.
934 (write_glyphs): Call tty_hide_cursor.
935
db3a49a6
SM
9362001-05-30 Stefan Monnier <monnier@cs.yale.edu>
937
938 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
939
8bd189fb
GM
9402001-05-30 Gerd Moellmann <gerd@gnu.org>
941
6f1be3b9
GM
942 * xfns.c (enum image_value_type): New enumerator
943 IMAGE_STRING_OR_NIL_VALUE.
944 (parse_image_spec): Handle it.
945 (xbm_format, pbm_format): Use it for :foreground and :background.
946 (xbm_load, pbm_load): Check for nil color names.
947
8bd189fb
GM
948 * xterm.c (note_mouse_highlight): If an overlapping overlay
949 exists, but we find that we highlight the same overlay as before,
950 don't do the highlighting again.
951
7bdba03c
GM
9522001-05-29 Gerd Moellmann <gerd@gnu.org>
953
4c329aa8
GM
954 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
955 Protect unibyte strings created by replacing their multibyte
956 equivalents in menu_items.
957
e15e2828
GM
958 * keymap.c (Fsingle_key_description): NUL-terminate the string
959 buffer before calling build_string.
960
7bdba03c
GM
961 * callproc.c (Fcall_process): Deal with decode_coding returning
962 CODING_FINISH_INCONSISTENT_EOL.
963
89c8dc6c
GM
9642001-05-28 Gerd Moellmann <gerd@gnu.org>
965
db3a49a6 966 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
967 an item's name with its key description in case the description
968 is a multibyte string.
969
970 * keymap.c (Fsingle_key_description): Create a multibyte string
971 only if necessary.
972
eb04d6cd
GM
973 * macros.c (Fstart_kbd_macro): Doc fix.
974
8bd6307f
GM
975 * xterm.c (cursor_in_mouse_face_p): New function.
976 (x_draw_stretch_glyph_string): Use it to choose a different GC
977 when drawing a cursor within highlighted text.
978
e26c4089
GM
979 * editfns.c (char_property_eq): Put in #if 0.
980
981 * indent.c (string_display_width): Put in #if 0.
982
983 * lread.c (Fload): Remove unused label.
984
89c8dc6c
GM
985 * termcap.c (speeds): Put in #if 0.
986
9a1211f2
GM
9872001-05-18 Gerd Moellmann <gerd@gnu.org>
988
29148a3f
GM
989 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
990
9a1211f2
GM
991 * xfaces.c (xlfd_point_size): Don't divide pixel size from
992 transformation matrix by 10.
993
09393d07
GM
9942001-05-16 Gerd Moellmann <gerd@gnu.org>
995
996 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
997 only if it's equal to the former foreground pixel color.
db3a49a6 998 (x_set_foreground_color, x_set_background_color)
09393d07
GM
999 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1000
460e6bae
GM
10012001-05-16 Dave Love <fx@gnu.org>
1002
1003 * insdel.c (signal_before_change, signal_after_change): Consider a
1004 local change hook which changes the buffer.
99c78ce8
GM
1005
1006 * process.c (read_process_output): Don't call signal_after_change
1007 and update_compositions after insert_from_string_before_markers.
1008
dbcf3c03
GM
10092001-05-16 Gerd Moellmann <gerd@gnu.org>
1010
a90b3d3c
GM
1011 * xfaces.c (split_font_name): Use the right field when
1012 checking for `[...]' syntax.
1013
1b7818b4
GM
1014 * buffer.c (copy_overlays): New function.
1015 (clone_per_buffer_values): Use it.
1016
1017 * buffer.h (OVERLAY_PLIST): New macro.
1018
9bae8781
GM
1019 * keymap.c (Fsingle_key_description): Replace a build_string with
1020 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1021
dbcf3c03
GM
1022 * fontset.c (Ffontset_info): Check that face is non-null
1023 before accessing its fields.
1024
8a1ae4dd
GM
10252001-05-15 Gerd Moellmann <gerd@gnu.org>
1026
18a0a39e
GM
1027 * keyboard.c (read_key_sequence): Prevent generating a fake
1028 prefix key twice.
1029
e335b66a
GM
1030 * xfaces.c (split_font_name): Handle `[...]' for the right
1031 font name fields.
1032
8a1ae4dd
GM
1033 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1034 of CCL_STAT_INVALID_CMD.
1035
3cf80731
SM
10362001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1037
33568849
SM
1038 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1039 in <var> has no default value yet.
1040
3cf80731
SM
1041 * xfaces.c (try_alternative_families): First try the FAMILY.
1042 And if nothing is found in the end, try again with scalable fonts.
1043 (try_font_list): Let try_alternative_families do a bit more of
1044 the work. Only use FAMILY if it is not nil.
1045 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1046
933b0249
GM
10472001-05-14 Gerd Moellmann <gerd@gnu.org>
1048
58e5af83
GM
1049 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1050 pointer shape when show_mouse_face has already done it.
33568849 1051
58e5af83 1052 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1053 full-width rows.
1054
7b16a6bf
GM
1055 * xfaces.c (split_font_name): Make sure to leave the loop
1056 with the right value of `i'.
3cf80731 1057
933b0249
GM
1058 * xfaces.c (split_font_name): Handle matrix transformations
1059 in the pixel and point size fields of XLFD font names.
1060 (xlfd_point_size): Likewise.
1061
dddcbf00
EZ
10622001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1063
3cf80731 1064 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1065 (x_to_w32_font): Add prototype.
1066
7689ef0b
EZ
1067 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1068 redefining, to avoid compiler warnings.
1069
e7c15bba
EZ
1070 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1071
dddcbf00
EZ
1072 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1073 (w32_get_bdf_glyph): Cast between unsigned char and char when
1074 passing arguments to subroutines, to shut up compiler warnings.
1075 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1076 GET_HEX_VAL.
1077
1078 * xfaces.c: Include keyboard.h before frame.h, not after it.
1079
1080 * widget.c: Include keyboard.h before frame.h.
1081
1082 * w32term.h (struct image, struct face): Forward declaration, to
1083 avoid compiler warnings.
1084
7bd2d083
GM
10852001-05-11 Gerd Moellmann <gerd@gnu.org>
1086
47e72862
GM
1087 * keyboard.c (read_key_sequence): Don't modify events when
1088 generating fake prefix keys (mode-line, scroll-bar, ...) since
1089 this prevents proper processing of such events when pushed back
1090 into unread-command-events.
1091
dd5f324b
GM
1092 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1093 actually redrawn. Make the function static.
1094 (note_mouse_highlight): Fix a case where the mouse cursor
1095 was changed back to the text cursor.
1096
1097 * xterm.h (clear_mouse_face): Remove prototype.
1098
d88a79d4
GM
1099 * xdisp.c (try_window_id): Fix the fix and set the right
1100 window_end_vpos.
1101
1102 * xdisp.c (try_window_id): Fix computation of window end in the
1103 case that lines were deleted at the end of the window. Add some
1104 more debug_method_adds.
0416532f 1105
7bd2d083
GM
1106 * xfaces.c (try_alternative_families): New function.
1107 (try_font_list): Use it. If ATTRS specifies a family, check
1108 fonts from that family first.
1109 (choose_face_font): Remove code setting the family part of
1110 the pattern to nil.
1111
23fca891
GM
11122001-05-10 Gerd Moellmann <gerd@gnu.org>
1113
ff9aa2ca
GM
1114 * xdisp.c (try_window_id): Fix case of all changes before
1115 the window start.
7b2654b5 1116
23fca891
GM
1117 * xdisp.c (try_window_id): Add some xasserts.
1118
e9726794
GM
11192001-05-09 Gerd Moellmann <gerd@gnu.org>
1120
1121 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1122
9e53a675
GM
11232001-05-09 Dave Love <fx@gnu.org>
1124
1125 * xdisp.c (GIVE_UP): Fix for K&R C.
1126
0d487c52
GM
11272001-05-09 Gerd Moellmann <gerd@gnu.org>
1128
fe88d421
GM
1129 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1130
0d487c52
GM
1131 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1132 back to the text cursor shape without need.
1133
1e9fc92e
GM
11342001-05-07 Gerd Moellmann <gerd@gnu.org>
1135
a2a6232e
GM
1136 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1137
1138 * dispextern.h (inverse_video): Declare extern.
1139
1e9fc92e
GM
1140 * keyboard.c (delete_kboard): Handle the case that selected_frame
1141 has been deleted in the course of x_connection_closed.
1142
12949a7f
EZ
11432001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1144
7b2654b5
SM
1145 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1146 Fix the change from 2001-04-30.
12949a7f 1147
2fa2f461
GM
11482001-05-03 Gerd Moellmann <gerd@gnu.org>
1149
a779d213
GM
1150 * xfns.c (file_dialog_unmap_cb): New function.
1151 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1152 where a dialog is closed via the window manager.
1153
7b2654b5 1154 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1155 the window start or all below the window end mostly rewritten.
1156 (redisplay_window): Move the tests if try_window_id is
1157 applicable to try_window_id.
1158 (GIVE_UP): New macro.
1159
3356df63
GM
11602001-05-02 Gerd Moellmann <gerd@gnu.org>
1161
a39202f6 1162 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1163 currently being updated, mark the frame garbaged.
1164 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1165 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1166
3356df63
GM
1167 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1168 again if it has already been drawn.
1169
a9d2fd1d
SM
11702001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1171
1172 * syntax.c (update_syntax_table): Check that oldi has the same
1173 properties as old_prop before deciding not to invalidate.
1174
c95fc5f1
GM
11752001-04-30 Gerd Moellmann <gerd@gnu.org>
1176
a9793e45
GM
1177 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1178 read-only text that is so because of text properties.
1179
c95fc5f1 1180 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1181 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1182 windows that are components of a Lucid menu bar.
1183
5a5d9185
GM
11842001-04-27 Gerd Moellmann <gerd@gnu.org>
1185
1186 * term.c (turn_on_face): Fix reverse video handling on terminals
1187 that don't support colors.
1188
ba973f7a
GM
11892001-04-26 Gerd Moellmann <gerd@gnu.org>
1190
1191 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1192 a non-buffer.
1193
8c56a983
GM
11942001-04-25 Gerd Moellmann <gerd@gnu.org>
1195
a728644c
GM
1196 * term.c (toggle_highlight): New function.
1197 (turn_on_face): Change handling of reverse video.
1198
7b2654b5
SM
1199 * process.c (wait_reading_process_input):
1200 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1201
bfd8410f
GM
1202 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1203 of the number of overlays to check.
1204
be2488ca
GM
1205 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1206
8c56a983
GM
1207 * xdisp.c (try_window_id): Fix a case where window_end_pos
1208 and window_end_bytepos were not adjusted.
1209
522d42f7
GM
12102001-04-23 Gerd Moellmann <gerd@gnu.org>
1211
1212 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1213 zero instead of -1.
1214
78c1afb6
EZ
12152001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1216
a9d2fd1d
SM
1217 * process.c (wait_reading_process_input) [!subprocesses]:
1218 Don't reference waiting_for_user_input_p, it's not defined in the
1219 branch without async subprocesses support.
78c1afb6 1220
a2fab450
GM
12212001-04-19 Gerd Moellmann <gerd@gnu.org>
1222
a122a38e
GM
1223 * keyboard.c (delete_kboard): Prevent a dangling reference
1224 from current_kboard to KB, which is freed.
1225
a9d2fd1d
SM
1226 * process.c (wait_reading_process_input):
1227 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1228 read_key_sequence aware of buffer changes from under it.
1229
0f8d6dc7
GM
12302001-04-18 Gerd Moellmann <gerd@gnu.org>
1231
eeffb293
GM
1232 * xfaces.c (Qscalable_fonts_allowed): New variable.
1233 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1234 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1235 removed.
eeffb293 1236 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1237 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1238 for scalable-fonts-allowed to t.
eeffb293 1239
0f8d6dc7
GM
1240 * fileio.c (Finsert_file_contents): If the file size returned from
1241 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1242 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1243
eec2d1de
EZ
12442001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1245
1246 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1247 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1248 (__memalign_hook): Make the two prototypes consistent.
1249
f4f480bd
GM
12502001-04-17 Gerd Moellmann <gerd@gnu.org>
1251
1252 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1253 matrix of mini-windows.
1254
52283633
SM
12552001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1256
1257 * intervals.c (find_interval): Don't rebalance during signal handling.
1258
ec2423c9
GM
12592001-04-11 Gerd Moellmann <gerd@gnu.org>
1260
30cb0001 1261 * fns.c: Include blockinput.h.
52283633 1262
ec2423c9
GM
1263 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1264
719d83ad
GM
12652001-04-10 Gerd Moellmann <gerd@gnu.org>
1266
60f8d735
GM
1267 * fns.c (Fcompare_strings): Fix return values.
1268
afffeb57
GM
1269 * window.c (window_scroll): Change the meaning of N to mean
1270 N screen-fulls or N lines.
1271 (window_scroll_pixel_based, window_scroll_line_based)
1272 (scroll_command, Fscroll_other_window): Change accordingly.
1273
52283633
SM
1274 * window.c (window_scroll_pixel_based, Frecenter):
1275 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1276 height of the window.
1277
1278 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1279 instead of using it.last_visible_y for the height of the window.
52283633 1280
719d83ad 1281 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1282 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1283
1284 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1285 able to write to hidden and system files. From Dan Holmsand
1286 <dan@eyebee.com>.
719d83ad 1287
8ddf3ee1
GM
1288 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1289 Holmsand <dan@eyebee.com>.
719d83ad 1290
522ed7fb
GM
12912001-04-09 Gerd Moellmann <gerd@gnu.org>
1292
9170e5d4
GM
1293 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1294
522ed7fb
GM
1295 * window.c (window_internal_height): Return 1 less if the
1296 window has a header line.
1297
1298 * xdisp.c (try_window_id): When scrolling on a terminal, take
1299 the change of window_internal_height into account.
1300
ceeb3d7d
EZ
13012001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1302
1303 * gmalloc.c (align): If the argument SIZE would overflow
1304 __malloc_ptrdiff_t, fail right away.
1305
63685b9d
GM
13062001-04-06 Gerd Moellmann <gerd@gnu.org>
1307
1308 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1309 Make sure the tooltip is completely visible.
1310 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1311
1312 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1313
1314 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1315
3ffb33bb
DL
13162001-04-06 Dave Love <fx@gnu.org>
1317
52283633
SM
1318 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1319 Fix test of `from'.
3ffb33bb 1320
869fb12c
GM
13212001-04-06 Gerd Moellmann <gerd@gnu.org>
1322
52283633 1323 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1324
869fb12c
GM
1325 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1326
441bf856
GM
13272001-04-05 Gerd Moellmann <gerd@gnu.org>
1328
4d664b04
GM
1329 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1330
52283633 1331 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1332
30ca89f5
GM
1333 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1334 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1335
1336 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1337 shell widget's position only if it is non-null.
1338
52283633
SM
1339 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1340 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1341
81a81c0f
GM
1342 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1343 FILENAME to bring it in synch with the documentation.
1344
441bf856
GM
1345 * xfaces.c (realizing_basic_faces_p): Renamed from
1346 realize_default_face_p.
1347 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1348 (realize_default_face): Don't set the flag.
1349
702a1e8e
GM
13502001-04-04 Gerd Moellmann <gerd@gnu.org>
1351
1013f4e3
GM
1352 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1353
52283633
SM
1354 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1355
1013f4e3
GM
1356 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1357 the buffer that was used for echoing.
1358
702a1e8e
GM
1359 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1360 (first_font_matching): Removed unused function.
1361 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1362 (may_use_scalable_font_p): Remove parameter FONT; rename
1363 parameter NAME to FONT.
1364 (x_face_list_fonts): Fix missing bounds check.
1365 (realizing_default_face_p): New variable.
1366 (realize_default_face): Set and clear that flag.
1367 (x_face_list_fonts): When called during the realization of the
1368 default face, and no matching fonts are found when ignoring
1369 scalable fonts and fonts matching a regexp from
1370 face-ignored-fonts, try without ignoring fonts.
1371
f9dbcda4
GM
13722001-04-03 Gerd Moellmann <gerd@gnu.org>
1373
ad18ffb1
GM
1374 * xfns.c (postprocess_image): New function.
1375 (lookup_image): Call it for all image types except PostScript.
1376 (x_kill_gs_process): Call postprocess_image.
1377
f9dbcda4
GM
1378 * xterm.c (x_use_underline_position_properties): New variable.
1379 (x_draw_glyph_string): Use it.
1380 (syms_of_xterm): DEFVAR_BOOL it.
1381
651f03b6
GM
13822001-04-02 Gerd Moellmann <gerd@gnu.org>
1383
1384 * xterm.c (x_alloc_nearest_color_1): New function.
1385 (x_alloc_nearest_color): Use it.
1386 (x_color_cells): Take a Display as argument, instead of a frame.
1387 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1388 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1389 (x_initialize): Register cvt_string_to_pixel as resource converter
1390 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1391
73d75a62
GM
13922001-03-30 Gerd Moellmann <gerd@gnu.org>
1393
b2046df8
GM
1394 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1395 (set_iterator_to_next): If a string from a display property ends,
1396 consider the case that this might also be the end of an
1397 overlay string having the display property.
1398
52283633 1399 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1400
87d8eba4
GM
1401 * xdisp.c (reseat_to_string): Undo last change.
1402
73d75a62
GM
1403 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1404 matrix of a window when the header line changes, when
1405 new rows are allocated, or when the width changes.
1406
911a2406
EZ
14072001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1408
52283633 1409 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1410
aea51abe
EZ
14112001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1412
1413 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1414 deprecated.
1415
176bc847
GM
14162001-03-29 Gerd Moellmann <gerd@gnu.org>
1417
ed31fabf
GM
1418 * data.c (Fsubr_interactive_form): New function.
1419 (syms_of_data): Defsubr it.
1420
176bc847
GM
1421 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1422 (live_float_p, live_misc_p): Return 1 only if the offset of the
1423 pointer in its block is >= 0.
1424
e59d0e9d
GM
14252001-03-28 Paul Eggert <eggert@twinsun.com>
1426
1427 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1428 microseconds calcuation. Avoid double-rounding problem.
1429 In doc string, warn that the result is approximate.
1430
f827b862
GM
14312001-03-28 Gerd Moellmann <gerd@gnu.org>
1432
30a3f61c
GM
1433 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1434 bind `inhibit-eval-during-redisplay' to t.
1435
1436 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1437
1438 * xdisp.c (inhibit_eval_during_redisplay)
1439 (Qinhibit_eval_during_redisplay): New variables.
1440 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1441 don't eval, return nil instead.
1442 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1443 Initialize Qinhibit_eval_during_redisplay.
1444
e719f5ae
GM
1445 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1446 the iterator's multibyte_p flag.
1447
deb2613a
GM
1448 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1449 instead of setting it to zero; it's incremented for each frame
1450 where the menu face is changed.
1451
52283633
SM
1452 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1453 change bottom shadow accordingly.
1454
1455 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1456 intersections here.
1457 (expose_window): Do it here instead.
52283633 1458 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1459
f827b862
GM
1460 * bytecode.c (BYTE_CODE_QUIT): New macro.
1461 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1462
4bde0ebb
GM
14632001-03-27 Gerd Moellmann <gerd@gnu.org>
1464
607ec83c
GM
1465 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1466 Give up if matrix starts in an ellipsis.
1467 (init_from_display_pos): Do nothing if POS doesn't specify
1468 a dpvec_index but the iterator has such a position.
1469
0245398f
GM
1470 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1471
aba25348
GM
1472 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1473 x/y position is (0, 0) after destroying the menu bar, restore
1474 its original position.
1475
4bde0ebb
GM
1476 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1477 (init_from_display_pos): Use it.
1478 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1479
8cdb267e
GM
14802001-03-26 Gerd Moellmann <gerd@gnu.org>
1481
1482 * xdisp.c (try_window_id): Undo last change.
1483
9948db79
EZ
14842001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1485
1486 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1487
1488 * buffer.c (syms_of_buffer): Doc fix.
1489
2eddf899
GM
14902001-03-26 Gerd Moellmann <gerd@gnu.org>
1491
1492 * xfaces.c (x_update_menu_appearance): Use local variable
1493 popup_path for setting font resources.
1494
6c145d35
EZ
14952001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1496
6a65b1b5
EZ
1497 * frame.c (Fframe_list): Don't reference tip_frame if
1498 HAVE_WINDOW_SYSTEM is not defined.
1499
6c145d35
EZ
1500 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1501 <wl@gnu.org>.
1502
d74c1900
GM
15032001-03-25 Gerd Moellmann <gerd@gnu.org>
1504
20fbd925
GM
1505 * xdisp.c (init_from_display_pos): Test invisible property
1506 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1507
927c5b3b
GM
1508 * xdisp.c (redisplay_internal) <update one window>: Make sure
1509 last_arrow_position and last_arrow_string are set.
1510
d74c1900
GM
1511 * frame.c (Fframe_list): Don't return a tooltip frame.
1512
091f8878
GM
15132001-03-23 Gerd Moellmann <gerd@gnu.org>
1514
52283633
SM
1515 * xdisp.c (mark_window_display_accurate_1): New function,
1516 extracted from mark_window_display_accurate.
1517 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1518 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1519 (mark_window_display_accurate): Use it.
1520 (redisplay_internal): Use it for the selected window.
1521 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1522 for the selected frame.
1523
ac90c44f
GM
1524 * xdisp.c Use make_number, for readability.
1525 (try_window_id): Disable rows below the window end.
1526 (try_window_reusing_current_matrix): Use cursor_row_p.
1527 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1528 of rows.
1529 (init_from_display_pos): If POS specifies a position in a display
1530 vector, maybe get the iterator set up for that ellipsis.
43c09969 1531
091f8878
GM
1532 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1533
991786dd
EZ
15342001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1535
1536 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1537
6c29b43c
GM
15382001-03-23 Gerd Moellmann <gerd@gnu.org>
1539
1540 * xfaces.c (x_update_menu_appearance): Use a different path
1541 for Lucid popup menus.
1542
d8731202
SM
15432001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1544
1545 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1546
1547 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1548 (string_buffer_position): Use `make_number'.
1549
f61a541b
GM
15502001-03-22 Gerd Moellmann <gerd@gnu.org>
1551
3c9e997b
GM
1552 * xfaces.c (x_update_menu_appearance): Renamed from
1553 x_set_menu_face_resources. Use different resources for popups.
1554
1555 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1556 (GC_CHECK_STRING_BYTES): Don't define.
1557
364cd450
GM
1558 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1559 Removed, together with subroutines.
1560 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1561 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1562
d8731202
SM
1563 * dispextern.h (x_set_menu_resources_from_menu_face):
1564 Remove prototype.
364cd450 1565
d8731202 1566 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1567 Remove calls to x_set_menu_resources_from_menu_face.
1568
d8731202
SM
1569 * xfaces.c (xm_set_menu_resources_from_menu_face):
1570 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1571
1572 * xmenu.c: Include widget.h.
1573 (single_submenu): Return int. Some cleanup.
1574 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1575
140330de
GM
15762001-03-21 Gerd Moellmann <gerd@gnu.org>
1577
1578 * xterm.c (x_update_window_end): Handle overwritten mouse face
1579 also for tool bar windows.
1580 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1581 DRAW is DRAW_IMAGE_RAISED.
1582
1741905c
GM
15832001-03-20 Gerd Moellmann <gerd@gnu.org>
1584
fa88947e
GM
1585 * print.c (syms_of_print): Doc fixes.
1586
1741905c
GM
1587 * fns.c (Fmd5): Doc fix.
1588
ade0bee1
GM
15892001-03-19 Gerd Moellmann <gerd@gnu.org>
1590
357e7376
GM
1591 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1592 Clear area of the frame not occupied by the scroll bar.
1593
c2c097cc
GM
1594 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1595 tip frame's root window buffer to *tip* right after creating
1596 the frame.
1597
ade0bee1
GM
1598 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1599 is an integer don't have to be for space characters.
1600
88c6e37e
GM
16012001-03-16 Gerd Moellmann <gerd@gnu.org>
1602
52283633
SM
1603 * indent.c (current_column, current_column_1, Fmove_to_column)
1604 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1605
c62eed76
KH
16062001-03-15 Kenichi Handa <handa@etl.go.jp>
1607
1608 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1609 drawing glyph string.
1610
c899e7e6
GM
16112001-03-15 Gerd Moellmann <gerd@gnu.org>
1612
d0bbfc99
GM
1613 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1614 (command_loop_1): Undo last change.
1615
03d1a189
GM
1616 * xterm.c (fast_find_position): Return the correct vpos.
1617
c899e7e6 1618 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1619 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1620 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1621 Call store_symval_forwarding with BUF null.
1622 (set_internal): Call store_symval_forwarding with the BUF
1623 parameter passed to set_internal. Formerly, the value was always
1624 set in the current buffer; the buffer recorded in specbind for
1625 this case wasn't used.
1626 (arith_driver): Reindent.
1627
52283633
SM
1628 * buffer.c (swap_out_buffer_local_variables):
1629 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1630
1631 * lisp.h (store_symval_forwarding): Change prototype.
1632
1633 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1634
57ac7c81
GM
16352001-03-14 Gerd Moellmann <gerd@gnu.org>
1636
697617d9
GM
1637 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1638 FOR_DELETION. Avoid resizing the mini-window of the selected
1639 frame if FOR_DELETION is set.
1640 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1641 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1642 signature.
1643
1644 * window.c (Fset_window_configuration): Change call to
1645 do_switch_frame to new format.
1646
1647 * keyboard.c (quit_throw_to_read_char): Change call to
1648 do_switch_frame to new format.
1649
1650 * lisp.h (do_switch_frame): Change prototype.
1651
819dce0f
GM
1652 * frame.c (Fframe_parameters): In the `buffer-list' frame
1653 parameter, store the buffer list of FRAME, not the list of the
1654 selected frame.
1655
57ac7c81
GM
1656 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1657 box just because the glyph row's full_width_p flag is set.
1658
65008712
GM
16592001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1660
1661 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1662 skip the padding blanks inserted in extend_face_to_end_of_line,
1663 before checking for trailing whitespace.
1664
159cf431
GM
16652001-03-13 Gerd Moellmann <gerd@gnu.org>
1666
52283633 1667 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1668 Remove special handling for LessTif/Motif.
1669 (toplevel): Don't include Xm/Xm.h.
1670
52283633
SM
1671 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1672 Remove workaround code for LessTif; it doesn't work anymore.
1673
2564ea1b 1674 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1675 Xm/ScrollBarP.h.
afcdc0a1 1676
52283633
SM
1677 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1678 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1679 contemporary LessTif.
1680
52283633
SM
1681 * xfaces.c (xm_set_menu_resources_from_menu_face):
1682 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1683
159cf431
GM
1684 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1685 removing button grabs.
1686
c6f7429a
KH
16872001-03-13 Kenichi Handa <handa@etl.go.jp>
1688
cb82d767
KH
1689 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1690 and clip-large-size-font as obsolete.
1691
c6f7429a
KH
1692 * lread.c (read_multibyte): Check the validity of multibyte
1693 sequence. If invalid, return the first byte.
1694
760cefb5
GM
16952001-03-12 Gerd Moellmann <gerd@gnu.org>
1696
1697 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1698 before running the command; timer functions or process
1699 filters may have set it.
1700
5141f9d0
EZ
17012001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1702
1703 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1704 Doc fix.
1705
b6a15240
GM
17062001-03-12 Gerd Moellmann <gerd@gnu.org>
1707
1708 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1709 to sprintf.
1710
95522746
GM
17112001-03-09 Gerd Moellmann <gerd@gnu.org>
1712
db14cfc5
GM
1713 * dispextern.h (string_buffer_position): Add prototype.
1714
52283633 1715 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1716 (single_display_prop_string_p): New functions.
1717
1718 * xterm.c (note_mouse_highlight): If there's no help-echo on
1719 a string, look at the buffer text ``under'' it.
1720
1721 * keyboard.c (make_lispy_event): Add string info to the event,
1722 analogous to what's done on mode lines.
1723 (read_key_sequence): For a click on a string, consider `local-map'
1724 and `keymap' of that string.
1725
52283633
SM
1726 * keyboard.c (make_lispy_event, make_lispy_movement):
1727 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1728
1729 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1730
1731 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1732 POS; return void.
1733
95522746
GM
1734 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1735 flags argument to emacs_open; it seems to conflict with O_EXCL.
1736
898a399d
KH
17372001-03-09 Kenichi Handa <handa@etl.go.jp>
1738
28cd4910
KH
1739 * composite.h (struct composition): Change types of members;
1740 glyph_len to unsigned, width to unsigned short.
898a399d 1741
4cdf6a6c
AI
17422001-03-08 Andrew Innes <andrewi@gnu.org>
1743
1744 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1745 menu titles.
1746
129004d3
GM
17472001-03-08 Gerd Moellmann <gerd@gnu.org>
1748
221dd3e7
GM
1749 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1750 instead of nil.
1751
52283633 1752 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1753 help-echo in strings.
1754 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1755 (fast_find_string_pos): New function.
1756
52283633
SM
1757 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1758 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1759
1760 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1761 Handle `mouse-face'.
1762
1763 * dispextern.h (face_at_string_position): Change prototype.
1764
52283633 1765 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1766
129004d3
GM
1767 * keyboard.c (make_lispy_event): Avoid generating drag events
1768 if the mouse hasn't actually moved to another buffer position.
52283633 1769
80c8ab8c
DL
17702001-03-08 Dave Love <fx@gnu.org>
1771
129004d3 1772 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1773
989521fd
GM
17742001-03-08 Gerd Moellmann <gerd@gnu.org>
1775
1776 * process.c (Fset_process_window_size): Fix a typo.
1777
bb5c338d
KH
17782001-03-08 Kenichi Handa <handa@etl.go.jp>
1779
1780 * coding.c (detect_coding_sjis): Do more rigid check.
1781 (detect_coding_big5): Likewise.
1782 (decode_coding_sjis_big5): Likewise.
1783 (Fdetect_coding_region): Call detect_coding_system with tailing
1784 anchor byte `\0' for more rigid detection.
52283633 1785 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1786 (Fdetect_coding_string): Likewise.
1787
8b8f9197
SM
17882001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1789
1790 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1791 a string before extracting its data.
1792
3bdf2660
GM
17932001-03-07 Gerd Moellmann <gerd@gnu.org>
1794
1795 * window.c (Frecenter): Rewrite code handling negative values
1796 of ARG on graphical frames.
1797
17982001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1799
1800 * window.c (displayed_window_lines): If W->start is outside the
1801 accessible portion of the buffer, call start_display with BEGV or
1802 ZV instead of W->start.
1803
471f86b9
GM
18042001-03-07 Gerd Moellmann <gerd@gnu.org>
1805
2ab62c6c
GM
1806 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1807
471f86b9
GM
1808 * process.c (Fset_process_filter): Don't crash if the input
1809 file descriptor of PROCESS is closed.
1810 (Fset_process_window_size): Likewise.
1811
101922c3
GM
18122001-03-06 Kenichi Handa <handa@etl.go.jp>
1813
1814 * xterm.c (XTflash): Make the timeout of select shorter, and call
1815 select repeatedly until the desired time expires.
1816
45d051a7
GM
18172001-03-06 Gerd Moellmann <gerd@gnu.org>
1818
1819 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1820
1821 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1822
1823 * lisp.h (Vwindow_list): Declare extern.
1824
8f372c46
EZ
18252001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1826
1827 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1828
f16a7aa5
GM
18292001-03-06 Gerd Moellmann <gerd@gnu.org>
1830
157ae273
GM
1831 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1832 to detect a case where we have to highlight a different region
1833 despite not having left the currently highlighted region.
1834 Set mouse_face_overlay in the x_display_info.
45d051a7 1835 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1836
1837 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1838
1839 * buffer.c (mouse_face_overlay_overlaps): New function.
1840
1841 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1842 (Qmouse_face): Declare extern.
1843
f16a7aa5
GM
1844 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1845 if face_change_count is non-zero.
1846
827afcac
KH
18472001-03-06 Kenichi Handa <handa@etl.go.jp>
1848
1849 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1850 that the source is unibyte.
1851
14c7242e
DL
18522001-03-05 Dave Love <fx@gnu.org>
1853
827afcac 1854 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1855
c28b847b
GM
18562001-03-05 Gerd Moellmann <gerd@gnu.org>
1857
1858 * minibuf.c (read_minibuf): Clean up the binding stack if
1859 called noninteractively.
1860
b86644f2
KH
18612001-03-05 Kenichi Handa <handa@etl.go.jp>
1862
1863 * coding.c (syms_of_coding): Docstring modified.
1864
203682cc 18652001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1866
1867 * charset.c (char_to_string): If a single byte char has modifier
1868 bits that can't be reflected to the character code, ignore them
45d051a7 1869 instead of signaling an error.
b86644f2 1870
e30bd7b7
EZ
18712001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1872
1873 * s/msdos.h: Update copyright notice.
1874
1875 * dosfns.h: Update copyright notice.
1876
1877 * dosfns.c: Update copyright notice.
1878
1879 * msdos.c: Update copyright notice.
1880
b52b65bd
GM
18812001-03-02 Gerd Moellmann <gerd@gnu.org>
1882
1883 * xterm.c (glyph_rect): New function.
1884 (XTmouse_position): Use it to raise the threshold for mouse
1885 movement event generation.
1886
53c4b1e6
EZ
18872001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1888
1889 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1890 specifies (reverse . t), reverse the initial screen colors.
1891 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1892 but we are reversing the colors, set bg_set, not fg_set.
1893 Likewise for setting background-color and reversing: set fg_set.
1894 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1895 in effect.
1896
1897 * xfaces.c (Finternal_set_lisp_face_attribute)
1898 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1899 parameters alist.
1900
f964b4d7
GM
19012001-03-02 Gerd Moellmann <gerd@gnu.org>
1902
ef53d75e
GM
1903 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1904 to a single slash in the middle of file names.
1905
52283633 1906 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1907 Accept only alphanumeric time zone names.
1908
f964b4d7
GM
1909 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1910 or width area.
1911 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1912 a widget to zero height.
52283633 1913
c3c45f65
GM
19142001-03-01 Gerd Moellmann <gerd@gnu.org>
1915
1916 * window.c (Fwindow_end): Call move_it_past_eol only if
1917 ending up on a partially visible line.
1918
028d739a
DL
19192001-03-01 Dave Love <fx@gnu.org>
1920
1921 * ccl.c (Fccl_execute): Doc fix.
1922
57c5889c
GM
19232001-03-01 Gerd Moellmann <gerd@gnu.org>
1924
35f59f6b
GM
1925 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1926 of the tool bar before calling x_figure_window_size.
1927
f84ff02c
GM
1928 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1929 NULL after destroying it, otherwise XTread_socket can access a
1930 destroyed widget when input is unblocked.
1931
8b8f9197 1932 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1933
57c5889c
GM
1934 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1935 same name as before, although there was a change in fontsets.
1936
224227d1
KR
19372001-02-28 Ken Raeburn <raeburn@gnu.org>
1938
4560730a
KR
1939 * lisp.h (Fframe_parameter): Declare.
1940
224227d1 1941 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1942 Lisp_Object.
224227d1 1943
ece93c02
GM
19442001-02-28 Gerd Moellmann <gerd@gnu.org>
1945
11ef99b9
GM
1946 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1947 NULL instead.
1948
1949 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1950 NULL instead.
1951
ece93c02
GM
1952 * alloc.c (toplevel): Include process.h.
1953 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1954 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1955 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1956 (allocate_vector, allocate_hash_table, allocate_window)
1957 (allocate_frame, allocate_process, allocate_other_vector):
1958 New functions.
ece93c02
GM
1959 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1960 (mark_maybe_pointer): New function.
52283633 1961 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1962 remain and not Lisp_Objects.
1963 (min_heap_address, max_heap_address): New variables.
1964 (mem_find): Return MEM_NIL if START is below min_heap_address or
1965 above max_heap_address.
1966 (mem_insert): Compute min_heap_address and max_heap_address.
1967
1968 * process.c (make_process): Use allocate_process.
1969
1970 * frame.c (make_frame): Use allocate_frame.
1971
1972 * window.c (make_window, make_dummy_parent): Use allocate_window.
1973 (Fcurrent_window_configuration): Use allocate_other_vector.
1974
1975 * lisp.h (allocate_vectorlike): Remove prototype.
1976 (allocate_vector, allocate_other_vector, allocate_frame)
1977 (allocate_window, allocate_process, allocate_hash_table):
1978 Add prototypes.
1979
1980 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1981 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1982
063af457
KH
19832001-02-27 Kenichi Handa <handa@etl.go.jp>
1984
1985 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1986 treat the produced bytes as a valid multibyte sequence.
1987
1988 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1989 (ccl_driver) <CCL_WriteMultibyteChar2>:
1990 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1991 <ccl_finish>: Set ccl->eight_bit_control properly.
1992
1993 * ccl.h (struct ccl_program): New member eight_bit_control.
1994
f58c6494
SM
19952001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1996
1997 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1998 accessible_keymaps_char_table.
1999 (accessible_keymaps_char_table): Obey `is_metized'.
2000 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2001 Lisp_Object.
2002
c596c392
GM
20032001-02-26 Gerd Moellmann <gerd@gnu.org>
2004
2005 * dispnew.c: Check HAVE_TERM_H before including term.h.
2006
425de386
AI
20072001-02-24 Andrew Innes <andrewi@gnu.org>
2008
2009 * makefile.w32-in: Update copyright notice.
2010
2ba11bbd
SM
20112001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2012
2013 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2014
66c56ed1
KH
20152001-02-24 Kenichi Handa <handa@etl.go.jp>
2016
4c1593ce
KH
2017 * Makefile.in (lisp): Add international/utf-8.elc.
2018
66c56ed1
KH
2019 * fontset.c (Fnew_fontset): Fix handling of the case that an
2020 element of FONTLIST is a cons of family and registry.
2021
796ead7e
JR
20222001-02-23 Jason Rumney <jasonr@gnu.org>
2023
2024 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2025 to height unconditionally.
2026
2027 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2028 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2029 (x_insert_glyphs): Call window_box_left to obtain the left
2030 x-coordinate of the area to shift.
2031
2032 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2033 safe_run_hooks.
2034
f6839838
AI
20352001-02-22 Andrew Innes <andrewi@gnu.org>
2036
52283633 2037 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2038 ($(BLD)\dispnew.obj):
2039 ($(BLD)\editfns.obj):
2040 ($(BLD)\fileio.obj):
2041 ($(BLD)\filelock.obj):
2042 ($(BLD)\keyboard.obj):
2043 ($(BLD)\w32proc.obj):
2044 ($(BLD)\process.obj):
2045 ($(BLD)\sysdep.obj): Ditto.
2046
2047 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2048 header files.
52283633
SM
2049 ($(BLD)/dispnew.$(O)):
2050 ($(BLD)/editfns.$(O)):
2051 ($(BLD)/fileio.$(O)):
2052 ($(BLD)/filelock.$(O)):
2053 ($(BLD)/keyboard.$(O)):
2054 ($(BLD)/w32proc.$(O)):
2055 ($(BLD)/process.$(O)):
f6839838
AI
2056 ($(BLD)/sysdep.$(O)): Ditto.
2057
c224f70b
GM
20582001-02-22 Gerd Moellmann <gerd@gnu.org>
2059
51695746
GM
2060 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2061 at the start of the function, check that the \n in it->c is
2062 from the iterator's current position.
52283633 2063
a61b7058
GM
2064 * xdisp.c (handle_single_display_prop): Add parameter
2065 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2066 properties which replace the display of text with something else.
2067 (handle_display_prop): Call handle_single_display_prop with
2068 additional argument saying if we already replaced text display
2069 with something else. Use AREF.
52283633 2070 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2071 (decode_mode_spec_coding): Use AREF and ASIZE.
2072
3473f362
GM
2073 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2074 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2075 * vmstime.h: Files removed.
52283633 2076
2bb58df3
GM
2077 * unexencap.c, unexfx2800.c: Files removed.
2078
c224f70b
GM
2079 * dispnew.c (direct_output_for_insert): Give up if we are showing
2080 a message or just cleared the message because we might need to
2081 resize the echo area window or display an empty echo area.
2082
ffc9ff0c
GM
20832001-02-21 Gerd Moellmann <gerd@gnu.org>
2084
0528abe1
GM
2085 * xdisp.c (redisplay_internal): Do the
2086 mark_window_display_accurate after all windows have been
2087 redisplayed because this call resets flags in buffers which are
2088 needed for proper redisplay.
2089
52283633
SM
2090 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2091 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2092 the old names.
2093
52283633
SM
2094 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2095 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2096
2097 * msdos.h (struct x_output): Rename busy_window to
2098 hourglass_window, busy_p to hourglass_p.
2099
52283633
SM
2100 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2101 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2102
2103 * xfns.c: Rename everything containing *busy_cursor* and similar
2104 to *hourglass*.
2105 (syms_of_w32fns): Rename x-busy-pointer-shape to
2106 x-hourglass-pointer-shape, display-busy-cursor to
2107 display-hourglass, busy-cursor-delay to hourglass-delay.
2108
2109 * w32fns.c: Rename everything containing *busy_cursor* and similar
2110 to *hourglass*.
2111 (syms_of_w32fns): Rename x-busy-pointer-shape to
2112 x-hourglass-pointer-shape, display-busy-cursor to
2113 display-hourglass, busy-cursor-delay to hourglass-delay.
2114
2115 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2116 of its busy_p flag.
2117
2118 * dispextern.h (start_hourglass, cancel_hourglass)
2119 (display_hourglass_p): Renamed from *busy_cursor*.
2120
ab2c5f0a
GM
21212001-02-20 Gerd Moellmann <gerd@gnu.org>
2122
d17e49a8
GM
2123 * keyboard.c (read_char): When an event from unread-command-events
2124 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2125
fa97adf6
GM
2126 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2127 equal to the current buffer.
2128
ab2c5f0a
GM
2129 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2130 nil, otherwise we're left with truncate_lines t when a message
2131 is printed with message-truncate-lines bound to t.
2132
aeac019e
GM
21332001-02-19 Gerd Moellmann <gerd@gnu.org>
2134
c8bc6f65
GM
2135 * window.c (Fmove_to_window_line): Undo last change.
2136 (displayed_window_lines): Call line_bottom_y to determine
2137 the line's bottom position.
2138
2139 * dispextern.h (line_bottom_y): Add prototype.
2140
52283633 2141 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2142 (pos_visible_p): Use it.
2143
980a2d69
GM
2144 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2145 set redisplaying_p to 0 here instead of in Frecursive_edit.
2146 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2147 set redisplaying_p.
2148
52283633 2149 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2150 New variables.
2151 (syms_of_xdisp): Initialize new variables.
2152 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2153 Specbind `inhibit-menubar-update' when updating the menu bar.
2154
65048e97
GM
2155 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2156 safe_run_hooks.
2157
2158 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2159 safe_run_hooks.
2160
a57c4026
GM
2161 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2162 is null.
2163
aeac019e
GM
2164 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2165 to the start of the file.
2166
76846b31
GM
21672001-02-16 Gerd Moellmann <gerd@gnu.org>
2168
f3f053f3 2169 * window.c (set_window_buffer): Fix last change.
52283633 2170
f3f053f3
GM
2171 * window.c (set_window_buffer): Set window's vscroll to 0.
2172
dad75588
GM
2173 * window.c (coordinates_in_window): Increase width of area
2174 where the vertical line can be dragged.
2175
c220b753
GM
2176 * xterm.c (x_set_glyph_string_background_width): Extend the
2177 background face to the end of the drawing area in the text
2178 area, only.
2179
c56b1c1b
GM
2180 * xdisp.c (handle_single_display_prop): Set iterator's position
2181 to where the `display' property starts, like for images.
2182 (dump_glyph): New function.
2183 (dump_glyph_row): Use it. Dump info about marginal areas.
2184
2185 * dispnew.c (direct_output_for_insert): Recognize more cases where
2186 glyphs can be written instead of being inserted.
2187
2188 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2189 the left x-coordinate of the area to shift.
2190
76846b31
GM
2191 * dired.c (directory_files_internal): Set result list to nil
2192 before retrying.
2193
0fc71a77
KH
21942001-02-15 Kenichi Handa <handa@etl.go.jp>
2195
2196 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2197 invalid multibyte sequence, treat *SRC as a character of
2198 eight-bit-graphic.
2199
25078b54
EZ
22002001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2201
2202 * textprop.c (Fset_text_properties): Doc fix.
2203
8399f8a0
GM
22042001-02-15 Gerd Moellmann <gerd@gnu.org>
2205
2206 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2207
9a2a6f73
DL
22082001-02-14 Dave Love <fx@gnu.org>
2209
2210 * coding.c: Doc and message fixes.
2211
bf853fee
AI
22122001-02-14 Andrew Innes <andrewi@gnu.org>
2213
2214 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2215 Emacs frame above the screen size.
2216
78c663d8
GM
22172001-02-14 Gerd Moellmann <gerd@gnu.org>
2218
2219 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2220
7cc9f69f
GM
22212001-02-13 Gerd Moellmann <gerd@gnu.org>
2222
0a411995
GM
2223 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2224 case that TO ends up beyond ZV after running before-change-functions.
2225
5ddc1b75
GM
2226 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2227 the selected window if it is showing the buffer in question.
2228
7cc9f69f
GM
2229 * dired.c (directory_files_internal): Initialize errno.
2230 (toplevel): Include errno.h.
2231
2e6621ca
GM
22322001-02-13 Kenichi Handa <handa@etl.go.jp>
2233
2234 * xfaces.c (best_matching_font): New parameter width_ratio.
2235 Multiply avgwidth by width_ratio.
2236 (choose_face_font): Call best_matching_font with width_ratio
2237 calculated from the column width of C.
2238
60222d69
AI
22392001-02-12 Andrew Innes <andrewi@gnu.org>
2240
2241 The following changes are to draw box lines inside characters area
2242 if line-width is negative.
52283633 2243
60222d69
AI
2244 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2245 face->box_line_width is negative.
2246 (x_produce_stretch_glyph): Likewise.
2247 (x_produce_glyphs): Likewise.
2248 (x_estimate_mode_line_height): Likewise.
2249 (x_draw_glyph_string_background): Likewise.
2250 (x_draw_glyph_string_foreground): Likewise.
2251 (x_draw_composite_glyph_string_foreground): Likewise.
2252 (x_draw_glyph_string_box): Likewise.
2253 (x_draw_image_foreground): Likewise.
2254 (x_draw_image_relief): Likewise.
2255 (x_draw_image_foreground_1): Likewise.
2256 (x_draw_image_glyph_string): Likewise.
2257
9804b846
KH
22582001-02-09 Kenichi Handa <handa@etl.go.jp>
2259
2260 The following changes are to draw box lines inside characters area
2261 if line-width is negative.
52283633 2262
9804b846
KH
2263 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2264 face->box_line_width is negative.
2265 (x_produce_stretch_glyph): Likewise.
2266 (x_produce_glyphs): Likewise.
2267 (x_estimate_mode_line_height): Likewise.
2268 (x_draw_glyph_string_background): Likewise.
2269 (x_draw_glyph_string_foreground): Likewise.
2270 (x_draw_composite_glyph_string_foreground): Likewise.
2271 (x_draw_glyph_string_box): Likewise.
2272 (x_draw_image_foreground): Likewise.
2273 (x_draw_image_relief): Likewise.
2274 (x_draw_image_foreground_1): Likewise.
2275 (x_draw_image_glyph_string): Likewise.
2276
2277 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2278 and :line-width can be negative.
52283633 2279 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2280
49be9f70
JR
22812001-02-09 Jason Rumney <jasonr@gnu.org>
2282
2283 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2284 characters the same as ASCII and latin-1.
2285 (x_display_and_set_cursor): Check for the focus frame's selected
2286 window instead of selected_window.
2287 (x_after_update_window_line): Don't clear if frame's internal
2288 border width is zero.
2289 (x_new_font): Don't change a tooltip's size.
2290 (w32_initialize): Set char_ins_del_ok to 1.
2291
2292 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2293 (x_set_font): If font hasn't changed, avoid recomputing
2294 faces and other things.
52283633
SM
2295 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2296 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2297 (x_create_tip_frame): Prevent changing the tooltip's
2298 background color by specifying a color for the default font
2299 in .Xdefaults.
2300 (Qcancel_timer): New variable.
2301 (syms_of_w32fns): Initialize and staticpro it.
2302 (Fx_hide_tip, Fx_show_tip): Use it.
2303 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2304 the timer.
2305 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2306
2307 * w32.c (init_environment): Duplicate local string before putenv.
2308
555e35d2
SZ
23092001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2310
2311 * charset.c (Fstring): A typo.
2312
19c92c94
KH
23132001-02-09 Kenichi Handa <handa@etl.go.jp>
2314
e47a1c33
KH
2315 * charset.c (Fstring): If all arguments are less than 256, return
2316 a unibyte string.
2317
2318 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2319 return a unibyte string.
2320
19c92c94
KH
2321 * coding.c (code_convert_region): After detecting a coding, if
2322 nothing found, set coding->composing to COMPOSITION_NO.
2323 (decode_coding_string): Likewise.
2324
d8e675f5
SM
23252001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2326
2327 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2328 to avoid overflow.
2329
bd503487
KH
23302001-02-07 Kenichi Handa <handa@etl.go.jp>
2331
2332 * charset.c (parse_str_to_multibyte): New function.
2333
2334 * charset.h (parse_str_to_multibyte): Extern it.
2335
2336 * print.c (print_string): If we are going to print a unibyte
2337 string into a multibyte buffer, convert the string to multibyte by
2338 str_to_multibyte.
2339
a8370d72
AI
23402001-02-06 Andrew Innes <andrewi@gnu.org>
2341
2342 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2343 been created. It seems we can get sent window messages such as
2344 WM_ERASEBKGND before we properly update a frame.
2345
c363a1d6
GM
23462001-02-06 Gerd Moellmann <gerd@gnu.org>
2347
2348 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2349 Avoid some unnecessary cursor positioning.
2350
a08332c0
GM
23512001-02-05 Gerd Moellmann <gerd@gnu.org>
2352
52283633 2353 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2354 (LFACE_AVGWIDTH): New macro.
2355 (LFACEP): Use AREF.
2356 (check_lface_attrs): Check LFACE_AVGWIDTH.
2357 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2358 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2359 (merge_face_vectors): Check LFACE_AVGWIDTH.
2360 (Finternal_make_lisp_face): Use AREF.
2361 (xm_set_menu_resources_from_menu_face)
2362 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2363 (Finternal_lisp_face_empty_p): Use AREF.
2364 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2365 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2366 Compare average widths..
2367 (best_matching_font): Arrange for comparing average widths.
2368
52283633
SM
2369 * dispextern.h (enum lface_attribute_index):
2370 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2371
5cb3c8d4
DL
23722001-02-05 Dave Love <fx@gnu.org>
2373
2374 * puresize.h: Revert last change following loadup.el change.
2375
193fba87
AI
23762001-02-05 Andrew Innes <andrewi@gnu.org>
2377
2378 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2379 invocation of temacs, to work with Windows 2000.
2380 (bootstrap-emacs): Ditto.
2381
e16f52ce
GM
23822001-02-05 Gerd Moellmann <gerd@gnu.org>
2383
7a58ab59
GM
2384 * xterm.c (x_display_and_set_cursor): Check for the focus
2385 frame's selected window instead of selected_window.
2386
e89aaabd
GM
2387 * xdisp.c (try_scrolling): If point is in the line below the
2388 window, make sure to move the iterator at least a canonical
2389 char height down.
2390
52283633 2391 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2392
789ce875
KH
23932001-02-05 Kenichi Handa <handa@etl.go.jp>
2394
52283633
SM
2395 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2396 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2397 (ccl_driver): If the CCL program is terminated because of
2398 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2399 destination instead of throwing them away.
2400
20b28f82
GM
24012001-02-02 Gerd Moellmann <gerd@gnu.org>
2402
79fb38c0
GM
2403 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2404 faces and other things.
2405
20b28f82
GM
2406 * xdisp.c (get_next_display_element): Fix case of empty
2407 display table entry.
2408
5a72551e
EZ
24092001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2410
eb24d0bf
EZ
2411 * editfns.c (Fconstrain_to_field): Doc fix.
2412
6a3f48c7
EZ
2413 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2414 into `thoroughly', to make it consistent with the doc string.
2415
5a72551e
EZ
2416 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2417
01acdb05
GM
24182001-02-01 Gerd Moellmann <gerd@gnu.org>
2419
0353b28f
GM
2420 * search.c (search_buffer): Call set_search_regs with a byte
2421 position, not a character position.
2422
01acdb05
GM
2423 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2424 minibuffer-only,
2425
e86b5133
EZ
24262001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2427
2428 * frame.c (Fmodify_frame_parameters): Doc fix.
2429
7442878f
GM
24302001-01-31 Gerd Moellmann <gerd@gnu.org>
2431
01acdb05
GM
2432 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2433 identifier which is not reserved by Standard C.
52283633 2434
7442878f
GM
2435 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2436
2437 * window.c (enum window_part): New enumeration.
2438 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2439 Qright_bitmap_area.
2440 (coordinates_in_window): Return an enumerator from enum
2441 window_part. Fix handling of right scroll bar.
2442 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2443 `right-fringe' instead of `left-bitmap-area' and
2444 `right-bitmap-area'. Use enumerators from enum window_part
2445 instead of hard-coded integers.
52283633
SM
2446 (check_window_containing, window_from_coordinates):
2447 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2448 (syms_of_window): Replace Qleft_bitmap_area and
2449 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2450
7c132cba
EZ
24512001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2452
2453 * editfns.c (Fformat_time_string): Doc fix.
2454
c359dd9e
SM
24552001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2456
2457 * keymap.c (Fwhere_is_internal): Use the first valid binding
2458 if no ascii binding is found (when firstonly is t).
2459
ce070307
GM
24602001-01-31 Gerd Moellmann <gerd@gnu.org>
2461
b4f30ec5
GM
2462 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2463 instead of Finteractive_p.
2464
2465 * lisp.h (interactive_p): Add prototype.
2466
2467 * eval.c (interactive_p): New function.
2468 (Finteractive_p): Use it.
2469
ce070307
GM
2470 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2471
f57b6e64
DL
24722001-01-31 Dave Love <fx@gnu.org>
2473
d61c7afe
DL
2474 * .gdbinit (hook-run): Define to run xreload.
2475
f57b6e64
DL
2476 * textprop.c (Fset_text_properties): Fix newline in doc string.
2477
eef93f99
GM
24782001-01-30 Gerd Moellmann <gerd@gnu.org>
2479
52283633
SM
2480 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2481 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2482
2483 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2484 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2485 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2486
2487 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2488 height.
2489
d9c1f6f9
DL
24902001-01-30 Dave Love <fx@gnu.org>
2491
2492 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2493 AFTER_POTENTIAL_GC.
2494
e8f044a0
GM
24952001-01-29 Gerd Moellmann <gerd@gnu.org>
2496
52283633
SM
2497 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2498 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2499
8e1db7b3
EZ
25002001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2501
2502 * textprop.c (Fset_text_properties): Doc fix.
2503
4eefd9d2
GM
25042001-01-29 Gerd Moellmann <gerd@gnu.org>
2505
2506 * xdisp.c (forward_to_next_line_start): Remove xassert.
2507
fccb8288
EZ
25082001-01-29 Jason Rumney <jasonr@gnu.org>
2509
4eefd9d2 2510 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2511 returning without releasing it.
2512
76581eab
KH
25132001-01-29 Kenichi Handa <handa@etl.go.jp>
2514
2515 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2516 for '^', '$', and '\0'.
2517
83a96b4d
AC
25182001-01-28 Andrew Choi <akochoi@i-cable.com>
2519
5604ec34
AC
2520 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2521 regex for '^', '$', and '\0'.
2522
83a96b4d
AC
2523 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2524 only if current_sblock has been initialized.
2525
2526 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2527 terminal frame even if it is the only visible frame.
2528
c09a6440
KH
25292001-01-28 Kenichi Handa <handa@etl.go.jp>
2530
2531 * fontset.c (font_family_registry): Even if FONTNAME conform to
2532 XLFD, if it specifies other fields than family and registry,
52283633 2533 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2534 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2535 a signle byte character. Don't set FAMILY part to nil here.
2536 It is handled by the caller choose_face_font.
c09a6440
KH
2537 (Fnew_fontset): Call font_family_registry with FORCE 0.
2538 (Fset_fontset_font): Likewise.
2539
4dcd74e6
GM
25402001-01-27 Gerd Moellmann <gerd@gnu.org>
2541
2542 * xdisp.c (display_line): Don't treat a newline as fitting
2543 on the line.
2544
d2906bf8
GM
25452001-01-26 Gerd Moellmann <gerd@gnu.org>
2546
0130fe1a
GM
2547 * window.c (size_window): Set the window's orig_top to nil when
2548 changing heights, so that a future shrink_mini_window won't
2549 restore a bogus height.
2550
550f0e6a
GM
2551 * frame.c (do_switch_frame): If selected frame has a mini-window,
2552 resize that to exact size.
2553
b7b20fbd
GM
2554 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2555
a47b7816
GM
2556 * xdisp.c (display_line): Simplify check for glyphs fitting
2557 entirely in the line.
2558
d2906bf8
GM
2559 * xfns.c (xic_style): New variable.
2560 (create_frame_xic): Move static variable to global scope for
550f0e6a 2561 the case that `static' gets defined away.
d2906bf8 2562
73df2b1e
KH
25632001-01-26 Kenichi Handa <handa@etl.go.jp>
2564
2565 * coding.c (decode_coding): Set a flag for inhibiting
2566 inconsistent eol.
2567 (code_convert_region): Always set saved_coding_symbol.
2568 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2569 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2570
6613cfc4
GM
25712001-01-25 Gerd Moellmann <gerd@gnu.org>
2572
c5e6e06b
GM
2573 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2574 XClearArea.
2575
2576 * xterm.c (x_after_update_window_line): Don't clear if frame's
2577 internal border width is zero.
2578 (x_clear_area): New function.
2579 (x_after_update_window_line, x_clear_end_of_line)
2580 (x_scroll_bar_create, x_scroll_bar_set_handle)
2581 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2582 instead of XClearArea.
2583
2584 * xterm.h (x_clear_area): Add prototype.
2585
6613cfc4
GM
2586 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2587 which doesn't seem necessary anymore with Lesstif 0.92.
2588
650cc6cc
DL
25892001-01-25 Dave Love <fx@gnu.org>
2590
34ac3367
DL
2591 * puresize.h (BASE_PURESIZE): Up to 720000.
2592
650cc6cc
DL
2593 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2594
5e37dc22
GM
25952001-01-25 Gerd Moellmann <gerd@gnu.org>
2596
e1e441f9
GM
2597 * xdisp.c (echo_area_display): Don't call redisplay_internal
2598 when Emacs is shutting down. We can't run hooks etc. that
2599 would be necessary to do a redisplay.
2600
5e37dc22
GM
2601 * lread.c (read_integer): Use type EMACS_INT instead of int.
2602
0fb94c7f
EZ
26032001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2604
2605 * ccl.c (ccl_driver): Fix last change.
2606
e3778624
KH
26072001-01-25 Kenichi Handa <handa@etl.go.jp>
2608
2609 * ccl.h (sturct ccl_program): New member suppress_error.
2610
bb264518 2611 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2612 insert error message to the output.
2613 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2614
2615 * coding.h (struct coding_system): New member suppress_error.
2616
2617 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2618 (Fset_terminal_coding_system_internal): Set the member
2619 suppress_error to 1.
2620 (Fset_safe_terminal_coding_system_internal): Likewise.
2621
245ed2b1
SM
26222001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2623
2624 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2625 as if it was a `charset'.
2626
f9aaedb6
GM
26272001-01-24 Gerd Moellmann <gerd@gnu.org>
2628
2629 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2630 value in where_is_cache; the next lookup in the cache returns
2631 something bogus if we do.
2632
c3902c3e
EZ
26332001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2634
2635 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2636 if HAVE_WINDOW_SYSTEM isn't defined.
2637
3497f73e
GM
26382001-01-24 Gerd Moellmann <gerd@gnu.org>
2639
e7e41584
GM
2640 * fns.c (sweep_weak_table): Fix code taking items out of
2641 the hash collision chain. Some cleanup.
2642
3497f73e
GM
2643 * xterm.c (x_new_font): Don't change a tooltip's size.
2644
2645 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2646 background color by specifying a color for the default font
2647 in .Xdefaults.
2648
3d48e687
KH
26492001-01-24 Kenichi Handa <handa@etl.go.jp>
2650
96531b20
KH
2651 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2652 a workaround for SunOS 4's cc.
2653 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2654 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2655 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2656 statement.
3d48e687 2657
a30629d2
GM
26582001-01-23 Gerd Moellmann <gerd@gnu.org>
2659
2660 * xterm.c (x_set_window_size_1): New function extracted from
2661 x_set_window_size.
2662 (x_set_window_size): Use it.
2663 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2664 doesn't have a widget, like tooltips.
2665
5a43decf
EZ
26662001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2667
52283633 2668 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2669
b0e98867
KH
26702001-01-23 Kenichi Handa <handa@etl.go.jp>
2671
2672 * fns.c (Fset_char_table_default): Fix to make sub char-table
2673 correctly.
2674
50606b4c
GM
26752001-01-22 Gerd Moellmann <gerd@gnu.org>
2676
cb2ddc53 2677 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2678 a desired tool bar string, even if there are no tool bar items.
2679
57c28064
GM
2680 * xdisp.c (Ftool_bar_lines_needed): New function.
2681 (syms_of_xdisp): Defsubr it.
2682
50606b4c
GM
2683 * editfns.c (Fformat): Don't extend text properties from arguments
2684 to padding chars in the result.
2685
2f169c38
EZ
26862001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2687
2688 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2689
0f32f023
AI
26902001-01-20 Andrew Innes <andrewi@gnu.org>
2691
52283633 2692 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2693 (w32_initialize): Don't set term hooks that aren't actually needed
2694 in windowed mode.
2695
2696 * xfaces.c (realize_default_face):
2697 (realize_face):
2698 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2699
2700 * xdisp.c (handle_single_display_prop): Remove references to
2701 FRAME_W32_CONSOLE_P.
2702
52283633 2703 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2704
2705 * frame.h (output_method): Remove output_w32_console method.
2706 (FRAME_W32_CONSOLE_P): Remove macro.
2707
2708 * frame.c (Qw32_console): Remove variable.
2709 (Fframep): Remove references to it.
2710 (syms_of_frame): Ditto.
2711 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2712
2713 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2714 redefinition.
2715
7173eada
KH
27162001-01-20 Kenichi Handa <handa@etl.go.jp>
2717
2718 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2719
755b45ce
AI
27202001-01-19 Andrew Innes <andrewi@gnu.org>
2721
2722 * w32.c (init_environment): Add a version-independent site-lisp
2723 directory to EMACSLOADPATH, after the version dependent one.
2724
0a949811
GM
27252001-01-19 Gerd Moellmann <gerd@gnu.org>
2726
8501998a
GM
2727 * editfns.c (Fbuffer_substring): Doc fix.
2728
52283633
SM
2729 * xdisp.c (message_dolog, message2, message2_nolog):
2730 Rename parameter LEN to NBYTES.
0a949811 2731
e6ebcbbe
KH
27322001-01-19 Kenichi Handa <handa@etl.go.jp>
2733
200ecca2
KH
2734 * charset.c (strwidth): Use c_string_width.
2735 (c_string_width): New function.
2736 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2737 Caller changed.
2738
2739 * charset.h (c_string_width, lisp_string_width): Extern them.
2740
52283633 2741 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2742
e6ebcbbe
KH
2743 * indent.c (check_composition): Check validity of composition.
2744
200ecca2
KH
2745 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2746 characters by calling c_string_width.
2747 (x_consider_frame_title): Get byte length of frame tile string
2748 correctly.
2749 (display_mode_element): Pay attention to width of non-ASCII
2750 characters by calling strwidth.
2751
8692ca92
GM
27522001-01-18 Gerd Moellmann <gerd@gnu.org>
2753
8962e303
GM
2754 * xfns.c (Qcancel_timer): New variable.
2755 (syms_of_xfns): Initialize and staticpro it.
2756 (Fx_hide_tip, Fx_show_tip): Use it.
2757 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2758 the timer.
2759 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2760
91523be9
GM
2761 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2762
2763 * window.h (WINDOW_LIVE_P): New macro.
2764
b0b7ed0e
GM
2765 * window.c (window_size_fixed): New variable.
2766 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2767 the doc string.
2768
06bccf8e
GM
2769 * eval.c (specbind): If binding a per-buffer variable which
2770 doesn't have a buffer-local value in the current buffer, change
2771 the global value by changing the value of the symbol bound in all
2772 buffers not having their own value, to make it consistent with
2773 what happens with other buffer-local variables.
2774
8692ca92
GM
2775 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2776
2777 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2778 when searching for a newline.
2779
bb3a3b50
KH
27802001-01-18 Kenichi Handa <handa@etl.go.jp>
2781
2782 * xdisp.c (display_string): Fix previous change.
2783
c2cc16fa
JR
27842001-01-18 Jason Rumney <jasonr@gnu.org>
2785
2786 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2787 GLYPH_DEBUG is defined.
2788 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2789 true for images with `:ascent 100'.
2790 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2791 meantime, use face MOUSE_FACE_ID.
2792 If first glyph isn't a character glyph, use the ASCII NUL
2793 character to determine the face.
2794 (expose_area): Do not treat left margin specially.
2795 (note_mode_line_highlight): If no local_map, check global keymap.
2796 (note_mouse_highlight): Initialize overlay.
52283633 2797 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2798 (show_scroll_bars): Remove unused function.
2799 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2800 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2801 Clip to row.
52283633 2802 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2803 (x_free_frame_resources): Unload relief colors.
2804
9c11f79e
GM
28052001-01-17 Gerd Moellmann <gerd@gnu.org>
2806
3aec8722 2807 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2808 get_next_display_element when the newline is already found.
2809 This may change the iterator's position, when its current position is
3aec8722
GM
2810 equal to the iterator's stop_charpos.
2811
f3ffc2c3
GM
2812 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2813 zero, use this method only at the end of a line.
2814
52283633 2815 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2816 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2817 if SCALABLE_FONTS_P is set.
52283633 2818
d26d6fd9
GM
2819 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2820 so that scalable fonts are included.
2821
9c11f79e
GM
2822 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2823 In the cache, use a key containing the information if scalable
2824 fonts are included.
2825 (x_load_font): Adapt to change of keys in the font cache.
2826
28272001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2828
d26d6fd9
GM
2829 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2830 XListFonts to take advantage of font caching.
2831
9c11f79e
GM
2832 * xterm.c (x_list_fonts): Ensure caching font information when
2833 called for a null frame, which is the case frequently when Emacs
2834 starts.
2835
51446987
GM
28362001-01-17 Gerd Moellmann <gerd@gnu.org>
2837
f864120f
GM
2838 * xfns.c (QCconversion): Replaces QCalgorithm.
2839
2840 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2841
2842 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2843 of :algorithm.
52283633 2844
e37d1417
GM
2845 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2846 not everything could be displayed.
2847
51446987
GM
2848 * line.h, x-list-font.c: Files removed because unused.
2849
9ad4f3e5
AI
28502001-01-17 Andrew Innes <andrewi@gnu.org>
2851
2852 * dired.c (directory_files_internal): Convert result from readdir
2853 to a unibyte string initially, to avoid possible misinterpretation
2854 of some bytes as the internal form of Emacs characters.
2855
2eda09b5
KH
28562001-01-17 Kenichi Handa <handa@etl.go.jp>
2857
2858 * fns.c (concat): Be sure to avoid putting the same `composition'
2859 property on the adjacent regions.
2860
826f3788
GM
28612001-01-16 Gerd Moellmann <gerd@gnu.org>
2862
52283633 2863 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2864 (Fscroll_right, Fscroll_left): Set it here instead, if called
2865 interactively.
2866
d57b83b3
GM
2867 * buffer.c (Fset_buffer_modified_p): Set buffer's
2868 prevent_redisplay_optimizations_p flag.
2869
826f3788 2870 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2871 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2872 with additional arg.
2873
2874 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2875 Change prototype.
826f3788 2876
826f3788
GM
2877 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2878 FROM_WHERE, for debugging.
2879
261d788b
KH
28802001-01-16 Kenichi Handa <handa@etl.go.jp>
2881
2882 * ccl.c (Fregister_ccl_program): Handle the return value of
2883 resolve_symbol_ccl_program correctly.
52283633 2884 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2885
bccee4f2
GM
28862001-01-15 Gerd Moellmann <gerd@gnu.org>
2887
e4ded23c
GM
2888 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2889 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2890
2891 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2892 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2893 the display; we didn't open it.
2894
bccee4f2
GM
2895 * dispnew.c (save_or_restore_current_matrices): Function removed.
2896 (save_current_matrix, restore_current_matrix): New functions.
2897 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2898 restore the frame's current matrix. Due to the glyph pointer
2899 setup done in adjust_glyph_matrix, there is no easy way to make
2900 saving the current matrix in the desired matrix generally correct,
2901 so don't try it.
2902
ebeccffa
KH
29032001-01-15 Kenichi Handa <handa@etl.go.jp>
2904
2905 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2906 truncation glyphs.
2907 (display_line): Optimize for wide characters.
e4ded23c 2908 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2909 partially. On ttys, produce more than one truncation glyph for
2910 multi-column characters that don't fit on the line.
2911
64388126
KH
29122001-01-13 Kenichi Handa <handa@etl.go.jp>
2913
52283633
SM
2914 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2915 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2916
8edb0a6f
JR
29172001-01-13 Jason Rumney <jasonr@gnu.org>
2918
2919 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2920 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2921 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2922 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2923
52283633
SM
2924 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2925 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2926 (x_draw_image_glyph_string): Adapt to change of image margins.
2927
2928 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2929 variables.
2930
2931 * w32bdf.c (search_file_line, get_cached_font_char)
2932 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2933
2934 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2935
2936 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2937 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2938 (Fw32_send_sys_command): Remove unused variables.
2939 (w32_msg_pump): Add parentheses.
2940
2941 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2942 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2943 Add parentheses.
2944
4956d1ef
GM
29452001-01-12 Gerd Moellmann <gerd@gnu.org>
2946
b30623be
GM
2947 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2948 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2949 being a pair of margins.
2950 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2951 to DEFVAR_LISP. Extend doc.
2952
2953 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2954 margins.
2955 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2956 pair of integers `(X . Y)', use X for the horizontal and Y for the
2957 vertical margin.
2958 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2959 (parse_image_spec): Check it.
52283633
SM
2960 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2961 (tiff_format, gif_format, gs_format):
2962 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2963
52283633
SM
2964 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2965 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2966 (x_draw_image_glyph_string): Adapt to the change of image margins.
2967
2968 * dispextern.h (struct image): Replace member `margin' with
2969 `hmargin' and `vmargin'.
2970
4554cc79
GM
2971 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2972 and GLYPHS.
2973
2974 * dispnew.c (update_text_area): Put code which decrements the
2975 stop position when the row's face extends to the end of the
3bffc665 2976 line in #if 0.
4554cc79 2977
3cccce8d
GM
2978 * xfns.c (x_set_mouse_color): Fix color allocation.
2979
4956d1ef
GM
2980 * keyboard.c: Call get_local_map with new argument list.
2981
2982 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2983
2984 * intervals.h (enum map_property): Removed.
2985 (get_local_map): Change prototype.
2986
2987 * keymap.c: Call get_local_map with new argument list.
2988 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2989
2c2ff7f2
GM
29902001-01-11 Gerd Moellmann <gerd@gnu.org>
2991
a23887b9
GM
2992 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2993 of the size needed for the tool bar string. For the last image,
2994 use a `display' property that reaches to the end of the string.
2995
a7ee2d2e
GM
2996 * xselect.c (selection_request_dpyinfo): New variable.
2997 (x_handle_selection_request): Set it.
2998 (x_selection_request_lisp_error): Don't call
2999 x_decline_selection_request if selection request's display has
3000 been closed.
3001
52283633
SM
3002 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3003 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3004
457b792c
GM
30052001-01-10 Dave Love <fx@gnu.org>
3006
3007 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3008 ${SOME_MACHINE_LISP}, not ${lisp}.
3009
c1efd260
GM
30102001-01-10 Gerd Moellmann <gerd@gnu.org>
3011
52283633
SM
3012 * xdisp.c (display_line): On ttys, produce more than one truncation
3013 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3014
ac95a621
GM
3015 * xselect.c (x_reply_selection_request): Add a comment.
3016
c1efd260
GM
3017 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3018 XkbGetNames instead of XkbGetKeyboard.
3019
1bfb1345
DL
30202001-01-10 Dave Love <fx@gnu.org>
3021
3022 * sysdep.c (random): Revert the declaration.
3023
38119822
GM
30242001-01-09 Gerd Moellmann <gerd@gnu.org>
3025
52283633
SM
3026 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3027 Call function string_bytes.
35f464a7
GM
3028 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3029
3030 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3031 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3032 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3033 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3034 the current sblock.
3035 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3036 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3037 after sweeping strings, and at the end.
3038 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3039
38119822
GM
3040 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3041 ensure that pop_message is called.
3042
3043 * keyboard.c (Fexecute_extended_command): Use a
3044 record_unwind_protect to ensure that pop_message is called.
3045
3046 * lisp.h (push_message_unwind): Add prototype.
3047
3048 * xdisp.c (push_message_unwind): New function.
3049
3050 * fileio.c (do_auto_save_unwind): Do the pop_message here
3051 instead of in Fdo_auto_save.
3052 (Fdo_auto_save): Don't call pop_message.
3053
f47a9ec4
KR
30542001-01-08 Ken Raeburn <raeburn@gnu.org>
3055
3056 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3057 in inner block.
3058
a758f97d
GM
30592001-01-08 Gerd Moellmann <gerd@gnu.org>
3060
6d0afc03
GM
3061 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3062 when increasing window's vscroll.
3063
a758f97d
GM
3064 * macros.c (Qkbd_macro_termination_hook): New variable.
3065 (syms_of_macros): Initialize and staticpro it.
3066 (pop_kbd_macro): Run kbd-macro-termination-hook.
3067
3068 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3069
1bfb1345 30702001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3071
3072 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3073 arglist, for documentation's sake.
3074
0dac6924
AI
30752001-01-06 Andrew Innes <andrewi@gnu.org>
3076
3077 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3078 of *.pdb.
3079
8182406a
AI
30802001-01-05 Andrew Innes <andrewi@gnu.org>
3081
3082 * term.c (update_end): Don't check updating_frame; for some reason
3083 this can be 0 sometimes, such as after dismissing a popup menu,
3084 and isn't necessary given the explicit frame argument.
3085
3828218c
GM
30862001-01-05 Gerd Moellmann <gerd@gnu.org>
3087
3088 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3089 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3090
2f5ded21
GM
30912001-01-04 Gerd Moellmann <gerd@gnu.org>
3092
52283633 3093 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3094
3095 * xfns.c (x_create_tip_frame): Preserve the value of
3096 face_change_count around the creation of the tip frame.
52283633 3097
2f5ded21
GM
3098 * xfns.c (last_show_tip_args): New variable.
3099 (compute_tip_xy): New function.
3100 (Fx_show_tip): Reuse an existing tip frame, if possible.
3101 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3102
dfad65fa
DL
31032001-01-04 Dave Love <fx@gnu.org>
3104
64d4ec0f
DL
3105 * editfns.c (Fformat): Doc fix.
3106
dfad65fa
DL
3107 * systime.h (set_file_times): Prototype.
3108
3109 * widget.h (EmacsFrameSetCharSize_): Prototype.
3110
3111 * sysdep.c (random, srandom): Declare explicitly.
3112
3113 * dispextern.h (move_it_vertically_backward): Declare.
3114
85fe3b5e
GM
31152001-01-04 Gerd Moellmann <gerd@gnu.org>
3116
0f2ac578
GM
3117 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3118 like in Fx_create_frame.
3119
482cca61
GM
3120 * xfaces.c (set_font_frame_param): Don't do anything for
3121 non-graphical frames.
3122
85fe3b5e
GM
3123 * window.c (Fdelete_other_windows): Set window's window_end_valid
3124 to nil when changing the window's start. Don't change the
3125 window's start when its top position hasn't changed. If we do,
3126 this will set the window's optional_new_start, which act's like a
3127 force_start during redisplay with C-x 1 M-> under particular
3128 circumstances (see report from Per Starback to emacs-pretest-bug
3129 from 2000-12-13.).
3130
3e99d3b4
GM
31312001-01-03 Gerd Moellmann <gerd@gnu.org>
3132
a77dc1ec
GM
3133 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3134 short cut at the start of the function. Add an assertion.
3135 (reseat_at_next_visible_line_start): Add an assertion.
3136
2f3cad6c
GM
3137 * window.c (Frecenter): When changing the window start, set the
3138 window's window_end_valid to nil.
3139 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3140
3141 * dispextern.h (move_it_past_eol): Add prototype.
3142
3143 * xdisp.c (move_it_past_eol): New function.
3144
3e99d3b4
GM
3145 * window.c (Fwindow_end): Doc fix.
3146
31472001-01-03 Dave Love <fx@gnu.org>
3148
52283633 3149 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3150
bafb434c
GM
31512001-01-03 Gerd Moellmann <gerd@gnu.org>
3152
3153 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3154 the enabled_p flag of the glyph row at window_end_vpos to 0.
3155 (handle_single_display_prop): Fix last change.
3156
5297fb00
RS
31572001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3158
3159 * window.c (Frecenter): Doc fix.
3160
13d6a61c
AI
31612001-01-02 Andrew Innes <andrewi@gnu.org>
3162
3163 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3164
3165 * frame.h (output_method): Add output_w32_console method.
3166 (FRAME_W32_CONSOLE_P): New macro.
3167
3168 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3169 use output_w32_console method.
3170 (Qw32_console): New Lisp_Object.
3171 (Fframep): Return it.
3172 (syms_of_frame): Init it.
52283633 3173 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3174
3175 * xfaces.c (realize_default_face): Set face foreground and
3176 background to unspecified for w32_console frames.
3177 (realize_face): Realize face cache for w32_console frames.
3178 (realize_tty_face): Accept w32_console frames.
3179
52283633 3180 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3181 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3182 necessary, even if running interactively.
3183
3184 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3185 w32_console frames.
3186
52283633
SM
3187 * w32term.c (x_update_begin):
3188 (x_update_end):
3189 (x_clear_frame):
3190 (x_ins_del_lines):
3191 (x_change_line_highlight):
3192 (x_delete_glyphs):
3193 (w32_ring_bell):
3194 (x_update_begin):
3195 (x_update_end):
3196 (w32_reassert_line_highlight):
3197 (w32_frame_rehighlight):
13d6a61c
AI
3198 (w32_frame_raise_lower): Do nothing if not w32 frame.
3199
3200 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3201
3202 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3203 system doesn't tell us directly.
3204 (Fx_display_visual_class): Implement properly.
3205
d6bb0c0d
GM
32062001-01-02 Gerd Moellmann <gerd@gnu.org>
3207
3208 * window.c (Frecenter): Handle centering in graphical frames
3209 specially. Centering on the basis of line counts doesn't work
3210 reliably with variable-height lines.
52283633 3211
315f5865
EZ
32122001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3213
3214 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3215 and al[].
3216
52283633 3217 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3218 (update_compositions): Remove unused variable `hook'.
3219
3220 * intervals.c (get_local_map): Remove unused variable `tem'.
3221
3222 * doprnt.c (doprnt1): Remove unused variable `size'.
3223
3224 * fns.c (Flength): Remove unused variable `tail'.
3225 (Fdelete): Remove unused variable `size'.
3226
3227 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3228 and `gcpro2'.
3229
52283633 3230 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3231
3232 * data.c (find_symbol_value): Remove extra 3rd argument in the
3233 call to swap_in_symval_forwarding.
3234
52283633 3235 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3236
3237 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3238 (trivial_regexp_p): Remove unused variable `c'.
3239 (boyer_moore): Remove unused variable `k'.
3240
3241 * indent.c (current_column): Remove unused variable `stopchar'.
3242 (Fcompute_motion): Remove unused variable `contin'.
3243
3244 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3245
3246 * dired.c (directory_files_internal): Fix a typo in a comment.
3247 Remove an unused variable `handler'.
52283633 3248 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3249 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3250 on BSD4_2.
3251
52283633 3252 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3253
3254 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3255 and `buf'.
3256 (Fmarker_insertion_type): Remove unused variable `buf'.
3257
3258 * insdel.c (make_gap): Remove unused variable `result'.
3259
52283633 3260 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3261 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3262 (menu_bar_items): Remove unused function-scope variable `tem'.
3263
3264 * fontset.c (fontset_ref): Remove unused variable `i'.
3265 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3266 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3267 (make_fontset_for_ascii_face): Remove unused variable `name'.
3268 (fs_load_font): Remove unused variable `font_idx'.
52283633 3269 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3270 (list_fontsets): Remove unused variable `tail'.
3271 (Fnew_fontset): Remove unused variables `family' and `registry'.
3272 (accumulate_font_info): Remove unused variable `tmp'.
3273 (Ffontset_font): Remove unused variable `id'.
3274 (syms_of_fontset): Remove unused variable `i'.
3275
3276 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3277 to x_term_init.
3278 (lookup_image): Remove unused variable `file'.
3279 (xbm_load): Remove unused variables `bitmap_data', `height', and
3280 `width'. Remove function-local variable `i', leave the
3281 block-local one.
3282 (gif_load): Remove unused variable `inc'.
3283
52283633 3284 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3285 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3286 leave only the one in the inner block.
3287
3288 * xfaces.c (face_fontset, realize_default_face): Remove unused
3289 variable `fontset'.
3290 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3291
3292 * term.c (encode_terminal_code): Remove unused variable `c'.
3293
3294 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3295 char *' instead of `char *'.
3296
3297 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3298 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3299 (Fchar_category_set): Remove unused variables `val', `charset',
3300 `c1' and `c2'.
3301
52283633
SM
3302 * coding.c (detect_coding_iso2022, setup_coding_system):
3303 Remove unused variable `i'.
315f5865
EZ
3304 (detect_coding_mask): Remove unused variable `idx'.
3305 (detect_coding): Remove unused variable `i'.
3306 (ccl_coding_driver): Remove unused variable `result'.
3307 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3308 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3309 (encode_coding_string): Remove unused variables `gcpro1' and
3310 `saved_coding_symbol'.
3311 (Ffind_coding_systems_region_internal): Remove function-local
3312 variable args[], leave only the block-local one.
3313 (code_convert_region1): Remove unused variable `len'.
3314
3315 * charset.c (char_printable_p): Remove unused variable `chars'.
3316 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3317 (str_to_multibyte): Remove unused variable `c'.
3318
3319 * window.c (size_window): Remove block-local variable `min_size'.
3320
3321 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3322 `header_line_height'.
3323 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3324 enum display_element_type.
3325
1a8a9daf
GM
33262001-01-02 Gerd Moellmann <gerd@gnu.org>
3327
6dde6abc 3328 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3329 statements that call X. Save away the error message in a local copy.
3330
1883b2c6
GM
3331 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3332 the start.
3333
a13be207
GM
3334 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3335 in or at the start of invisible text.
3336
1a8a9daf
GM
3337 * dispnew.c (update_window): Don't check_current_matrix_flags.
3338
3608c0f9
JR
33392001-01-01 Jason Rumney <jasonr@gnu.org>
3340
3341 * w32fns.c (x_figure_window_size): Do not allow new_height and
3342 new_width of frame to override specified values.
3343
abb1acc4
KH
33442000-12-30 Kenichi Handa <handa@etl.go.jp>
3345
52283633 3346 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3347
762a68ec
GM
33482000-12-29 Gerd Moellmann <gerd@gnu.org>
3349
52283633 3350 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3351 (update_window) [GLYPH_DEBUG]: Call it.
3352 (scrolling_window): Prevent including current rows which are below
3353 what's displayed in the window.
3354
3355 * xdisp.c (try_window_reusing_current_matrix)
3356 <new start <= old start>: Disable rows in the current matrix
3357 which are below the window after scrolling.
52283633 3358
762a68ec
GM
3359 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3360 is zero. It's not worth the complexity.
3361 (invisible_text_between_p): Put in #if 0 because unused.
3362
2d5912c1
GM
33632000-12-28 Gerd Moellmann <gerd@gnu.org>
3364
46f6a258
GM
3365 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3366 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3367
89f93679
GM
3368 * keyboard.c (echo_char): If C is an integer, always call
3369 push_key_description. Former code could signal an invalid
3370 character error.
3371
3372 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3373 If set, print multibyte text.
3374 (Fsingle_key_description): Call push_key_description with
3375 FORCE_MULTIBYTE set.
3376 (describe_buffer_bindings): Likewise.
3377
3378 * lisp.h (push_key_description): Add prototype.
3379
c06017fb
GM
3380 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3381 around the call to redisplay_internal.
3382
f1d2ce7f
GM
3383 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3384
2d5912c1
GM
3385 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3386
9371f831
KH
33872000-12-28 Kenichi Handa <handa@etl.go.jp>
3388
3389 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3390 (ccl_driver): New local variable `extra_bytes'.
3391
3392 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3393
52283633
SM
3394 * coding.c (setup_coding_system):
3395 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3396 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3397
0c80628a
KH
33982000-12-28 Kenichi Handa <handa@etl.go.jp>
3399
3400 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3401 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3402 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3403 (decode_composition_emacs_mule): New function.
3404 (decode_coding_emacs_mule): Decode composition sequence by calling
3405 decode_composition_emacs_mule.
3406 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3407 (encode_coding_emacs_mule): Changed from macro to function.
3408 If a text contains compositions, encode them correctly.
0c80628a
KH
3409 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3410 that decoding and encoding are required.
3411
3e32cc27
GM
34122000-12-27 Gerd Moellmann <gerd@gnu.org>
3413
5e25feee
GM
3414 * xfaces.c (PT_PER_INCH): New macro.
3415 (xlfd_point_size): Compute real point size from font's pixel size.
3416 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3417 instead of 72.
3418
892d8fcd
GM
3419 * .gdbinit: Comment out the line pointing to the Lesstif source
3420 directory.
3421
12c8b416
GM
3422 * window.c (Frecenter): Use displayed_window_lines instead
3423 of window_internal_height.
3424
6061fbf0
GM
3425 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3426 instead of x-toolkit-scroll-bars-p.
3427 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3428
3429 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3430 instead of x-toolkit-scroll-bars-p.
3431 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3432
3e32cc27
GM
3433 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3434 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3435 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3436 New variables.
3437 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3438 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3439 (build_frame_matrix_from_leaf_window): Remove unused code.
3440 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3441 redisplay history.
3442 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3443 (update_window) [GLYPH_DEBUG]: Likewise.
3444 (syms_of_display): Defsubr dump-redisplay-history.
3445
31798cfe
GM
34462000-12-23 Gerd Moellmann <gerd@gnu.org>
3447
f717c2ba
GM
3448 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3449 the end of the prompt. Set echo_after_prompt to the offset
3450 of echoptr in echobuf.
3451
aeb2b8fc
GM
3452 * xdisp.c (init_from_display_pos): Pop until the iterator's
3453 stack is empty; there may be frames for stretch or images
3454 on the stack.
3455
31798cfe
GM
3456 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3457 (save_or_restore_current_matrix): New function for the same
3458 purpose, but more efficient.
3459 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3460
f8156156
EZ
34612000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3462
3463 * xdisp.c (syms_of_xdisp): Fix last change.
3464
bdd6d4e8
GM
34652000-12-23 Gerd Moellmann <gerd@gnu.org>
3466
3467 * xdisp.c (syms_of_xdisp): Doc fix.
3468
3469 * xdisp.c (redisplay_window): Remove label restore_buffers;
3470 use finish_scroll_bars instead to make sure that scroll bars
3471 are redeemed. If we don't do this, flickering can result from
3472 scroll bars being destroyed and recreated.
3473
9436cdf9
JR
34742000-12-22 Jason Rumney <jasonr@gnu.org>
3475
3476 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3477 in the wrong colors when the foreground is not black.
3478 (expose_window): Don't redraw the window that's currently being
3479 updated.
3480
951f9df5
GM
34812000-12-22 Gerd Moellmann <gerd@gnu.org>
3482
856ff7a7
GM
3483 * window.c (size_window): When setting the window's too_small_ok
3484 flag, compare old size with minimum size depending on WIDTH_P,
3485 don't compare with window_min_width.
52283633 3486
951f9df5
GM
3487 * window.c (delete_window): Simplify somewhat.
3488 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3489 freeing window matrices. The flag windows_or_buffers_changed is
3490 set, so the next redisplay will consider all windows; this should
3491 suffice.
3492
886bc933
KH
34932000-12-22 Kenichi Handa <handa@etl.go.jp>
3494
3495 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3496
3497 * ccl.h (struct ccl_program): New member cr_consumed.
3498
3499 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3500 (CCL_READ_CHAR): Handle EOL conversion here.
3501 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3502
177f4e88
GM
35032000-12-21 Gerd Moellmann <gerd@gnu.org>
3504
52283633 3505 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3506
3507 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3508 otherwise tabs of different size compare equal.
3509
3510 * callint.c (Fcall_interactively): Prevent a compiler warning.
3511
3512 * print.c (print_unwind): Return nil.
3513 (PRINTDECLARE): Initialize all local variables.
3514 (print_preprocess): Add a default case.
3515
8e15274f
GM
3516 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3517
3518 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3519
52283633 3520 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3521 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3522
3523 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3524
3525 * dispnew.c (ensure_frame_matrix): Removed.
3526 (save_frame_matrix, restore_frame_matrix): New functions.
3527 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3528
3529 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3530 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3531
99012074
AI
35322000-12-21 Andrew Innes <andrewi@gnu.org>
3533
3534 * w32term.c (x_update_begin): Regenerate the palette here, rather
3535 than for each window.
3536
3537 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3538 palette is NULL, since this corrupts memory! Also get
3539 display_info reference from frame.
3540
29ef7d2d
JR
35412000-12-21 Jason Rumney <jasonr@gnu.org>
3542
3543 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3544
3545 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3546 to avoid returning without releasing it.
3e27fa1f 3547
3f9d67a6
KH
35482000-12-21 Kenichi Handa <handa@etl.go.jp>
3549
587fc3f9
KH
3550 * keymap.c (push_key_description): Don't convert eight-bit-control
3551 and eight-bit-graphic to multibyte character.
3552
3f9d67a6
KH
3553 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3554 generic character and CODE1 is nil, return the smallest character
3555 in CHARSET.
3556
774ba8c9
DL
35572000-12-20 Dave Love <fx@gnu.org>
3558
3559 * s/osf5-0.h (NSIG): Don't redefine.
3560
88416888
SM
35612000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3562
3563 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3564 excluding menu-bar and tool-bar.
3565 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3566 (menu_item_p): Remove.
3567 (where_is_internal_1): Don't ignore menu-items.
3568
a6426c6f
GM
35692000-12-20 Gerd Moellmann <gerd@gnu.org>
3570
03ff8aab
GM
3571 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3572 into account.
3573
3574 * window.c (make_window): Initialize window's min_hscroll.
3575 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3576 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3577 to zero.
3578 (struct saved_window): New member min_hscroll.
3579 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3580 (Fset_window_configuration): Set window's min_hscroll.
3581 (save_window_save): Save window's min_hscroll.
3582 (compare_window_configurations): Compare min_hscroll values.
3583
3584 * window.h (struct window): New member min_hscroll.
3585
3586 * keyboard.c (echo_prompt): Prevent a compiler warning.
3587
8de4aaf8
GM
3588 * xdisp.c (try_cursor_movement): Fix last change. The real
3589 condition is that PT is at the end of the row, and should
3590 be displayed at the start of the next row.
52283633 3591
3f7e3031
GM
3592 * xdisp.c (try_cursor_movement): If we end on a partially
3593 visible line, end we already decided to scroll, return -1.
3594
a6426c6f
GM
3595 * dispextern.h (ensure_frame_matrix): Add prototype.
3596
3597 * window.c (delete_window, Fsplit_window)
3598 (Fset_window_configuration): Call ensure_frame_matrix.
3599
52283633
SM
3600 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3601 New functions.
a6426c6f
GM
3602 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3603 completed, call fake_current_matrices instead of marking frame
3604 garbaged.
3605
57fa2774
JR
36062000-12-20 Jason Rumney <jasonr@gnu.org>
3607
3608 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3609
d925df90
EZ
36102000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3611
3612 * fns.c (Frequire): Doc fix.
3613
7b93a85b
GM
36142000-12-19 Gerd Moellmann <gerd@gnu.org>
3615
52283633 3616 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3617
c74e645b
GM
3618 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3619 currently displaying a message.
3620
7b93a85b
GM
3621 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3622 xterm.h.
3623 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3624
90d97e64
AI
36252000-12-18 Andrew Innes <andrewi@gnu.org>
3626
3627 * w32.c (w32_strerror): New function.
3628
3629 * w32.h (w32_strerror): New extern.
3630
3631 * w32fns.c (Fw32_shell_execute): Use it.
3632
91c9e6ce
GM
36332000-12-18 Gerd Moellmann <gerd@gnu.org>
3634
3635 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3636
6f4745e2
EZ
36372000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3638
3639 * msdos.c (IT_set_face): Obey inverse_video.
3640
c9e088ce
KH
36412000-12-18 Kenichi Handa <handa@etl.go.jp>
3642
3643 * dired.c (directory_files_internal): Always return decoded filenames.
3644
c3695f5f
GM
36452000-12-18 Gerd Moellmann <gerd@gnu.org>
3646
52d8e4ff
GM
3647 * xterm.c (x_connection_closed): Prevent being called recursively
3648 because of an error condition in XtCloseDisplay.
52283633 3649
62be9979
GM
3650 * xdisp.c (init_iterator): If noninteractive, and the frame's
3651 face cache is null, make one.
3652
52283633 3653 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3654
c3695f5f
GM
3655 * process.c (wait_reading_process_input): Check for pending
3656 input when running timers.
3657
78555fbe
EZ
36582000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3659
52283633 3660 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3661
b2b36264
KH
36622000-12-18 Kenichi Handa <handa@etl.go.jp>
3663
3664 * process.c (read_process_output): Don't run a filter if the code
3665 decoder produces nothing but carryover.
3666
9c543fbf
AI
36672000-12-17 Andrew Innes <andrewi@gnu.org>
3668
3669 * w32.c (sys_rename): Only check errno against EEXIST, and not
3670 EACCES, when determining whether rename failed because the target
3671 exists. This was resulting in indefinite looping on Windows 9x if
3672 the source file was locked by another process.
3673
3674 * w32fns.c (Ffile_system_info): New function.
3675 (syms_of_w32fns): Defsubr it.
3676
10c2b5a8
GM
36772000-12-17 Gerd Moellmann <gerd@gnu.org>
3678
b0228ace
GM
3679 * window.c (coordinates_in_window): Fix computation for
3680 position on vertical line between mode lines.
3681
10c2b5a8
GM
3682 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3683 Don't alter tip_frame or tip_window.
3684 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3685 was deleted.
3686
c844a81a
GM
3687 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3688 Don't alter tip_frame or tip_window.
3689 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3690 was deleted.
3691
6c825f8e
EZ
36922000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3693
3694 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3695 be consistent with the doc string. Reported by NAKAJIMA Mikio
3696 <minakaji@osaka.email.ne.jp>.
3697
af4bb4c8
KH
36982000-12-16 Kenichi Handa <handa@etl.go.jp>
3699
3700 * xfaces.c (Vface_ignored_fonts): New variable.
3701 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3702 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3703
8062e53a
GM
37042000-12-15 Gerd Moellmann <gerd@gnu.org>
3705
e87b8809
GM
3706 * dispnew.c (update_window): Detect pending input every nth line
3707 updated, i.e. do it depending on real work done, and not on the
3708 vpos of the line.
3709
3710 * xterm.c (expose_window): Don't redraw the window that's
3711 currently being updated.
3712
a6768cc5
GM
3713 * window.c (Fset_window_point): Remove test for
3714 cursor_in_non_selected_windows.
3715
4ea7fdca
GM
3716 * lread.c (read1): Recognize end of file after `\\'.
3717
8062e53a
GM
3718 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3719 not unwind_create_frame.
3720
bb7959c1
GM
37212000-12-15 Dave Love <fx@gnu.org>
3722
3723 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3724 bcopy & al.
3725
3726 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3727
ced04c42
KH
37282000-12-15 Kenichi Handa <handa@etl.go.jp>
3729
c5443913
KH
3730 * coding.c (setup_coding_system): Clear all members of the struct
3731 coding_system at first.
bc137305
KH
3732 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3733 argument.
3734 (code_convert_region): Don't override coding->src_multibyte and
3735 coding->dst_multibyte.
c5443913 3736
ced04c42
KH
3737 * fns.c (Fmd5): Docstring improved.
3738
c2d7f289
MB
37392000-12-15 Miles Bader <miles@gnu.org>
3740
3741 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3742 are actually marked as mode-lines; otherwise use
3743 estimate_mode_line_height.
3744
9d7d9263
GM
37452000-12-14 Gerd Moellmann <gerd@gnu.org>
3746
3747 * editfns.c (Fformat): Prevent a buffer overrun when the format
3748 specifies a precision.
3749
7cf0153a
EZ
37502000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3751
3752 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3753 argument is outside the range [2..3].
3754
1de0f662
AI
37552000-12-14 Andrew Innes <andrewi@gnu.org>
3756
3757 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3758 nothing to do. Bind inhibit-quit.
3759 (tip_frame): Make it a Lisp_Object.
3760 (x_create_tip_frame): Set tip_frame after it has been added to
3761 Vframe_list.
3762 (Fx_show_tip): Don't set tip_frame here.
52283633 3763 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3764 (unwind_create_frame, unwind_create_tip_frame): New functions.
3765 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3766 while a frame is only partially constructed.
3767
3768 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3769 (x_free_frame_resources): New function.
3770 (x_destroy_window): Use it.
3771
02387dcc
GM
37722000-12-14 Gerd Moellmann <gerd@gnu.org>
3773
3774 * xfns.c (Fx_backspace_delete_keys_p): New function.
3775 (syms_of_xfns): Defsubr it.
3776
3777 * config.in (HAVE_XKBGETKEYBOARD): Add.
3778
0544ef49
KH
37792000-12-14 Kenichi Handa <handa@etl.go.jp>
3780
98d62747
KH
3781 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3782 Always store string in multibyte representation in echobuf.
3783 (echo_char): Always store string in multibyte representation in
3784 echobuf.
3785 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3786 (read_key_sequence): Adjusted for the change of echo_prompt.
3787
a20193cd
KH
3788 * fns.c (Fmd5): Docstring improved.
3789
191b83b6
KH
3790 * lisp.h (detect_coding_system): Prototype adjusted.
3791
0544ef49
KH
3792 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3793 (detect_coding_emacs_mule, detect_coding_iso2022,)
3794 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3795 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3796 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3797 (detect_coding_mask, detect_coding_system): New argument
3798 MULTIBYTEP. Callers changed.
1da1bb05
KH
3799 (decode_coding_string): Set coding->src_multibyte and
3800 coding->dst_multibyte before calling detect_coding and detect_eol.
3801 Update them after some coding system is detected.
52283633 3802
d5b3eb1b
SM
38032000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3804
3805 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3806
3807 * keyboard.c (menu_bar_items, tool_bar_items):
3808 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3809
f7f8bb69
GM
38102000-12-13 Gerd Moellmann <gerd@gnu.org>
3811
52283633 3812 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3813 New variables.
3814 (unwind_create_frame, unwind_create_tip_frame): New functions.
3815 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3816 while a frame is only partially constructed.
3817
3818 * xterm.h (x_free_frame_resources): Declare.
3819
3820 * xterm.c (x_free_frame_resources): New function.
3821 (x_destroy_window): Use it.
3822
e10da507
GM
3823 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3824 don't interrupt the update for pending input initially, i.e.
3825 update at least some lines.
3826
3827 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3828
d5b3eb1b 3829 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3830
3831 * xfns.c (gray_bitmap_bits): Declare `char *'.
3832
90aa2856
GM
38332000-12-12 Gerd Moellmann <gerd@gnu.org>
3834
3835 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3836 lines start with a relief line.
3837
a308c9cd
DL
38382000-12-12 Dave Love <fx@gnu.org>
3839
3840 * window.c (Fdisplay_buffer): Doc fix.
3841 (Fwindow_list): Remove unused var.
3842
3843 * buffer.h (mmap_set_vars): Declare.
3844
3845 * window.h (Fset_window_point): Declare.
3846
d575011f
EZ
38472000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3848
bf6282d2 3849 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3850 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3851 variable `area'. When looking for a row under (X,Y), give up if some
3852 of the previous rows is not enabled.
d575011f 3853
ecf4d726
GM
38542000-12-12 Gerd Moellmann <gerd@gnu.org>
3855
2ebf6139
GM
3856 * window.c (Fset_window_point): If displaying cursors in windows
3857 other than the selected window, make sure redisplay updates
3858 other windows to show the new value of point in the window.
3859
3860 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3861
bfdb75ee
GM
3862 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3863 the buffer is the sole visible buffer when in the mini-buffer.
3864
52283633 3865 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3866 Bind `inhibit-read-only' to t.
3867 (unwind_with_echo_area_buffer): Use AREF.
3868
c0006262
GM
3869 * xfns.c (Fx_hide_tip): Simplified.
3870
52283633
SM
3871 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3872 instead of `1'.
e9a59cad 3873
ecf4d726
GM
3874 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3875
e5959a9a
GM
38762000-12-11 Gerd Moellmann <gerd@gnu.org>
3877
a3642e49 3878 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3879
44b5a125
GM
3880 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3881 nothing to do. Bind inhibit-quit.
3882 (tip_frame): Make it a Lisp_Object.
3883 (x_create_tip_frame): Set tip_frame after it has been added to
3884 Vframe_list.
3885 (Fx_show_tip): Don't set tip_frame here.
3886
3887 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3888
3889 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3890 Lisp_Object.
3891
3892 * dispextern.h: Change external declaration of tip_frame.
3893
d990421f
GM
3894 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3895 return an empty string.
3896
4db87380
GM
3897 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3898 of the window's update_mode_line flag, since the former is set by
3899 force-mode-line-update, not the latter. This makes
3900 column-number-mode slightly faster.
52283633 3901
e5959a9a
GM
3902 * xdisp.c (try_window_id) <all changes above window start>:
3903 Set the cursor.
3904
169fe44e
GM
39052000-12-11 Paul Eggert <eggert@twinsun.com>
3906
3907 * config.in (HAVE_FTELLO): Remove.
3908 (HAVE_FSEEKO): Add.
3909 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3910 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3911 HAVE_FTELLO.
3912 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3913 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3914
59ec59ae
MB
39152000-12-11 Miles Bader <miles@gnu.org>
3916
3917 * window.c (displayed_window_lines): Don't round up when
3918 converting empty space at bottom to lines.
ff904dd6
MB
3919 Handle non-newline-terminated final lines properly.
3920 (Fwindow_text_height): New function (used to be in lisp).
3921 (syms_of_window): Initialize it.
59ec59ae 3922
42ebfa31
SM
39232000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3924
3925 * syntax.c (scan_lists): Check that the right quote char has the
3926 right Sstring syntax when jumping over strings.
3927 (init_syntax_once): Use Smax rather than 13.
3928
5cdb3cf3
MB
39292000-12-09 Miles Bader <miles@gnu.org>
3930
3931 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3932 with PARTIALLY, inverting the sense.
3933 (window_scroll_pixel_based): Scroll partially visible lines into
3934 place if we hit the beginning or end of the buffer.
a12167c5
MB
3935 (displayed_window_lines): Don't include partially visible lines.
3936 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3937
842b2a94
GM
39382000-12-08 Gerd Moellmann <gerd@gnu.org>
3939
3940 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3941
3942 * tparam.c (tparam1): Change the way buffers are reallocated to be
3943 portable and less obfuscated.
3944
3945 * termcap.c (tgetent): Change the way buffers are reallocated to
3946 be portable and less obfuscated.
3947
3948 * macros.c (store_kbd_macro_char): Change the way buffers are
3949 reallocated to be portable and less obfuscated.
3950
3951 * lread.c (read1): Change the way buffers are reallocated to be
3952 portable and less obfuscated.
3953
3954 * doc.c (Fsubstitute_command_keys): Change the way buffers
3955 are reallocated so that it is portable.
3956
137cad7c
EZ
39572000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3958
3959 * dosfns.c (Ffile_system_info): New function.
3960 (syms_of_dosfns): Defsubr it.
3961
5c7f629c
SM
39622000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3963
3964 * alloc.c (gc_sweep): Add comment.
3965
959e647d
GM
39662000-12-07 Gerd Moellmann <gerd@gnu.org>
3967
52283633
SM
3968 * sound.c (vox_configure): Change order of ioctls.
3969 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3970 Ignore errors when changing volume.
3971 (vox_close): Don't reset the device.
3972
926b7e5e
GM
3973 * process.c (read_process_output): Make sure the process marker's
3974 position is valid when the process buffer is changed in
3975 after-change functions. W3 does that.
52283633 3976
959e647d
GM
3977 * xfns.c (x_free_gcs): New function.
3978
3979 * xterm.h (x_free_gcs): Add prototype.
3980
3981 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3982 freeing GCs here.
3983
3984 * xterm.c (x_destroy_window): Call x_free_gcs so that
3985 resources of non-toolkit X windows will be freed.
3986
478ea067
AI
39872000-12-07 Andrew Innes <andrewi@gnu.org>
3988
3989 * w32fns.c (xlfd_charset_of_font): Fix last change.
3990
fbee3231
DL
39912000-12-06 Dave Love <fx@gnu.org>
3992
67292061
DL
3993 * md5.h (__P): Don't define -- it comes from config.h.
3994
fbee3231
DL
3995 * strftime.c: Change some #if foo to #ifdef foo.
3996
4ee87dbb
AI
39972000-12-06 Andrew Innes <andrewi@gnu.org>
3998
3999 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4000
52283633 4001 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4002 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4003 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4004
9765b4a4
GM
40052000-12-06 Gerd Moellmann <gerd@gnu.org>
4006
d285b373
GM
4007 * alloc.c (gc_sweep): Prevent symbols read during loadup
4008 from being freed.
4009
384333ee
GM
4010 * xdisp.c (underlying_face_id): New function.
4011 (handle_face_prop, face_before_or_after_it_pos): Use it
4012 to determine the face ``under'' a string. Let strings inherit
4013 the face of the buffer under them.
4014
4015 * xfaces.c (face_at_string_position): Update function comment.
52283633 4016
d4b72d58
GM
4017 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4018 matrix if the window's left position has changed; we need to
4019 redraw it in this case.
4020
4021 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4022
e1d05387
GM
4023 * window.c (coordinates_in_window): Check mouse on mode-line or
4024 header-line first.
4025
eb1b0c74
GM
4026 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4027 advertized by the function documentation.
4028
d94d636f
GM
4029 * window.c (syms_of_window): Doc fix.
4030
3887b449
GM
4031 * sound.c (vox_configure): Set volume for left and right channel.
4032 (sound_cleanup): Return nil.
4033
efc8f57a
GM
4034 * xdisp.c (move_it_by_lines): Fix paren typo.
4035
9765b4a4
GM
4036 * xterm.c (x_load_font): Don't use the font's max_bounds for
4037 computing the height of the font. If max_bounds' ascent or
4038 descent are greater than the font's ascent or descent, this means
4039 glyphs overlap, which should be handled now by redisplay.
4040
6529ed87
GM
4041 * window.c (Veven_window_heights): New variable.
4042 (syms_of_window): DEFVAR_LISP it.
4043 (Fdisplay_buffer): Check Veven_window_heights before evening the
4044 window heights.
52283633 4045
0eb2ecde
MB
40462000-12-06 Miles Bader <miles@gnu.org>
4047
4048 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4049 update `default-frame-alist' instead of setting no frame parameters.
4050
03d7a167
KH
40512000-12-06 Kenichi Handa <handa@etl.go.jp>
4052
4053 * composite.c (update_compositions): Fix typo (use the correct
4054 variable).
4055
5f8803c2
JR
40562000-12-05 Jason Rumney <jasonr@gnu.org>
4057
4058 * md5.h: Remove underscores from function declarations.
4059 (__attribute__, __alignof__) [!__GNUC__]: Define.
4060
4061 * md5.c: Delay include of md5.h until after namespace cleaning.
4062
c28a075b
JR
4063 * makefile.w32-in (fns.o): Depend on md5.h
4064 (md5.o): New target.
4065 (sunfns.o): Remove.
4066
4067 * makefile.nt: Likewise.
4068
ff3c7056
JR
40692000-12-05 Jason Rumney <jasonr@altavista.net>
4070
4071 * w32term.c (expose_area): Complete last change.
4072
0c21eeeb
KR
40732000-12-05 Ken Raeburn <raeburn@gnu.org>
4074
4075 * minibuf.c: Include intervals.h.
4076
f201d732
JR
40772000-12-05 Jason Rumney <jasonr@gnu.org>
4078
4079 * w32term.c (x_produce_glyphs): If a font for a component of
4080 a composition is not found, use 1 pixel dot ascent and 0 dot
4081 descent value to avoid displaying terribly tall empty boxes.
4082 (expose_area): Pass x-coordinate relative to the exposed
4083 area to x_draw_glyphs instead of a window-relative coordinate.
4084
21999ab9
GM
40852000-12-05 Gerd Moellmann <gerd@gnu.org>
4086
4d2036e4
GM
4087 * xdisp.c (next_element_from_ellipsis): Save face before selective
4088 display in saved_face_id, and set face_before_selective_p.
4089 (reseat_1): Reset face_before_selective_p.
4090 (append_space, extend_face_to_end_of_line): If iterator's
4091 face_before_selective_p is set, use the face from saved_face_id.
4092 (extend_face_to_end_of_line): For tty frames, make sure to
4093 use the right face id when producing spaces at the end of
4094 the line.
4095
4096 * dispextern.h (struct it): Add face_before_selective_p.
4097
52be17cc
GM
4098 * keyboard.c (record_char): Don't record identical help-echo
4099 events in recent_keys.
4100
8a4f36cc
GM
4101 * xterm.c [USE_X_TOOLKIT]: Close the display.
4102 (xim_close_dpy): Handle case that the display has been closed.
4103
57d6e381
GM
4104 * xterm.c (x_destroy_window): Reset the frame's X window after
4105 destroying it.
4106
21999ab9
GM
4107 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4108 variable window_width.
4109 (line_draw_cost): Fix code skipping over spaces at the end of the
4110 line when must_write_spaces is not set.
4111 (scrolling_window): Fix code inserting runs in list of all runs.
4112
91372bb7
KH
41132000-12-05 Kenichi Handa <handa@etl.go.jp>
4114
4115 * coding.c (setup_coding_system): Be sure to initialize
4116 coding->category_idx.
4117
6c083b4c
GM
41182000-12-04 Gerd Moellmann <gerd@gnu.org>
4119
0c68ce6f 4120 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4121
6452929e
GM
4122 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4123 area to x_draw_glyphs instead of a window-relative coordinate.
4124
d7f31e22
GM
4125 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4126 error in the message.
4127
ae18aa3b
GM
4128 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4129 timer after having read a key. It's not good for code reading
4130 several keys in a loop, like an input method.
4131
caa15ef7
GM
4132 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4133 record undo information for format-decode.
4134
4135 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4136 current buffer is read-only, not if it isn't.
4137
6c083b4c
GM
4138 * keyboard.c (record_char): Record `help-echo' input events
4139 in recent_keys only if they display some help. Don't record
4140 `help-echo' events as macro char.
4141
caa15ef7
GM
41422000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4143
4144 * editfns.c (save_excursion_restore): Don't move point
4145 in another window if it is showing the wrong buffer.
4146 Avoid the call to Fwindow_live_p, for speed.
4147
5a13529b
KH
41482000-12-04 Kenichi Handa <handa@etl.go.jp>
4149
e225faa7
KH
4150 * xfaces.c (struct font_name): New member registry_priority.
4151 (split_font_name): Initialize the above member to zero.
4152 (concat_font_list): New function.
4153 (font_list): Include fonts of all alternative registries.
4154 (FONT_POINT_SIZE_QUANTUM): New macro.
4155 (better_font_p): Ignore point size difference less than
4156 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4157
e89648b4
KH
4158 * xterm.c (x_produce_glyphs): If a font for a component of
4159 a composition is not found, use 1 pixel dot ascent and 0 dot
4160 descent value to avoid displaying terribly tall empty boxes.
4161
5a13529b
KH
4162 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4163
d7935eb6
KR
41642000-12-03 Ken Raeburn <raeburn@gnu.org>
4165
4166 * coding.h (code_convert_string1): Declare.
4167
4168 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4169
52283633 4170 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4171
0dd5e255
JR
41722000-12-02 Jason Rumney <jasonr@gnu.org>
4173
4174 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4175 correctly for single byte character case.
4176 (w32_per_char_metric): Do not try to make any assumptions about
4177 the metrics of BDF fonts.
250cfece 4178 (x_estimate_mode_line_height): If `mode-line' face
52283633 4179 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4180 (note_mouse_highlight): Change the cursor shape on the vertical
4181 border between windows [not enabled].
4182
4183 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4184
4185 * w32fns.c (Fx_create_frame): Reintroduce the call to
4186 face-set-after-frame-defaults.
4187 (Vx_window_horizontal_drag_shape): New variable.
4188 (syms_of_xfns): DEFVAR_LISP it.
4189 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4190 enabled].
0dd5e255 4191
b5d8d2ca
GM
41922000-12-02 Simon Josefsson <simon@josefsson.org>
4193
4194 * fns.c (Fmd5): Use a different logic to decide the coding system
4195 to use.
4196
4197 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4198
fbb87147
EZ
41992000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4200
52283633 4201 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4202
447e9da0
GM
42032000-12-01 Gerd Moellmann <gerd@gnu.org>
4204
7708ced0
GM
4205 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4206 height for YNegative.
4207 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4208 height; also see comment there.
4209
447e9da0
GM
4210 * window.c (coordinates_in_window): Handle computations for
4211 positions on the vertical bar and fringes differently for
4212 window-system frames. Consider some pixels near the vertical bar
4213 as on the bar if the frame doesn't have vertical scroll bars.
4214 Associate positions between mode or header lines with the
4215 right window, the left one.
4216
86d1db20
JR
42172000-12-01 Jason Rumney <jasonr@gnu.org>
4218
4219 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4220
4221 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4222 invalid frame.
4223
a1d58e5b
GM
42242000-12-01 Gerd Moellmann <gerd@gnu.org>
4225
52283633 4226 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4227 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4228 (save_window_save, Fset_window_configuration): Save/restore
4229 window's orig_top and orig_height.
4230
89c609af
JR
42312000-12-01 Jason Rumney <jasonr@gnu.org>
4232
4d177746 4233 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4234
89c609af
JR
4235 * w32fns.c (x_set_cursor_color): Fix last change.
4236
eccc05db
GM
42372000-11-30 Gerd Moellmann <gerd@gnu.org>
4238
31b6671b
GM
4239 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4240 sure that the next redisplay displays the minibuffer, so that
4241 the cursor will be replaced with what the minibuffer wants.
4242
eccc05db
GM
4243 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4244 #ifndef instead of using #if.
4245 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4246 USE_TOOLKIT_SCROLL_BARS is defined.
4247
162de750
JR
42482000-11-30 Jason Rumney <jasonr@gnu.org>
4249
4250 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4251 x_display_cursor.
4252
693c4692
GM
42532000-11-30 Gerd Moellmann <gerd@gnu.org>
4254
4255 * fns.c (Fmd5): Doc fix.
4256
b5d8d2ca 42572000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4258
4259 * fns.c (Fmd5): New function.
4260 (syms_of_fns): Defsubr md5.
4261
4262 * Makefile.in (obj): Add md5.o
4263
b02cd40b
GM
42642000-11-30 Gerd Moellmann <gerd@gnu.org>
4265
edfb795e
GM
4266 * md5.h, md5.c: New files, taken from glibc.
4267
df3aedcf
GM
4268 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4269
b02cd40b 4270 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4271 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4272
8b5176cd
SM
42732000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4274
4275 * eval.c (Frun_hooks): Allow 0 arguments.
4276
346598f1
GM
42772000-11-29 Gerd Moellmann <gerd@gnu.org>
4278
f9396e03
GM
4279 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4280 is over the menu bar widget, say it's not on the frame.
4281
4a967a9b
GM
4282 * xfns.c (Fx_create_frame): Reintroduce the call to
4283 face-set-after-frame-defaults.
4284
346598f1
GM
4285 * eval.c (Fsignal): Reset handling_signal.
4286
222456a1
JR
42872000-11-28 Jason Rumney <jasonr@gnu.org>
4288
4289 * w32menu.c (add_menu_item): Reset menu item text when changing
4290 type to radio button.
4291
8049ddc0
GM
42922000-11-28 Gerd Moellmann <gerd@gnu.org>
4293
346598f1 4294 * xselect.c: Update copyright.
f4f4ee4d 4295
bebe4a2c
GM
4296 * window.c (coordinates_in_window): If on a mode or header line,
4297 but sufficiently close to its start, return ``on vertical
4298 border''. This gives us a way to drag windows horizontally when
4299 using toolkit scroll bars.
4300
4301 * xterm.c (note_mouse_highlight): Change the cursor shape
4302 on the vertical border between windows.
4303
4304 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4305
4306 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4307 (syms_of_xfns): DEFVAR_LISP it.
4308 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4309
8d2c2642
GM
4310 * textprop.c (text_read_only): New function.
4311 (verify_interval_modification): Use it instead of signaling
4312 `text-read-only'. This makes it easier to catch this error
52283633 4313 with a breakpoint.:
8d2c2642 4314
52283633 4315 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4316 not end of line, which includes CR.
4317
5a2bae6c
KH
43182000-11-28 Kenichi Handa <handa@etl.go.jp>
4319
4320 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4321 include no-conversion.
4322
ae31f84d
JR
43232000-11-27 Jason Rumney <jasonr@gnu.org>
4324
4325 * w32fns.c (w32_load_system_font): Always mark font as double byte
4326 if codepage is unicode.
4327
67f1cf4c
GM
43282000-11-27 Gerd Moellmann <gerd@gnu.org>
4329
4a74d071 4330 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4331 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4332
902ae620
GM
4333 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4334 `vertical-line', `mode-line' and `header-line' events.
4335
4336 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4337 of a character, a TAB for instance. This is easier than to set
4338 up the iterator exactly, and it's not a frequent case, so the
4339 additional effort wouldn't really pay off.
4340
c1e279c2
AC
43412000-11-26 Andrew Choi <akochoi@i-cable.com>
4342
67f1cf4c 4343 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4344 init_window_once.
4345
a609568a
JR
43462000-11-25 Jason Rumney <jasonr@gnu.org>
4347
52283633
SM
4348 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4349 Args to window_from_coordinates should be pixel coordinates.
48b21762 4350
a609568a
JR
4351 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4352 redisplay handles them properly.
4353
a658d039
MB
43542000-11-25 Miles Bader <miles@gnu.org>
4355
4356 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4357
d3416cca
JR
43582000-11-24 Jason Rumney <jasonr@gnu.org>
4359
4360 * w32.c (init_environment): Set LANG environment variable based on
4361 locale settings, if not set.
4362
4363 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4364 making tool bar smaller. When clearing the frame, also
4365 clear current matrices. Clear frame when tool bar disappears.
4366 Don't use more lines for the tool-bar than is available.
4367 (x_change_window_heights): New function.
4368
ba193890
GM
43692000-11-24 Gerd Moellmann <gerd@gnu.org>
4370
2be8f184
GM
4371 * xdisp.c (init_from_display_pos): If POS says we're already after
4372 an overlay string ending at POS, make sure to pop the iterator
4373 because it will be in front of that overlay string. When POS is
4374 ZV, we've thereby also ``processed'' overlay strings at ZV.
4375
ba193890
GM
4376 * xfaces.c (lface_from_face_name): Function comment fix.
4377
1862a24e
MB
43782000-11-24 Miles Bader <miles@gnu.org>
4379
4380 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4381 apply `mode-line-inverse-video' -- zero means force display using
4382 the default face, non-zero means display using the specialized face.
4383 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4384
f07fa1b8
KH
43852000-11-23 Kenichi Handa <handa@etl.go.jp>
4386
4387 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4388 hard coded `4'.
4389
2bcdf662
EZ
43902000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4391
4392 * coding.c (decode_coding_emacs_mule): Fix the case of
4393 CODING_EOL_LF, which used uninitialized value of c.
4394
ba8299ff
SM
43952000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4396
4397 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4398
f4117c4d
GM
43992000-11-22 Gerd Moellmann <gerd@gnu.org>
4400
03e757c1
GM
4401 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4402 buffer object.
4403
f4117c4d
GM
4404 * frame.h (struct frame): Replace desired_tool_bar_items,
4405 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4406 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4407
4408 * frame.c (make_frame): Change initialization of tool bar
4409 items accordingly.
4410
4411 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4412 Change references to members deleted from struct frame to use the
f4117c4d
GM
4413 new ones.
4414
4415 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4416 references to members deleted from struct frame to use the new ones.
f4117c4d 4417
52283633 4418 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4419
4420 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4421
4422 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4423 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4424 from struct frame to use the new ones.
4425
f8e2f3f2
MB
44262000-11-23 Miles Bader <miles@gnu.org>
4427
4428 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4429 the face's inverse-video attribute, rather than overriding it.
4430
60e8e0a5
GM
44312000-11-22 Gerd Moellmann <gerd@gnu.org>
4432
4433 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4434 making tool bar smaller.
4435
92dd1b29
DL
44362000-11-22 Dave Love <fx@gnu.org>
4437
4438 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4439
e672fdce
MB
44402000-11-22 Miles Bader <miles@gnu.org>
4441
3a17d6cc
MB
4442 * keyboard.c (Vminibuffer_message_timeout): New variable.
4443 (command_loop_1): Use it to determine message timeout.
4444 (syms_of_keyboard): Initialize it.
4445
60e8e0a5 4446 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4447
e9655d81
KH
44482000-11-22 Kenichi Handa <handa@etl.go.jp>
4449
4450 * sysdep.c: Move the code for declaring h_errno after #include
4451 <netdb.h>.
4452
77270fac
GM
44532000-11-21 Gerd Moellmann <gerd@gnu.org>
4454
cd913aae
GM
4455 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4456 the menu bar when the tooltip is unmapped.
4457
77270fac
GM
4458 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4459 sole visible buffer when we're currently in the mini-buffer, and
4460 give up if so.
52283633 4461
556635d6
JR
44622000-11-21 Jason Rumney <jasonr@gnu.org>
4463
4464 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4465 put on the clipboard.
4466 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4467 copy of what Emacs last put there. If they are the same, do not
52283633 4468 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4469
5b7bde64
MB
44702000-11-22 Miles Bader <miles@gnu.org>
4471
4472 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4473 (syms_of_minibuf): Initialize it.
4474 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4475 to prompt, don't make read-only.
4476
ff23e1dd
GM
44772000-11-21 Gerd Moellmann <gerd@gnu.org>
4478
52283633
SM
4479 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4480 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4481
7aaf4388
GM
4482 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4483
f5f47add 4484 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4485
ff23e1dd
GM
4486 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4487
37c35586
KH
44882000-11-21 Kenichi Handa <handa@etl.go.jp>
4489
4490 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4491 ... #endif scope.
4492
ff9ab414
GM
44932000-11-20 Gerd Moellmann <gerd@gnu.org>
4494
52283633 4495 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4496 screen supports it.
4497
29a01b72
GM
4498 * s/gnu-linux.h: Don't use `#cpu'.
4499
09dfdf85
GM
4500 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4501 not defined in mman.h.
4502
52283633 4503 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4504 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4505 and store an index in the XClientMessageEvent. Storing a
4506 Lisp_Object or pointer can fail on a 64 bit system, since X only
4507 transfers 32 bits.
52283633
SM
4508 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4509
81459ac9
DL
45102000-11-20 Dave Love <fx@gnu.org>
4511
4512 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4513
56c13ae6
GM
45142000-11-20 Gerd Moellmann <gerd@gnu.org>
4515
4516 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4517
495a6df3
KH
45182000-11-20 Kenichi Handa <handa@etl.go.jp>
4519
2bcf3714
KH
4520 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4521 by WIDTH.
4522
495a6df3
KH
4523 * alloc.c (make_string): Fix previous change. Be sure to make
4524 unibyte string correctly.
4525
6d950f4c
GM
45262000-11-19 Gerd Moellmann <gerd@gnu.org>
4527
39b39373
GM
4528 * window.c (Fwindow_list): Change parameter list to be XEmacs
4529 compatible.
4530 (window_list_1): New function.
4531 (window_loop): Use it instead of Fwindow_list.
4532
b95b34e5
GM
4533 * sysdep.c (emacs_ospeed): New variable.
4534 (toplevel): Don't declare ospeed extern.
4535 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4536
4537 * termcap.c (ospeed): Remove.
4538 (tputs) [!emacs]: Remove unused code.
4539 (tgetent): Avoid a compiler warning.
4540
e83dc917
GM
4541 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4542 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4543 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4544
4545 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4546 removed.
4547 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4548 Take the X display as additional argument.
4549 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4550 `Widget' is a pointer type that's not easily stored in Lisp_Object
4551 form in a portable way.
52283633 4552
6d950f4c
GM
4553 * dispnew.c (update_text_area): Fix last change.
4554
e47306e6
GM
45552000-11-18 Gerd Moellmann <gerd@gnu.org>
4556
fb3cd89b
GM
4557 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4558
4559 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4560 clear current matrices.
4561
edaa9aed
GM
4562 * buffer.c (mmap_enlarge): Don't print a message on stderr
4563 if mapping new memory at the end of the existing region fails.
4564
e47306e6
GM
4565 * dispnew.c (update_text_area): Don't skip over equal glyphs
4566 when the last current glyph overlaps the glyph to its right.
4567
509633e3
MB
45682000-11-18 Miles Bader <miles@gnu.org>
4569
4570 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4571 lines that *end* with "..." too (that's the most common case!).
4572
d392e9c5
GM
45732000-11-18 Gerd Moellmann <gerd@gnu.org>
4574
67988445
GM
4575 * xdisp.c (resize_mini_window): Temporarily change to the
4576 mini-window's buffer if necessary.
1bfdbe43 4577
d392e9c5
GM
4578 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4579 the tooltip obscures less text under it.
4580
45812000-11-17 Gerd Moellmann <gerd@gnu.org>
4582
4583 * puresize.h (BASE_PURESIZE): Increase to 700000.
4584
92bb977f
JR
45852000-11-18 Jason Rumney <jasonr@gnu.org>
4586
4587 * w32term.c (w32_draw_bitmap): Use face to set colors.
4588
26fbf20b
DL
45892000-11-17 Dave Love <fx@gnu.org>
4590
4591 * lread.c (Fload): Fix #ifdef for pcc.
4592
100b593b
GM
45932000-11-17 Gerd Moellmann <gerd@gnu.org>
4594
4595 * xdisp.c (pos_visible_p): Compute the default character height
4596 differently.
4597
a288d0d1
GM
45982000-11-16 Gerd Moellmann <gerd@gnu.org>
4599
cac94de6 4600 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4601 knowing the line's height; use the default font's height in that case.
cac94de6 4602
a288d0d1
GM
4603 * xfaces.c (weight_table): Add `demi' with the same meaning as
4604 `demibold'.
4605
981fb6f6
KH
46062000-11-16 Kenichi Handa <handa@etl.go.jp>
4607
2cca872d 4608 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4609 (clear_glyph_row): Delete local static variable null_row.
4610
e5fa381b
JR
46112000-11-15 Jason Rumney <jasonr@gnu.org>
4612
4613 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4614 (w32_alloc_lighter_color): Use new brightness calculations from
4615 xterm.c. Scale delta to be in the range expected by W32.
4616 (w32_draw_relief_rect): Use frame relief colors.
4617
8e42f043
GM
46182000-11-15 Gerd Moellmann <gerd@gnu.org>
4619
6d133d1f
GM
4620 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4621 (Qinhibit_default_face_x_resources): New variable.
4622 (syms_of_frame): Initialize it.
4623 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4624
4625 * xdisp.c (pos_visible_p): Improve function comment.
4626
4627 * lisp.h (BINDING_STACK_SIZE): New macro.
4628
8e42f043
GM
4629 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4630 reading the directory if readdir returns null and errno is EAGAIN
4631 or EINTR.
4632
e8c87124
SM
46332000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4634
4635 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4636 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4637 Set amount_to_scroll to max of dx and scroll_step so that
4638 scroll-conservatively doesn't defeat scroll-step>1.
4639 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4640 scroll-conservatively for line-at-a-time scrolling.
4641
5f0c971d
GM
46422000-11-14 Gerd Moellmann <gerd@gnu.org>
4643
4644 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4645 extra argument.
4646
4647 * xdisp.c (current_mode_line_height, current_header_line_height):
4648 New variables.
4649 (init_xdisp): Initialize them.
4650 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4651 and use exact mode line heights if it is set.
4652
4653 * lisp.h (pos_visible_p): Change prototype.
4654
4655 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4656 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4657 and current_header_line_height first.
52283633
SM
4658 (current_mode_line_height, current_header_line_height):
4659 Declare extern.
5f0c971d 4660
d7361edf
MB
46612000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4662
4663 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4664 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4665 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4666
ee5e440a
MB
46672000-11-14 Miles Bader <miles@gnu.org>
4668
4669 * xterm.c (x_alloc_lighter_color): Include an additive component
4670 too for dark colors, because FACTOR isn't enough.
4671 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4672 New macros.
4673
5ca020fc
GM
46742000-11-13 Gerd Moellmann <gerd@gnu.org>
4675
4676 * keyboard.c (show_help_echo): Call message3_nolog with number of
4677 bytes in the help string as 2nd parameter, instead of the number
4678 of characters.
4679
9d348294
MB
46802000-11-13 Miles Bader <miles@gnu.org>
4681
4682 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4683 (Fload): Use new openp return protocol.
4684 Don't try to use Vload_source_file_function to load .elc files.
4685 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4686 openp return protocol.
4687 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4688
1729bb9a
KH
46892000-11-11 Kenichi Handa <handa@etl.go.jp>
4690
4e677396
KH
4691 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4692
4693 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4694 Defined these macros.
4695 (NLIST_STRUCT): Avoid re-defining it.
4696
1729bb9a
KH
4697 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4698 -I/usr/contrib/X11R6/include.
4699 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4700
a82fe213
JR
47012000-11-10 Jason Rumney <jasonr@gnu.org>
4702
4703 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4704
4705 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4706 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4707
4708 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4709 (Qw32_charset_vietnamese): New symbol.
4710 (xlfd_charset_of_font): New function.
4711 (w32_load_system_font): Use it.
4712 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4713 when Vw32_charset_info_alist is nil to ensure default face always
4714 has font. Use Fcar and Fcdr for safety.
4715 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4716 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4717 pseudo-codepages for special cases.
4718 (w32_to_x_font): New parameter to allow charset portion to be
4719 specified where there is many to one mapping. Callers changed.
4720 (w32_list_fonts): Avoid listing fonts that won't display.
4721
52d89894
GM
47222000-11-10 Gerd Moellmann <gerd@gnu.org>
4723
4724 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4725 (font_list_1): Renamed from font_list.
4726 (font_list): New function, trying alternative registries from
4727 Vface_alternative_font_registry_alist.
4728 (Finternal_set_alternative_font_registry_alist): New function.
4729 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4730 Vface_alternative_font_registry_alist.
4731 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4732
651cd3da
KR
47332000-11-09 Ken Raeburn <raeburn@gnu.org>
4734
4735 * lisp.h (Flooking_at): Declare.
4736
388ac098
GM
47372000-11-09 Gerd Moellmann <gerd@gnu.org>
4738
778fbc46 4739 * dired.c (directory_files_internal): Fix a braino.
52283633 4740
388ac098
GM
4741 * dired.c (directory_files_internal): Add missing GCPRO's.
4742 Some cleanup.
4743
ecaedde1
GM
47442000-11-08 Gerd Moellmann <gerd@gnu.org>
4745
f7eb32aa
GM
4746 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4747 (resize_mini_window): Return quickly if Vresize_mini_window is
4748 nil. Don't return if Vmax_mini_window_height is nil.
4749
4750 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4751 (syms_of_xdisp): Initialize them.
4752 (resize_mini_window): Act according to the setting of
4753 Vresize_mini_window.
4754 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4755
ecaedde1
GM
4756 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4757 scroll bar widget after configuring it, so that it will appear at
4758 the right position from the start.
4759 (XTredeem_scroll_bar): Cleaned up.
4760
3747ef2c
KH
47612000-11-08 Kenichi Handa <handa@etl.go.jp>
4762
4763 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4764 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4765 division by two.
4766
4767 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4768
03391420
DL
47692000-11-07 Dave Love <fx@gnu.org>
4770
7758f1c1 4771 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4772
4773 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4774
b5de343d
GM
47752000-11-07 Gerd Moellmann <gerd@gnu.org>
4776
acad3c0b
GM
4777 * window.c (Fset_window_configuration): Don't try to preserve
4778 point in the current buffer, if that buffer is displayed in more
4779 than one window.
4780
b5de343d
GM
4781 * xfaces.c (lookup_named_face): If default face isn't realized,
4782 try to realize it. Return -1 if not successful.
4783 (Fx_list_fonts): Handle case that face cannot be determined.
4784 (Fface_font): Likewise.
4785
cdb1fe49
GM
47862000-11-06 Gerd Moellmann <gerd@gnu.org>
4787
4788 * window.c (displayed_window_lines): Detect partially
4789 visible lines at the bottom correctly.
4790
d3a67486
SM
47912000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4792
4793 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4794 when ensuring we don't do visit in indirect buffer.
4795
ff8dd5d5
KH
47962000-11-06 Kenichi Handa <handa@etl.go.jp>
4797
4798 * composite.h (compose_chars_in_text): Add prototype.
4799
4800 * composite.c (Vcomposition_function_table): New variable.
4801 (Qcomposition_function_table): New variable.
4802 (run_composition_function): Call
4803 Vcompose_chars_after_function with three arguments.
4804 (compose_chars_in_text): New function.
4805 (syms_of_composite): Modified the doc-string of
4806 Vcompose_chars_after_function. Declare composition-function-table
4807 as a lisp variable, and initialize it.
4808
4809 * xfns.c (x_encode_text): Suppress producing escape sequences for
4810 composition.
4811
4812 * xselect.c: Include composite.h.
4813 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4814
d1145f85
AI
48152000-11-05 Andrew Innes <andrewi@gnu.org>
4816
4817 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4818
4819 * sysdep.c (read_input_waiting): Remove extraneous argument to
4820 read_socket_hook.
4821
4822 * w32fns.c (Fx_server_version): Include w32_build_number in the
4823 return list.
4824
4825 * w32heap.c (w32_build_number): New variable.
4826 (cache_system_info): Set it.
4827
4828 * w32heap.h (w32_build_number): Add extern.
4829
4830 * emacs.c (syms_of_emacs): Update docstring for
4831 system-configuration, to reflect the actual usage on MS-Windows.
4832
e85ee976
GM
48332000-10-31 Gerd Moellmann <gerd@gnu.org>
4834
26dcb81b
GM
4835 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4836 process idle timers while waiting for another event.
4837
52283633 4838 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4839 the default face are colored.
4840
e85ee976
GM
4841 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4842 window height hasn't changed.
4843
01b220b6
JR
48442000-10-31 Jason Rumney <jasonr@gnu.org>
4845
4846 * w32term.c (x_produce_glyphs): Handle composite characters.
4847 (x_draw_glyph_string_foreground)
4848 (x_draw_composite_glyph_string_foreground): Restore old font.
4849
4e6b7204
MB
48502000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4851
4852 * minibuf.c (read_minibuf): Reset the undo history just before
4853 starting the recursive-edit.
4854
d4358b37
GM
48552000-10-30 Gerd Moellmann <gerd@gnu.org>
4856
563f68f1
GM
4857 * xfaces.c (menu_face_change_count): New variable.
4858 (Finternal_set_lisp_face_attribute): Increment it for changes
4859 of the `menu' face.
4860 (realize_basic_faces): Reflect changes in the `menu' faces
4861 in menu bars.
4862
82e274d1
GM
4863 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4864 dy obtained from the iterator's y-position after moving from
4865 scroll_margin_pos to PT; see comment there.
52283633 4866
0dbf9fd2
GM
4867 * xdisp.c (safe_eval_handler): Call add_to_log.
4868
906b3b14
GM
4869 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4870 is not a symbol or string.
4871
d4358b37
GM
4872 * xdisp.c (echo_area_display): Don't perform a display update from
4873 inside redisplay. The update will happen anyway at the end of
4874 redisplay, and it can confuse redisplay (GC messages while
4875 redisplaying, for instance.)
4876
70c825df
SM
48772000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4878
cf9b4b0b
SM
4879 * xrdb.c (x_load_resources): Use the class name in the defaults.
4880
70c825df
SM
4881 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4882 (regex_compile): Catch bogus \(\1\).
4883
a1d34b1e
GM
48842000-10-30 Gerd Moellmann <gerd@gnu.org>
4885
cae71efe
GM
4886 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4887 RGB values.
52283633 4888
35efe0a1
GM
4889 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4890 we have a color cache, check that the cached color equals the
4891 allocated color. If not, clear the color cache.
4892
1d3baf74
GM
4893 * window.c (displayed_window_lines): Change buffers if necessary.
4894 Fix computation of displayed lines.
4895
a1d34b1e
GM
4896 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4897 update_menu_bindings to DEFVAR_BOOL.
4898
70737ea9
KH
48992000-10-30 Kenichi Handa <handa@etl.go.jp>
4900
70c825df 4901 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4902
fa0cb51d
KH
4903 * puresize.h (BASE_PURESIZE): Increase to 680000.
4904
70737ea9
KH
4905 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4906
0e4c08e8
JR
49072000-10-29 Jason Rumney <jasonr@gnu.org>
4908
4909 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4910
4911 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4912 (w32_cache_char_metrics): Handle possibility that 'x' does not
4913 exist in a BDF font.
4914 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4915
4916 * w32bdf.h (bdffont): Add nchars.
4917
4918 * w32bdf.c (set_bdf_font_info): Set it.
4919 (w32_BDF_TextOut): Swap byte order of double byte characters.
4920 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4921
45b84006
EZ
49222000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4923
4924 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4925 don't override the colors in frame's param_alist, unless they are
4926 unspecified.
4927
4928 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4929 reverse the effect of the highlight flag.
4930
caf9deee
KR
49312000-10-27 Ken Raeburn <raeburn@gnu.org>
4932
4933 * window.h (Fwindow_live_p): Declare.
4934
ae0b9b46
KR
4935 * undo.c (record_delete): Check that last_undo_buffer is really a
4936 buffer before applying XBUFFER to it.
4937
4938 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4939 Faref.
4940
02067692
SM
49412000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4942
4943 * lisp.h (KEYMAPP): New macro.
4944 (get_keymap): Remove.
4945 (get_keymap_1): Rename get_keymap.
4946
4947 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4948
4949 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4950
4951 * xmenu.c (single_submenu): Use KEYMAPP.
4952 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4953 Use KEYMAPP rather than Fkeymapp.
4954
4955 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4956
4957 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4958 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4959 Use KEYMAPP rather than Fkeymapp.
4960 (single_submenu): Use KEYMAPP.
4961 (w32_menu_show, w32_dialog_show): Use TRUE.
4962
4963 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4964
4965 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4966 (Fkeymapp): Use KEYMAPP.
4967 (get_keymap): Rename from get_keymap_1. Remove old def.
4968 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4969 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4970 (Fminor_mode_key_binding): Don't raise an error if the binding
4971 is not a keymap.
4972 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4973 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4974
4975 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4976 Allow Vspecial_event_map to be autoloaded.
4977 (menu_bar_items): Fetch the keymap rather than using keymapp.
4978 (menu_bar_one_keymap): No need to follow func-indirect any more.
4979 (parse_menu_item): get_keymap_1 -> get_keymap.
4980 (tool_bar_items): Fetch the keymap rather than using keymapp.
4981 (read_key_sequence): Use KEYMAPP.
4982
4983 * intervals.c (get_local_map): Use get_keymap rather than following
4984 function-indirections explicitly.
4985
4986 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4987
f9d80af3
JR
49882000-10-27 Jason Rumney <jasonr@gnu.org>
4989
4990 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4991 point, as Windows has oversized fonts.
4992
4993 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4994
a3ba27da
GM
49952000-10-27 Gerd Moellmann <gerd@gnu.org>
4996
4997 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4998 (freehook, reallochook): Handle null pointer arguments.
4999 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5000
aa3b80cc
SM
50012000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5002
5003 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5004 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5005 Giving in to popular pressure to shut up the compiler with casts.
5006
e24e84cc
GM
50072000-10-27 Gerd Moellmann <gerd@gnu.org>
5008
5009 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5010 signed value, and use a default value computed from the font's
5011 maximum descent.
5012
05ea7ef2
MB
50132000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5014
5015 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5016 that specify a negative underline position can still use underlines.
5017
5018 * window.c (Fpos_visible_in_window_p): Make POS default to
5019 WINDOW's point, not the current buffer's point.
5020
0b95284b
DL
50212000-10-26 Dave Love <fx@gnu.org>
5022
5023 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5024 when it's necessary.
5025
6c5b90af
GM
50262000-10-26 Gerd Moellmann <gerd@gnu.org>
5027
8b6d9dc9
GM
5028 * window.c (size_window): Compute size difference from sum of old
5029 child window sizes instead of from parent's size.
5030
6bc92b2e
GM
5031 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5032 Handle obscured lines at the top of the window.
5033
5034 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5035 down after the last error condition check.
5036
6c5b90af
GM
5037 * frame.c (Fdelete_frame): Run delete-frame-hook.
5038
42f92d4d
KH
50392000-10-26 Kenichi Handa <handa@etl.go.jp>
5040
5041 * coding.c (decode_coding): Fix previous change (check also
5042 CODING_MODE_LAST_BLOCK).
5043
d97151cb
SM
50442000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5045
e7efc503
SM
5046 * regex.c: More `unsigned char' -> `re_char' changes.
5047 Also change several `int' into `re_wchar_t'.
5048 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5049 (PUSH_FAILURE_POINTER): Don't cast any more.
5050 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5051 We want GCC to complain, since this piece of code makes
5052 re_match non-reentrant, which *should* be fixed.
5053 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5054 (EXTEND_BUFFER): Use RETALLOC.
5055 (SET_LIST_BIT): Don't cast.
5056 (re_wchar_t): New type.
5057 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5058 that those two functions will always properly return.
5059 (IMMEDIATE_QUIT_CHECK): Cast to void.
5060 (analyse_first): Use recursion rather than an explicit stack.
5061 (re_compile_fastmap): Can't fail anymore.
5062 (re_search_2): Don't check re_compile_fastmap for failure.
5063 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5064 Now also sets the new value (passed in a new argument).
5065 (re_match_2_internal): Use it.
5066 Also, use a new var `reg' of type size_t when looping through regs
5067 rather than reuse the inappropriate `mcnt'.
5068
d97151cb
SM
5069 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5070 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5071 (where_is_internal): Renamed from Fwhere_is_internal.
5072 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5073 (Fwhere_is_internal): New function wrapping where_is_internal.
5074 (where_is_internal_1): Handle the case where we're filling the cache.
5075 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5076
d5789b65
MB
50772000-10-25 Miles Bader <miles@gnu.org>
5078
5079 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5080
4ecda532
GM
50812000-10-25 Gerd Moellmann <gerd@gnu.org>
5082
5083 * window.c (pos_fully_visible_p): Removed.
5084 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5085 if position is visible and/or fully visible.
5086
5087 * lisp.h (pos_visible_p): Add prototype.
5088
5089 * xdisp.c (pos_visible_p): New function.
5090
68c3a137
KH
50912000-10-25 Kenichi Handa <handa@etl.go.jp>
5092
5093 * process.c (send_process): If OBJECT is t, it means that the data
5094 is from C string, but we should encode it. Before calling
5095 setup_raw_text_coding_system, be sure to flush out data by the
5096 previous coding system.
5097
7ae1c032
MB
50982000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5099
ff4dcd4b
MB
5100 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5101 assignment of startpos to prev when startpos == pos.
5102
7ae1c032
MB
5103 * editfns.c (find_field): Set the field stickiness correctly from
5104 overlay fields. Use renamed `text_property_stickiness'.
5105 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5106 Only check text properties, not overlays.
7ae1c032
MB
5107 * textprop.c (get_char_property_and_overlay): New function.
5108 (Fget_char_property): Use it.
5109 * intervals.h (get_char_property_and_overlay): Add declaration.
5110
49801145
SM
51112000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5112
5113 * keymap.c: Use AREF, ASET and ASIZE macros.
5114 (Fmake_sparse_keymap): Docstring fix.
5115 (synkey): Remove.
5116 (shadow_lookup): Move up.
5117 Handle the case where lookup-key returns an integer.
5118 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5119 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5120 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5121 Simplify/rewrite the keymap-finding code.
5122 Add check for command shadowing, using shadow_lookup.
5123
39e776cd
SM
51242000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5125
5126 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5127 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5128 a symbol.
5129
2488aba5
AI
51302000-10-24 Andrew Innes <andrewi@gnu.org>
5131
5132 * dired.c (directory_files_internal_unwind): New function.
5133 (directory_files_internal): Use it to ensure closedir is called
5134 even if expand-file-name or file-attributes throw, eg. because of
5135 a user interrupt. Also enable immediate_quit while calling
5136 re_search, so that matching can be interrupted as well.
5137
b94fdf61
AI
51382000-10-24 Andrew Innes <andrewi@gnu.org>
5139
5140 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5141 NT-Emacs only.
5142 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5143 so that re_search functions only quit when callers expect them to.
5144
51452000-10-24 Kenichi Handa <handa@etl.go.jp>
5146
5147 * regex.c (regex_compile): Change the way of handling a range from
5148 a char less than 256 to a char not less than 256.
5149
1946f901
GM
51502000-10-24 Gerd Moellmann <gerd@gnu.org>
5151
7ae2f10f
GM
5152 * window.c (size_window): Prevent setting window's width or
5153 height to a negative value (esp. with XSETFASTINT).
5154
5dcab13e
GM
5155 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5156 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5157 (protect_malloc_state) [GC_MALLOC_CHECK &&
5158 GC_PROTECT_MALLOC_STATE]: New function.
5159 (PROTECT_MALLOC_STATE): New macro.
5160 (__malloc_initialize, morecore, _malloc_internal)
5161 (_free_internal) _realloc_internal): Use it to make _heapinfo
5162 read-only outside of gmalloc.
5163
63e1b552
GM
5164 * keymap.c: Update copyright.
5165
1946f901
GM
5166 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5167 a symbol.
5168
4fa09beb
GM
51692000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5170
5171 * filelock.c (unlock_all_files): Use unlock_file to expand each
5172 buffer's file_truename before trying remove its lock file.
5173
23afac01
EZ
51742000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5175
5176 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5177 or CRLF, decode EOLs.
5178
04448b95
KH
51792000-10-24 Kenichi Handa <handa@etl.go.jp>
5180
5181 * window.c (Fdisplay_buffer): Fix doc.
5182
3090a5a5
JR
51832000-10-23 Jason Rumney <jasonr@gnu.org>
5184
5185 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5186 ASCII font of default fontset on Windows.
5187
5188 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5189 xterm.c comment below).
5190
5191 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5192
a83fee2c
GM
51932000-10-23 Gerd Moellmann <gerd@gnu.org>
5194
5195 * xterm.c (x_connection_closed): Reset handling_signal.
5196
52283633 5197 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5198
6ffdb539
MB
51992000-10-23 Miles Bader <miles@gnu.org>
5200
5201 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5202 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5203 maintain old behavior.
5204 * minibuf.c (Fminibuffer_complete): Likewise.
5205
7f1c969b
MB
52062000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5207
5208 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5209 that when a font can't be exactly centered, it errs up rather than
5210 down.
5211
23afac01 52122000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5213
52283633 5214 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5215
1a578e9b
AC
52162000-10-23 Andrew Choi <akochoi@i-cable.com>
5217
5218 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5219
5220 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5221 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5222
5223 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5224 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5225 syms_of_search, x_term_init, and init_keyboard before calling
5226 init_window_once. Also, call syms_of_xmenu.
5227
5228 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5229 default fontset to Monaco.
5230
5231 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5232 NewMacWindow and DisposeMacWindow.
5233 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5234 instead of calling NewMacWindow and setting fields of
5235 f->output_data.mac directly. Call init_frame_faces.
5236 (Fdelete_frame) [macintosh]: Remove unused code.
5237 (Fmodify_frame_parameters) [macintosh]: Call
5238 x_set_frame_parameters instead of mac_set_frame_parameters.
5239
5240 * frame.h [macintosh]: Define menu_bar_lines field in struct
5241 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5242
5243 * keyboard.c [macintosh]: Include macterm.h.
5244 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5245 and menu_bar_activate_event type events as for X and NT.
5246 (make_lispy_event) [macintosh]: Construct lisp events of type
5247 MENU_BAR_EVENT as for X and NT.
5248
5249 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5250 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5251 (sys_subshell) [macintosh]: Remove definition entirely.
5252 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5253 Vwindow_system_version here. Remove initialization of
5254 Vx_bitmap_file_path.
5255 (read_input_waiting): Correct the number of parameters passed to
5256 read_socket_hook.
5257 Move all Macintosh functions to mac/mac.c.
5258
5259 * term.c [macintosh]: Include macterm.h.
5260
5261 * window.c [macintosh]: Include macterm.h.
5262
5263 * xdisp.c [macintosh]: Include macterm.h. Declare
5264 set_frame_menubar and pending_menu_activation.
5265 (echo_area_display) [macintosh]: Do not return if terminal frame
5266 is the selected frame.
5267 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5268 Allow only the selected frame to set menu bar.
5269 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5270 calling FRAME_EXTERNAL_MENU_BAR (f).
5271 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5272
5273 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5274 and check_x. Declare XCreateGC. Define x_create_gc and
5275 x_free_gc. Initialize font_sort_order.
5276 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5277 but call x_list_fonts instead of w32_list_fonts.
5278 (Finternal_face_x_get_resource) [macintosh]: Do not call
5279 display_x_get_resource.
5280 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5281 (realize_x_face) [macintosh]: Load the font if it is specified in
5282 ATTRS.
52283633 5283 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5284
1ffbabe3
SM
52852000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5286
5287 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5288 is nil: since we go to the end of submap anyway, we'd end up
5289 setting nil to nil.
5290 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5291 doesn't obey autoload.
5292
bed43f1d
EZ
52932000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5294
1ffbabe3 5295 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5296
ea4233a7
JR
52972000-10-21 Jason Rumney <jasonr@gnu.org>
5298
5299 * w32term.c (w32_cache_char_metrics): Double check that font is
5300 really fixed pitch before trusting tmPitchAndFamily.
5301
f3d3c491
AI
53022000-10-21 Andrew Innes <andrewi@gnu.org>
5303
5304 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5305
5306 * w32term.h: Extern decl for w32_cache_char_metrics.
5307
5308 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5309
5310 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5311 (w32_unload_font): Free per_char array if present.
5312
5313 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5314 cached information in emulated XFontStruct to handle common cases
5315 quickly. Do not allocate XCharStruct for return.
5316 (w32_native_per_char_metric): New function.
5317 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5318 allocating one.
5319 (x_produce_glyphs): Don't get an HDC. Change calls to
5320 w32_per_char_metric to match arg change above. Remove calls to
5321 free results.
5322 (w32_get_glyph_overhangs): Ditto.
5323 (w32_cache_char_metrics): New function.
5324
5325 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5326 ($(BLD)/casefiddle.$(O)): Remove compile command.
5327 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5328 ($(BLD)/dispnew.obj):
5329 ($(BLD)/keyboard.obj):
5330 ($(BLD)/w32inevt.obj):
5331 ($(BLD)/w32bdf.obj):
5332 ($(BLD)/alloc.obj):
5333 ($(BLD)/buffer.obj):
5334 ($(BLD)/editfns.obj):
5335 ($(BLD)/emacs.obj):
5336 ($(BLD)/fileio.obj):
5337 ($(BLD)/fns.obj):
5338 ($(BLD)/indent.obj):
5339 ($(BLD)/insdel.obj):
5340 ($(BLD)/intervals.obj):
5341 ($(BLD)/minibuf.obj):
5342 ($(BLD)/print.obj):
5343 ($(BLD)/scroll.obj):
5344 ($(BLD)/sysdep.obj):
5345 ($(BLD)/textprop.obj):
5346 ($(BLD)/widget.obj):
f3d3c491
AI
5347 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5348 ($(BLD)/term.obj): Add dependency on dispextern.h.
5349
52283633
SM
5350 * makefile.nt ($(BLD)\dispnew.obj):
5351 ($(BLD)\keyboard.obj):
5352 ($(BLD)\w32inevt.obj):
5353 ($(BLD)\w32bdf.obj):
5354 ($(BLD)\alloc.obj):
5355 ($(BLD)\buffer.obj):
5356 ($(BLD)\editfns.obj):
5357 ($(BLD)\emacs.obj):
5358 ($(BLD)\fileio.obj):
5359 ($(BLD)\fns.obj):
5360 ($(BLD)\indent.obj):
5361 ($(BLD)\insdel.obj):
5362 ($(BLD)\intervals.obj):
5363 ($(BLD)\minibuf.obj):
5364 ($(BLD)\print.obj):
5365 ($(BLD)\scroll.obj):
5366 ($(BLD)\sysdep.obj):
5367 ($(BLD)\textprop.obj):
5368 ($(BLD)\widget.obj):
f3d3c491
AI
5369 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5370 ($(BLD)\term.obj): Add dependency on dispextern.h
5371
18ad4821
EZ
53722000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5373
5374 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5375 with an additional argument of Qt.
5376
de54681a
MB
53772000-10-21 Miles Bader <miles@gnu.org>
5378
5379 * window.c (pos_fully_visible_in_window_p): New function.
5380 (Fpos_visible_in_window_p): Add FULLY argument.
5381 Use pos_fully_visible_in_window_p.
5382 (window_scroll_pixel_based, window_scroll_line_based): Update
5383 calls to Fpos_visible_in_window_p.
5384 * lisp.h (Fpos_visible_in_window_p): Update prototype
5385
13c844fb
GM
53862000-10-20 Gerd Moellmann <gerd@gnu.org>
5387
5388 * alloc.c (toplevel): Conditionalize compilation of mem_*
5389 functions differently.
52283633 5390
d9506268
JR
53912000-10-20 Jason Rumney <jasonr@gnu.org>
5392
5393 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5394 mem_init where it used to be. mem_z etc not defined otherwise.
5395
8094989b
GM
53962000-10-20 Gerd Moellmann <gerd@gnu.org>
5397
5398 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5399 GC_MALLOC_CHECK.
5400 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5401 structure definition and related variabled to the top of the file.
5402 Include this code when GC_MALLOC_CHECK is defined.
5403 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5404 register/unregister allocated region.
5405 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5406 which isn't allocated.
5407 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5408 something which is already in use.
5409 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5410 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5411 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5412 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5413
5414 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5415 _malloc_internal instead of malloc.
5416 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5417 of free.
5418
ea456eb4
AI
54192000-10-20 Andrew Innes <andrewi@gnu.org>
5420
5421 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5422 Windows.
5423 (my_strftime) <macro>: Don't use macro arg list when redefining as
5424 _strftime_copytm.
5425 (my_strftime) <function>: Supply 0 as ut argument.
5426
e64c3a75
JR
54272000-10-19 Jason Rumney <jasonr@altavista.net>
5428
5429 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5430 including dispextern.h, as it stops faces from working.
5431
5432 * w32fns.c (Fx_create_frame): Don't bother calling
5433 face-set-after-frame-default since the caller does it for us
5434 anyway. Clean up calls to x_get_arg to be consistent with X.
5435
5436 * w32term.c (x_produce_glyphs): Handle
5437 unibyte_display_via_language_environment correctly.
5438 (w32_draw_box_rect): Fix the calculation of width and height.
5439
5440 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5441 as it has stopped working.
5442 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5443 menu-bar.
5444
17401c97
GM
54452000-10-19 Gerd Moellmann <gerd@gnu.org>
5446
5447 * eval.c (skip_debugger): Prevent a compiler warning.
5448 (Fcondition_case): Likewise.
5449 (Fbacktrace_frame): Use a null interactive spec.
5450
773272d8
KH
54512000-10-19 Kenichi Handa <handa@etl.go.jp>
5452
5453 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5454
a42943e9
GM
54552000-10-18 Gerd Moellmann <gerd@gnu.org>
5456
e50517d9
GM
5457 * strftime.c: Sync with glibc, file version 1.78.
5458 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5459 should no longer be used according to ISO 8601.
5460
9035a35a
GM
5461 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5462 no map for meta_prefix_char, don't try to use it as a keymap.
5463 Instead, if T_OK is non-zero, look up a default binding, if any,
5464 otherwise, if T_OK is zero, return nil.
5465
a42943e9
GM
5466 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5467 (x_to_xcolors, png_load): Use x_query_color.
5468
52283633
SM
5469 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5470 New functions.
a42943e9
GM
5471 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5472 which can be slow.
5473 (x_copy_color, x_alloc_lighter_color): Likewise.
5474
5475 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5476 (x_query_color, x_query_colors): Add prototype.
5477
5478 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5479 check_string_bytes only if not noninteractive, increase count to 50.
5480
00de2987
MB
54812000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5482
5483 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5484 markers correctly.
5485
54918e2b
GM
54862000-10-17 Gerd Moellmann <gerd@gnu.org>
5487
1f0b3fd2
GM
5488 * alloc.c (pure_bytes_used): Renamed from pureptr.
5489 (ALIGN): New macro.
5490 (pure_alloc): New function.
5491 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5492 Use it.
5493 (Fpurecopy): Use PURE_POINTER_P.
5494
68c5d1db
GM
5495 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5496 PT has moved backward.
52283633 5497
9a038881
GM
5498 * xdisp.c (cursor_row_p): Take continued lines into account.
5499
361b097f
GM
5500 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5501 string's size_byte.
5502 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5503 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5504 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5505 string allocated.
5506
54918e2b
GM
5507 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5508 of selective display off while searching for the next line start.
5509
03ed0806
KH
55102000-10-17 Kenichi Handa <handa@etl.go.jp>
5511
5512 * Makefile.in (term.o): Depend on dispextern.h.
5513
7e05cdaf
SM
55142000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5515
5516 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5517
a6801fd1
GM
55182000-10-16 Gerd Moellmann <gerd@gnu.org>
5519
483de32b
GM
5520 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5521 the iterator at the beginning, so that they can be set later on,
5522 for instance in reseat_at_next_visible_line_start, without being
5523 overwritten.
5524
a6801fd1
GM
5525 * xfns.c (pbm_format): Add :foreground and :background keywords.
5526 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5527 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5528
dbf1fcc1
EZ
55292000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5530
5531 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5532
52283633 5533 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5534
5535 * msdos.c (IT_set_face): Compare highlighted face with the default
5536 face, and invert colors if these faces' colors are identical.
5537 (Fmsdos_remember_default_colors): Don't swap foreground and
5538 background colors in initial_colors[].
5539 (IT_set_frame_parameters): Don't swap frame's foreground and
5540 background pixels. If ALIST includes "(reverse . t)", swap
5541 foreground-color and background-color properties in frame's
5542 param_alist. If the original frame's param_alist doesn't specify
5543 the colors, store unspecified-fg and unspecified-bg, reversed if
5544 required.
5545
5546 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5547 the colors are unspecified and reversed, reverse fore- and back-
5548 ground in the returned value.
5549 (Fframe_parameter): Ditto.
5550
b41fe2c3 55512000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5552
3a6b59d9
GM
5553 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5554 get_last_unchanged_at_beg_row.
5555 (find_first_unchanged_at_end_row): Renamed from
5556 get_first_unchanged_at_end_row.
5557 (find_first_unchanged_at_end_row): Convert assertions to
5558 unconditional tests which abort. When looking for a row in
5559 unchanged text, don't go further back than first_text_row.
5560
b41fe2c3
GM
5561 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5562 Don't add in the last line's height when deciding if the new
5563 position is below the scroll margin.
9d1af64f 5564
b41fe2c3 55652000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5566
5567 * editfns.c (Fconstrain_to_field): Check carefully for field
5568 boundaries if either OLD_POS or NEW_POS has a non-nil field
5569 property, even if they're the same.
5570
c412cb7b
KH
55712000-10-16 Kenichi Handa <handa@etl.go.jp>
5572
5573 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5574 height for XFillRectangle.
5575
5586f3eb
SM
55762000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5577
5578 * syntax.c (Fstring_to_syntax): New function extracted from
5579 Fmodify_syntax_entry.
5580 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5581 (skip_chars, Fforward_comment): Remove unused variables.
5582 (syms_of_syntax): Add defsubr for string-to-syntax.
5583 (describe_syntax): Add code for comment and string fences.
5584
db785038
SM
55852000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5586
5587 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5588 Do the meta->esc mapping. Call get_keyelt before returning.
5589 Start scanning from the second element (the first is always `keymap')
5590 to make it easier to detect when we reach a parent map.
5591 Handle the case of inheriting from a symbol whose function is a map.
5592 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5593 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5594 (get_keyelt, Flookup_key): Update call to access_keymap.
5595 Remove the meta->esc mappings.
5596 (define_as_prefix): Delete old disabled code.
5597 (menu_item_p): New function.
5598 (where_is_internal_1): Skip over the few remaining menu items.
5599 * lisp.h (access_keymap): Update prototype.
5600 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5601 Update call to access_keymap.
5602 (follow_key, read_key_sequence): Update calls to access_keymap.
5603 Remove the meta->esc mappings.
5604
cafafe0b
GM
56052000-10-13 Gerd Moellmann <gerd@gnu.org>
5606
a2e2a7f6
GM
5607 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5608 with additional argument.
5609
cafafe0b
GM
5610 * xdisp.c (cursor_row_p): New function.
5611 (try_cursor_movement, display_line): Use it.
52283633 5612
cafafe0b
GM
5613 * xdisp.c (append_space): Also save/restore iterator's current
5614 character and its length.
5615
5616 * xdisp.c (init_from_display_pos): Add an assertion.
5617 (handle_stop): Don't set iterator's add_overlay_start.
5618 (handle_invisible_prop): Likewise.
5619 (load_overlay_strings): If text under an overlay is invisible,
5620 take both before- and after-strings into account when the iterator
5621 is positioned either at the start or at the end of the overlay.
5622 (forward_to_next_line_start): Rewritten.
5623 (reseat_at_next_visible_line_start): Rewritten.
5624 (set_iterator_to_next): Add parameter RESEAT_P.
5625
5626 * dispextern.h (struct it): Remove member add_overlay_start.
5627 (set_iterator_to_next): Change prototype.
5628
c744452b
KH
56292000-10-13 Kenichi Handa <handa@etl.go.jp>
5630
5631 * coding.c (code_convert_region): Be sure to initialize
5632 coding->category_idx.
e4a3f4e1
KH
5633 (decode_coding_string): Set coding->src_multibyte and
5634 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5635 (encode_coding_string): Set coding->src_multibyte and
5636 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5637
321fd26f
SM
56382000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5639
5640 * xfns.c (Fx_create_frame): Don't bother calling
5641 face-set-after-frame-default since the caller does it for us anyway.
5642
76832439
EZ
56432000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5644
5645 * window.c (coordinates_in_window): Fix detection of vertical line
5646 on character terminals.
5647
2483cf58
GM
56482000-10-12 Gerd Moellmann <gerd@gnu.org>
5649
5650 * editfns.c (save_excursion_save): Additionally record the
5651 selected window.
5652 (save_excursion_restore): If buffer was visible in a window, and a
5653 different window was selected, and the old selected window is
5654 still live, restore point in that window.
5655
eb991b25
KH
56562000-10-12 Kenichi Handa <handa@etl.go.jp>
5657
8a0eba09
KH
5658 * xterm.c (x_produce_glyphs): Handle
5659 unibyte_display_via_language_environment correctly.
5660
20401fcc
KH
5661 * regex.c (regex_compile): Change the way of handling a range from
5662 unibyte char to multibyte char.
5663
5664 * syntax.c (skip_chars): Change the way of handling a range from
5665 unibyte char to multibyte char.
5666
eb991b25
KH
5667 * process.c (read_process_output): Cancel previous change.
5668
365dd325
EZ
56692000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5670
c1b096cb
EZ
5671 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5672
365dd325
EZ
5673 * charset.c (Ffind_charset_string): Doc fix.
5674 (Ffind_charset_region): Doc fix.
5675
eb483c2b
KH
56762000-10-11 Kenichi Handa <handa@mule.m17n.org>
5677
5678 * process.c (read_process_output): Fix previous change. Adjust
5679 multibyteness of text to insert in a buffer by
52283633 5680 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5681
b40bfb99
AS
56822000-10-10 Andreas Schwab <schwab@suse.de>
5683
5684 * alloc.c (mark_object): Remove all workarounds installed on
5685 1993-08-08.
5686
caff31d4
KH
56872000-10-10 Kenichi Handa <handa@etl.go.jp>
5688
52283633 5689 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5690 (base64_encode_1): Make it work for a text of multibyte form.
5691 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5692 case. Don't call str_to_multibyte because base64_decode_1
5693 produces correct multibyte form for eight-bit codes.
52283633 5694 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5695 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5696 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5697 codes.
5698
5699 * charset.h (CHAR_STRING): Optimized for single byte characters.
5700
cba026ef
AS
57012000-10-09 Andreas Schwab <schwab@suse.de>
5702
5703 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5704 -1 after socket is closed, to fall through to error processing.
5705
1e21fe48
EZ
57062000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5707
5708 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5709 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5710 background-color, change also the colors of the default face for
5711 this frame.
5712
a640322e
EZ
57132000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5714
5715 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5716 them extern (they are defined on xfaces.c).
5717 (syms_of_msdos): Don't intern and don't staticpro
5718 Qbackground_color and Qforeground_color.
5719
a115794c
EZ
57202000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5721
5722 * frame.c (Fframe_parameter): For non-windowed frames, if
5723 f->param_alist says foreground or background color is unspecified,
5724 call tty_color_name to return the color name computed from the
5725 frame's current colors.
5726
f5533b63
DL
57272000-10-06 Dave Love <fx@gnu.org>
5728
5729 * terminfo.c (ospeed): Don't declare.
5730
5731 * sysdep.c: Don't include string.h.
5732 (h_errno): Declare conditional also on TRY_AGAIN.
5733
5734 * charset.c (Ffind_charset_string): Doc fix.
5735
52283633 5736 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5737 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5738 error messages.
5739
2b06561a
DL
57402000-10-05 Dave Love <fx@gnu.org>
5741
5742 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5743 position like menu-bar.
5744
ca839c85
GM
57452000-10-05 Gerd Moellmann <gerd@gnu.org>
5746
5747 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5748
5749 * xdisp.c (handle_single_display_prop): Use safe_call1.
5750 (safe_call): Renamed from call_function.
5751 (safe_call1): New function.
5752 (handle_fontified_prop): Use safe_call1 instead of call1.
5753 (safe_eval): Renamed from eval_form.
5754 (safe_eval_handler): Renamed from eval_handler.
5755 (handle_single_display_prop, display_mode_element): Use safe_eval
5756 instead of eval_form.
5757
5758 * xfaces.c (merge_face_heights): Use safe_call instead of
5759 call_function.
5760
5761 * keyboard.c (show_help_echo): Use safe_call instead of
5762 call_function; use safe_eval instead of eval_form.
5763
5764 * lisp.h (safe_call): Renamed from call_function.
5765 (safe_eval): Renamed from eval_form.
5766 (safe_call1): Add prototype.
5767
a3489ece
MB
57682000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5769
5770 * xfns.c (image_ascent): Rearrange ascent calculation for the
5771 has-a-font case.
5772
35810b6f
SM
57732000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5774
5775 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5776 (where_is_internal_1): Don't bother ignoring menu-items any more.
5777
3dc78168
GM
57782000-10-04 Gerd Moellmann <gerd@gnu.org>
5779
5780 * keyboard.c (update_menu_bindings): New variable.
5781 (parse_menu_item): Use AREF. If update_menu_bindings
5782 is 0, don't update menu bindings.
5783 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5784
1efc2bb9
EZ
57852000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5786
5787 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5788 to `mark_object'.
5789
3f679f55
SM
57902000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5791
5792 * syntax.c (forw_comment): Match nestedness of ender/starter.
5793 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5794 (prev_char_comstart_first): Remove.
5795 (back_comment): Check two-char comment markers more carefully
5796 to better handle overlapping cases like *//* or /* */* */ ...
5797 Match nestedness of ender/starter.
5798
2021ab61
DL
57992000-10-02 Dave Love <fx@gnu.org>
5800
5801 * config.in (HAVE_GAI_STRERROR): Add undef.
5802
5803 * process.c (Fopen_network_stream): Use it.
5804
5805 * m/alpha.h (NO_REMAP): Don't define.
5806
64e6cc18
GM
58072000-10-02 Gerd Moellmann <gerd@gnu.org>
5808
5809 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5810 return with a string converted to an integer or vice versa when
5811 Vmocklisp_arguments is t.
5812 (Fsignal): Likewise. The function can return for `quit'.
5813 (struct gcpro): Declare member `var' to point to a volatile
5814 Lisp_Object.
5815
5816 * eval.c (error): Prevent compiler warning.
5817
b1904cd9
SM
58182000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5819
5820 * keymap.c (keymap_memberp): New function.
5821 (Fset_keymap_parent): Use it.
5822 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5823 Use keymap_memberp to avoid creating cycles.
5824 (access_keymap): Use KEYMAPP.
5825
71c9ec51
GM
58262000-09-30 Gerd Moellmann <gerd@gnu.org>
5827
5828 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5829 gai_strerror. Make sure xerrno is set if connect fails. Improve
5830 error recovery.
71c9ec51 5831
c70c6b58
JR
58322000-09-29 Jason Rumney <jasonr@gnu.org>
5833
5834 * w32term.c (w32_char_font_type, w32_encode_char)
5835 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5836 (w32_bdf_per_char_metric): New function.
5837 (w32_per_char_metric): Use it.
5838 (x_draw_glyph_string_background): Always draw background for BDF
5839 glyphs.
5840
5841 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5842 GDI object which is a scarce resource.
5843
5844 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5845 (get_quoted_string): Fix limit on memchr search.
5846 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5847 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5848 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5849 (get_cached_font_char, cache_char_offset): Use macro
5850 BDF_CODEPOINT_RANGE_COVER_P.
5851 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5852 (clear_cached_bitmap_slots): New function.
5853 (GET_HEX_VALUE): G-Z, g-z are not hex.
5854 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5855 (get_bitmap_with_cache): Use new cache implementation.
5856 (create_offscreen_bitmap): New function.
5857 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5858
5859 * w32term.c (x_produce_glyphs): If the distance from the current
5860 position to the next tab stop is less than a canonical character
5861 width, use the tab stop after that.
5862 (x_draw_glyphs): Handle case START and END are out of bounds more
5863 carefully.
5864 (x_clear_mouse_face): Block/unblock input.
5865 (x_display_and_set_cursor): Don't show a hollow box cursor for
5866 buffers whose cursor_type is nil.
5867
fe01239f
GM
58682000-09-29 Gerd Moellmann <gerd@gnu.org>
5869
52283633 5870 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5871
5872 * dispextern.h (updating_frame): Declare extern.
5873
e7c52f1f
AS
58742000-09-29 Andreas Schwab <schwab@suse.de>
5875
5876 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5877
de6e1f7c
GM
58782000-09-29 Gerd Moellmann <gerd@gnu.org>
5879
25126faa
GM
5880 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5881 use its function definition.
5882 (tool_bar_items): Likewise.
5883
de6e1f7c 5884 * lisp.h (fatal): Declare NO_RETURN.
52283633 5885
454ee39b
KH
58862000-09-29 Kenichi Handa <handa@etl.go.jp>
5887
5888 * keymap.c: Remove the line "#undef NULL".
5889
96301c5f
GM
58902000-09-28 Gerd Moellmann <gerd@gnu.org>
5891
52283633 5892 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5893
efffeeb4
DL
58942000-09-28 Dave Love <fx@gnu.org>
5895
ecb8b666
DL
5896 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5897
dc3cd20f
DL
5898 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5899
5900 * .gdbinit (xreload): Note its need on GNU/Linux.
5901
efffeeb4
DL
5902 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5903 r_alloc, r_alloc_free.
5904
8610d903
KH
59052000-09-28 Kenichi Handa <handa@etl.go.jp>
5906
5907 * syntax.c (skip_chars): Handle negation correctly.
5908
8901d1ac
GM
59092000-09-27 Gerd Moellmann <gerd@gnu.org>
5910
6f22f1ad
GM
5911 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5912 with non-zero FORCE_P argument.
5913
52283633 5914 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5915 Add assertions.
5916
5917 * xdisp.c (window_box_height): Add an assertion.
5918
5919 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5920 tool-bar than is available.
5921 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5922
36f1966f
DL
59232000-09-27 Dave Love <fx@gnu.org>
5924
efffeeb4 5925 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5926
31d929e5
GM
59272000-09-26 Gerd Moellmann <gerd@gnu.org>
5928
c98863bf
GM
5929 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5930 instead of BITS_PER_INT.
5931 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5932 EMACS_UINT, respectively.
5933 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5934
5935 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5936
5937 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5938
77072ab1
GM
5939 * window.c (freeze_window_starts): Construct last argument for
5940 foreach_window differently.
5941
5942 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5943
5944 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5945 EMACS_UINT instead of `int' and `unsigned int'.
5946 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5947
5948 * frame.h (struct frame): Make the `nothing' member of union
5949 output_data an EMACS_INT.
5950
52283633 5951 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5952 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5953 size in the sdata structure.
5954 (SDATA_NBYTES, SDATA_DATA): New macros.
5955 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5956 differently for the different layout of the sdata structure.
5957 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5958 in sdata.
5959 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5960 Check that size recorded in the string size and size recorded in
5961 the sdata structure agree.
5962
3e60b029
DL
59632000-09-25 Dave Love <fx@gnu.org>
5964
5965 * buffer.c: Include stdio.h.
5966
5967 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5968
3e60b029
DL
5969 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5970
5971 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5972 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5973 (__malloc_extra_blocks): Declare as __malloc_size_t.
5974
8ff16b4e
GM
59752000-09-25 Gerd Moellmann <gerd@gnu.org>
5976
755a2ccd
GM
5977 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5978
d8b4516f
GM
5979 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5980 (read_char): If help-echo is showing, preserve the echo area
5981 when redisplaying.
5982
5983 * xdisp.c (help_echo_showing_p): New variable.
5984 (set_message): Reset it to 0.
5985 (init_xdisp): Initialize help_echo_showing_p.
5986
5987 * dispextern.h (help_echo_showing_p): Declare extern.
5988
5989 * config.in: Fix typo in __GNUC_MINOR__.
5990
5991 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5992
b11af2dd
GM
5993 * s/freebsd.h (POSIX_SIGNALS): Define.
5994
8ff16b4e
GM
5995 * xterm.c (x_clear_mouse_face): Block/unblock input.
5996
844eb643
DL
59972000-09-24 Dave Love <fx@gnu.org>
5998
5999 * fns.c (base64_encode_1): Fix last change.
6000
b30ab1b3
GM
60012000-09-22 Gerd Moellmann <gerd@gnu.org>
6002
6003 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6004
6005 * xdisp.c (try_window_reusing_current_matrix): More fixes
6006 for the case window has a header-line.
6007
c6cbe5f0
DL
60082000-09-22 Dave Love <fx@gnu.org>
6009
4c7c1f3f
DL
6010 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6011 a doc string.
6012
6013 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6014
c6cbe5f0
DL
6015 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6016
550a625e
GM
60172000-09-21 Gerd Moellmann <gerd@gnu.org>
6018
4c7c1f3f 6019 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6020 for GCC >= 2.5.
6021
52283633
SM
6022 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6023 Declare NO_RETURN.
fca99116 6024
80d26f99
GM
6025 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6026 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6027 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6028 warnings.
52283633 6029
80d26f99
GM
6030 * marker.c (byte_char_debug_check): Return void.
6031
623a0aae
GM
6032 * xfns.c (Fx_create_frame): Set default frame parameter value
6033 for tool-bar-lines to 1.
6034
6035 * dispnew.c (scrolling_window): Compare y-positions of rows
6036 equal at the start. Some simplification.
6037
6038 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6039 reused rows' y-position in the case window has a header-line, and
6040 new window start is greater than old window start.
6041
42ac0ae5
GM
6042 * process.c (process_sent_to): New variable.
6043 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6044 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6045 Declare more parameters volatile.
6046
550a625e
GM
6047 * lread.c (Vrecursive_load_depth_limit): New variable.
6048 (Fload): Check recursive loads whose recursion depth exceeds
6049 Vrecursive_load_depth_limit.
6050 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6051
8320414c
GM
60522000-09-20 Gerd Moellmann <gerd@gnu.org>
6053
f46c275e
GM
6054 * fileio.c (Fread_file_name): Doc fix.
6055
6056 * editfns.c (Fmessage_or_box): Doc fix.
6057
6058 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6059
b7e11c5b 6060 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6061
8320414c
GM
6062 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6063 symbols are specified, add color translations to the cache.
52283633 6064 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6065 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6066 xpm_cache_color.
6067 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6068 structures to xpm_init_color_cache.
6069
da1608d9
GM
60702000-09-19 Gerd Moellmann <gerd@gnu.org>
6071
52283633 6072 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6073
6badfa25
AI
60742000-09-19 Andrew Innes <andrewi@gnu.org>
6075
6076 * makefile.nt (bootstrap-emacs): Don't change directory.
6077
3a5f42bb
KH
60782000-09-19 Kenichi Handa <handa@etl.go.jp>
6079
1b7649bd
KH
6080 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6081
3a5f42bb
KH
6082 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6083 If output buffer is too small, signal an appropriated error.
6084
9f83cf0b
DL
60852000-09-18 Dave Love <fx@gnu.org>
6086
52283633 6087 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6088 (current_active_maps): Remove redundant get_local_map call.
6089
28c7826c
GM
60902000-09-18 Gerd Moellmann <gerd@gnu.org>
6091
5cefa566
GM
6092 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6093 cursor for buffers whose cursor_type is nil.
52283633 6094
6fed3546
GM
6095 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6096 a feature to implement that is already implemented.
6097 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6098 warnings.
6099
6100 * xfns.c (x_clear_image_1): New function.
6101 (x_clear_image): Use it.
52283633 6102 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6103
05b1f851
GM
6104 * dispnew.c (update_window): Move test for invisible lines
6105 at the top to update_window_line.
6106 (update_window_line): Handle invisible lines here.
6107
f4779de9
GM
6108 * xfns.c (clear_image_cache): Clear current matrices of all
6109 frames sharing an image cache. Block input while freeing
6110 images. Fix timestamp comparison.
6111 (x_clear_image): Also free the mask.
6112
28c7826c
GM
6113 * xfns.c (lookup_image): Block input while loading the image so
6114 that we won't get interrupted in a state where the image isn't yet
6115 set up completely.
6116 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6117 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6118 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6119 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6120
b7412313
GM
61212000-09-16 Gerd Moellmann <gerd@gnu.org>
6122
6123 * dispnew.c (update_window): Make sure to make desired rows
6124 current even if they are completely invisible at the top
6125 of a window.
6126
47e351a3
GM
61272000-09-15 Gerd Moellmann <gerd@gnu.org>
6128
7f8f1edc
GM
6129 * xfns.c (lookup_image): Build mask before applying an algorithm.
6130 Recognize algorithm `disabled'.
6131 (cross_disabled_images): New variable.
6132 (COLOR_INTENSITY): New macro.
6133 (x_detect_edges): Use COLOR_INTENSITY.
6134 (x_disable_image): New function.
6135 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6136
6137 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6138 disabled state, don't apply an image transformation algorithm if
6139 the user specified an image for the disabled state. Use
28c7826c 6140 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6141 user hasn't specified an image.
6142
ebb8f116
GM
6143 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6144 allocation functions with the XPM lib.
6145 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6146 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6147 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6148 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6149 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6150 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6151 functions, if possible, because these handle color allocation
6152 failure more gracefully.
6153 (Fimage_mask_p): New function.
6154
47e351a3
GM
6155 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6156 (Qedge_detection, Qheuristic): New symbols.
6157 (syms_of_xfns): Initialize new symbols.
6158 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6159 `algorithm (edge-detection ...)'.
6160 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6161 (tiff_format, gif_format, gs_format): Add `:mask'.
6162 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6163 (GIF_MASK, GS_MASK): New enumerators.
6164 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6165 (emboss_matrix, laplace_matrix): New variables.
6166 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6167 (x_edge_detection): New functions.
6168 (x_laplace): Rewritten in terms of x_detect_edges.
6169 (x_build_heuristic_mask): If image has a mask, free it.
6170
fe83b953
AI
61712000-09-14 Andrew Innes <andrewi@gnu.org>
6172
6173 * makefile.w32-in: Revert to Unix line endings.
6174
3021e816
AI
61752000-09-14 Andrew Innes <andrewi@gnu.org>
6176
6177 * makefile.w32-in: Standardize indentation somewhat.
6178 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6179 cater for differences between shells.
6180
6181 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6182
2a32b5ea
GM
61832000-09-14 Gerd Moellmann <gerd@gnu.org>
6184
6185 * xterm.c (x_produce_glyphs): If the distance from the current
6186 position to the next tab stop is less than a canonical character
6187 width, use the tab stop after that.
6188
b4331e96
DL
61892000-09-14 Dave Love <fx@gnu.org>
6190
6191 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6192
ef9e4345
GM
61932000-09-14 Gerd Moellmann <gerd@gnu.org>
6194
085536c2
GM
6195 * xdisp.c (handle_fontified_prop): While running fontification
6196 functions, bind `fontification-functions' and
6197 `after-change-functions' to nil.
6198
ef9e4345
GM
6199 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6200 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6201
6202 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6203
6204 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6205 USE_MMAP_FOR_BUFFERS.
6206
6207 * insdel.c (make_gap): Use enlarge_buffer_text.
6208
6209 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6210 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6211 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6212 from former r_alloc_* functions in ralloc.c.
52283633 6213 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6214 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6215 (mmap_init) [REL_ALLOC_MMAP]: New function.
6216 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6217 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6218 BUFFER_FREE.
6219
6220 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6221 (enlarge_buffer_text): Add prototype.
6222
6223 * ralloc.c: Remove everything having to do with the use of mmap.
6224
f8608968
GM
62252000-09-13 Gerd Moellmann <gerd@gnu.org>
6226
2a494b2d
GM
6227 * sound.c (Fplay_sound): Doc fix.
6228
8c907a56
GM
6229 * keyboard.c: Avoid some more compiler warnings.
6230 (parse_tool_bar_item): Ignore cached key bindings.
6231
f8608968
GM
6232 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6233 and allocation of Lisp data.
6234
6ab70e9a
GM
62352000-09-12 Gerd Moellmann <gerd@gnu.org>
6236
d12d0a9b
GM
6237 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6238 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6239 defaults first.
6240
6ab70e9a
GM
6241 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6242
63c36c3c
KH
62432000-09-12 Miyashita Hisashi <himi@meadowy.org>
6244
6245 * ccl.c: Comment fixed.
6246 (MAX_MAP_SET_LEVEL): Increased to 30.
6247 (PUSH_MAPPING_STACK): Enclose with do-while block.
6248 (POP_MAPPING_STACK): Likewise.
6249 (stack_idx_of_map_multiple): New variable.
6250 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6251 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6252 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6253 (ccl_driver) <CCL_MapSingle>: Likewise.
6254 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6255 with the case where looking up process reaches to the end of
6256 map-set, and call CCL programs as the above change.
6257
7ee3bd7b
GM
62582000-09-11 Gerd Moellmann <gerd@gnu.org>
6259
8ec8a5ec
GM
6260 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6261 that might be clobbered by longjmp.
6262 (check_x_display_info, x_decode_color, create_frame_xic)
6263 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6264 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6265
f74b0705
GM
6266 * lread.c (init_lread): Set Vloads_in_progress to nil.
6267 (Fload): Show list of recursively loaded files, when signaling an
6268 error.
6269
7ee3bd7b
GM
6270 * lread.c (Vloads_in_progress): New variable.
6271 (record_load_unwind): New function.
6272 (Fload): Check for recursive loads.
6273 (syms_of_lread): Initialize Vloads_in_progress.
6274 (read_integer, read1): Avoid some compiler warnings.
6275
6276 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6277 compiler warnings.
6278
974e1e5b
MB
62792000-09-11 Miles Bader <miles@gnu.org>
6280
6281 * editfns.c (Fbuffer_string): Doc fix.
6282
9824c4e3
GM
62832000-09-10 Gerd Moellmann <gerd@gnu.org>
6284
6285 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6286
6a72fdd1
KR
62872000-09-09 Ken Raeburn <raeburn@gnu.org>
6288
6289 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6290 whether to include other header files.
6291
28e6fb66
GM
62922000-09-09 Gerd Moellmann <gerd@gnu.org>
6293
52283633 6294 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6295 by Fmemq as a boolean.
28e6fb66 6296
7f8b6551
SM
62972000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6298
6299 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6300
a8710abf
GM
63012000-09-08 Gerd Moellmann <gerd@gnu.org>
6302
d1a02881
GM
6303 * ralloc.c (mmap_fd): Remove initializer which can make it
6304 read-only in a dumped Emacs.
6305 (mmap_fd_1): New variable.
6306 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6307 restore it from there.
6308 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6309 unconditionally so that mmap_fd can be initialized there.
6310 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6311 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6312 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6313
c454aac1
GM
6314 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6315
6316 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6317 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6318
fc653ef2
GM
6319 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6320
3015eec0
GM
6321 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6322 inheritance.
6323
bfe0ee88
GM
6324 * xdisp.c (try_window_id): When trying to locate cursor in
6325 unchanged rows at the top, handle the case that we can't find it.
6326
a8710abf
GM
6327 * xterm.c (x_draw_glyphs): Handle case START and END are out
6328 of bounds more carefully.
6329
6b7d4ae4
DL
63302000-09-08 Dave Love <fx@gnu.org>
6331
423193c5
DL
6332 * s/sol2.h (REL_ALLOC_MMAP): Define.
6333 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6334
6335 * ralloc.c: Don't include string.h (redundant).
6336 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6337 [!MAP_ANON]: Include fcntl.h.
6338 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6339 (r_alloc, r_re_alloc, r_alloc_free)
6340 (mmap_enlarge, mmap_set_vars): Use it.
6341 (r_alloc_init_fd): New function.
6342 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6343 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6344 malloc type.
6345
6346 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6347 Remove vm-limit.o.
6348
6b7d4ae4
DL
6349 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6350 change to __NetBSD__.
6351
44d31981
KH
63522000-09-08 Kenichi Handa <handa@etl.go.jp>
6353
6354 * search.c (compile_pattern): Check the multibyteness of cached
6355 string and PATTERN.
6356
aad40737
MB
63572000-09-08 Miles Bader <miles@gnu.org>
6358
6359 * xfaces.c (default_face_vector): Function removed.
6360 (Finternal_merge_in_global_face): Restore old global/local
6361 attribute override order. Use inline loop instead of calling
6362 default_face_vector.
6363
91a211b5
GM
63642000-09-07 Gerd Moellmann <gerd@gnu.org>
6365
6366 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6367 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6368 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6369 where necessary, in case POINTER_TYPE is `void'.
6370
03419440
EZ
63712000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6372
6373 * frame.c (make_terminal_frame): Initialize frame foreground and
6374 background colors to unspecified, for the initial instance of an
6375 MSDOS frame.
6376
f46f845b
GM
63772000-09-07 Gerd Moellmann <gerd@gnu.org>
6378
24f76fbf
GM
6379 * ralloc.c (mmap_find): Fix overlap computation.
6380 (mmap_enlarge): Compute nbytes before trying to find an
6381 overlapping region.
6382
f46f845b
GM
6383 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6384 instead of `!='.
6385
6386 * lread.c (syms_of_lread): Change value of regexp
6387 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6388
6389 * xmenu.c (xdialog_show): When looking up the selection in
6390 menu_items, take `quote' boundaries into account; this corresponds
6391 to a nil ITEM in x-popup-dialog.
6392
3c014385
KH
63932000-09-07 Kenichi Handa <handa@etl.go.jp>
6394
fd6f711b
KH
6395 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6396 not 0x81.
6397 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6398
3c014385 6399 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6400 encoding, not decoding. Fix the handling of latin-jisx0201.
6401 Check for the charset katakana-jisx0201 too.
3c014385 6402 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6403 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6404
0da3ecef
GM
64052000-09-07 Gerd Moellmann <gerd@gnu.org>
6406
ab0ee409
GM
6407 * xfaces.c (Vparam_value_alist): New variable.
6408 (syms_of_xfaces): Initialize it.
6409 (Finternal_set_lisp_face_attribute): Avoid more consing.
6410
6411 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6412 specially.
6413 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6414 (Qbackground_mode): New variable.
6415 (syms_of_frame_1): Initialize Qbackground_mode.
6416
6417 * lisp.h (Qdisplay): Declare extern.
1091dd67 6418
0da3ecef
GM
6419 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6420 change face on all frames, and change the default for new frames.
6421
b14654b9
DL
64222000-09-07 Dave Love <fx@gnu.org>
6423
6424 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6425
d24fd56f
KH
64262000-09-07 Kenichi Handa <handa@etl.go.jp>
6427
794f3670
KH
6428 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6429
0fddd0dc
KH
6430 * charset.c: Include composite.h
6431 (lisp_string_width): New function.
6432 (Fstring_width): Call lisp_string_width instead of strwidth.
6433
6434 * Makefile.in (charset.o): Depends on composite.h.
6435
d24fd56f
KH
6436 * process.c (read_process_output): Before inserting the decoded
6437 text in the buffer, adjust the multibyteness.
6438
fa0b693c
GM
64392000-09-06 Gerd Moellmann <gerd@gnu.org>
6440
52283633 6441 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6442 buffer's text buffer is null, map new memory.
6443
0a58f946
GM
6444 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6445 POINTER_TYPE and size_t.
6446 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6447 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6448 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6449 [REL_ALLOC_MMAP]: New macros.
6450 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6451 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6452 [REL_ALLOC_MMAP]: New functions.
6453
6454 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6455 before and after unexec.
6456
6457 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6458 text buffers if necessary.
6459
6460 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6461 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6462 in prototypes.
6463
fa0b693c
GM
6464 * config.in (HAVE_MMAP): Add #undef.
6465
877055f6
GM
64662000-09-05 Gerd Moellmann <gerd@gnu.org>
6467
08ba3862
GM
6468 * frame.c (Qdisplay_type): New variable.
6469 (syms_of_frame_1): Initialize it.
6470 (Fframe_parameter): New function that avoids consing.
6471 (syms_of_frame): Defsubr it.
6472
66ffe51c
GM
6473 * buffer.c (Fother_buffer): Consider buffers as invisible when
6474 they are displayed in a window on an invisible frame.
6475
877055f6
GM
6476 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6477 get-largest-window always return nil.
6478
bb970e67
GM
64792000-09-04 Gerd Moellmann <gerd@gnu.org>
6480
6481 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6482 variable; recognize Emacs 19 elc files.
6483
7a3d0e0e
MB
64842000-09-04 Miles Bader <miles@gnu.org>
6485
6486 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6487 before initially popping up the menu, so the menu doesn't flash
52283633 6488 when the face settings are significantly different from the defaults.
7a3d0e0e 6489
14473664
SM
64902000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6491
6492 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6493 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6494 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6495 (BIT_UNIBYTE): Remove.
6496 (re_match_2_internal): Delete corresponding code and streamline the
6497 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6498 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6499 (re_wctype_t): New type.
6500 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6501 (regex_compile): Use them and fix handling of overly long char classes.
6502
c1174479
AI
65032000-09-03 Andrew Innes <andrewi@gnu.org>
6504
f8803e97
AI
6505 * makefile.w32-in: Change to DOS line endings.
6506
c1174479
AI
6507 * s/ms-w32.h (ORDINARY_LINK): New define.
6508
6509 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6510 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6511
6512 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6513 (distclean): Delete them here instead.
6514
44ef7cf6
AI
6515 * w32proc.c (compare_env): Convert to uppercase for comparison,
6516 not lowercase, to match how the native Windows shell works.
6517
49b3bd82
JR
65182000-09-03 Jason Rumney <jasonr@gnu.org>
6519
6520 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6521 CVS changes the line-ends when checking in/out on DOS/Windows.
6522
6523 * makefile.nt (emacs): Do not change directory to run temacs, as
6524 the load-path is set relative to current directory.
6525
a3d35a39
MB
65262000-09-03 Miles Bader <miles@gnu.org>
6527
6528 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6529
d276b0cf
GM
65302000-09-02 Gerd Moellmann <gerd@gnu.org>
6531
715e84c9
GM
6532 * xdisp.c (redisplay_mode_lines): New function.
6533 (display_mode_lines): Return number of mode lines displayed.
6534 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6535 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6536
8892f40b
GM
6537 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6538 string.h and strings.h.
6539 (index) [HAVE_INDEX]: Add prototype.
6540
d276b0cf
GM
6541 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6542 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6543
6544 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6545 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6546
38404229
GM
65472000-09-01 Gerd Moellmann <gerd@gnu.org>
6548
6549 * lread.c (read1): Accept `?' as symbol constituent, for
6550 compatiblity with XEmacs.
6551
c0f9ea08
SM
65522000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6553
6554 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6555 (struct re_pattern_buffer): Remove newline_anchor.
6556 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6557 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6558 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6559 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6560 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6561 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6562 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6563 Get rid of references to newline_anchor.
6564 (regcomp): Allocate and precompute a fastmap.
6565
8c0f83fe
GM
65662000-08-31 Gerd Moellmann <gerd@gnu.org>
6567
6568 * lread.c (openp): GCPRO local variable `filename'.
6569
4bb91c68
SM
65702000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6571
6572 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6573
6574 * regex.c: Merge some changes from GNU libc. Add prototypes.
6575 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6576 Use memcmp and memcpy instead of bcopy and bcmp.
6577 (init_syntax_once): Use ISALNUM.
6578 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6579 (REG_UNSET_VALUE): Remove. Use NULL instead.
6580 (REG_UNSET, re_match_2_internal): Use NULL.
6581 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6582 New macros.
6583 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6584 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6585 (regex_compile): In handle_interval, return an error rather than try to
6586 unfetch the interval if we can't find the closing brace.
6587 Obey the RE_NO_GNU_OPS syntax bit.
6588 (TOLOWER): New macro.
6589 (regcomp): Use it.
6590 (regexec): Allocate regs.start and regs.end as one block.
6591
5226a931
GM
65922000-08-30 Gerd Moellmann <gerd@gnu.org>
6593
868dd24b
GM
6594 * xdisp.c (echo_area_display): Check display_completed instead
6595 of calling detect_input_pending.
6596
6597 * dispnew.c (update_frame): Only set display_completed here; move
6598 the update_begin and update_end calls here from update_frame_1.
6599 (update_frame_1): Don't set display_completed here, don't call
6600 update_begin/update_end.
6601
5226a931
GM
6602 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6603 instead of store_frame_param.
6604
2a8bd25f
GM
66052000-08-29 Gerd Moellmann <gerd@gnu.org>
6606
6607 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6608 desired window matrix hasn't been displayed, use the current row
6609 instead. Make sure that only those frame rows are updated for
6610 which there exists a corresponding enabled desired row.
52283633 6611
ba3478d9
MB
66122000-08-29 Miles Bader <miles@gnu.org>
6613
6614 * xfaces.c (default_face_vector): New function.
6615 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6616
87d0f685
GM
66172000-08-29 Gerd Moellmann <gerd@gnu.org>
6618
6619 * lread.c (openp): Prevent temporary string passed to
6620 Ffile_readable_p from being garbage collected.
6621
6fa86045
DL
66222000-08-28 Dave Love <fx@gnu.org>
6623
6624 * keymap.c (store_in_keymap): Add `static' to declaration.
6625
bb17930d
GM
66262000-08-28 Gerd Moellmann <gerd@gnu.org>
6627
6628 * emacs.c, callint.c, doc.c, editfns.c
6629 (toplevel) [HAVE_STRING_H]: Include string.h.
6630 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6631 (index): Remove prototypes which might conflict with non-standard
6632 definitions of index/strchr.
6633
6634 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6635 (rindex): Define only if !HAVE_RINDEX.
6636
6637 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6638
6639 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6640
87188200
MB
66412000-08-28 Miles Bader <miles@gnu.org>
6642
6643 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6644 made inconsistent by a font-related attribute in FROM.
6645 (merge_face_inheritance): Add function comment.
6646
41a68aef
KH
66472000-08-28 Kenichi Handa <handa@etl.go.jp>
6648
6649 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6650 the 4th arg (PREV_EVENT) Qt to suppress input method.
6651
f7c436c1
SM
66522000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6653
0b32bf0e
SM
6654 * regex.c: Indent cpp directives and remove parens after `defined'.
6655 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6656 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6657 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6658 (re_compile_pattern): Use size_t for length.
6659 (init_syntax_once): Move to a better place.
6660 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6661 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6662
f7c436c1
SM
6663 * syntax.c (back_comment): Detect cases where a comment-starter is
6664 actually inside another comment as in: /* a // b */ c // d \n.
6665 Make it clear that `comstart_pos' is unused for nested comments.
6666
6667 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6668 (KEYMAPP): New macro.
6669 (Fkeymap_parent, Fset_keymap_parent): Use it.
6670 (fix_submap_inheritance): Mark it static.
6671 (define_as_prefix, describe_buffer_bindings, describe_command)
6672 (describe_translation, describe_map): Complete prototypes.
6673
6674 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6675
6676 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6677 to better match the key-lookup behavior.
6678
6288c62f
GM
66792000-08-27 Gerd Moellmann <gerd@gnu.org>
6680
6681 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6682 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6683
e931344e
EZ
66842000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6685
6686 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6687 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6688 (xterm.o): Depend on coding.h
6689
d10dfeef
KH
66902000-08-26 Kenichi Handa <handa@etl.go.jp>
6691
6692 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6693 the corresponding '#endif'.
6694
2d73e8d3
MB
66952000-08-26 Miles Bader <miles@gnu.org>
6696
6697 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6698 * xfaces.c (QCinherit): New variable.
6699 (syms_of_xfaces): Initialize it.
6700 (LFACE_INHERIT): New macro.
6701 (Finternal_get_lisp_face_attribute)
52283633 6702 (merge_face_vector_with_property)
2d73e8d3
MB
6703 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6704 (check_lface_attrs): Allow new types of face height. Check
6705 inherit attribute.
6706 (CYCLE_CHECK): New macro.
6707 (merge_face_inheritance): New function.
6708 (merge_face_vectors): Merge inherited faces too. Add F and
6709 CYCLE_CHECK arguments.
6710 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6711 (lookup_named_face, lookup_derived_face, realize_named_face)
6712 (face_at_string_position, face_at_buffer_position): Supply
6713 new F and CYCLE_CHECK arguments to merge_face_vectors.
6714 (merge_face_heights): New function.
52283633 6715 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6716 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6717 handle relative face heights.
6718 (lface_same_font_attributes_p): Compare heights using EQ.
6719
6ce974d4
KH
67202000-08-26 Kenichi Handa <handa@etl.go.jp>
6721
6722 * charset.c (char_to_string): Check the character validity.
52283633 6723 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6724
dc1e502d
SM
67252000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6726
6727 * regex.c (PUSH_FAILURE_COUNT): New macro.
6728 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6729 Handle popping of a register's or a counter's data.
6730 (POP_FAILURE_POINT): Use the new name.
6731 (re_match_2_internal): Push counter data on the stack for succeed_n,
6732 jump_n and set_number_at and remove misleading dead code in succeed_n.
6733
bd9d0f3f
GM
67342000-08-25 Gerd Moellmann <gerd@gnu.org>
6735
6736 * xdisp.c (redisplay_internal): If considering all windows on all
6737 frames, update the display for each frame as soon as possible,
6738 instead of first building all desired matrices for all frames, and
6739 then updating them all.
6740 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6741
aa5b8e15
GM
67422000-08-24 Gerd Moellmann <gerd@gnu.org>
6743
17494071
GM
6744 * bytecode.c (mark_byte_stack): Add a comment.
6745
52283633
SM
6746 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6747 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6748 a graphical frame.
6749
c543db81
KH
67502000-08-24 Kenichi Handa <handa@etl.go.jp>
6751
d246d5f5
KH
6752 * minibuf.c (do_completion): Always use compare-string, not
6753 string-equal because the latter doesn't pay attention to
6754 multibyteness of strings.
6755
c543db81
KH
6756 * process.c (create_process): Don't setup raw-text coding here.
6757 (Fopen_network_stream): Don't set coding->src_multibyte and
6758 coding->dst_multibyte here.
6759 (read_process_output): For process filter, return unibyte string
6760 if default-enable-multibyte-characters is nil.
6761 (send_process): If OBJECT is multibyte text, be sure to encoded it
6762 by the specified coding system for the process. Otherwise, setup
6763 raw-text coding.
52283633 6764 (init_process): Don't initialize default-process-coding-system here.
c543db81 6765
9b47cfe0
EZ
67662000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6767
6768 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6769 <scroll-down-aggressively>: Likewise.
6770
f5a36960
KH
67712000-08-23 Kenichi Handa <handa@etl.go.jp>
6772
6773 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6774 zero. Set coding->produced_char correctly.
6775
69a7ffa7
AI
67762000-08-22 Andrew Innes <andrewi@gnu.org>
6777
6778 * makefile.w32-in: New file.
6779
6780 * unexw32.c (unexec): Ignore old_name, and use the actual location
6781 of the current executable instead. Base new_name on this.
6782
6783 * w32proc.c (create_child): Remove reference to security
6784 descriptor, which isn't needed and doesn't compile with mingw32.
6785
6786 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6787 up dllimport attributes.
6788 (x_update_window_end): Update prototype.
6789
6790 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6791 extern, which screws up dllimport attributes.
6792
6793 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6794 up dllimport attributes.
6795
6796 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6797 screws up dllimport attributes.
6798
6799 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6800 up dllimport attributes.
6801 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6802 screws up dllimport attributes.
6803
6804 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6805 up dllimport attributes.
6806
6807 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6808 screws up dllimport attributes.
6809
6810 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6811 screws up dllimport attributes.
6812
6813 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6814 up dllimport attributes.
6815
6816 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6817 unnecessary extern, which screws up dllimport attributes.
6818 (main): Ditto.
6819
6820 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6821 up dllimport attributes.
6822
6823 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6824 unnecessary extern, which screws up dllimport attributes.
6825
6826 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6827 screws up dllimport attributes.
6828
6829 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6830 up dllimport attributes.
6831
6832 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6833
52283633
SM
6834 * w32bdf.c (search_file_line):
6835 (set_bdf_font_info):
6836 (seek_char):
6837 (w32_get_bdf_glyph):
69a7ffa7
AI
6838 (w32_BDF_to_x_font): Fix compile warnings.
6839
52283633 6840 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6841
6842 * w32select.c: Include keyboard.h before frame.h.
6843
6844 * w32fns.c (max): Define macro.
6845 (JOHAB_CHARSET): Define if not known.
6846 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6847 (Fx_show_tip): Synch with X version.
6848
6849 * w32xfns.c: Include keyboard.h before frame.h.
6850
6851 * w32fns.c: Include keyboard.h before frame.h.
6852
6853 * w32term.c: Include keyboard.h before frame.h.
6854
6855 * fontset.c: Include keyboard.h before frame.h.
6856
6857 * w32inevt.c: Include keyboard.h before frame.h.
6858 (MOUSE_MOVED): Define if not known.
6859
6860 * minibuf.c: Include keyboard.h before frame.h.
6861
6862 * keyboard.c: Include keyboard.h before frame.h.
6863
6864 * indent.c: Include keyboard.h before frame.h.
6865
6866 * dispnew.c: Include keyboard.h before frame.h.
6867
6868 * buffer.c: Include keyboard.h before frame.h.
6869
6870 * alloc.c: Include keyboard.h before frame.h.
6871
6872 * print.c: Include keyboard.h before frame.h.
6873
6874 * process.c: Include keyboard.h before frame.h.
6875
6876 * scroll.c: Include keyboard.h before frame.h.
6877
6878 * sysdep.c: Include keyboard.h before frame.h.
6879
6880 * term.c: Include keyboard.h before frame.h.
6881
6882 * window.c: Include keyboard.h before frame.h.
6883
6884 * xdisp.c: Include keyboard.h before frame.h.
6885 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6886
6887 * frame.c: Include keyboard.h before frame.h.
6888
6889 * w32heap.h: Undefine min, max.
6890
6891 * w32gui.h: Undefine min, max.
6892
6893 * unexw32.c: Change PUCHAR to PCHAR.
6894 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6895 (relocate_offset):
6896 (get_section_info):
69a7ffa7
AI
6897 (copy_executable_and_dump_data): Remove unnecessary static defs.
6898 (copy_executable_and_dump_data): Fix compile warnings.
6899
6900 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6901
6902 * w32console.c (min): Define macro.
6903 (clear_frame, write_glyphs): Fix compile warning.
6904
52283633 6905 * w32proc.c (compare_env):
69a7ffa7
AI
6906 (find_child_console): Fix compile warning.
6907
6908 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6909 sys_errlist instead of _sys_errlist.
6910 (get_emacs_configuration_options): New function.
6911
6912 * s/ms-w32.h (sys_nerr): Provide default definition.
6913 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6914 name with _ prepended.
6915 (NSIG): Define if not known.
6916 (get_emacs_configuration): Provide extern declaration.
6917 (get_emacs_configuration_options): Provide extern declaration.
6918 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6919
6920 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6921 (map_w32_filename):
69a7ffa7
AI
6922 (read_unc_volume): Fix compile warning.
6923
6924 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6925 definitions from being used.
6926
6927 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6928
52283633 6929 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6930 (open_unc_volume): Make arg const.
6931
6932 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6933 (read_input_waiting): Remove excess parameter.
6934
6935 * w32.c (init_environment): Call _access.
6936 (check_windows_init_file): Call _close.
6937 (init_user_info): Call _putenv.
6938 (init_environment): Call _putenv and _strdup.
6939 (init_ntproc): Reset volume info cache on startup.
6940
6941 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6942 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6943 cannot override the CRT malloc.
6944
6945 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6946 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6947
6948 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6949 unless we are linking with a static CRT.
6950 (RVA_TO_PTR): Cast result to unsigned char*.
6951
6952 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6953 (add_volume_info): Use xstrdup.
6954
25060080
SM
69552000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6956
6957 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6958 (do_completion, Fminibuffer_complete_word): Use it.
6959 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6960 var so it can take non-boolean values.
6961
6917e6bb
GM
69622000-08-21 Gerd Moellmann <gerd@gnu.org>
6963
acb7cc89 6964 * editfns.c (find_field): Formatting changes.
52283633 6965 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6966 changed to prototypes, some new protypes added, some functions
6967 made static.
6968
6969 * lisp.h (set_time_zone_rule): Add prototype.
6970 (use_dialog_box): External declaration.
6971
0bbfdc25
GM
6972 * keyboard.c (gen_help_event): Add parameter SIZE.
6973 (kbd_buffer_events_waiting): Slightly rewritten.
6974 (clear_event): New function.
6975 (kbd_buffer_get_event): Use it, and clear the input_events of
6976 HELP_EVENTs.
6977 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6978 don't fill the newly created array with nils.
6979 (toplevel): Convert some old-style function forward declarations
6980 to prototypes.
6981
6982 * keyboard.h (gen_help_event): Change prototype.
6983
6984 * xterm.c (XTread_socket): Change calls to gen_help_event.
6985
6986 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6987
6917e6bb
GM
6988 * eval.c (Fmacroexpand): Doc fix.
6989
e5cd3d11
JR
69902000-08-20 Jason Rumney <jasonr@gnu.org>
6991
6992 * w32term.h (x_display_info_for_display): Remove as this function
6993 does not exist on W32.
6994
6995 * w32term.c (help_echo_window): New variable.
6996 (syms_of_w32term): staticpro it.
6997 (note_mode_line_highlight): Set it.
6998 (XTextExtents16): Removed as there is no equivalent on W32.
6999 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7000 the X way of doing this will not work for W32.
7001 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7002 (x_draw_image_foreground): Avoid drawing outside of the clip area
7003 when image doesn't have a mask.
7004 (note_mouse_highlight): Process overlays in the right order of
7005 priority. Set help_echo_window.
7006 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7007 because that's more visible for large images.
7008
7009 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7010 name to single_keymap_panes.
7011 (w32_menu_show): Set wv->title when dealing with titles.
7012 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7013
6e69ab8c
MB
70142000-08-21 Miles Bader <miles@gnu.org>
7015
7016 * minibuf.c (do_completion): Try again if we rewrite the input
7017 string, but no completion was done, so that any completion message
7018 will be correct.
7019
511bd4eb
GM
70202000-08-20 Gerd Moellmann <gerd@gnu.org>
7021
7022 * xfaces.c (lface_equal_p): Compare strings differently.
7023 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7024 (realize_tty_face): Use them.
7025 (syms_of_xfaces): Initialize new variables.
7026 (map_tty_color): New function, extracted from realize_tty_face.
7027 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7028 foreground or background color, store the new color name in the
7029 realized face; previous code trying to do this had no effect.
7030 (realize_tty_face): Use map_tty_color.
7031 (Fclear_face_cache): Set face_change_count and ensure thorough
7032 redisplay.
7033
1433385f
GM
70342000-08-19 Gerd Moellmann <gerd@gnu.org>
7035
511bd4eb
GM
7036 * undo.c (record_first_change, record_marker_adjustment): Don't
7037 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7038
419ac0a2
KH
70392000-08-18 Kenichi Handa <handa@etl.go.jp>
7040
7041 * coding.c (decode_coding_string): Set members consumed,
7042 consumed_char, produced, produced_char of *coding correctly. If
7043 decode_coding doesn't consume any byte, don't try anymore.
7044 (encode_coding_string): Likewise.
7045
7eb9e30d
GM
70462000-08-18 Gerd Moellmann <gerd@gnu.org>
7047
511bd4eb
GM
7048 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7049 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7050
7051 * xdisp.c (redisplay_internal): Compare windows for equality with
7052 EQ, instead of applying XWINDOW to something that might not
7053 be a window.
52283633 7054
dd34a735
KH
70552000-08-18 Kenichi Handa <handa@etl.go.jp>
7056
7057 * fontset.c (Finternal_char_font): Search only the selected frame
7058 for a window of the current buffer.
7059
385ff9e3
GM
70602000-08-18 Gerd Moellmann <gerd@gnu.org>
7061
511bd4eb 7062 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7063 Lisp_Objects.
7064
385ff9e3
GM
7065 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7066 second half of a HELP_EVENT is found at the start of kbd_buffer.
7067
d6abb4c7
MB
70682000-08-18 Miles Bader <miles@gnu.org>
7069
4618074a
MB
7070 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7071
d6abb4c7
MB
7072 * editfns.c (save_restriction_save): Rewrite to use markers.
7073 (save_restriction_restore): Rewrite to understand new form of data
7074 saved by save_restriction_save.
7075 (Fsave_restriction): Remove cautionary note in doc-string.
7076
a7b28523
GM
70772000-08-17 Gerd Moellmann <gerd@gnu.org>
7078
7079 * fileio.c (build_annotations): Add a comment explaining the
7080 return value of format-annotate-function. Replace a spurious call
7081 to Flength with a CONSP test. Call format-annotate-function with
7082 a fifth arg specifying how many times the function is been called
7083 in a row, to let it choose temporary buffers appropriately.
7084
03c9ed77
DL
70852000-08-17 Dave Love <fx@gnu.org>
7086
7087 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7088 declare make_temp_name twice.
7089
52283633 7090 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7091 (unreadpure): Give it an arg.
7092
7093 * unexalpha.c: Prototype fatal_unexec, mark_x,
7094 update_dynamic_symbols. Declare unexec as void.
7095
7096 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7097 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7098
7099 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7100 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7101
7102 * alloca.c: Use #error.
7103 [POINTER_TYPE]: Use it.
7104
7105 * eval.c (Fdefvar): Doc fix.
7106
7107 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7108 INITIALIZE_INTERVAL.
7109
7110 * buffer.h: Avoid DECLARE_INTERVALS.
7111
7112 * config.in: Add size_t.
7113
aae41d97
EZ
71142000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7115
7116 * w16select.c (set_clipboard_data): If there's not enough memory
7117 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7118 expects. In case of other failures, return 3.
7119 (system_error_msg): New error message.
7120 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7121 system_error_msg.
7122
65aa5e85
GM
71232000-08-16 Gerd Moellmann <gerd@gnu.org>
7124
7125 * term.c (write_glyphs): Also turn off inverse video after turning
7126 off other appearances in case TS_exit_attribute_mode is not equal
7127 to TS_end_standout_mode.
7128 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7129 with the same face.
7130 (turn_off_face): Reset standout_mode only if
7131 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7132 is equal to TS_end_standout_mode.
7133
ece23901
KH
71342000-08-16 Kenichi Handa <handa@etl.go.jp>
7135
9d7bcb2e
KH
7136 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7137 sequence at the end of the source block.
7138
ece23901
KH
7139 * ccl.c (Fccl_program_p): Docstring modified.
7140 (Fccl_execute): Likewise.
7141 (Fccl_execute_on_string): Likewise.
7142
5e30eaa2
EZ
71432000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7144
7145 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7146
290602fd
KH
71472000-08-16 Kenichi Handa <handa@etl.go.jp>
7148
7149 The following changes are mainly to fix bugs of
7150 encode/decode-coding-string failing if encoding/decoding return
7151 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7152 variable conversion_buffer.
7153
7154 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7155 decrement dst_end to avoid buffer overflow in the later call of
7156 string_as_multibyte
7157
7158 * coding.h (conversion_buffer_size, conversion_buffer)
7159 (get_conversion_buffer): Extern deleted.
7160
7161 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7162 (conversion_buffer, conversion_buffer_size): Variables deleted.
7163 (get_conversion_buffer): Function deleted.
7164 (struct conversion_buffer): New structure.
7165 (MAX_ALLOCA): New macro.
7166 (allocate_conversion_buffer): New macro.
7167 (extend_conversion_buffer, free_conversion_buffer): New functions.
7168 (ccl_coding_driver): Set coding->result.
7169 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7170 this is the last block of source.
7171 (encode_coding): Likewise. Handle the source block as the last
7172 one only when the whole source text is consumed.
7173 (decode_coding_string): Handle the case that the output buffer is
7174 too small to decode the whole source text. Use
7175 allocate_conversion_buffer, extend_conversion_buffer and
7176 free_conversion_buffer, not get_conversion_buffer.
7177 (encode_coding_string): Likewise.
7178 (init_coding): Function deleted.
52283633 7179 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7180
7181 * emacs.c (main): Don't call init_coding.
7182
52283633 7183 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7184
7185 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7186 (insert_glyphs): Likewise.
7187
7188 * w32console.c (write_glyphs): Use a locally declared
7189 conversion_buffer.
7190
b9f80d41
EZ
71912000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7192
7193 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7194 member of display_info is NULL.
7195
32dc52f7
GM
71962000-08-15 Gerd Moellmann <gerd@gnu.org>
7197
52283633 7198 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7199
32dc52f7 7200 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7201 appearances with capability `me'.
32dc52f7
GM
7202 (write_glyphs): Switch on inverse video before each face change.
7203
4eb22d33
DL
72042000-08-14 Dave Love <fx@gnu.org>
7205
7206 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7207 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7208 (lisp_free): Declare and make static.
7209
7210 * window.c: Fix embedded comment.
7211 (syms_of_window): Fix doc string.
7212
90cbf47e
GM
72132000-08-14 Gerd Moellmann <gerd@gnu.org>
7214
52283633 7215 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7216 make sure to print `C-' before `M-', like in the manual.
7217
440fc135
GM
72182000-08-11 Gerd Moellmann <gerd@gnu.org>
7219
7220 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7221 since they aren't relocated anymore.
52283633 7222 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7223
7224 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7225 partially visible line which is smaller than the window's height.
440fc135 7226
6e264fad
KH
72272000-08-11 Kenichi Handa <handa@etl.go.jp>
7228
7229 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7230 the multibyte form of eight-bit-control characters.
6e264fad
KH
7231 (Fccl_execute_on_string): Initialize ccl->multibyte.
7232
7233 * ccl.h (struct ccl_program): New member multibyte.
7234
7235 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7236
c371f69a
KH
72372000-08-11 Kenichi Handa <handa@etl.go.jp>
7238
7239 * regex.c (regex_compile) <normal_char>: Pay attention to
7240 multibyteness.
7241 (analyse_first) <exactn>: Setup fastmap correctly for
7242 eight-bit-control characters.
7243
72442000-08-11 Kenichi Handa <handa@etl.go.jp>
7245
52283633 7246 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7247
7248 * keyboard.c (make_lispy_event): Handle the new event type
7249 multibyte_char_keystroke.
7250
7251 * xterm.c: Include coding.h.
7252 (XTread_socket): Work around a bug of XmbLookupString. If the
7253 input is from XIM, decode it according to the current locale. In
7254 that case, generate multibyte_char_keystroke events.
7255
b8ddbe71
KH
72562000-08-11 Kenichi Handa <handa@etl.go.jp>
7257
7258 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7259 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7260
47589c8c
GM
72612000-08-10 Gerd Moellmann <gerd@gnu.org>
7262
7263 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7264 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7265 (move_it_in_display_line_to): Record iterator's ascent and descent
7266 before producing glyphs, and restore them when we know the glyph
7267 doesn't fit on the line.
7268 (move_it_to): Restructured so that it's easier to debug. If
7269 moving to a vpos, and not moving to an x or character position,
7270 stop as soon as the specified vpos is reached; don't move further
7271 into that line because that might change the computed line height.
7272 (try_cursor_movement): New function, extracted from the cursor
7273 movement branch of redisplay_window. If ending on a partially
7274 visible line, don't try to scroll if the cursor line is taller
7275 than the window.
7276 (redisplay_window): Use try_cursor_movement.
7277
7278 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7279 because that function doesn't cope with variable-height lines.
7280
7281 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7282 box cursor because that's better visible for large images.
52283633 7283
c51bacd6
MB
72842000-08-10 Miles Bader <miles@gnu.org>
7285
7286 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7287
bea56df7
GM
72882000-08-10 Gerd Moellmann <gerd@gnu.org>
7289
7290 * xdisp.c (Vmessages_buffer_name): New variable.
7291 (message_dolog): Use it.
7292 (syms_of_xdisp): Initialize it.
7293
99cd7364
EZ
72942000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7295
52283633 7296 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7297 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7298 redundant now that keyboard.h is included.
7299
7d093d56
EZ
73002000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7301
7302 * keyboard.c (kbd_buffer_events_waiting): New function.
7303
7304 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7305
7306 * msdos.c: Include keyboard.h.
7307 (XMenuActivate): Empty no_event events from the event buffer. If
7308 no events are left after that, call clear_input_pending.
7309 (mouse_clear_clicks): New function, code moved from mouse_init.
7310 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7311 mouse driver to ``forget'' any past clicks.
7312
7313 * Makefile.in (msdos.o): Depend on keyboard.h.
7314
41e757a6
GM
73152000-08-09 Gerd Moellmann <gerd@gnu.org>
7316
8e7bd231
GM
7317 * lisp.h (input_pending): External declaration.
7318
7319 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7320
8e7bd231
GM
7321 * xdisp.c (echo_area_display): Display thoroughly if input is
7322 pending. Bind redisplay-dont-pause to t during the redisplay.
7323 in case input is pending.
7324
7325 * dispnew.c (Qredisplay_dont_pause): New variable.
7326 (syms_of_display): Initialize and staticpro it.
7327 (update_frame_1): Don't interrupt the display for pending input if
7328 redisplay_dont_pause is set.
52283633 7329
43028b7e
GM
7330 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7331
41e757a6
GM
7332 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7333
2f2174fa
KH
73342000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7335
7336 * callproc.c (Fcall_process): Terminate the unwind-protect around
7337 the post-read-conversion of coding system.
7338
0a6fd67e
MB
7339 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7340 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7341 * buffer.h (overlays_at): Update prototype.
7342 * xdisp.c (next_overlay_change): Update call to overlays_at.
7343 * xfaces.c (face_at_buffer_position): Likewise.
7344 * textprop.c (Fget_char_property): Likewise.
7345 * xterm.c (note_mouse_highlight): Likewise.
7346
0c80756e
MB
7347 * minibuf.c (do_completion): Don't consider a simple change of
7348 case as `completion'.
7349
975f250a
KR
73502000-08-08 Ken Raeburn <raeburn@gnu.org>
7351
52283633 7352 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7353 * undo.c (record_delete): Make sure last_point_position_buffer is
7354 a buffer before comparing pointers.
7355
7356 * coding.h (decode_coding_string): Declare.
7357
7358 * intervals.h (Fprevious_single_char_property_change): Declare.
7359
7360 * textprop.c (Fprevious_single_char_property_change): Don't do
7361 arithmetic directly on lisp objects.
7362
52283633 7363 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7364
7365 * keyboard.h (menu_item_eval_property): Declare.
7366
7367 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7368 reuse as buffer name, instead of recreating (and discarding) every
7369 time a message is logged.
7370 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7371 (current_message_1, truncate_message_1, set_message_1)
7372 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7373 (current_message, truncate_echo_area, display_echo_area)
7374 (resize_echo_area_axactly): Changed calls.
b347b3fd 7375
975f250a 7376 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7377 Lisp object.
975f250a 7378 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7379 must be an integer, not a Lisp object.
975f250a 7380
46dc9912
KH
73812000-08-08 Kenichi Handa <handa@etl.go.jp>
7382
7383 * charset.c (Fchar_width): Doc fix.
7384
9f6d1a6c
GM
73852000-08-08 Gerd Moellmann <gerd@gnu.org>
7386
7387 * charset.c (Fstring_width): Doc fix.
7388
ff3d9573
GM
73892000-08-07 Gerd Moellmann <gerd@gnu.org>
7390
41e757a6 7391 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7392 line, clear ascent and descent members of the iterator structure;
7393 the height of the continued line does not affect the height of the
7394 continuation line.
7395 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7396 line taller than the window.
7397 (redisplay_window) <forced window start>: Handle case that the
7398 middle of the window is not found in any row.
7399 (dump_glyph_row): Show more information.
7400 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7401 first text line in a glyph matrix.
7402
7403 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7404 of the clip area when image doesn't have a mask.
7405
70fc58b3
GM
7406 * fns.c (sweep_weak_table): Fix survival conditions for
7407 key-or-value and key-and-value weakness.
7408
7409 * .gdbinit (xhashtable): New command.
7410
ac0e96ee
GM
7411 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7412 tables out of the list of all weak hash tables.
7413
ff3d9573
GM
7414 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7415 a new buffer is created, make sure echo_area_buffer[] references
7416 the new buffer.
7417
e0d8827b
EZ
74182000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7419
7420 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7421 the doc string.
7422
c6f35378
KH
74232000-08-07 Kenichi Handa <handa@etl.go.jp>
7424
7425 * syntax.c (skip_chars): Fix previous change. Make the handling
7426 of unibyte string consistent with that of regex search.
7427
1fd4c450
GM
74282000-08-05 Gerd Moellmann <gerd@gnu.org>
7429
e49aa397
GM
7430 * xmenu.c (popup_get_selection): Use xfree instead of free.
7431
7432 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7433
7434 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7435
7436 * callproc.c (child_setup): Use xfree instead of free.
7437
7438 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7439 instead of malloc.
7440 (run_mac_command, closedir): Use `xfree' instead of `free'.
7441
7442 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7443
7444 * eval.c (error): Use xfree instead of free.
7445
1fd4c450
GM
7446 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7447
7448 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7449 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7450
82d497fc
KH
74512000-08-05 Kenichi Handa <handa@etl.go.jp>
7452
7453 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7454 conversion.
7455
59f953a2
NF
74562000-08-04 Noah Friedman <friedman@splode.com>
7457
7458 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7459 docstring.
7460
688351f2
GM
74612000-08-04 Gerd Moellmann <gerd@gnu.org>
7462
7463 * syntax.c (skip_chars): Fix typo in error message.
7464
2dad51cc
AS
74652000-08-04 Andreas Schwab <schwab@suse.de>
7466
7467 * m/ia64.h: Moved from s/ia64.h.
7468
99bb2c60
KH
74692000-08-04 Kenichi Handa <handa@etl.go.jp>
7470
082a1df2
KH
7471 * process.c (read_process_output): Big simplification. Handle
7472 composition and post-read-conversion of coding system correctly.
7473 (send_process): Handle composition correctly.
7474
7475 * callproc.c (Fcall_process): Handle post-read-conversion of
7476 coding system if any.
7477
99bb2c60
KH
7478 * coding.c (decode_coding_iso2022): More strict check for handling
7479 single shifting.
082a1df2
KH
7480 (coding_restore_composition): Pay attention to the case that
7481 cmp_data is not set properly (because of invalid code in the
7482 source text).
7483 (run_pre_post_conversion_on_str): Include text properties in the
7484 resulting string.
7485 (decode_coding_string): Set members of coding correctly.
99bb2c60 7486
f4988be7
GM
74872000-08-03 Gerd Moellmann <gerd@gnu.org>
7488
7489 * s/ia64.h: New file.
7490
7491 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7492 Use NULL instead of 0 at the end of variable argument list of
7493 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7494 sizeof (int) < sizeof (void *).
7495
7496 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7497 of variable argument lists of XtVaGetValues and XtVaSetValues.
7498
7499 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7500 variable argument lists of XtVaGetValues and XtVaSetValues.
7501
ead53494
GM
75022000-08-02 Gerd Moellmann <gerd@gnu.org>
7503
7504 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7505 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7506
7507 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7508 prototype.
7509
7510 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7511 in call to Fsingle_key_description.
7512
7513 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7514 Callers changed.
7515
75162000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7517
7518 * window.c (display_buffer_reuse_frames): New variable.
7519 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7520 frames displaying BUFFER.
52283633 7521 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7522
10b0f752
MB
75232000-08-01 Miles Bader <miles@gnu.org>
7524
7525 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7526 when to constrain NEW_POS (they were pretty screwed up before).
7527
16425c4a
EZ
75282000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7529
7530 * msdos.c (run_msdos_command): Save and restore the master
7531 environment, for the case that child_setup signals an error.
7532 When mirroring slashes in DOS shell commands, don't fail when
7533 argv[2] has embedded blanks.
da288c14
EZ
7534 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7535 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7536 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7537
7538 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7539 using alloca; free it after run_msdos_command returns.
7540
27f73852
DL
75412000-07-27 Dave Love <fx@gnu.org>
7542
52283633
SM
7543 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7544 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7545
7546 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7547
c0261b5e
EZ
75482000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7549
7550 * editfns.c (lisp_time_argument): Fix last change.
7551
b548072f
GM
75522000-07-27 Gerd Moellmann <gerd@gnu.org>
7553
3ab82477
GM
7554 * fns.c (Fdelete): Make it work on vectors and strings in addition
7555 to lists.
7556
b548072f
GM
7557 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7558 (syms_of_fns): Initialize new variables.
52283633 7559 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7560 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7561 weakness, with t meaning the same as `key-and-value'.
7562
91ae8751
KH
75632000-07-27 Kenichi Handa <handa@etl.go.jp>
7564
7565 * coding.h (struct coding_system): Member safe_charset deleted.
7566
7567 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7568 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7569 New variables.
91ae8751
KH
7570 (coding_safe_chars): New function.
7571 (CODING_SAFE_CHAR_P): New macro.
7572 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7573 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7574 (detect_coding_iso2022): New local variable safe_chars.
7575 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7576 safe_charsets member of the coding system.
7577 (decode_coding_iso2022): New local variable safe_chars.
7578 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7579 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7580 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7581 (ENCODE_UNSAFE_CHARACTER): New macro.
7582 (encode_coding_iso2022): New local variable safe_chars. Check
7583 unsafe chars.
7584 (setup_coding_system): Delete the code to initialize
7585 coding->safe_charses
7586 (intersection, find_safe_codings): New functions.
7587 (Ffind_coding_systems_region_internal): New function.
7588 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7589 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7590 variable and initialize it.
7591
7592 * fns.c (char_table_ref_and_index): New function.
7593
7594 * lisp.h (char_table_ref_and_index): Add prototype.
7595
34a7a267
SS
75962000-07-26 Sam Steingold <sds@gnu.org>
7597
7598 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7599 (Ffloat_time): New built-in Lisp function.
34a7a267 7600
a95cb10a
GM
76012000-07-26 Gerd Moellmann <gerd@gnu.org>
7602
3353ef5a
GM
7603 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7604 for the character code.
7605
7606 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7607 GNU/Linux.
7608
a95cb10a
GM
7609 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7610 if called for a popup menu.
7611 (xmenu_show): Store help string in widget values.
7612
b4a12321
DL
76132000-07-26 Dave Love <fx@gnu.org>
7614
7615 * syswait.h: Move some definitions.
7616 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7617 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7618 perspicuous definitions.
7619 (WTERMSIG): Fix bit pattern used.
7620
13f5ad37
KH
76212000-07-26 Kenichi Handa <handa@etl.go.jp>
7622
7623 * print.c (print_object): If vector printing is truncated, print
7624 "..." to indicate it as well as the case of list printing.
7625
070fe99c
GM
76262000-07-25 Gerd Moellmann <gerd@gnu.org>
7627
969065c3
GM
7628 * xdisp.c (next_element_from_display_vector): Improve comments.
7629
7630 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7631 for the character code, and the rest for the face id as in 20.x.
7632 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7633
7634 * window.c (window_display_table): Cleaned up.
7635
070fe99c
GM
7636 * syntax.c (Fforward_word): Add last arg nil in call of
7637 Fconstrain_to_field.
7638
bad77ef7
EZ
76392000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7640
969065c3 7641 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7642 identical but for the letter-case, don't call
7643 barf_or_query_if_file_exists.
bad77ef7 7644
c28da489
MB
76452000-07-25 Miles Bader <miles@gnu.org>
7646
7647 * editfns.c (find_field): Honor special `boundary' fields.
7648 (Qboundary): New variables.
7649 (syms_of_editfns): Initialize Qboundary.
7650 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7651 Use scan_buffer instead of find_before_next_newline, because it
7652 allows us to detect the boundary case where there's a newline at
7653 the search limit.
7654 * lisp.h (Fconstrain_to_field): Update external declaration.
7655
e3c31fd5
GM
76562000-07-24 Gerd Moellmann <gerd@gnu.org>
7657
7658 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7659 if that is nil.
c28da489 7660
c66c29a2
DL
76612000-07-24 Dave Love <fx@gnu.org>
7662
7663 * s/sunos4-0.h, s/sol2.h:
7664 (LIBS_TERMCAP): Move from m/sparc.h.
7665
7666 * m/sparc.h (TERMINFO): Moved to system files (probably only
7667 relevant for sunos4 judging by its vintage).
7668 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7669 __arch64__.
7670
fbe0a958
EZ
76712000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7672
7673 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7674 name to single_keymap_panes.
7675
7d88e5c9
AS
76762000-07-24 Andreas Schwab <schwab@suse.de>
7677
7678 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7679
e024b101
GM
76802000-07-24 Gerd Moellmann <gerd@gnu.org>
7681
7682 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7683 parameters instead of using int parameters. Expect FN to accept
7684 EMACS_INT parameters.
7685 (display_echo_area, resize_echo_area_axactly, current_message)
7686 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7687 with new argument list.
7688 (resize_mini_window_1): New callback function.
7689 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7690 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7691
25c1a9ce
KH
76922000-07-24 Kenichi Handa <handa@etl.go.jp>
7693
7694 * fontset.c (fontset_ref): Remove INLINE declaration.
7695 (fontset_ref_via_base): Likewise.
7696 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7697 to downcase.
7698
7f987ac0
EZ
76992000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7700
7701 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7702 correct order of priority. If help echo was found in an overlay,
7703 use that overlay as the object in which the help echo was found.
7704
e2db3069
MB
77052000-07-22 Miles Bader <miles@gnu.org>
7706
7707 * textprop.c (Fprevious_single_char_property_change): The initial
7708 property value should be from the position preceding POSITION, not
7709 following it.
7710
5e3203e4
EZ
77112000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7712
7713 * coding.c (syms_of_coding): Doc fix for
7714 inhibit-iso-escape-detection.
7715
62145073
GM
77162000-07-21 Gerd Moellmann <gerd@gnu.org>
7717
c20aeb83
GM
7718 * xterm.c (note_mouse_highlight): Process overlays in the right
7719 order of priority.
34a7a267 7720
743934db
GM
7721 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7722
7723 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7724 overlay, use that overlay as the object in which the help was found.
743934db 7725
d1dc7e43 7726 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7727
62145073
GM
7728 * window.c (foreach_window): Instead of a fake variable argument
7729 list, take one USER_DATA argument.
7730 (foreach_window_1): Likewise, and call callback functions with two
7731 args, the window and USER_DATA.
7732 (struct check_window_data): New struct.
7733 (check_window_containing): Use it.
7734 (window_from_coordinates): Set up a struct check_window_data for
7735 foreach_window.
7736 (add_window_to_list, freeze_window_start): Change parameters
7737 according to new calling convention.
7738
7739 * window.h (foreach_window): Change prototype.
7740
7741 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7742
77432000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7744
7745 * xmenu.c (menu_help_callback): Call show_help_echo with
7746 additional arguments OBJECT and POS.
7747
11270583
KH
77482000-07-21 Kenichi Handa <handa@etl.go.jp>
7749
07b14857
KH
7750 * data.c (Faset): Allow storing any multibyte character in a
7751 string. Convert unibyte string to multibyte if necessary.
7752
11270583
KH
7753 * xfns.c (x_encode_text): New function.
7754 (x_set_name): Use x_encode_text.
7755 (x_set_title): Likewise.
7756
7757 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7758
7759 * xterm.h (x_encode_text): Add prototype.
7760
bc75b4fd
DL
77612000-07-20 Dave Love <fx@gnu.org>
7762
7763 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7764 xfree, not free.
7765
48c14970
EZ
77662000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7767
7768 * msdos.c (help_echo_window): New variable.
7769 (syms_of_msdos): Initialize and staticpro it.
7770 (IT_note_mode_line_highlight): Set help_echo_window.
7771 (IT_note_mouse_highlight): Ditto.
7772 (dos_rawgetc): Store help_echo_window in the second event produced
7773 for HELP_EVENTs.
7774
7775 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7776 Record the object that generated the help echo and the position of
7777 that object in help_echo_object and help_echo_pos. Record that
7778 some glyphs in a row are displayed in mouse-face.
7779 (IT_update_begin): Don't clear mouse highlight unless one of the
7780 enabled glyph rows is marked as being displayed in mouse-face.
7781 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7782 and position recorded in help_echo_object and help_echo_pos to the
7783 event queue.
7784 (IT_menu_display): Accept a new argument PN: the pane number of
7785 the current menu pane. Record the pane number and the item
7786 number of the item which has associated help string.
7787 (XMenuActivate): Update the prototype for help_callback in
7788 function declaration. Call IT_menu_display with the current menu
7789 pane number as an additional argument. Call help_callback with
7790 two additional arguments: the pane number and the item number of
7791 the menu item associated with the help text.
7792 (help_echo_object, help_echo_pos): New variables.
7793 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7794
7795 * msdos.h (XMenuActivate): Update prototype.
7796
4279296d
GM
77972000-07-19 Gerd Moellmann <gerd@gnu.org>
7798
47db06aa
GM
7799 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7800 Add some more prototypes.
7801
7802 * xterm.c, xterm.h: Add some more prototypes.
7803
7804 * lisp.h (Fnext_single_char_property_change): Add prototype.
7805
7806 * dispnew.c (direct_output_for_insert): Remove confusing
7807 outer local variable mouse_face_overwritten_p.
7808 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7809
4279296d
GM
7810 * alloc.c (allocate_string_data): Don't copy old string contents.
7811
670acd62
KH
78122000-07-19 Kenichi Handa <handa@etl.go.jp>
7813
7814 * coding.c (code_convert_region): Delete text properties before
7815 shrinking the conversion region.
7816
7cea38bc
GM
78172000-07-18 Gerd Moellmann <gerd@gnu.org>
7818
dc1cac59
GM
7819 * dispnew.c (update_text_area): Write the whole row if it
7820 has mouse-face in it.
7821
85a8aca9
GM
7822 * xfaces.c (face-alternative-font-family-alist): Remove
7823 DEFVAR_LISP; staticpro instead.
7824
34a7a267 7825 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7826 new arguments.
7827
7828 * keyboard.c (show_help_echo): Add parameter WINDOW.
7829 (read_char): Call show_help_echo with window extracted from Lisp
7830 help event.
7831 (gen_help_event): Add parameter WINDOW.
7832
7833 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7834
7835 * xterm.c (help_echo_window): New variable.
52283633 7836 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7837 (XTread_socket): Pass help_echo_window to gen_help_event.
7838 (syms_of_xterm): Initialize and staticpro help_echo_window.
7839
f8276b77
DL
78402000-07-18 Dave Love <fx@gnu.org>
7841
52283633 7842 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7843
088831a6
GM
78442000-07-18 Gerd Moellmann <gerd@gnu.org>
7845
3d6cd763
GM
7846 * alloc.c (allocate_string_data): If string had already data
7847 assigned, copy old contents to new string data.
7848
7849 * coding.c (syms_of_coding): Fix typo in spelling of variable
7850 `inhibit-iso-escape-detection'.
7851
088831a6
GM
7852 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7853
7854 * Makefile.in: Add dependencies on dispextern.h.
7855 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7856 `free'; both can conflict with system header files.
7857
bc8a8d55
KH
78582000-07-18 Kenichi Handa <handa@etl.go.jp>
7859
7860 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7861 undefined.
7862
069f5950
DL
78632000-07-18 Dave Love <fx@gnu.org>
7864
7865 * window.c (Fwindow_list): Declare arg `window'.
7866
aa96c820
KH
78672000-07-18 Kenichi Handa <handa@etl.go.jp>
7868
7869 * coding.c (setup_coding_system): Don't override the explicitly
7870 specified designations.
7871
06be8d32
MB
78722000-07-15 Miles Bader <miles@gnu.org>
7873
7874 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7875 from `text_property_eq' and `text_property_stickiness', respectively.
7876 (find_field, Fconstrain_to_field, char_property_eq)
7877 (char_property_stickiness): Changed to call char-property functions
7878 instead of text-property-only ones.
7879
7880 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7881 `next_single_char_property_change'). Do more error checking, and
7882 cleanup limit behavior.
7883 (Fprevious_single_char_property_change): New function.
7884 (syms_of_textprop): Initialize new subrs.
7885
7886 * xdisp.c (display_prop_end, invisible_text_between_p):
7887 Call Fnext_single_char_property_change instead of
7888 next_single_char_property_change.
7889
3fddcdc3
JR
78902000-07-15 Jason Rumney <jasonr@gnu.org>
7891
7892 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7893 after menu is finished with.
7894 (add_menu_item): Only consider wv->title as a menu title.
7895 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7896
7897 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7898 null title.
7899 (FONT_REGEXP): Remove unused macro, and its sub-components.
7900 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7901
7902 * w32term.c (help_echo_object, help_echo_pos): New variables.
7903 (note_mode_line_highlight): Store additional information about the
7904 help-echo in help_echo_object and help_echo_pos. Check both
7905 `local-map' and `keymap' properties for changing the cursor
7906 (note_mouse_highlight): Store additional information about the
7907 help-echo in help_echo_object and help_echo_pos.
7908 (note_tool_bar_highlight): Set help_echo_object to nil and
7909 help_echo_pos to -1.
7910 (w32_read_socket): Use gen_help_event instead of filling
7911 input_events manually.
7912 (syms_of_w32term): Staticpro help_echo_object.
7913 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7914 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7915 (x_clear_mouse_face): New function.
7916 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7917 (x_update_window_begin): No need to turn off the mouse
7918 highlight here.
7919 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7920 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7921 (x_fill_stretch_glyph_string): Consume runs of stretch
7922 glyphs instead of a single one.
7923 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7924 with new argument list.
7925 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7926 (x_append_glyph, x_append_composite_glyph)
7927 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7928 changes in struct glyph starting 1999-12-27. See comments for
7929 xterm.c on 2000-07-05.
7930
178c5d9c
SS
79312000-07-14 Sam Steingold <sds@gnu.org>
7932
7933 * xfaces.c (realize_x_face): Fix the last patch:
7934 check `default_face' before dereferencing.
7935
6fe533f6
DL
79362000-07-14 Dave Love <fx@gnu.org>
7937
069f5950 7938 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7939
dd7b81cf
KH
79402000-07-14 Kenichi Handa <handa@etl.go.jp>
7941
0693904a 7942 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7943 default_face's fontset, not using the default fontset.
0693904a 7944
dd7b81cf
KH
7945 * coding.c (inhibit_iso_escape_detection): New variable.
7946 (syms_of_coding): Make it a Lisp variable.
7947 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7948 nonzero, ignore ISO2022's escape sequence.
7949
d5aa31d8
GM
79502000-07-14 Gerd Moellmann <gerd@gnu.org>
7951
e5acf0ca
GM
7952 * alloca.c (malloc) [emacs]: Define as xmalloc.
7953
bd23a692
GM
7954 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7955 use that instead of the mouse position. Add parameters DX and DY.
7956
7957 * dispextern.h (Fx_show_tip): Adjust number of parameters
7958 in prototype.
7959
9662da0b
GM
7960 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7961 if HELP is a function, call it with OBJECT and POS as parameters
7962 to get the help to display.
7963 (gen_help_event, kbd_buffer_store_help_event): New functions.
7964 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7965 (read_char): Call show_help_echo with new parameters.
7966
178c5d9c 7967 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7968 Add prototypes.
7969
7970 * xterm.c (help_echo_object, help_echo_pos): New variables.
7971 (note_mode_line_highlight): Store additional information about the
7972 help-echo in help_echo_object and help_echo_pos. Check both
7973 `local-map' and `keymap' properties for changing the cursor
7974 (note_mouse_highlight): Store additional information about the
7975 help-echo in help_echo_object and help_echo_pos.
7976 (note_tool_bar_highlight): Set help_echo_object to nil and
7977 help_echo_pos to -1.
7978 (XTread_socket): Use gen_help_event instead of filling
7979 input_events manually.
7980 (syms_of_xterm): Staticpro help_echo_object.
7981
7982 * xmenu.c (menu_highlight_callback): Use
7983 kbd_buffer_store_help_event instead of setting up and input_event
7984 structure manually.
7985
7986 * xdisp.c (eval_form): GCPRO argument sexpr.
7987 (call_function): New function.
7988 (handle_single_display_prop): Use call_function and FUNCTIONP
7989 instead of checking whether if font_height is a symbol and
7990 using eval_form.
7991
7992 * eval.c (internal_condition_case_2): New function.
7993
7994 * lisp.h (FUNCTIONP): New macro.
7995 (internal_condition_case_2, call_function): Add prototypes.
7996
d5aa31d8
GM
7997 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7998 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7999 Always set `arg' member of input_events.
8000 (construct_menu_click): Unused function removed.
8001
8002 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8003
8004 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8005 (construct_drag_n_drop, x_scroll_bar_handle_click)
8006 (w32_read_socket): Always set `arg' member of input_events.
8007
8008 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8009
8010 * lisp.h (eval_form): Add prototype.
8011
8012 * xdisp.c (eval_form): Make it externally visible.
8013
0f1a9b23
GM
80142000-07-13 Gerd Moellmann <gerd@gnu.org>
8015
8016 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8017 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8018 consing. For prefix events, store the frame in the `arg' slot of
8019 the event, otherwise store the key there.
8020 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8021 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8022
8023 * xmenu.c (menu_highlight_callback): Store help string in the
8024 `arg' member of the input event; don't cons.
8025 (menubar_selection_callback): Use the `arg' slot of input events
8026 to queue additional information, instead of consing.
8027
8028 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8029
8030 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8031 TOOL_BAR_EVENTs.
8032 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8033
8034 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8035 input events to queue additional information, instead of consing.
8036
8037 * keyboard.c (kbd_buffer_gcpro): Renamed from
8038 kbd_buffer_frame_or_window. Now used for all Lisp objects
8039 referenced from the input queue.
8040 (kbd_buffer_store_event): Always use structure assignment for
8041 copying input events. Record all Lisp objects referenced from
8042 events in kbd_buffer_gcpro.
8043 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8044 differently from input events. Test for prefix menu_bar_events
8045 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8046 event in kbd_buffer_gcpro to nil.
8047 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8048 frame_or_window is equal to its arg member as prefix events.
8049 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8050 used by an input event to nil.
8051 (init_keyboard): Use two times the size of the input queue
8052 for kbd_buffer_gcpro.
8053 (syms_of_keyboard): Likewise.
8054
52283633
SM
8055 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8056 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8057
8058 * termhooks.h (struct input_event): Add member `arg'.
8059 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8060 (USER_SIGNAL_EVENT): Renamed from user_signal.
8061
8062 * xfaces.c (ASET): Remove definition.
8063
8064 * lisp.h (AREF, ASET, ASIZE): New macros.
8065
8066 * fontset.c (AREF, ASIZE): Remove definitions.
8067
8068 * fns.c (AREF): Remove definition.
178c5d9c 8069
0f1a9b23
GM
8070 * composite.c (AREF): Remove definition.
8071
712eaef2
GM
80722000-07-12 Gerd Moellmann <gerd@gnu.org>
8073
d8ee7803
GM
8074 * dispnew.c (redraw_overlapped_rows): Add missing local.
8075 (scrolling_window): Remove debug code.
8076
712eaef2
GM
8077 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8078 Before scrolling, turn off a mouse-highlight in the window
8079 being scrolled.
8080
8081 * xterm.c (x_update_window_end): Add parameter
8082 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8083 redisplay in XTframe_up_to_date.
8084 (x_clear_mouse_face): New function.
8085 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8086
8087 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8088 current glyph row.
8089 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8090 it when any row is written to that contains glyphs highlighted in
8091 mouse-face.
8092 (update_window): Call the window update end hook with new
8093 parameter MOUSE_FACE_OVERWRITTEN_P.
8094 (direct_output_for_insert): Give up if row contains mouse-face.
8095
8096 * dispextern.h (struct redisplay_interface): Add parameter
8097 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8098 (clear_mouse_face): New function pointer member.
8099
02010917
SM
81002000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8101
8102 * syntax.c (back_comment): Use one switch rather than a few `if's.
8103 Obey open_paren_in_column_0_is_defun_start.
8104 When reverting to the `slow' method, try to nicely handle the case
8105 of nested comments by checking that the comment-starter we found
8106 does indeed match the comment-ender.
8107 (scan_sexps_forward, scan_sexps_forward):
8108 Ignore excessive opening parenthesis rather than throwing an error.
8109
d76c03ea
GM
81102000-07-11 Gerd Moellmann <gerd@gnu.org>
8111
8112 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8113 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8114
8115 * dispnew.c (direct_output_forward_char): Give up if currently
8116 displaying a message instead of the minibuffer contents.
8117
8118 * xterm.c (x_update_window_begin): No need to turn off the mouse
8119 highlight here.
8120 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8121 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8122
8123 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8124 compare the mouse_face_p flags of both rows.
8125
8126 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8127
d55ead18
EZ
81282000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8129
8130 * keyboard.c (show_help_echo): Accept additional parameter
8131 ok_to_overwrite_keystroke_echo.
8132 (read_char): Call show_help_echo with a zero
8133 ok_to_overwrite_keystroke_echo argument.
52283633 8134 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8135 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8136 ok_to_overwrite_keystroke_echo argument.
8137 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8138 non-zero ok_to_overwrite_keystroke_echo argument.
8139
df75b1a3
GM
81402000-07-10 Gerd Moellmann <gerd@gnu.org>
8141
4b92c49a
GM
8142 * xdisp.c (try_window_id): If changes are all below what is
8143 displayed in the window, and point is in the window, we still
8144 might have to find point on the display.
8145
8146 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8147 glyphs instead of a single one.
8148 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8149 with new argument list.
8150 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8151
df75b1a3
GM
8152 * keymap.c (get_keymap_1): Add comment that this function can GC.
8153 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8154 comment that functions can GC.
8155 (Fset_keymap_parent): GCPRO arg KEYMAP.
8156
4314cf3e
EZ
81572000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8158
8159 * msdos.c (XMenuActivate): After exiting the menu, restore the
8160 echo area message and erase it.
8161
ab49ce15
KH
81622000-07-10 Kenichi Handa <handa@etl.go.jp>
8163
8164 * fontset.c (Ffontset_info): Make the return value more compatible
8165 with that of Emacs 20.
8166
090a072f
GM
81672000-07-07 Gerd Moellmann <gerd@gnu.org>
8168
8169 * eval.c (Fsignal): Handle case that backtrace_list is null.
8170
f92de4a6
KH
81712000-07-07 Kenichi Handa <handa@etl.go.jp>
8172
8173 * ccl.c (Fccl_execute): Typo fixed.
8174
dd8888a1
GM
81752000-07-06 Gerd Moellmann <gerd@gnu.org>
8176
e5c81191 8177 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8178
dd8888a1
GM
8179 * window.c (Fwindow_list): Reverse list at the end.
8180 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8181 means allow windows on OWINDOW's frame, only.
8182 (window_loop): Simplified; use Fwindow_list.
8183
8184 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8185
485266d0
GM
81862000-07-05 Gerd Moellmann <gerd@gnu.org>
8187
8188 * xterm.c (XTread_socket): Increment handling_signal at the start,
8189 decrement it at the end.
8190
8191 * eval.c (handling_signal): New variable.
8192 (Fsignal): Abort if handling_signal is non-zero.
8193
8194 * lisp.h (handling_signal): External declaration.
178c5d9c 8195
485266d0
GM
8196 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8197
80fcd514
KR
81982000-07-05 Ken Raeburn <raeburn@gnu.org>
8199
8200 Sound support for NetBSD through "Linux emulation" support:
8201 * config.in (HAVE_SOUNDCARD_H): Undef.
8202 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8203 * Makefile.in (LIBSOUND): New variable.
8204 (LIBES): Include it.
52283633
SM
8205 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8206 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8207 (vox_open): Use DEFAULT_SOUND_DEVICE.
8208 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8209
d5c5cddd
GM
82102000-07-05 Gerd Moellmann <gerd@gnu.org>
8211
8212 * print.c (print_error_message): If Vsignaling_function is set,
8213 show it in *Messages*.
8214
8215 * lisp.h (Vsignaling_function): External declaration.
8216
8217 * eval.c (Vsignaling_function): New variable.
8218 (Fsignal): Compute it.
8219 (syms_of_eval): Staticpro it.
8220
65171e3a
DL
82212000-07-05 Dave Love <fx@gnu.org>
8222
8223 * syswait.h: Use the autoconf recommended approach. Old code
8224 #if'd out in case we need to revert.
8225
178c5d9c 8226 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8227
e2c46326
AI
82282000-07-05 Andrew Innes <andrewi@gnu.org>
8229
8230 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8231 when non-NULL instead of __morecore, to take account of buffer
8232 memory. This also solves a problem with spurious memory warnings
8233 on Windows.
8234
8235 * ralloc.c: Make real_morecore non-static.
8236
8237 * eval.c (internal_condition_case): Comment out abort if
8238 interrupt_input_blocked is not zero.
8239
8240 * makefile.nt: Add support for `bootstrap' and related targets.
8241 Include minimal debug info in emacs.exe in release build.
8242 Remove all dependencies on lisp.h, and fixup some others.
8243
8244 * w32.c (init_environment): Install code from 20.7 for providing
8245 default values for environment variables, based on the
8246 executable's own location.
52283633 8247 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8248 (sys_socket): Install socket inheritance bug fix from 20.7.
8249
8250 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8251 here via blockinput.h).
8252
a027a91b
SM
82532000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8254
e4b31601
SM
8255 * w32menu.c (w32_menu_display_help):
8256 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8257
8258 * keyboard.h (show_help_echo): Declare.
8259
8260 * keyboard.c (show_help_echo): New function, extracted from read_char.
8261 Feval its `msg' argument if it's a cons cell.
8262 (read_char): Use it.
4cf8d9d5 8263 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8264
178c5d9c 8265 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8266 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8267 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8268 (dos_rawgetc):
8269 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8270 (note_tool_bar_highlight, w32_read_socket):
8271 Do not gratuitously ignore non-string `help-echo' properties.
8272
88d75730
GM
82732000-07-05 Gerd Moellmann <gerd@gnu.org>
8274
969f7e79
GM
8275 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8276
71201b00
GM
8277 * window.c (delete_all_subwindows): Reset Vwindow_list.
8278
88d75730
GM
8279 * xterm.c (x_append_glyph, x_append_composite_glyph)
8280 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8281 changes in struct glyph starting 1999-12-27. Some bit-fields of
8282 struct glyph were not set, which made glyphs unequal when compared
8283 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8284 effects were the result. This also depended on the contents of
8285 memory returned by xmalloc. If flickering happens again, activate
8286 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8287 gone with that, chances are that it is caused by something similar.
88d75730
GM
8288
8289 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8290
88d75730
GM
8291 * dispextern.h: Add some comments.
8292
8293 * window.c (add_window_to_list): Add parameter LIST.
8294 (window_list): Order list so that, for each frame, windows are
8295 in canonical order, and so that frames appear in the list in
8296 the order given by Vframe_list.
8297 (next_window): Reverse the handling of NEXT_P.
8298
53654733
GM
82992000-07-04 Gerd Moellmann <gerd@gnu.org>
8300
87efd256
GM
8301 * window.c (Vwindow_list): New variable.
8302 (make_window, delete_window): Set Vwindow_list to nil.
8303 (check_window_containing): New function.
8304 (window_from_coordinates): Rewritten.
8305 (add_window_to_list, window_list, candidate_window_p)
8306 (decode_next_window_args, next_window): New functions.
52283633 8307 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8308 (Fwindow_list): New function.
8309 (Fother_window): Cleaned up.
8310 (foreach_window): Add a longer "variable argument list". Let
8311 callback function return 0 to indicate that cycling over windows
8312 should stop.
8313 (foreach_window_1): Likewise.
8314 (freeze_window_start): Return int.
8315 (init_window): New function.
8316 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8317
8318 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8319 input_event with bzero.
8320 (main): Call init_window.
8321
53654733
GM
8322 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8323 a menu filter.
8324
4a8c194f
KH
83252000-07-04 Kenichi Handa <handa@etl.go.jp>
8326
8327 * composite.h (make_composition_value_copy): Extern it.
8328
8329 * composite.c (make_composition_value_copy): New function.
8330
8331 * editfns.c (Fformat): While copying text properties, make each
8332 composition property value a copy.
8333
8334 * fns.c (concat): While copying text properties, make each
8335 composition property value a copy.
8336
831a6cb0
GM
83372000-07-03 Gerd Moellmann <gerd@gnu.org>
8338
2f516940
GM
8339 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8340
178c5d9c 8341 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8342 marked already.
8343
831a6cb0
GM
8344 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8345 include those frames as candidates which have their focus
8346 redirected to the minibuffer frame.
8347
d9c4f922
SM
83482000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8349
8350 * fns.c (Fputhash): Return `value' rather than nil.
8351
3780bc22
GM
83522000-06-30 Gerd Moellmann <gerd@gnu.org>
8353
97d176db
GM
8354 * frame.c (next_frame): Don't check focus redirection in case
8355 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8356 unless their focus is redirected, which contradicts the
8357 specification of next-frame, and leads to infinite loops in
8358 certain situations when cycling through windows with next-window.
8359
dca9961d
KH
83602000-06-30 Kenichi Handa <handa@etl.go.jp>
8361
8362 * coding.c (code_convert_region): Even if the length of text is
8363 zero, try to convert it if coding->type is coding_type_ccl.
8364 (decode_coding_string, encode_coding_string): Likewise.
8365
d5483ab1
GM
83662000-06-28 Gerd Moellmann <gerd@gnu.org>
8367
af5c25e1 8368 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8369 the display if windows_or_buffers_changed.
af5c25e1
GM
8370
8371 * dispnew.c (struct row_entry): New structure.
8372 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8373 (row_table_size, old_lines, new_lines, old_lines_size)
8374 (new_lines_size, run_pool, runs_size, runs): New variables.
8375 (add_row_entry): New function.
8376 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8377 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8378 holding them in local variables. Use a larger hash table whose
8379 size depends on glyph matrix sizes. Don't use bzero to clear the
8380 hash table; instead, clear used slots only.
8381
8382 * fns.c (next_almost_prime): Make it externally visible.
8383
8384 * lisp.h (next_almost_prime): Add prototype.
8385
d5483ab1
GM
8386 * s/isc4-0.h (sigunblock): Define.
8387
8388 * s/sco5.h (sigunblock): Define.
8389
93e40f40
DL
83902000-06-27 Dave Love <fx@gnu.org>
8391
8392 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8393 (moved to osf5-0.h).
8394 [!NOT_C_CODE]: Protect string.h stuff.
8395
8396 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8397 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8398
3c4b7685
GM
83992000-06-27 Gerd Moellmann <gerd@gnu.org>
8400
97d176db 8401 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8402 below the last line from the needed window height.
8403
32cad0aa
SM
84042000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8405
8406 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8407 (Fwidget_get): Use it.
8408 (syms_of_fns): Defsubr it.
8409
2c69ced2
GM
84102000-06-26 Gerd Moellmann <gerd@gnu.org>
8411
178c5d9c 8412 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8413 display info for XIM.
8414 (xim_open_dpy): Likewise.
8415 (xim_close_dpy): Don't free the display info's XIM.
8416
8417 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8418
8419 * config.in (USE_XIM): New define.
8420
3fc720e4
GM
8421 * keymap.c (get_keyelt): For menu-items containing a `:filter
8422 FILTER', apply FILTER to the menu-item's definition to get the
8423 real definition to use.
8424
8425 * lisp.h (QCfilter): External declaration.
8426
2c69ced2
GM
8427 * xfns.c (Fimage_size): New function.
8428 (syms_of_xfns): Defsubr it.
8429
f978b2a2
AS
84302000-06-26 Andreas Schwab <schwab@suse.de>
8431
8432 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8433 Fstring_as_unibyte.
8434
94cc7892
DL
84352000-06-25 Dave Love <fx@gnu.org>
8436
52283633 8437 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8438
8439 * Makefile.in (blockinput.h): Depend on atimer.h.
8440 (atimer.h): Depend on systime.h.
8441
52283633 8442 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8443
52283633 8444 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8445
8446 * lisp.h (swap_in_global_binding): Declare.
8447
b8c24556
KR
84482000-06-24 Ken Raeburn <raeburn@gnu.org>
8449
8450 * process.c (Fopen_network_stream): Turn off atimers for duration
8451 of call to connect. (Patch from Gerd.)
8452
8cf8560b
DL
84532000-06-23 Dave Love <fx@gnu.org>
8454
511c7541
DL
8455 * ralloc.c: Maybe include unistd.h
8456
8cf8560b
DL
8457 * emacs.c (setgrp): Undefine before defining.
8458 (malloc_warning, set_time_zone_rule, index): Prototype.
8459
8460 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8461 HAVE_STRUCT_TIMEZONE.
8462
8463 * s/osf1.h: Move string.h hack here from alpha.h and make it
8464 conditional.
8465 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8466 _XOPEN_SOURCE.
8467 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8468 (SOCKLEN_TYPE): Don't define.
8469
8470 * m/alpha.h: Remove string.h hack.
8471
8472 * s/osf5-0.h: New file.
8473
8474 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8475 include time.h, done by systime.h.
8476 [__FreeBSD__]: Remove redundant includes.
8477
3fc720e4 8478 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8479 (delete_temp_file): Return Qnil to avoid warning.
8480
8481 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8482
8483 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8484 HAVE_X_WINDOWS.
8485
8486 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8487
8488 * composite.h (compose_text): Declare.
8489
8490 * xterm.c: Don't include sys/types.h unconditionally. Don't
8491 protect its inclusion with !USG (following xmenu.c).
8492
ea055732
GM
84932000-06-23 Gerd Moellmann <gerd@gnu.org>
8494
8495 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8496 in x_create_frame.
8497
74b01b80
EZ
84982000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8499
8500 * coding.c (decode_eol_post_ccl): Special handling for undecided
8501 and inconsistent EOL types.
8502
64f3a166
GM
85032000-06-22 Gerd Moellmann <gerd@gnu.org>
8504
16cf31f7
GM
8505 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8506 trough color and main window's background color.
8507
52283633 8508 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8509
8510 * xterm.h (Xt_app_con): External declaration.
8511
8512 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8513
486a103d
GM
8514 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8515
64f3a166
GM
8516 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8517 (handle_invisible_prop): Record the start of invisible text in
8518 it->add_overlay_start.
8519 (struct overlay_entry): Add member `overlay'.
8520 (handle_overlay_change): Simplify.
8521 (next_overlay_string): After having processed overlay strings at the
8522 end of the buffer, record that fact in
8523 it->overlay_strings_at_end_processed_p.
8524 (compare_overlay_entries): If before- and after-strings come
8525 from the same overlay, let before-strings come first.
8526 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8527 (load_overlay_strings): Take it->add_overlay_start into account
8528 when adding overlay strings.
8529
8530 * dispextern.h (struct it): Add member add_overlay_start.
8531
bb746ea6
DL
85322000-06-22 Dave Love <fx@gnu.org>
8533
8534 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8535
8536 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8537
a8f573f3
KH
85382000-06-22 Kenichi Handa <handa@etl.go.jp>
8539
8540 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8541 is greater than 0.
8542
9f2bbc92
DL
85432000-06-21 Dave Love <fx@gnu.org>
8544
178c5d9c 8545 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8546
3ee5041c
SM
85472000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8548
8549 * syntax.c (back_comment): Simplify string-parity counting (with
8550 the added benefit of handling multiple string-styles as long as
8551 they are not intertwined).
8552 Jump to the slow code as soon as a comment starter is found in
8553 a "string_lossage" position. Fixes the case: " /* " /* " */.
8554
4c343001
DL
85552000-06-21 Dave Love <fx@gnu.org>
8556
8557 * Makefile.in: Use GETLOADAVG_LIBS.
8558
8559 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8560 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8561
e6365855
SM
85622000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8563
8564 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8565 (Fforward_comment, scan_lists):
8566 Check the comstyle of single-char comment-starters.
8567 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8568 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8569 Check the comstyle of single-char comment-starters.
8570 Clarify control-flow around the Scomment case.
e6365855 8571
5700d2cc
DL
85722000-06-20 Dave Love <fx@gnu.org>
8573
d355bd8a
SM
8574 * fns.c (make_hash_table, maybe_resize_hash_table):
8575 Cast arg of next_almost_prime.
5700d2cc 8576
178c5d9c 8577 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8578
8579 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8580 and unistd.h.
8581
4a27bdfb
GM
85822000-06-20 Gerd Moellmann <gerd@gnu.org>
8583
a61d762c 8584 * keyboard.c (adjust_point_for_property): Check if display
52283633 8585 property should be treated as intangible by looking at its value.
a61d762c 8586
178c5d9c 8587 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8588 (display_prop_intangible_p): New functions.
8589
8590 * dispextern.h (display_prop_intangible_p): Add prototype.
8591
8592 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8593
4a27bdfb
GM
8594 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8595 argument to sigprocmask.
8596
8597 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8598 argument to sigprocmask.
8599
8600 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8601 sigprocmask_set, and pass a pointer to it to sigprocmask.
8602
8603 * sysdep.c (sigprocmask_set): New variable.
8604
8605 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8606 report_file_error.
8607
427ec082
SS
86082000-06-20 Sam Steingold <sds@gnu.org>
8609
8610 * xrdb.c: Don't declare xmalloc, xrealloc.
8611
8972fe79 86122000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8613
8614 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8615 (re_comp): Cast gettext return value to avoid complaints when
8616 !HAVE_LIBINTL.
8617
074b6efe
DL
86182000-06-20 Dave Love <fx@gnu.org>
8619
52283633 8620 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8621
5700d2cc 8622 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8623
d355bd8a 8624 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8625
8626 * m/alpha.h: Don't declare xmalloc, xrealloc.
8627
0af4f205
DL
8628 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8629
8630 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8631
8632 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8633
8634 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8635 HAVE_GETWD.
8636
074b6efe
DL
8637 * keyboard.h (poll_for_input_1): Declare.
8638
8639 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8640
8641 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8642
8643 * doprnt.c: Don't declare xmalloc, xrealloc.
8644
8645 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8646 (getenv, ctime, getwd): Removed.
8647 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8648
8649 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8650 x_set_tool_bar_lines.
8651
8652 * config.in: Add HAVE_GETWD. Move some definitions above
8653 machine/system includes.
8654
68a5e97b
KH
86552000-06-20 Kenichi Handa <handa@etl.go.jp>
8656
95417e1e
KH
8657 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8658
68a5e97b
KH
8659 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8660 contain information about ENCODING.
8661
8662 * fontset.c (FONTSET_ASCII): Use the first element of char table
8663 for an ASCII font, not defalt slot.
8664 (fontset_ref_via_base): If FONTSET doesn't contain information for
8665 C, try the default fontset.
8666 (make_fontset): Don't copy the default fontset.
8667 (fontset_font_pattern): Likewise.
8668 (accumulate_font_info): If ELT is nil, use the corresponding
8669 element in the default fontset.
8670
3b4fa1b2
DL
86712000-06-19 Dave Love <fx@gnu.org>
8672
943e731c
DL
8673 * syntax.c (Fparse_partial_sexp): Doc fix.
8674
8675 * regex.h: Test PROTOTYPES as well as __STDC__.
8676
3b4fa1b2
DL
8677 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8678 errno, strerror. Put text after #endif in comment.
8679
52283633 8680 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8681
8682 * xterm.c (x_frame_of_widget): Likewise.
8683
cdf0357b
GM
86842000-06-19 Gerd Moellmann <gerd@gnu.org>
8685
8686 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8687 to Vfundamental_mode_abbrev_table.
8688
8689 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8690 bogus objects are marked. This slows down GC by ~80 percent, but
8691 it might be worth trying when debugging GC-related problems.
8692 This feature requires conservative stack marking to be enabled.
8693
8694 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8695 returns XLookupChars, reset `modifiers' to zero.
8696
998e9f8c
DL
86972000-06-19 Dave Love <fx@gnu.org>
8698
8699 * mktime.c: Unprotoized.
8700
18e21ce8 87012000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8702
8703 * data.c (set_internal): If variable is frame-local,
8704 store the new value immediately into the frame parameter alist.
8705
140c4ac6
KR
87062000-06-19 Ken Raeburn <raeburn@gnu.org>
8707
14358466
KR
8708 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8709 in the custom handler pointer.
8710
140c4ac6
KR
8711 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8712 value, or checks for CHAR_META can fail when Lisp_Object is a
8713 union type.
8714 * keymap.c (get_keyelt): Likewise.
8715
10d7bf84
KH
87162000-06-19 Kenichi Handa <handa@etl.go.jp>
8717
8718 * ccl.h (struct ccl_program): New member eol_type.
8719 (struct ccl_spec): New member cr_carryover.
8720
8721 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8722 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8723
8724 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8725 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8726 (decode_eol_post_ccl): New function.
8727 (decode_coding): Don't detect EOL format here for CCL based coding
8728 systems.
8729 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8730 decode_eol_post_ccl after running the CCL program.
8731 (code_convert_region): Don't detect EOL format here for CCL based
8732 coding systems.
8733 (decode_coding_string): Likewise.
8734
52e386c2
KR
87352000-06-18 Ken Raeburn <raeburn@gnu.org>
8736
8737 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8738 when treating it as an integer.
8739
8740 * coding.h (encode_coding_string): Declare.
8741
8742 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8743 it as an integer.
8744
8745 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8746 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8747 to be passed to get_local_map.
8748
8749 * sound.c (Fplay_sound): Don't call make_number on
8750 Frun_hook_with_args count argument.
8751
8752 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8753 for lisp objects in X event structure data field, when lisp
8754 objects are represented with unions.
8755 (x_scroll_bar_to_input_event): Ditto.
8756
b357b9d4
KR
87572000-06-16 Ken Raeburn <raeburn@gnu.org>
8758
8759 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8760 termination of string. Fix sense of test whether
8761 Vline_number_display_limit is an integer.
b357b9d4 8762
a871441d
GM
87632000-06-16 Gerd Moellmann <gerd@gnu.org>
8764
a9021acd
GM
8765 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8766 only if HAVE_X_WINDOWS.
8767
6344985d
GM
8768 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8769 of titles.
8770
427ec082 8771 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8772 out of bounds.
8773
228b083e
EZ
87742000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8775
8776 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8777 of its headers.
8778
c25b53a2
KH
87792000-06-15 Kenichi Handa <handa@etl.go.jp>
8780
8781 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8782 start of the while loop.
8783
a6981b11
GM
87842000-06-15 Gerd Moellmann <gerd@gnu.org>
8785
e9924e52
GM
8786 * atimer.c (alarm_signal_handler): Add forward declaration.
8787
a6981b11
GM
8788 * data.c (set_internal): Remove debug code.
8789
25fa6deb
GM
87902000-06-14 Gerd Moellmann <gerd@gnu.org>
8791
dce6b995
GM
8792 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8793
9f817ea4
GM
8794 * unexec.c (toplevel) [COFF]: Include coff.h.
8795
8796 * s/lynxos.h: New file.
8797
8798 * keymap.c (Fsingle_key_description): Enclose function key and
8799 event symbol names in angle brackets.
8800
8a4e3c0c
GM
8801 * xdisp.c (setup_echo_area_for_printing): Call
8802 message_log_maybe_newline if message_buf_print is not set.
8803
8804 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8805 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8806 function does something useful even when message_buf_print is
8807 already set.
8808
52283633
SM
8809 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8810 New variables.
25fa6deb
GM
8811 (ensure_echo_area_buffers): Initialize echo buffer's
8812 truncate lines setting to nil.
8813 (with_echo_area_buffer): Don't set the echo buffer's truncate
8814 lines setting here.
8a4e3c0c 8815 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8816 of message_truncate_lines.
8817 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8818 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8819 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8820
8821 * keyboard.c (read_char): Bind message-truncate-lines to t
8822 while displaying a help-echo.
8823
8824 * lisp.h (Qmessage_truncate_lines): External declaration.
8825
163dcff3
GM
88262000-06-13 Gerd Moellmann <gerd@gnu.org>
8827
1681ead6
GM
8828 * xdisp.c (Vline_number_display_limit): Renamed from
8829 line_number_display_limit.
8830 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8831 Extend documentation string. Initialize
8832 Vline_number_display_limit to nil meaning no limit.
8833 (decode_mode_spec): Use Vline_number_display_limit with its new
8834 meaning.
8835
163dcff3
GM
8836 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8837
18e21ce8 88382000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8839
8840 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8841
163dcff3
GM
8842 * xfns.c (x_set_frame_parameters): Comment fix.
8843
8844 * frame.c (store_frame_param): Call swap_in_global_binding if the
8845 variable's current binding was chosen based on this frame.
8846
8847 * data.c (swap_in_global_binding): New function.
8848
a704139d
EZ
88492000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8850
8851 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8852 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8853
9b6610db
EZ
88542000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8855
8856 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8857
c68833d2
JR
88582000-06-12 Jason Rumney <jasonr@gnu.org>
8859
8860 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8861
8862 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8863
8864 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8865
8866 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8867
ed1056b3
GM
88682000-06-12 Gerd Moellmann <gerd@gnu.org>
8869
8870 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8871 (syms_of_xfaces): Defsubr Sdump_colors.
8872 (x_free_colors): Don't treat b&w specially on default visual.
8873 (x_free_dpy_colors): New function.
8874 (free_face_colors): Don't check visual class; it's done
8875 in x_free_colors.
8876
8877 * xterm.c (x_frame_of_widget): New function.
8878 (x_alloc_nearest_color_for_widget): Use it.
8879 (x_copy_dpy_color): New function.
8880 (x_destroy_window): Free various colors.
8881
5050a2ef
KH
88822000-06-12 Kenichi Handa <handa@etl.go.jp>
8883
8884 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8885
8886 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8887
8888 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8889
8890 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8891
8892 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8893
fb1b041d
DL
88942000-06-11 Dave Love <fx@gnu.org>
8895
8896 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8897
ff96b5f4
EZ
88982000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8899
8900 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8901
db8eeecd
GM
89022000-06-11 Gerd Moellmann <gerd@gnu.org>
8903
ed1056b3 8904 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8905 to `XEvent *'.
8906
49b71c5f
KH
89072000-06-10 Kenichi Handa <handa@etl.go.jp>
8908
c479bd55
KH
8909 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8910 (regex_compile): Fix the code for handling the case of single byte
8911 char and multibyte char being mixed in a range within [...].
8912
ff6a65c2
KH
8913 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8914 and dst_multibyte members of coding.
8915
49b71c5f
KH
8916 * charset.c (update_charset_table): Update the table
8917 bytes_by_char_head.
8918 (init_charset_once): Initialize elements of bytes_by_char_head to
8919 1 except for leading codes for private charases.
8920
8921 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8922 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8923
9e80b57d
KR
89242000-06-09 Ken Raeburn <raeburn@gnu.org>
8925
8926 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8927 access the data it doesn't point to.
8928
f83fe4b4
GM
89292000-06-08 Gerd Moellmann <gerd@gnu.org>
8930
8931 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8932 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8933 event queue. This is necessary because Emacs otherwise won't
8934 perform a switch-frame to a new frame until some other event, for
8935 example a keystroke event, forces it to do so. This has various
8936 effects, one visible being that the cursor of a frame created with
8937 C-x 5 2 or switched to with a window manager key binding like
8938 A-TAB stays hollow because selected_window isn't on the newly
8939 focused frame until the switch-frame is performed.
8940
8941 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8942 generating a switch-frame event if necessary.
8943
8944 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8945
8946 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8947 it's an integer.
8948
0890801b
KH
89492000-06-08 Kenichi Handa <handa@etl.go.jp>
8950
52283633 8951 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8952
173cbca8
GM
89532000-06-07 Gerd Moellmann <gerd@gnu.org>
8954
3091c2a6
GM
8955 * window.c (displayed_window_lines): Take empty lines at
8956 the bottom of a window into account.
427ec082 8957
f38952fe
GM
8958 * window.c (displayed_window_lines): New function.
8959 (Fmove_to_window_line): Use displayed_window_lines to determine
8960 the number of lines to move, instead of using the window's height.
8961
8962 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8963 to stop reading, even if the form read sets point to a different
8964 value when evaluated.
8965
427ec082 8966 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8967 put the cursor.
8968
6ba6c818
KH
89692000-06-07 Kenichi Handa <handa@etl.go.jp>
8970
8971 * fileio.c (e_write): Free composition data if stored in
8972 coding->cmp_data.
8973
5f1aea9a
GM
89742000-06-06 Gerd Moellmann <gerd@gnu.org>
8975
666852af
GM
8976 * xdisp.c (display_line): Set row's and iterator's
8977 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8978 Set cursor even if row ends in the middle of a character.
8979 (dump_glyph_row): Print values of new flags.
8980 (redisplay_window) <cursor movement in unchanged window>: When
8981 point has been moved forward, and PT is at the end of the cursor
8982 row, don't place the cursor in the next row if the cursor row ends
8983 in the middle of a character or at ZV.
8984
8985 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8986 (struct glyph_row): Add starts_in_middle_of_char_p and
8987 ends_in_middle_of_char_p.
8988 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8989 ends_in_middle_of_char_p flag.
8990 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8991
d13f3e2e
GM
8992 * term.c (append_glyph): Revert change of 2000-06-06.
8993
8994 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8995 padding glyph not fitting on line as whole character not
8996 fitting on line.
8997
5f1aea9a
GM
8998 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8999 this isn't true for images with `:ascent 100'.
9000
10cda9b0
KH
90012000-06-06 Kenichi Handa <handa@etl.go.jp>
9002
ed00559d
KH
9003 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9004 as modified if it is originally unmodified.
9005
10cda9b0
KH
9006 * term.c (encode_terminal_code): Change the way to check if
9007 terminal coding does any conversion.
9008 (append_glyph): Set glyph->pixel_width correctly.
9009
9010 * xdisp.c (display_line): While checking line continuation, pay
9011 attention to a padding glyph.
9012
1969fae2
GM
90132000-06-05 Gerd Moellmann <gerd@gnu.org>
9014
9015 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9016
162ccef4
DL
90172000-06-05 Dave Love <fx@gnu.org>
9018
f19f32dd
DL
9019 * xdisp.c: Include fontset.h.
9020
9021 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9022
9023 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9024
9025 * dispnew.c: Conditionally include term.h.
9026
9027 * coding.h: Declare code_convert_string_norecord.
9028
9029 * frame.h (struct frame): Use volatile unconditionally.
9030
9031 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9032
9033 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9034
9035 * systime.h: Protect against multiple inclusion.
9036 (timezone) [USG5_4]: Define as time_t.
9037
9038 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9039 (Foptimize_char_table, make_temp_name): Declare.
9040
9041 * Makefile.in (xdisp.o): Depend on fontset.h.
9042
9043 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9044
9045 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9046 (Foptimize_char_table, make_temp_name): Declare.
9047
427ec082 9048 * s/irix4-0.h:
162ccef4
DL
9049 * s/irix5-0.h:
9050 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9051
2082fe81
DL
90522000-06-02 Dave Love <fx@gnu.org>
9053
9054 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9055
dcf671d2
GM
90562000-06-02 Gerd Moellmann <gerd@gnu.org>
9057
9058 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9059 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9060 be freed.
9061
9062 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9063 glyph, use the ASCII NUL character to determine the face.
9064
d42122a3
DL
90652000-06-02 Dave Love <fx@gnu.org>
9066
9067 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9068 (VFORK_RETURN_TYPE): Remove.
427ec082 9069
d42122a3
DL
9070 * config.in: Add NO_MATHERR.
9071
dd432f16
DL
90722000-06-01 Dave Love <fx@gnu.org>
9073
90aa4ea8
DL
9074 * cmds.c (internal_self_insert): Don't check
9075 Vbefore_change_function, Vafter_change_function.
9076
9077 * insdel.c (signal_before_change, signal_after_change): Likewise.
9078
9079 * buffer.c (Vbefore_change_function, Vafter_change_function):
9080 Variables and their initializations deleted.
9081
2330c9d4
DL
9082 * callint.c (Fcall_interactively): Doc fix.
9083
dd432f16
DL
9084 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9085
bf9e8804
DL
90862000-05-31 Dave Love <fx@gnu.org>
9087
9088 * textprop.c: Revert last change -- duplicated.
9089
3694b4ab
GM
90902000-05-31 Gerd Moellmann <gerd@gnu.org>
9091
9092 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9093 in #if 0.
9094
9095 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9096
f14156cd
JR
90972000-05-31 Jason Rumney <jasonr@gnu.org>
9098
8119aab8
JR
9099 * search.c (Fre_search_forward, Fre_search_backward)
9100 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9101
f14156cd
JR
9102 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9103
4aab9be3
JR
91042000-05-30 Jason Rumney <jasonr@gnu.org>
9105
9106 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9107 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9108
52283633 9109 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9110
9111 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9112 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9113 expand a nil default_filename.
9114
9115 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9116 pointer to glyph_to_pixel_coords, not a frame.
9117
9118 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9119 coding.h to dependencies.
9120
9121 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9122
9123 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9124 window pointer to be consistent with w32term.c and xterm.c.
9125
9126 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9127 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9128 (Qline_spacing, Qcenter): New variables.
9129 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9130 (x_set_line_spacing): New function.
52283633 9131 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9132 (x_specified_cursor_type): New function.
9133 (x_set_cursor_type): Use it.
9134 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9135 and icon strings.
9136 (validate_x_resource_name, x_get_resource_string): Measure lengths
9137 of external strings in bytes.
9138 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9139 GetTextExtentPoint32 with NULL title.
9140 (Fx_create_frame): Initialize Qline_spacing.
9141 (w32_load_system_font): Initialize font->double_byte_p.
9142 (x_to_w32_charset): Use Vw32_charset_info_alist.
9143 (Image, busy cursor, tooltip functions): Merged changes from
9144 xfns.c. Not yet functional on Windows.
9145
9146 * w32gui.h (W32FontStruct): Add double_byte_p member.
9147
9148 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9149 (emacs_button_translation): Use it.
9150 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9151 in `mask' to be set.
9152
9153 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9154 menu strings.
9155
9156 * w32term.c: Format and doc changes to bring closer to xterm.c.
9157 (w32_char_font_type): New enum.
9158 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9159 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9160 (w32_encode_char): New function.
9161 (x_encode_char): Removed.
9162 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9163 x_encode_char and w32_font_is_double_byte.
9164 (x_produce_image_glyph): Use image_ascent.
9165 (x_produce_glyphs): Use new version of w32_per_char_metric and
9166 handle NULL return value. Allow extra line spacing.
9167 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9168 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9169 w32_font_type member of glyph instead.
9170 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9171 (fast_find_position): Make sure not to consider rows not visible
9172 in the window.
9173 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9174 w32_menu_display_help with input blocked, as it can abort.
9175 (x_display_and_set_cursor): Choose cursor depending
9176 on buffer-local value of cursor_type.
9177 (x_draw_bar_cursor): Add parameter WIDTH.
9178
9179 * w32term.h (CP_DEFAULT): Define.
9180 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9181
10fc3187
GM
91822000-05-30 Gerd Moellmann <gerd@gnu.org>
9183
9184 * search.c (Fre_search_forward, Fre_search_backward)
9185 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9186
d0555360
KH
91872000-05-30 Kenichi Handa <handa@etl.go.jp>
9188
9189 * coding.c (detect_coding_iso2022): Fix code for checking
9190 CODING_CATEGORY_MASK_ISO_8_2.
9191
f1ad044f
SM
91922000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9193
9194 * regex.c (PREFETCH_NOLIMIT): New function.
9195 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9196
84ec3b4b
GM
91972000-05-29 Gerd Moellmann <gerd@gnu.org>
9198
66254a13
GM
9199 * syntax.c (find_defun_start): Move test for
9200 open_paren_in_column_0_is_defun_start outside of the loop.
9201
49e70dec
GM
9202 * xdisp.c (redisplay_window): Really switch buffers when
9203 displaying mode lines, and temporarily set selected_frame to the
9204 frame of the window that's redisplayed.
9205
84ec3b4b
GM
9206 * xfaces.c (free_realized_faces): Block/unblock input.
9207 (free_realized_multibyte_face): Ditto.
9208
869a3a14
DL
92092000-05-29 Dave Love <fx@gnu.org>
9210
9211 * textprop.c (Qkeymap): New variable.
9212 (syms_of_textprop): Intern it.
9213
9214 * keymap.c: Include intervals.h.
9215 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9216
9217 * Makefile.in (keymap.o): Depend on intervals.h.
9218
9219 * keyboard.c (menu_bar_items, tool_bar_items)
9220 (Fexecute_extended_command): Deal with `keymap' property.
9221 (read_key_sequence): Track map from `keymap' property as well as
9222 `local_map'.
9223
9224 * intervals.c (get_local_map): Extra arg to allow looking for
9225 `keymap' too.
9226
9227 * intervals.h (map_property): New enum.
9228 (get_local_map): Extra arg using it.
9229 (Qkeymap): Declare.
9230
84ec3b4b 9231 * lisp.h (get_local_map): Don't declare here.
869a3a14 9232
89d0c844
KH
92332000-05-29 Kenichi Handa <handa@etl.go.jp>
9234
9235 * Makefile.in (callproc.o): Depend on composite.h.
9236
9237 * callproc.c: Include composite.h.
9238 (Fcall_process): Handle composition correctly.
9239
9240 * coding.h (coding_allocate_composition_data): Extern it.
9241 (coding_restore_composition): Likewise.
9242
9243 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9244 yet allocated, finish decoding with result
9245 CODING_FINISH_INSUFFICIENT_CMP.
9246 (coding_allocate_composition_data): Make it non-static.
9247 (coding_restore_composition): Likewise.
9248
797a084a
EZ
92492000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9250
9251 * charset.c (syms_of_charset): Revert last change.
9252
cf872af5
EZ
92532000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9254
9255 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9256 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9257 Handa.
cf872af5 9258
5b1ae051
EZ
92592000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9260
9261 * charset.c (syms_of_charset): Set width of character sets
9262 eight-bit-control and eight-bit-graphic to 1 column.
9263
34ec9ebe
GM
92642000-05-26 Gerd Moellmann <gerd@gnu.org>
9265
9266 * config.in (HAVE_SPEED_T): New define.
9267
9268 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9269 `extern speed_t'.
9270
dd854dc2
DL
92712000-05-26 Dave Love <fx@gnu.org>
9272
9273 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9274
9275 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9276 (Fsubr_arity): New function.
9277 (syms_of_data): Install them.
9278
ba9f8f95
KH
92792000-05-26 Kenichi Handa <handa@etl.go.jp>
9280
0f3e0672
KH
9281 * charset.c (init_charset_once): Set the table bytes_by_char_head
9282 correctly.
9283
cebefb44
KH
9284 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9285 the default fontset to what Emacs uses by default.
0f3e0672
KH
9286 (check_registry_encoding): This function deleted.
9287 (Fset_fontset_font): Remove the adhoc condition for the default
9288 fontset. Allow cons in FONTNAME.
cebefb44 9289
0f3e0672
KH
9290 * fns.c (map_char_table): Ignore char-table entries for
9291 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9292
7a18af49
KR
92932000-05-25 Ken Raeburn <raeburn@gnu.org>
9294
9295 * emacs.c (main): Initialize keyboard syms before initializing
9296 window code, so face names are available.
9297
d2af47df
SM
92982000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9299
9300 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9301 of an anchor at the beginning of a shy-group.
9302
fc6a6a4e
GM
93032000-05-25 Gerd Moellmann <gerd@gnu.org>
9304
9305 * xdisp.c (handle_invisible_prop): Don't try to skip over
9306 invisible text if end of text is already reached.
9307
005f0d35
DL
93082000-05-25 Dave Love <fx@gnu.org>
9309
02513cdd
DL
9310 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9311
005f0d35
DL
9312 * coding.c (encode_eol): Add null statement after label.
9313
89f6ca4e
EZ
93142000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9315
9316 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9317 2000-05-20.
9318
a4e1759e
KH
93192000-05-25 Kenichi Handa <handa@etl.go.jp>
9320
9321 * ccl.c (ccl_driver): Fix previous change.
9322
eacfd7fe
KH
93232000-05-25 Kenichi Handa <handa@etl.go.jp>
9324
46ab33a9
KH
9325 * coding.c (run_pre_post_conversion_on_str): Set point to the
9326 beginning of buffer before calling coding->post_read_conversion.
9327 (decode_coding_string): Give correct args to
9328 run_pre_post_conversion_on_str.
9329 (encode_coding_string): Likewise.
9330
eacfd7fe
KH
9331 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9332 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9333 eight-bit-graphic correctly.
9334
f8569325
DL
93352000-05-24 Kenichi HANDA <handa@etl.go.jp>
9336
9337 * fileio.c (Finsert_file_contents): Even if a file is not found,
9338 execute codes for setting up coding system. Call
9339 after-insert-file-functions unconditionally.
9340
04545643
GM
93412000-05-24 Gerd Moellmann <gerd@gnu.org>
9342
9343 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9344 BSD_PGRPS are not defined.
9345
747d90ea
KH
93462000-05-24 Kenichi Handa <handa@etl.go.jp>
9347
9348 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9349 DESCRIPTION.
9350 (syms_of_charset): Avoid building same strings.
9351
716e3b88
GM
93522000-05-23 Gerd Moellmann <gerd@gnu.org>
9353
9354 * lread.c (Fload): Add a comment about the meaning of
9355 Vuser_init_file being t.
9356
9357 * puresize.h (BASE_PURESIZE): Increase to 675000.
9358
9359 * s/gnu-linux.h (setpgrp): Don't define it here because this
9360 prevents compilation on GNU/Linux systems with glib 2.2.
9361
9362 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9363 as setpgid.
427ec082 9364
9aeb39fa
EZ
93652000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9366
9367 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9368 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9369 version.
9370 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9371
29ced61b
KH
93722000-05-23 Kenichi Handa <handa@etl.go.jp>
9373
52283633 9374 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9375
3d80f24d
KH
9376 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9377
52283633 9378 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9379
29ced61b
KH
9380 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9381
d7e00792
KH
93822000-05-22 Kenichi Handa <handa@etl.go.jp>
9383
c9d80d38
KH
9384 * keyboard.c (read_char): Allow character codes 128..255 to be
9385 handled by input-method-function.
9386
d7e00792
KH
9387 * insdel.c (adjust_markers_for_replace): Fix previous change.
9388 (adjust_after_replace): If PREV_TEXT is nil, call
9389 adjust_markers_for_insert, not adjust_markers_for_replace.
9390
087121cc 93912000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9392
087121cc
GM
9393 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9394 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9395 [HAVE_GRANDPT]: Define.
9396 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9397
9398 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9399 like SYSV_PTYS.
9400
9401 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9402
9403 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9404
c9671f81
KH
94052000-05-20 Kenichi Handa <handa@etl.go.jp>
9406
9407 The following changes are to handle 8-bit characters in a
9408 multibyte buffer/string without facing with byte combining
9409 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9410 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9411
9412 * Makefile.in (fns.o): Depend on charset.h.
9413
9414 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9415 convert it to unibyte.
9416 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9417
9418 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9419 apparent char boundary.
9420 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9421 0x80..0x9F to/from multibyte form.
9422
9423 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9424 to unibyte.
9425
9426 * callproc.c (Fcall_process): Always encode an argument string if
9427 it is multibyte. Setup src_multibyte and dst_multibyte members of
9428 process_coding properly.
ce75fd23 9429
c9671f81
KH
9430 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9431 SPLIT_NON_ASCII_CHAR.
9432
9433 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9434 as is.
9435 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9436
52283633 9437 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9438 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9439 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9440 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9441 and eight-bit-graphic.
9442 (char_to_string): Likewise. Signal an error for too large
9443 character code.
9444 (char_printable_p): Return 0 for 8-bit characters.
9445 (update_charset_table): Update iso_charset_table only when a final
9446 character is non-negative.
9447 (find_charset_in_text): Renamed from find_charset_in_str.
9448 Arguments and return value changed. Callers changed.
9449 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9450 be -1 if CHARSET is used only internally.
9451 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9452 eight-bit-graphic.
9453 (Fcharset_after): Simplified.
9454 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9455 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9456 (multibyte_chars_in_text): Simplified by assuming there's no
9457 invalid multibyte sequence.
52283633
SM
9458 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9459 (str_as_unibyte): New functions.
9460 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9461 (init_charset_once): Initialization for
9462 LEADING_CODE_8_BIT_CONTROL.
9463 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9464 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9465 eight-bit-control and eight-bit-graphic.
9466
52283633
SM
9467 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9468 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9469 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9470 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9471 (CHARSET_REVERSE_CHARSET): Likewise.
9472 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9473 eight-bit-graphic.
9474 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9475 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9476 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9477 encounter an invalid multibyte sequence.
9478 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9479 sequence is always valid.
9480 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9481 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9482 (CHAR_STRING): For 8-bit characters, call char_to_string.
9483 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9484 multibyte sequence is always valid.
9485 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9486 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9487 (str_as_unibyte): Extern them.
c9671f81 9488 (BCOPY_SHORT): Fix a bug.
52283633 9489 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9490 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9491 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9492 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9493
bd4bde7f 9494 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9495 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9496 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9497 (EMIT_BYTES): New macros.
9498 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9499 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9500 macros deleted.
9501 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9502 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9503 check the validity of multibyte sequence.
9504 (decode_coding_emacs_mule): New function.
9505 (encode_coding_emacs_mule): New macro.
9506 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9507 the source.
9508 (DECODE_ISO_CHARACTER): Just return a character code.
9509 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9510 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9511 EMIT_CHAR to produced decoded characters. Exit the loop only by
9512 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9513 block here.
9514 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9515 only position codes for an invalid character.
9516 (encode_designation_at_bol): Return new destination pointer. 5th
9517 arg DSTP is changed to DST.
9518 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9519 from the source by ONE_MORE_CHAR. Don't handle the case of last
9520 block here.
9521 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9522 macros deleted.
52283633
SM
9523 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9524 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9525 TWO_MORE_BYTES to fetch a byte from the source.
9526 (encode_eol): Pay attention to coding->src_multibyte.
9527 (detect_coding, detect_eol): Preserve members src_multibyte and
9528 dst_multibyte.
9529 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9530 (encoding_buffer_size): Set magnification to 3 for all coding
9531 systems that require encoding.
9532 (ccl_coding_driver): For decoding, be sure that the result is
9533 valid multibyte sequence.
9534 (decode_coding): Initialize coding->errors and coding->result.
9535 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9536 and raw-text, always call decode_eol. Handle the case of last
9537 block here. If not coding->dst_multibyte, convert the resulting
9538 sequence to unibyte.
9539 (encode_coding): Initialize coding->errors and coding->result.
9540 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9541 and raw-text, always call encode_eol. Handle the case of last
9542 block here.
9543 (shrink_decoding_region, shrink_encoding_region): Detect cases
9544 that we can't skip data more rigidly.
9545 (code_convert_region): Setup src_multibyte and dst_multibyte
9546 members of coding. For decoding, if the buffer is multibyte,
9547 convert the source sequence to unibyte in advance. For encoding,
9548 if the buffer is multibyte, convert the resulting sequence to
9549 multibyte afterward.
9550 (run_pre_post_conversion_on_str): New function.
9551 (code_convert_string): Deleted and divided into the following two.
9552 (decode_coding_string, encode_coding_string): New functions.
9553 (code_convert_string1, code_convert_string_norecord): Call one of
9554 above.
9555 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9556 MAKE_NON_ASCII_CHAR.
52283633
SM
9557 (Fset_terminal_coding_system_internal)
9558 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9559 and dst_multibyte members.
9560 (init_coding_once): Initialize iso_code_class with new enum
9561 ISO_control_0 and ISO_control_1.
9562
9563 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9564 devided into ISO_control_0 and ISO_control_1.
9565 (struct coding_system): New members src_multibyte, dst_multibyte,
9566 errors, and result. Delete member fake_multibyte.
9567 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9568 nonzero.
9569 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9570 nonzero.
9571
9572 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9573 (Faset): Likewise.
9574
9575 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9576 multibyte form.
9577 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9578 combining occurs.
9579 (Ftranspose_region): Delete codes for handling byte combining.
9580
9581 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9582 dst_multibyte members of coding. On handling REPLACE on unibyte
9583 buffer, convert the result of decode_coding to unibyte. On
9584 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9585 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9586 multibyteness of the source (buffer or string).
9587
9588 * fns.c (concat): Handle 8-bit characters correctly.
9589 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9590 unibyte in the result.
9591 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9592 valid multibyte form in the result.
9593 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9594 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9595 return -1, signal an error.
9596 (base64_encode_1): New arg MULTIBYTE. Get each character by
9597 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9598 character is found, return -1.
9599 (Fbase64_decode_region): Delete codes for handling byte-combining.
9600 Treat each decoded byte as a unibyte character.
9601 (Fbase64_decode_string): Return unibyte string.
9602 (Fcompare_strings, concat, string_byte_to_char): Use
9603 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9604 FETCH_STRING_CHAR_ADVANCE.
9605 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9606 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9607
9608 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9609 SPLIT_NON_ASCII_CHAR.
9610 (fontset_ref_via_base, fontset_set): Likewise
9611
9612 * insdel.c (adjust_markers_for_record_delete): Deleted.
9613 (adjust_markers_for_insert): Argument changed. Caller changed.
9614 (adjust_markers_for_replace): Likewise.
52283633
SM
9615 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9616 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9617 (copy_text): Delete unused local varialbe c_save. For converting
9618 to multibyte, be sure to make all 8-bit characters in valid
9619 multibyte form.
9620 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9621 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9622 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9623 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9624 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9625 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9626 handling byte combining.
9627 (adjust_before_replace): Deleted.
427ec082 9628
c9671f81
KH
9629 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9630 SPLIT_NON_ASCII_CHAR.
9631 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9632 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9633 (Fkey_description): Likewise.
9634
9635 * lread.c (read1): On reading multibyte string, be sure to make
9636 all 8-bit chararacters in valid multibyte form.
9637 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9638
9639 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9640 unconditionally.
9641
9642 * process.c (Fstart_process): GCPRO current_dir before calling
9643 Ffind_operation_coding_system. Encode arguments here.
9644 (create_process): Don't encode arguments here. Setup
9645 src_multibyte and dst_multibyte members of struct coding.
9646 (read_process_output): Setup src_multibyte and dst_multibyte
9647 members of struct coding. If the output is to multibyte buffer,
9648 always decode the output of the process. Adjust the
52283633 9649 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9650 (send_process): Setup coding->src_multibyte according to the
9651 multibyteness of the source.
9652
52283633 9653 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9654 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9655 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9656
52283633 9657 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9658
9659 * w16select.c (Fw16_set_clipboard_data): Setup members
9660 src_multibyte and dst_multibyte of coding. Adjusted for the
9661 change for find_charset_in_str.
9662 (Fw16_get_clipboard_data): Likewise.
9663
9664 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9665 dst_multibyte of coding.
9666 (x_to_w32_font): Likewise.
9667
9668 * w32select.c (Fw32_set_clipboard_data): Setup members
9669 src_multibyte and dst_multibyte of coding. Adjusted for the
9670 change for find_charset_in_str.
9671 (Fw32_get_clipboard_data): Likewise.
9672
9673 * xdisp.c (get_next_display_element): Handle 8-bit characters
9674 correctly.
52283633
SM
9675 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9676 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9677
9678 * xselect.c (selection_data_to_lisp_data): Setup members
9679 src_multibyte and dst_multibyte of coding. Adjusted for the
9680 change for find_charset_in_str.
9681 (lisp_data_to_selection_data): Likewise.
9682
5f64c9e0
GM
96832000-05-19 Gerd Moellmann <gerd@gnu.org>
9684
52283633 9685 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9686
5f64c9e0
GM
9687 * dispextern.h (Vimage_types): Add extern declaration.
9688
9689 * xdisp.c (Vimage_types): Moved here from xfns.c.
9690 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9691
9692 * xfns.c (Vimages_types): Moved to xdisp.c.
9693 (syms_of_xfns): Move `image-types' to xdisp.c.
9694
9695 * w32fns.c (Vimage_types): Removed.
9696 (syms_of_w32fns): Remove `image-types'.
9697
813086ea
KH
96982000-05-18 Kenichi Handa <handa@etl.go.jp>
9699
9700 * fns.c (map_char_table): Pay attention to character number of
9701 charset. Check the validity of charset at the first level. For
9702 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9703 the default value.
9704
9705 * fontset.c: Include "buffer.h".
9706 (fs_load_font): If the face has fontset, record the face ID in
9707 that fontset.
9708 (Finternal_char_font): New function.
9709 (accumulate_font_info): New function.
9710 (Ffontset_info): Rewritten for the new fontset implementation.
9711 (syms_of_fontset): Register Vdefault_fontset in the first element
9712 of Vfontset_table. Include Vdefault_fontset in
9713 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9714 function.
9715
bdaebbf0
DL
97162000-05-16 Dave Love <fx@gnu.org>
9717
9718 * m/iris5d.h: Deleted -- unused.
9719
cb613bb8
GM
97202000-05-16 Gerd Moellmann <gerd@gnu.org>
9721
b15f3b77
GM
9722 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9723 `invalid' instead of `illegal'.
9724
9725 * indent.c (Fmove_to_column): When ending within a tab, insert
9726 spaces first so that markers at the end of the tab get adjusted.
9727
835c1b36
GM
9728 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9729 buffer list that wasn't selected in that frame.
9730
cb613bb8
GM
9731 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9732 is needed on mescaline, use a 2 char prefix, and call
9733 make_temp_name with second arg non-zero.
9734
9735 * fileio.c (make_temp_name): New function, extracted from
9736 Fmake_temp_name.
9737 (Fmake_temp_name): Use it.
9738
f685bea9
EZ
97392000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9740
52283633 9741 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9742
a1b8d58b
GM
97432000-05-15 Gerd Moellmann <gerd@gnu.org>
9744
9745 * Makefile.in (lisp): Add env.elc.
9746
9747 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9748
a265079f
GM
97492000-05-12 Gerd Moellmann <gerd@gnu.org>
9750
9751 * search.c (Freplace_match): Handle case of `\N' in the
9752 replacement when there's no group N.
9753
da4496b6
GM
97542000-05-11 Gerd Moellmann <gerd@gnu.org>
9755
0ace421a
GM
9756 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9757 of the message to message_dolog.
9758
1172eb8d
GM
9759 * keyboard.c (read_char): Don't clear current message for help
9760 events; let the code handling help events handle this. Change
9761 code detecting help events that should be ignored.
9762
da4496b6
GM
9763 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9764 we're interating over a string.
9765
0623e40f
DL
97662000-05-09 Dave Love <fx@gnu.org>
9767
9768 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9769 that offset before writing. Move gcpro region past call of
9770 Ffile_regular_p.
9771
bae2503b
DL
97722000-05-04 Dave Love <fx@gnu.org>
9773
9774 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9775
ec82fb2f
GM
97762000-05-04 Gerd Moellmann <gerd@gnu.org>
9777
9778 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9779 of inserted characters when BUF equals the current buffer, and PT
9780 is in front of or equal to FROM.
9781
cbf18892
GM
97822000-05-03 Gerd Moellmann <gerd@gnu.org>
9783
4ff40dd0
GM
9784 * xdisp.c (handle_single_display_prop): If display property value
9785 is invalid, or something not supported on the frame, restore
9786 iterator's position to what it was initially. Make sure to return
9787 0 for invalid and unsupported property values.
9788
cbf18892
GM
9789 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9790 that x_per_char_metric returns null.
9791
1b0672c3
GM
97922000-05-02 Gerd Moellmann <gerd@gnu.org>
9793
576da55d
GM
9794 * xterm.h (struct face): Add forward declaration.
9795 (struct image): Ditto.
9796 (image_ascent): Add prototype.
9797
9798 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9799 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9800 image_ascent instead of using IMAGE_ASCENT.
9801
9802 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9803 (IMAGE_ASCENT): Removed.
9804
9805 * xfns.c (Qcenter): New variable.
9806 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9807 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9808 (image_ascent): New function.
9809 (lookup_image): Recognize `:ascent center'.
9810 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9811 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9812 (xbm_load): Don't set image's ascent here.
9813 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9814 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9815 check ascent values here.
9816 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9817 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9818 (syms_of_xfns): Initialize Qcenter.
9819
1b0672c3
GM
9820 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9821 to the limits, increase the limits.
9822
0d7811ed
KH
98232000-05-01 Kenichi Handa <handa@etl.go.jp>
9824
9825 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9826 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9827
a943a5ca
GM
98282000-04-28 Gerd Moellmann <gerd@gnu.org>
9829
9830 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9831 taller than the window.
9832
5dba1e29
KH
98332000-04-28 Kenichi Handa <handa@etl.go.jp>
9834
9835 * xfaces.c (realize_x_face): Fix the argument of the second
9836 xassert. BASE_FACE may not be a face for ASCII.
9837
353964e3
GM
98382000-04-27 Gerd Moellmann <gerd@gnu.org>
9839
c76e04a8
GM
9840 * print.c (print_object): Treat print-length < 0 as nil.
9841
9842 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9843
9844 * s/freebsd.h (TERMCAP_OBJ): Removed.
9845 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9846
9847 * lread.c (read1): Don't treat period followed by certain
9848 characters as symbol start.
9849
9850 * xfns.c (slurp_file): New function.
9851 (xbm_image_p): Handle case of in-memory XBM files.
9852 (xbm_scan): Rewritten to work on memory buffers instead of files.
9853 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9854 Work on memory buffers instead of files. If DATA is null test
9855 if buffer looks like an in-memory XBM file.
9856 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9857 memory buffers instead of files.
9858 (xbm_file_p): New function.
9859 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9860
353964e3
GM
9861 * lread.c (end_of_file_error): New function.
9862 (read1): Call it instead of signaling `end-of-file' directly.
9863
427ec082 9864 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9865 with Fprinc instead of Fprin1.
9866
24d744ac
KR
98672000-04-26 Ken Raeburn <raeburn@gnu.org>
9868
9869 * window.c (freeze_window_start): Check that minibuffer scroll
9870 window isn't nil before extracting the window structure pointer
9871 from it.
9872
9873 * undo.c (record_delete): If we hit the end of the undo list, stop
9874 picking elements apart.
9875
7464346d
GM
98762000-04-26 Gerd Moellmann <gerd@gnu.org>
9877
9878 * xdisp.c (display_line): If lines are continued, restore
9879 iterator's ascent/descent information to the values before the
9880 first glyph not fitting on the line.
9881
612839b6
GM
98822000-04-25 Gerd Moellmann <gerd@gnu.org>
9883
9884 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9885 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9886
9887 * dispnew.c (increment_matrix_positions): Renamed from
9888 increment_glyph_matrix_buffer_positions.
9889 (increment_row_positions): Renamed from
9890 increment_glyph_row_buffer_positions.
9891
9892 * dispextern.h: Change names of renamed functions from dispnew.c
9893 in prototypes.
9894
cc181e95
GM
98952000-04-24 Gerd Moellmann <gerd@gnu.org>
9896
abfcc168
GM
9897 * fileio.c (Fdo_auto_save): Create directories for auto-save
9898 list file if necessary.
9899
cc181e95
GM
9900 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9901 from buffer or frame.
9902 (automatic_hscrolling_p): New variable.
9903 (hscroll_windows): Scroll windows horizontally only if automatic
9904 hscrolling is allowed.
9905 (syms_of_xdisp): New variable `automatic-hscrolling'.
9906
9907 * frame.h (struct frame): Add member extra_line_spacing.
9908
9909 * xfns.c (x_set_line_spacing): New function.
9910 (Fx_create_frame): Set line spacing from resources.
9911 (Qline_spacing): New variable.
9912 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9913
cc181e95
GM
9914 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9915
9916 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9917 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9918 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9919 extra_line_spacing from default value.
9920 (init_buffer_once): Initialize default value of extra_line_spacing.
9921
9922 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9923 and extra3.
9924
9925 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9926 prompt_width. Add extra line spacing.
9927
9928 * term.c (produce_glyphs): Remove reference to struct it's
9929 prompt_width.
9930
9931 * dispextern.h (struct it): Remove member prompt_width, add
9932 extra_line_spacing.
9933
58827478
GM
99342000-04-22 Gerd Moellmann <gerd@gnu.org>
9935
9936 * dispnew.c (update_frame_line): When writing a whole line, make
9937 sure cursor is in the right row afterwards, otherwise a use of
9938 capability `ch' in cmgoto might leave the cursor in the row below.
9939
25a87f42
GM
99402000-04-21 Gerd Moellmann <gerd@gnu.org>
9941
9942 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9943
9944 * keyboard.c (timer_check): Fix typo in comment.
9945
54edf5c2
KH
99462000-04-21 Kenichi Handa <handa@etl.go.jp>
9947
9948 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9949 name change: ch -> character.
9950
3a64eef5
GM
99512000-04-20 Gerd Moellmann <gerd@gnu.org>
9952
9953 * keyboard.c (echo_message_buffer): New variable.
9954 (echo_now): Set echo_message_buffer to the echo area buffer used
9955 to display the echo.
9956 (cancel_echoing): Reset echo_message_buffer to nil.
9957 (read_char): Code rewritten that handles canceling an echo or
9958 echoing a dash, respectively.
9959
9960 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9961 directory doesn't exist.
9962
6142fdcb
DL
99632000-04-19 Dave Love <fx@gnu.org>
9964
9965 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9966 (concat): Don't allow numeric args.
9967 (Fconcat): Doc change.
6142fdcb 9968
ac6b5352
SM
99692000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9970
9971 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9972 instead define end_match(1|2) more carefully.
9973 Use GET_CHAR_BEFORE_2 for `begline'.
9974
cb9215e4
GM
99752000-04-19 Gerd Moellmann <gerd@gnu.org>
9976
5e3dac3f
GM
9977 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9978 on 64-bit systems where NULL is defined as `0'.
9979
9980 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9981 the `variable argument list' to make it work on Alpha.
9982
cb9215e4
GM
9983 * m/alpha.h (_LP64) [!_LP64]: Define.
9984 (ORDINARY_LINK): Define for NetBSD.
9985
9986 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9987
f532dca0
DL
99882000-04-19 Dave Love <fx@gnu.org>
9989
c750667e
DL
9990 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9991 change.
9992
9993 * Makefile.in (LIBS): Don't use.
9994 (GETLOADAVG_OBJ): Define again.
9995 (otherobj): Add GETLOADAVG_OBJ.
9996
f532dca0
DL
9997 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9998
1c7e22fd
GM
99992000-04-18 Gerd Moellmann <gerd@gnu.org>
10000
f6d3257b
GM
10001 * lread.c (read_filtered_event): Cancel and start busy cursor.
10002
427ec082 10003 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10004 that the per-character metrics may be null.
10005
e10f64e7
GM
100062000-04-17 Gerd Moellmann <gerd@gnu.org>
10007
0daee095
GM
10008 * buffer.c (clone_per_buffer_values): New function.
10009 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10010 clone_per_buffer_values if CLONE is not nil.
10011
e10f64e7
GM
10012 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10013
38687d43
DL
100142000-04-16 Dave Love <fx@gnu.org>
10015
10016 * Makefile.in: Remove obsolete localcpp stuff.
10017 (GETLOADAVG_OBJ): Don't define.
10018 (obj): Move LIBOBJS...
10019 (otherobj): ... to here.
10020 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10021 whitespace-only lines after the continuation (Irix).
10022
c21c7262
GM
100232000-04-14 Gerd Moellmann <gerd@gnu.org>
10024
10025 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10026
10027 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10028
314767c0
DL
100292000-04-14 Dave Love <fx@gnu.org>
10030
10031 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10032 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10033 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10034 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10035 NLIST_STRUCT.
10036
10037 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10038 autoconfiscated HAVE_GETLOADAVG.
10039
10040 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10041 BROKEN_MKTIME.
10042
a2522dca
GM
100432000-04-14 Gerd Moellmann <gerd@gnu.org>
10044
10045 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10046 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10047
33744b5d
DL
100482000-04-14 Dave Love <fx@gnu.org>
10049
c21c7262 10050 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10051 (INTERVAL_SRC): Convert to make variable.
10052 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10053 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10054 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10055 add LIBOBJS.
10056 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10057 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10058 (shortlisp): Add facemenu, float-sup, frame.
10059 (SOME_MACHINE_LISP): Remove them from here.
10060 (LIBES): Change unused LDLIBS to autoconf LIBS.
10061
10062 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10063
9d3d5916
KH
100642000-04-14 Kenichi Handa <handa@etl.go.jp>
10065
10066 * composite.c (update_compositions): If FROM and TO are not in a
10067 valid range, do nothing.
10068
198e3c7a
GM
100692000-04-13 Gerd Moellmann <gerd@gnu.org>
10070
52283633 10071 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10072
52283633 10073 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10074
10075 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10076 as TERMCAP_OBJ.
10077
055a28c9
EZ
100782000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10079
10080 * fileio.c (a_write): Remove redundant semi-colons.
10081 (e_write): Return -1 if failed to write all the data.
10082 This fixes the changes made at 1999-12-15.
10083
f5c75033
DL
100842000-04-12 Dave Love <fx@gnu.org>
10085
10086 * fns.c (mapcar1): Test for null vals to support mapc.
10087 (Fmapc): New function.
10088
0c3cfc51
EZ
100892000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10090
10091 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10092 (IT_frame_up_to_date): Support the buffer local value of
10093 cursor-type, if defined.
10094
33465a31
DL
100952000-04-10 Dave Love <fx@gnu.org>
10096
10097 * editfns.c (preceding-char, following-char): Doc fix.
10098
6ed56568
KR
100992000-04-10 Ken Raeburn <raeburn@gnu.org>
10100
10101 * Makefile.in (temacs): Revert 2000-03-12 change.
10102
7cf80d4e
JR
101032000-04-10 Jason Rumney <jasonr@gnu.org>
10104
10105 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10106
34f3f342
GM
101072000-04-10 Gerd Moellmann <gerd@gnu.org>
10108
1a1b1895
GM
10109 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10110 area buffer, if it's not set up yet.
10111
34f3f342
GM
10112 * indent.c (compute_motion): Set immediate_quit.
10113
be0dbdab
GM
101142000-04-09 Gerd Moellmann <gerd@gnu.org>
10115
52283633 10116 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10117 (realize_tty_face): Suppress boldness if colors are the inverse of
10118 the default colors, and tty_suppress_bold_inverse_default_colors_p
10119 is set.
10120 (Ftty_suppress_bold_inverse_default_colors): New function.
10121 (syms_of_xfaces): Defsubr it.
10122
be0dbdab
GM
10123 * buffer.c (Frestore_buffer_modified_p): New function.
10124 (syms_of_buffer): Defsubr it.
10125
e8413c3b
KR
101262000-04-08 Ken Raeburn <raeburn@gnu.org>
10127
87f67317
KR
10128 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10129 charset id (int) argument, not a charset (Lisp_Object).
10130
e8413c3b
KR
10131 * coding.h (code_convert_string): Declare.
10132 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10133 object, as the fourth argument to code_convert_string.
10134
52283633 10135 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10136 (Fset_fontset_font): Use EQ to compare lisp objects.
10137
7c752c80
KR
101382000-04-05 Ken Raeburn <raeburn@gnu.org>
10139
c0333abc
KR
10140 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10141 a pointer that looks like a lisp object.
10142 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10143 zero, instead see whether it's an integer object, since they can't
10144 have intervals.
10145 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10146
52283633
SM
10147 * dispnew.c (allocate_matrices_for_frame_redisplay)
10148 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10149 to convert between (unsigned) int values and lisp integers.
10150 * keyboard.c (read_key_sequence): Likewise.
10151 * lread.c (substitute_object_recurse): Likewise.
10152 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10153 * minibuf.c (do_completion, Fminibuffer_complete_word)
10154 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10155 * term.c (produce_special_glyphs): Likewise.
10156
10157 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10158 * print.c (print_preprocess, print_object): Likewise.
10159
10160 * search.c (compile_pattern): Use NILP when checking for nil.
10161
74e49b38
KR
10162 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10163 __OPTIMIZE__]: Provide a GNU C macro version that handles
10164 lisp-object unions.
10165 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10166 field, to better cope with ENABLE_CHECKING and calls that modify a
10167 Lisp_Object using its old value.
10168
685e5ed2
GM
101692000-04-04 Gerd Moellmann <gerd@gnu.org>
10170
c407c570
GM
10171 * window.c (compare_window_configurations): Signal an error
10172 if parameters C1 or C2 aren't window configurations.
10173
685e5ed2
GM
10174 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10175 AFTER_POTENTIAL_GC calls around calls to functions that can
10176 signal an error and thus invoke the debugger.
10177
587a49ab
GM
101782000-04-03 Gerd Moellmann <gerd@gnu.org>
10179
62f20204
GM
10180 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10181 an error if decoding fails.
10182
587a49ab
GM
10183 * keyboard.c (lispy_mouse_names): Variable removed.
10184 (Vlispy_mouse_stem): New variable.
10185 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10186 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10187 for any mouse button number. Increase size of mouse_syms and
10188 button_down_location as needed. Call modify_event_symbol with
10189 different arguments.
10190 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10191 Call modify_event_symbol with different arguments.
10192 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10193 for any button number. Call modify_event_symbol with different
10194 arguments.
10195 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10196 Accept a string for NAME_ALIST_OR_STEM.
10197
10198 * lisp.h (larger_vector): Add prototype.
10199
10200 * fns.c (larger_vector): Make externally visible.
10201
10202 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10203
2d1675e4
SM
102042000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10205
10206 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10207 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10208 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10209 we are between str1 and str2.
10210 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10211 (PATFETCH): Use `TRANSLATE'.
10212 (PATFETCH_RAW): Fetch multibyte char if applicable.
10213 (PATUNFETCH): Remove.
10214 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10215 When writing a char, write it directly into the pattern buffer rather
10216 than going needlessly through a temp char-array.
10217 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10218 multibyte magic and remove the useless `#ifdef emacs'.
10219 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10220 buffer.
10221
10222 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10223 conditional on `emacs'.
10224
10225 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10226
cc2d8c6b
KR
102272000-04-01 Ken Raeburn <raeburn@gnu.org>
10228
10229 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10230 non-union-type versions of XMARK and friends here, because XMARK
10231 and friends won't work on an integer field if NO_UNION_TYPE is not
10232 defined.
52283633 10233 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10234
52283633 10235 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10236 (syms_of_composite): Delete local var NARGS, pass an int as first
10237 argument to Fmake_hash_table.
10238
2387b382
KR
10239 * editfns.c (text_property_stickiness): Use NILP to test
10240 Lisp_Object boolean value.
10241 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10242 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10243 problems reading from and changing the same lisp value in an
10244 XSETSTRING call.
10245
27660e89
GM
102462000-04-01 Gerd Moellmann <gerd@gnu.org>
10247
10248 * term.c (TN_no_color_video): New variable.
10249 (term_init): Intitialize TN_no_color_video.
10250 (enum no_color_bit): New enumeration.
10251 (MAY_USE_WITH_COLORS_P): New macro.
10252 (turn_on_face): Use it to determine if attributes may be used
10253 combined with colors.
10254
3578db3c
KR
102552000-04-01 Ken Raeburn <raeburn@gnu.org>
10256
10257 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10258 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10259 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10260 proper accessor macros.
10261 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10262 (grow_mini_window): Fix typo getting int value of root->height.
10263
6fc556fd
KR
10264 * xdisp.c (compute_string_pos): Fix order of arguments to
10265 string_pos_nchars_ahead.
10266 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10267 count arg to variable-arg routines like Frun_hook_with_args and
10268 Fformat.
587a49ab
GM
10269 (back_to_previous_visible_line_start)
10270 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10271 fixed-arg routines like Fget_char_property and Fmake_string.
10272 (reconsider_clip_changes): Use XINT when comparing integer lisp
10273 objects, or passing them as int arguments.
587a49ab
GM
10274 (mark_window_display_accurate, insert_left_trunc_glyphs)
10275 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10276 storing or passing integer values as lisp objects.
10277 (set_cursor_from_row, highlight_trailing_whitespace): Use
10278 INTEGERP, not implicit test against zero, for glyph object.
10279 (try_window_id): Don't use make_number when we want an int value.
10280
10281 * xfaces.c (xlfd_symbolic_value): Make last argument a
10282 Lisp_Object, to be consistent with callers.
10283 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10284 (lface_hash): Apply XFASTINT to lisp values before folding in.
10285
10286 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10287 fill in window width and height. Pass an int, not a lisp object,
10288 as first arg to Finsert.
10289
6e7b2457
GM
102902000-04-01 Gerd Moellmann <gerd@gnu.org>
10291
610d841e
GM
10292 * xfaces.c (realize_basic_faces): Block input while realizing
10293 the faces.
10294
6e7b2457
GM
10295 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10296
10297 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10298
aa110c0c
GM
102992000-03-31 Gerd Moellmann <gerd@gnu.org>
10300
10301 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10302 or ASCII, handle case that per-char metric is null.
aa110c0c 10303
8801a864
KR
103042000-03-30 Ken Raeburn <raeburn@gnu.org>
10305
c6129d7e
KR
10306 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10307
52283633
SM
10308 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10309 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10310 pointer, using eassert.
10311 * frame.h (XFRAME): Likewise.
10312
52283633
SM
10313 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10314 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10315 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10316 * data.c (set_internal): Likewise.
52283633
SM
10317 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10318 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10319 * fileio.c (auto_save_1): Likewise.
10320 * insdel.c (check_markers): Likewise.
10321 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10322 * undo.c (record_insert): Likewise.
10323 * vmsproc.c (child_sig): Likewise.
10324 * window.c (unshow_buffer, window_loop): Likewise.
10325 * xterm.c (x_erase_phys_cursor): Likewise.
10326
8e7af858
GM
103272000-03-30 Gerd Moellmann <gerd@gnu.org>
10328
10329 * xfns.c (free_image_cache): Free the cache structure itself
10330 last, after all its members have been freed.
10331
10332 * lisp.h (xstrdup): Add prototype.
10333
10334 * alloc.c (xstrdup): Moved here from xfaces.c.
10335 (allocating_for_lisp): Variable removed.
52283633 10336 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10337
10338 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10339 of Fsymbol_value.
10340 (xstrdup): Moved to alloc.c.
10341
e0b8c689
KR
103422000-03-29 Ken Raeburn <raeburn@gnu.org>
10343
b96f9fb7
KR
10344 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10345
10346 * emacs.c (main): Fix sense of no-loadup test.
10347
e0b8c689
KR
10348 * config.in (ENABLE_CHECKING): Undef.
10349
10350 * lisp.h (struct interval): Replace "parent" field with a union of
10351 interval pointer and Lisp_Object; add new bitfield to use as
10352 discriminant. Change other flag fields to bitfields.
10353 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10354 is defined and the supplied test fails, print a message and abort.
10355 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10356
10357 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10358 pointers; abort if the value looks like a lisp object.
52283633
SM
10359 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10360 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10361 Modify for new interval parent definition.
10362
52283633
SM
10363 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10364 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10365 addressable lisp object in the interval structure.
10366 (die): New function.
10367 (suppress_checking): New variable.
10368
10369 * intervals.c (interval_start_pos): Just return 0 if there's no
10370 parent object.
10371
f83c5440
GM
103722000-03-29 Gerd Moellmann <gerd@gnu.org>
10373
10374 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10375 and earlier Emacs versions.
10376
10377 * keyboard.c (Ftop_level): Cancel busy-cursor.
10378
10379 * eval.c (call_debugger): Cancel busy-cursor.
10380
fdce64ff
KH
103812000-03-29 Kenichi Handa <handa@etl.go.jp>
10382
10383 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10384 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10385
f6a3f532
SM
103862000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10387
10388 * regex.c (analyse_first): New function obtained by ripping out most
10389 of re_compile_fastmap and generalizing it a little bit so that it
10390 can also just return whether a given (sub)pattern can match the empty
10391 string or not.
10392 (regex_compile): Use `analyse_first' to decide whether the loop-check
10393 needs to be done or not for *, +, *? and +? (the loop check is costly
10394 for non-greedy repetition).
10395 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10396
e9b309ac
DL
103972000-03-28 Dave Love <fx@gnu.org>
10398
52283633 10399 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10400
e9b309ac
DL
10401 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10402
ed0767d8
SM
104032000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10404
10405 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10406 an expression.
10407 (enum re_opcode_t): Update description of succeed_n.
10408 (PATFETCH): Always define.
10409 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10410 operators, char classes, shy-groups and intervals).
10411 Optimize special cases of intervals so as to only use succeed_n and
10412 jump_n when really needed.
10413 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10414 that we don't have to handle the special cases any more.
10415 Simplify on_failure_jump handling as well.
10416
e11e7e46
JR
104172000-03-28 Jason Rumney <jasonr@gnu.org>
10418
10419 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10420
88faab89
GM
104212000-03-27 Gerd Moellmann <gerd@gnu.org>
10422
182ff242
GM
10423 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10424
10425 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10426
182ff242
GM
10427 * alloc.c (mark_maybe_object): New function.
10428 (mark_memory): Use it.
10429 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10430 (setjmp_tested_p, longjmp_done): New variables.
10431 (test_setjmp): New function.
10432 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10433 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10434
c1005d06
GM
10435 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10436 to DEC_TEXT_POS and INC_TEXT_POS.
10437
10438 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10439 with parameter MULTIBYTE_P.
10440
52283633 10441 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10442
7439e5b9 10443 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10444 buffers because it looks for multibyte character byte sequences
10445 which don't exist in unibyte text.
7439e5b9 10446
d9c545da
GM
10447 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10448
11fd416e 10449 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10450 [DEBUG_X_COLORS]: New functions.
10451 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10452
10453 * xfns.c (x_set_cursor_color): Get color reference counts right.
10454
10455 * xterm.c (x_copy_color): New function.
10456 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10457
10458 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10459 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10460 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10461 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10462 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10463 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10464 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10465 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10466 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10467 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10468
11fd416e
GM
10469 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10470 names for handling per-buffer variables.
d9c545da
GM
10471
10472 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10473 instead of MAX_BUFFER_LOCAL_VARS.
10474 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10475
10476 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10477
88faab89
GM
10478 * xfns.c (x_specified_cursor_type): New function.
10479 (x_set_cursor_type): Use it.
10480
10481 * buffer.h (struct buffer): Add cursor_type.
10482
d80f42b7
SM
104832000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10484
10485 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10486 (print_partial_compiled_pattern, re_compile_fastmap):
10487 Handle new opcode.
d80f42b7
SM
10488 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10489 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10490 executing it as well as when popping it off the stack to find infinite
10491 loops in non-greedy repetition operators.
10492
89e80928
GM
104932000-03-26 Gerd Moellmann <gerd@gnu.org>
10494
3d4ff2dd
GM
10495 * doc.c (Qfunction_documentation): New variable.
10496 (syms_of_doc): Initialize Qfunction_documentation.
10497 (Fdocumentation): If FUNCTION is a symbol with non-nil
10498 `function-documentation' property, return a documentation derived
10499 from that.
10500
bd96bd79
GM
10501 * buffer.c (syms_of_buffer): Add default-cursor-type.
10502 (init_buffer_once): Don't let cursor_type have a local value
10503 in every buffer.
10504
19d1bc27
GM
10505 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10506 on buffer-local value of cursor_type.
10507 (x_draw_bar_cursor): Add parameter WIDTH.
10508
10509 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10510 (init_buffer_once): Set default cursor_type value to t.
10511 Mark cursor_type as local everywhere.
10512 (syms_of_buffer): New per-buffer variable cursor-type.
10513
89e80928
GM
10514 * buffer.h (struct buffer): Remove member local_var_flags,
10515 add local_flags.
10516 (MAX_BUFFER_LOCAL_VARS): New macro.
10517 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10518 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10519 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10520 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10521
52283633 10522 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10523
10524 * category.c (Fset_category_table): Use new macros for per-buffer
10525 variables.
10526
10527 * buffer.c (buffer_permanent_local_flags): Make a char array.
10528 (max_buffer_local_idx): New variable.
10529 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10530 for new handling of per-buffer variables.
10531 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10532 (init_buffer_once): Initialize per-buffer vars differently.
10533 Set max_buffer_local_idx.
10534
10535 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10536 variables.
10537
52283633 10538 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10539
10540 * data.c (do_symval_forwarding, store_symval_forwarding)
10541 (find_symbol_value, set_internal, default_value, Fset_default)
10542 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10543 per-buffer variables.
10544
10545 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10546
9a0dd3dc
GM
105472000-03-24 Gerd Moellmann <gerd@gnu.org>
10548
b68c375f
GM
10549 * xterm.c (x_term_init): Unblock input around call1 of
10550 Qvendor_specific_keysyms.
10551
9a0dd3dc
GM
10552 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10553 (find_defun_start): Consider an open parenthesis in column 0
10554 a defun start only if open_paren_in_column_0_is_defun_start is set.
10555 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10556
7973e637
SM
105572000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10558
10559 * eval.c (Fautoload): Add entry in load-history (if after dump).
10560 * lread.c (load-history): Update docstring.
10561
39210e90
GM
105622000-03-24 Gerd Moellmann <gerd@gnu.org>
10563
10564 * indent.c (Fvertical_motion): Always use the current buffer.
10565 Temporarily change the window's buffer, if necessary.
10566
72db3ab5
GM
105672000-03-23 Gerd Moellmann <gerd@gnu.org>
10568
10569 * xterm.c (fast_find_position): Make sure not to consider rows
10570 not visible in the window.
10571
990b2375
SM
105722000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10573
10574 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10575 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10576
ff4df011
JR
105772000-03-22 Jason Rumney <jasonr@gnu.org>
10578
10579 * w32menu.c (single_submenu): Set help string to NULL if none.
10580 (w32_menu_show): Set help string correctly.
10581 (add-menu-item): Set help string in MIIM_DATA for menu item.
10582 Load SetMenuItemInfoA explicitly.
10583 (w32_menu_display_help): New function.
427ec082 10584
ff4df011
JR
10585 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10586 (QCdata): Moved to xdisp.c.
10587
10588 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10589 (Vw32_charset_to_codepage_alist): Removed.
10590 (Vw32_charset_info_alist): New variable.
52283633
SM
10591 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10592 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10593 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10594 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10595 with TODO comment.
10596 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10597 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10598 Define Vw32_charset_info_alist and w32_charset symbols.
10599
106002000-03-22 Jason Rumney <jasonr@gnu.org>
10601
10602 * makefile.nt (w32bdf.obj): Update dependencies.
10603
10604 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10605
10606 * w32fns.c: Include fontset.h after dispextern.h.
10607 (Fx_create_frame): Do not create fontset.
10608 (w32_load_system_font): Doc fix.
10609 (Fx_close_connection): Free full_name if it is not shared.
10610
10611 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10612 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10613 Callers updated.
ff4df011
JR
10614 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10615 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10616 (w32_font_is_double_byte): New function, needs body.
10617 (x_append_glyph): Set glyph->glyph_not_available_p.
10618 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10619 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10620 character, convert it to a unibyte character.
10621 (struct glyph_string): Delete member `charset'.
10622 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10623 calculating it is found.
10624 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10625 the case that per char metric is not available correctly.
10626 (x_fill_glyph_string): Handle the case that the specific glyph is
10627 not available correctly.
10628 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10629 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10630 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10631 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10632 fontset. Don't call FS_LOAD_FONT.
10633
439d5cb4
KR
106342000-03-22 Ken Raeburn <raeburn@gnu.org>
10635
10636 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10637 (INT_LISPLIKE): New macro.
10638 (NULL_INTERVAL_P): Use it.
52283633
SM
10639 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10640 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10641 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10642
10643 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10644 explicit references to "parent" field of struct interval and
10645 associated unclean type conversions.
52283633
SM
10646 * intervals.c (create_root_interval, root_interval, rotate_right)
10647 (rotate_left, balance_possible_root_interval, split_interval_right)
10648 (split_interval_left, interval_start_pos, find_interval)
10649 (next_interval, previous_interval, update_interval)
10650 (adjust_intervals_for_insertion, delete_node, delete_interval)
10651 (adjust_intervals_for_deletion, merge_interval_right)
10652 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10653 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10654 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10655 Likewise.
10656 * syntax.c (update_syntax_table): Likewise.
10657
10658 * intervals.c (reproduce_tree_obj): New function, like
10659 reproduce_tree but takes a Lisp_Object for the parent. Declare
10660 with prototype.
10661 (graft_intervals_into_buffer): Use it when appropriate.
10662 (reproduce_tree): Declare with prototype.
10663 (balance_possible_root_interval): Check that the parent is a lisp
10664 object before trying to examine its type.
10665
ee1c5b21
GM
106662000-03-22 Gerd Moellmann <gerd@gnu.org>
10667
10668 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10669 as strings only if both are known to be strings.
10670
10671 * s/openbsd.h (LIBS_TERMCAP): Undef.
10672
1fb352e0
SM
106732000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10674
10675 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10676 definitions for non-Emacs compilation.
10677 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10678 outside of `#ifdef emacs'.
10679 (print_partial_compiled_pattern): Update.
10680 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10681 (re_compile_fastmap): Merge handling of charset and charset_not (for
10682 emacs and non-emacs compilation as well).
10683 Similarly for (not)categoryspec and (not)syntaxspec.
10684 Don't use the fastmap when reaching `anychar' since the added
10685 complexity is not justified.
10686 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10687 and (not)syntaxspec. Merge (not)categoryspec.
10688
fdaa1f77
KH
106892000-03-22 Kenichi Handa <handa@etl.go.jp>
10690
52283633
SM
10691 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10692 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10693 --without-x.
fdaa1f77 10694
d152fb46
DL
106952000-03-21 Dave Love <fx@gnu.org>
10696
10697 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10698 doc string.
10699
d2cafc8c
GM
107002000-03-21 Gerd Moellmann <gerd@gnu.org>
10701
10702 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10703 (lface_fully_specified_p): Don't check contents of
10704 LFACE_FONT_INDEX because that attribute is optional.
10705 (realize_x_face): Remove now unwarranted xassert.
10706
9111d4b5
KH
107072000-03-21 Kenichi HANDA <handa@etl.go.jp>
10708
10709 The following changes are to make font selection based on
10710 characters, not charset. In addition, they recover fontset
10711 facilities while utilizing the new font selection mechanism.
10712
6c4bfdc0
KH
10713 * Makefile.in (fontset.o): Depend on dispextern.h.
10714
10715 * alloc.c (mark_face_cache): Don't mark face->registry.
10716
9111d4b5
KH
10717 * dispextern.h (struct glyph): New member glyph_not_available_p.
10718 Use 22 bits for face_id.
10719 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10720 (struct face): Delete member registry, new member ascii_face.
10721 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10722 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10723 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10724 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10725
10726 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10727 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10728 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10729 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10730 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10731 (fs_free_face_fontset, fontset_font_pattern)
10732 (face_suitable_for_char_p, face_for_char)
10733 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10734 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10735 (FS_LOAD_FACE_FONT): New macro.
10736
10737 * fontset.c: All codes rewritten or adjusted for the change of
10738 fontset implementation. Now fontset is represented by char table.
52283633
SM
10739 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10740 Variables removed.
9111d4b5 10741 (my_strcasecmp): Function removed.
52283633 10742 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10743 (AREF, ASIZE): New macros.
52283633
SM
10744 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10745 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10746 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10747 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10748 (fontset_id_valid_p, font_family_registry, fontset_name)
10749 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10750 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10751 New functions.
10752 (fs_load_font): New arg FACE. Caller changed.
10753 (fs_query_fontset): Argument changed. Caller changed.
10754 (Fquery_fontset): call fs_query_fontset.
10755 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10756 Functions removed.
52283633
SM
10757 (clear_fontset_elements, check_registry_encoding)
10758 (check_fontset_name): New functions.
9111d4b5
KH
10759 (syms_of_fontset): Set char-table-extra-slots property of fontset
10760 to 3. Staticpro and initialize Vfontset_table and
10761 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10762
10763 * frame.h (struct frame): Member `fontset_data' removed.
10764 (FRAME_FONTSET_DATA): Macro removed.
10765
10766 * frame.c (make_frame): Don't allocate f->fontset_data.
10767 (Fdelete_frame): Don't free f->fontset_data.
10768
6c4bfdc0
KH
10769 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10770
9111d4b5
KH
10771 * xdisp.c (charset_at_position): Function removed.
10772 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10773 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10774 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10775 Likewise.
10776 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10777 FACE_FOR_CHARSET.
52283633
SM
10778 (get_next_display_element, append_space)
10779 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10780
10781 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10782 Variables removed.
10783 (clear_font_table, frame_update_line_height, load_face_font):
10784 Adjusted for the change of fontset implementation.
10785 (load_face_fontset_font): Function removed.
10786 (pixel_point_size): New function.
10787 (font_list): Argument type changed. Caller changed.
10788 (LFACE_FONT): New macro.
10789 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10790 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10791 Lisp_Object. Determine the font name by actually loading a font
10792 by the specified pattern. Set LFACE_FONT (lface) to the specified
10793 pattern. Even if a font is not found, don't try alternatives.
10794 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10795 (set_font_frame_param): If `font' is specified in lface, use it.
10796 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10797 (lface_same_font_attributes_p): Likewise.
10798 (make_realized_face): Arguent changed. Caller changed. Set
10799 face->ascii_face to face itself.
10800 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10801 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10802 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10803 (free_realized_multibyte_face): New function.
10804 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10805 changed. Caller changed.
10806 (try_font_list): Argument type changed.
10807 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10808 (choose_face_font): Argument changed. Handle fontset properly.
10809 (choose_face_fontset_font): Function removed.
10810 (realize_default_face, realize_named_face): Don't remove the
10811 former face here.
10812 (realize_face): Argument changed. Caller changed. Remove face
52283633 10813 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10814 (realize_x_face): Argument changed. Caller changed. For a
10815 multibyte character, share fontset with base_face. For a single
52283633 10816 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10817 (realize_tty_face): Argument changed. Caller changed.
10818 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10819 (face_at_buffer_position): Don't check multibyte_p for returning
10820 DEFAULT_FACE_ID.
10821 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10822 FACE_SUITABLE_FOR_CHARSET_P.
10823 (syms_of_xfaces): Remove code for Qx_charset_registry and
10824 Vface_default_registry.
10825
6c4bfdc0
KH
10826 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10827 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10828 (x_per_char_metric): Don't try FONT->default_char. Even if
10829 pcm->width is zero, glyph bits may exist.
10830 (x_encode_char): Always initialize char2b->byte1.
10831 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10832 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10833 (x_append_glyph): Set glyph->glyph_not_available_p.
10834 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10835 it->charset. Handle the case that per char metric is not
10836 available. If it->multibyte_p is zero and it->c is a multibyte
10837 character, convert it to a unibyte character.
10838 (struct glyph_string): Delete member `charset'.
10839 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10840 the case that per char metric is not available correctly.
10841 (x_fill_glyph_string): Handle the case that the specific glyph is
10842 not available correctly.
10843 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10844 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10845 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10846 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10847 fontset. Don't call FS_LOAD_FONT.
10848
10849 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10850 (x_create_tip_frame): Likewise.
10851 (Fx_close_connection): Free full_name of font_info.
10852
10853 * fns.c (optimize_sub_char_table): New function.
10854 (Foptimize_char_table): New function.
10855 (syms_of_fns): Defsubr Soptimize_char_table.
10856
b33dd3b0
GM
108572000-03-20 Gerd Moellmann <gerd@gnu.org>
10858
10859 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10860 only if buffer is displayed in some window.
10861
10862 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10863 (try_window_reusing_current_matrix): Don't call scroll run
10864 function if run's current and desired position are the same;
10865 this prevents cursor flickering.
10866
4e8a9132
SM
108672000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10868
10869 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10870
10871 * regex.c (RE_STRING_CHAR): New macro.
10872 (GET_CHAR_AFER_2): Remove.
10873 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10874 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10875 (print_partial_compiled_pattern, re_compile_fastmap)
10876 (re_match_2_internal): Remove on_failure_jump_exclusive.
10877 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10878 optimization only need to work for * (ie. can use of_keep_string_jump).
10879 Remove the special case for .*\n since it is now covered by the general
10880 optimization.
10881 (re_search_2): Don't bother with `room'.
10882 (skip_one_char): New function.
10883 (skip_noops): Simplify since `memory' is not needed any more.
10884 (mutually_exclusive_p): Restructure slightly to use `switch' and
10885 add handling for "all" remaining cases.
10886 (re_match_2_internal): Change on_failure_jump_smart to use
10887 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10888 rather than on_failure_jump_exclusive.
10889
2136fdd4
GM
108902000-03-19 Gerd Moellmann <gerd@gnu.org>
10891
10892 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10893 number of bits per RGB because it's everywhere used as the depth
10894 of the visual.
10895
10896 * term.c (calculate_costs): Remove code dealing with X frames.
10897
18e21ce8 108982000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10899
10900 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10901
d7b511c4
GM
109022000-03-18 Gerd Moellmann <gerd@gnu.org>
10903
10904 * lread.c (read_integer): Unread the last char not consumed.
10905
16b5d424
GM
109062000-03-17 Gerd Moellmann <gerd@gnu.org>
10907
10908 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10909 which are in the process of being deleted.
16b5d424 10910
1fa28578
GM
109112000-03-16 Gerd Moellmann <gerd@gnu.org>
10912
83488cce
GM
10913 * Makefile.in (mostlyclean): Add `*.core'.
10914 (clean): Add `bootstrap-emacs'.
10915
1fa28578
GM
10916 * lread.c (read_integer): New function.
10917 (read1): Support read syntax #o, #x, #b, #r.
10918
99633e97
SM
109192000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10920
1fa28578
GM
10921 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10922 make sure POINTER_TO_OFFSET gives the same value before and after
10923 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10924 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10925 (debug): Now only active if > 0 rather than if != 0.
10926 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10927 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10928 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10929 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10930 (store_op1, store_op2, insert_op1, insert_op2)
10931 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10932 (group_in_compile_stack): Move to after its arg's types are
10933 declared and add a prototype.
99633e97 10934 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10935 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10936 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10937 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10938 indentation of the greedy-op and shy-group code.
99633e97
SM
10939 (at_(beg|end)line_loc_p): Fix argument's types.
10940 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10941 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10942 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10943 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10944 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10945 QUIT unconditionally.
99633e97 10946
699238d9
GM
109472000-03-15 Gerd Moellmann <gerd@gnu.org>
10948
10949 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10950 a sole completion.
10951
10952 * process.c (send_process): Add a hint that the function
10953 can call Lisp code to its comment.
10954
10955 * lread.c (load_dangerous_libraries): New variable.
10956 (Vbytecomp_version_regexp): New variable.
10957 (safe_to_load_p): New function.
10958 (Fload): Handle files not compiled with Emacs specially.
10959 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10960
34e23e5a
GM
109612000-03-14 Gerd Moellmann <gerd@gnu.org>
10962
9c763cca
GM
10963 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10964
10965 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10966 support functions only if HAVE_X11R6_XIM is defined.
10967 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10968
10969 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10970
10971 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10972 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10973 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10974
10975 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10976 (HAVE_X11R6_XIM): Define.
10977
10978 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10979
34e23e5a
GM
10980 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10981 If set, call XSynchronize.
10982
66f0296e
SM
109832000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10984
34e23e5a
GM
10985 * regex.c: Declare a new type `re_char' used throughout the code
10986 for the string char type. It's `const unsigned char' to match the
10987 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10988 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10989 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10990 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10991 code duplication.
66f0296e
SM
10992
10993 * charset.h (GET_CHAR_AFTER_2): Remove.
10994 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10995
854a025c
KR
109962000-03-12 Ken Raeburn <raeburn@gnu.org>
10997
10998 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10999 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11000 of them try to use backquotes.
11001
b9d2c7e2
DL
110022000-03-12 Dave Love <fx@gnu.org>
11003
11004 * unexelf.c: Restore changes of 1999-10-19.
11005 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11006 fix its type and alignment; copy it from current process.
11007
5e5dff44
GM
110082000-03-12 Gerd Moellmann <gerd@gnu.org>
11009
9b2f3c38
GM
11010 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11011 has been found. Fix bug not computing timer's predecessor.
11012
427ec082 11013 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11014 file name.
11015
e1cff360
GM
11016 * window.c (Fsave_window_excursion): Doc fix.
11017
52283633 11018 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11019
e411ce4b
EZ
110202000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11021
11022 * msdos.c (vga_installed): New function, code moved from
11023 dos_set_window_size.
11024 (Qbar, Qcursor_type, outside_cursor): New variables.
11025 (syms_of_msdos): Intern and staticpro them.
11026 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11027 shape used outside Emacs when called for the first time.
11028 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11029 cursor shape used outside Emacs.
11030 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11031 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11032 type has changed.
11033 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11034 parameters specify the cursor. Make qreverse a global
11035 variable (renamed to Qreverse).
11036
80460654
GM
110372000-03-09 Gerd Moellmann <gerd@gnu.org>
11038
11039 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11040
95cd4c40
SM
110412000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11042
11043 This is a big redesign of failure-stack and register handling, prompted
11044 by bugs revealed when trying to add shy-groups. Overall, what happened
11045 is that loops are now structured a little differently, groups can be
11046 shy and the code is a little simpler.
11047
11048 * regex.h: Update the copyright.
11049 (RE_SHY_GROUPS): New value.
11050 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11051 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11052
80460654
GM
11053 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11054 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11055 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11056 for (start|stop)_memory since they now only take one argument (the
11057 second has becomes unnecessary).
52283633 11058 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11059 (print_compiled_pattern): Use %ld to printf long ints and flush to
11060 make debugging a little easier.
95cd4c40
SM
11061 (union fail_stack_elt): Make the integer unsigned.
11062 (struct fail_stack_type): Add a `frame' element.
11063 (INIT_FAIL_STACK): Init `frame' as well.
11064 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11065 (DEBUG_PUSH, DEBUG_POP): Remove.
11066 (NUM_REG_ITEMS): Remove.
11067 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11068 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11069 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11070 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11071 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11072 New macros.
80460654
GM
11073 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11074 address pushed is not the destination of the jump but the source
11075 of it instead.
95cd4c40
SM
11076 (NUM_FAILURE_ITEMS): Remove.
11077 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11078 registers before the actual failure point). Don't hardcode any
11079 meaning for str==NULL anymore.
95cd4c40 11080 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11081 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11082 Remove.
95cd4c40
SM
11083 (REG_UNSET_VALUE): Use NULL (why not?).
11084 (compile_range): Remove declaration since it doesn't exist.
11085 (struct compile_stack_elt_t): Remove inner_group_offset.
11086 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11087 (regex_grow_registers): Remove dead code.
11088 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11089 (regex_compile): Add shy-groups Change loops to use
11090 on_failure_jump_smart&jump instead of
11091 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11092 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11093 variable to me). Use `jump' instead of `jump_past_alt' and don't
11094 bother with push_dummy_failure in alternatives since it is now
11095 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11096 emacs' for (re)allocating the stack.
11097 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11098 from loop when bufp->can_be_null rather than jumping to `done'.
11099 Avoid jumping backwards so as to ensure termination. Use
11100 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11101 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11102 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11103 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11104 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11105 (lowest_active_reg, highest_active_reg)
11106 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11107 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11108 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11109 variables. Push register (in `start_memory') on the stack rather
11110 than storing it in old_reg(start|end). Remove the cycle detection
11111 from `stop_memory', replaced by the use of on_failure_jump_loop
11112 for greedy loops. Add code for the new on_failure_jump_<foo>.
11113 Remove ad-hoc code in `on_failure_jump' to push more registers in
11114 the case of a loop. Take out code from `maybe_pop_jump' into
11115 separate functions and adapt it to the semantics of
11116 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11117 and push_dummy_failure. Remove dummy_failure handling and
11118 handling of `failures to jump to on_failure_jump' (this last one
11119 was already dead code, it seems).
11120 (group_match_null_string_p, alt_match_null_string_p)
11121 (common_op_match_null_string_p): Remove.
95cd4c40 11122
7397acc4
DL
111232000-03-08 Dave Love <fx@gnu.org>
11124
11125 * config.in: Don't depend on __STDC__ for volatile.
11126 Add POINTER_TYPE, PTR, PROTOTYPES.
11127
11128 * hftctl.c, strftime.c: Use PROTOTYPES.
11129 * eval.c (find_handler_clause): Likewise.
11130
11131 * mem-limits.h: Use POINTER_TYPE.
11132
11133 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11134 (memory_warnings): Declare using POINTER_TYPE.
11135
5e91ff9e
GM
111362000-03-08 Gerd Moellmann <gerd@gnu.org>
11137
feab4fba
GM
11138 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11139
52283633 11140 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11141
5e91ff9e
GM
11142 * xfns.c: Remove obsolete code in #if 0.
11143 (Fx_focus_frame): New function.
11144
a735b7e1
KH
111452000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11146
11147 * coding.c (coding_category_name): Add coding-category-utf-8,
11148 coding-category-utf-16-be, coding-category-utf-16-le.
11149 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11150 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11151 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11152 (detect_coding_utf_8): New function.
11153 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11154 UTF_16_LOW_SURROGATE_P): New macros.
11155 (detect_coding_utf_16): New function
11156 (detect_coding_mask): When priorities are specified, skip any
11157 categories that have `nil' coding-system. Fix bug of returning
11158 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11159 returns a mask not set in PRIORITIES.
11160 (detect_eol_type_in_2_octet_form): New function.
11161 (detect_eol): selects detect_eol_type_XXX to call according to
11162 cooding->category_idx.
11163 (detect_coding_system): Remove `nil' coding-system in the result.
11164 (Fupdate_coding_systems_internal): Update all coding-categories.
11165
52283633
SM
11166 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11167 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11168 New macros.
11169 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11170 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11171 (CODING_CATEGORY_IDX_UTF_16_LE)
11172 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11173 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11174 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11175 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11176
9994cc69
GM
111772000-03-07 Gerd Moellmann <gerd@gnu.org>
11178
e9b4e5ff
GM
11179 * doc.c (Fdocumentation_property): If value is not a string,
11180 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11181
f7daf1e1
GM
11182 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11183 close the display with XtCloseDisplay. This caused a bus error
11184 on OpenWindows.
11185
9994cc69
GM
11186 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11187 complete but not unique.
11188
4336c705
GM
111892000-03-06 Gerd Moellmann <gerd@gnu.org>
11190
18bb0684
GM
11191 * process.c (send_process): Remove local variable `procname' that
11192 might become invalid when a GC happens. Instead, access the
11193 process name slot directly.
11194
4336c705
GM
11195 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11196 orig_height if set.
11197
11198 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11199 orig_height if set.
11200
515d0d0e
EZ
112012000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11202
11203 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11204 glyph matrices have been freed.
11205
100b3cbb
GM
112062000-03-05 Gerd Moellmann <gerd@gnu.org>
11207
50df5e5a 11208 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11209 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11210
11211 * xfns.c (QCdata): Moved to xdisp.c.
11212
11213 * xdisp.c (QCdata): Moved here from xfns.c.
11214 (syms_of_xdisp): Initialize QCdata.
11215
11216 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11217
11218 * window.c (coordinates_in_window): Use
11219 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11220 FRAME_INTERNAL_BORDER_WIDTH.
11221
100b3cbb 11222 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11223 it is obviously invalid.
100b3cbb
GM
11224
11225 * xterm.c (x_term_init): Create a colormap if not using the
11226 default visual.
11227
11228 * xterm.h (select_visual): Change prototype.
11229
11230 * xfns.c (select_visual): Rewritten. Recognize user-specified
11231 visual classes.
11232 (visual_classes): New variable.
11233
64d739c4
GM
112342000-03-04 Gerd Moellmann <gerd@gnu.org>
11235
11236 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11237 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11238 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11239 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11240 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11241 XtNcolormap resources.
11242 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11243 (Fx_create_frame): Initialize color members of x_output structure.
11244 (xpm_load): Pass colormap to XPM lib.
11245
11246 * xfaces.c (x_free_colors): Access colormap of frame using
11247 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11248 when default colormap is used.
11249
11250 * xterm.c (x_term_init): Set Colormap member of x_display_info
11251 structure. Copy colormap if resource `privateColormap' is
11252 specified (PseudoColor only).
11253 (x_setup_relief_color): Access colormap of frame using
11254 FRAME_X_COLORMAP.
11255
11256 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11257 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11258
c3cee013
JR
112592000-03-04 Jason Rumney <jasonr@gnu.org>
11260
11261 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11262 other non-platform-specific equivalents.
64d739c4 11263 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11264 specific functions and macros as their w32 equivalents where
11265 non-platform-specifics are not available.
11266 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11267 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11268 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11269 (frame_update_line_height): Use macros to access f->output_data.
11270 (defined_color): Remove FIXME comments; fixed.
11271 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11272 into #ifdef blocks. Add WINDOWSNT blocks.
11273 (Fx_list_fonts): Use macros for accessing font data.
11274 (set_lface_from_font_name): Different default fonts for X and
11275 WINDOWSNT.
11276 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11277 scalable for backward compatibility.
64d739c4 11278 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11279 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11280
64d739c4 11281 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11282 syms_of_w32faces.
11283
11284 * makefile.nt (w32faces.obj): Remove.
11285 (xfaces.obj): Add.
11286
807cc41c
JR
112872000-03-03 Jason Rumney <jasonr@gnu.org>
11288
11289 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11290 correct parameters.
11291
0007072a
KR
112922000-03-03 Ken Raeburn <raeburn@gnu.org>
11293
11294 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11295 standard ELF definitions here if the system header does not.
11296
71a6ba55
GM
112972000-03-03 Gerd Moellmann <gerd@gnu.org>
11298
11299 * xterm.c (PER_CHAR_METRIC): Removed.
11300 (x_per_char_metric_1, x_default_char): New functions.
11301 (x_per_char_metric): If font's default char is invalid, return
11302 metrics of a suitably chosen usable default char.
11303 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11304 char, replace occurrences of unprintable chars with a suitably
11305 chosen usable default char.
71a6ba55 11306
900fa1f1
GM
113072000-03-02 Gerd Moellmann <gerd@gnu.org>
11308
42f55fe0
GM
11309 * xterm.c (note_mouse_highlight): Return quickly if frame's
11310 glyph matrices have been freed.
11311
11312 * dispnew.c (free_glyphs): Block input while freeing matrices.
11313
900fa1f1
GM
11314 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11315
52283633
SM
11316 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11317 Use x_free_colors.
900fa1f1
GM
11318
11319 * dispextern.h (x_free_colors): Add prototype.
11320
11321 * xfaces.c (x_free_colors): New function.
11322 (unload_color, free_face_colors): Use it.
11323
2f950292
EZ
113242000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11325
11326 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11327
11328 * window.c [MSDOS]: Include msdos.h.
11329
54d04320
DL
113302000-03-02 Dave Love <fx@gnu.org>
11331
11332 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11333
11334 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11335 set C_OPTIMIZE_SWITCH for gcc.
11336
0ba93ac4
KH
113372000-03-02 Kenichi Handa <handa@etl.go.jp>
11338
11339 * coding.c (coding_save_composition): Be sure to allocate
11340 composition data area in coding even if there's no composition in
11341 the current run.
11342
a2bc11d4
JR
113432000-03-01 Jason Rumney <jasonr@gnu.org>
11344
11345 * w32term.c: Equivalent changes to those made to xterm.c on
11346 2000-02-25 and 2000-02-24.
11347
11348 * w32fns.c: Equivalent changes to those made to xfns.c on
11349 2000-02-25 and 2000-02-21.
11350
11351 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11352 correct line-end convention is followed.
11353
11354 * w32menu.c [HAVE_BOXES]: Remove #undef.
11355 (single_keymap_panes): Remove code for simulating checkmarks.
11356 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11357 Remove code for drawing simulated checkmarks.
11358 (w32_menu_show): make unibyte help string correctly.
11359 (add_menu_item): draw standard Windows checkmarks. Draw radio
11360 buttons as radio buttons if possible.
11361
72d19d75
GM
113622000-03-01 Gerd Moellmann <gerd@gnu.org>
11363
2df636f4
GM
11364 * sysdep.c (start_of_text): Don't define this function for NetBSD
11365 with ELF.
11366
427ec082 11367 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11368 Don't define.
11369 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11370 (LINKER): Don't undef if __NetBSD__ is defined.
11371
11372 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11373
11374 * fileio.c [__NetBSD__]: Define `unix'.
11375
72d19d75
GM
11376 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11377
ed4d0512
GM
113782000-02-29 Gerd Moellmann <gerd@gnu.org>
11379
50b1039f
GM
11380 * atimer.c (start_atimer): Don't abort when timers are stopped.
11381 (append_atimer_lists): New function.
11382 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11383 arbitrary lists of stopped and running atimers.
11384
ed4d0512
GM
11385 * atimer.c (cancel_atimer): Handle canceling an atimer when
11386 some timers are stopped.
11387
11388 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11389 after canceling it.
11390
11391 * fns.c (maybe_resize_hash_table): Handle case of new size
11392 coming out as being the same as old size.
11393
387023ee
JR
113942000-02-27 Jason Rumney <jasonr@gnu.org>
11395
11396 * makefile.nt: Add atimer.h to dependencies.
11397 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11398 * w32console.c: Only disable window system features for dispextern.h
11399 (initialize_w32_display): Build a display info for the console.
11400 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11401 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11402 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11403 as 2 button mice.
11404 * w32gui.h (struct W32FontStruct): Revert last change after change
11405 to xdisp.c.
11406 * w32menu.c (single_submenu): Set up help string.
11407 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11408 (w32_dialog_show): Set up help string.
11409 * w32term.c (w32_display_info_for_display): Remove unused function.
11410 (w32_draw_bitmap): Use pre-built bitmaps.
11411 (w32_initialize_display_info): New function to initialize parts of
11412 display info that are common to both GUI and console frames.
11413 (w32_term_init): Use w32_initialize_display_info. Do not set
11414 Vw32_num_mouse_buttons here, as it is not called for console
11415 frames. Build bitmaps for indicating truncated lines etc.
11416 (x_delete_display): Destroy pre-built bitmaps.
11417 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11418 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11419
4516715a
DL
114202000-02-27 Dave Love <fx@gnu.org>
11421
11422 * lisp.h: Add a bunch of prototypes.
11423
171ca836
KH
114242000-02-26 Kenichi Handa <handa@etl.go.jp>
11425
11426 * keyboard.c (read_char): Set `usec' correctly.
11427
4013921d
KH
114282000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11429
11430 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11431 `lambda', set reg[RRR] to the map index.
11432 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11433 reg[RRR] to 0. Otherwise, set it to -1.
11434
9244a058
GM
114352000-02-25 Gerd Moellmann <gerd@gnu.org>
11436
2df636f4 11437 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11438
18e21ce8 114392000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11440
f43d79c1
GM
11441 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11442 and contains a `:', prepend `/:'.
11443
11444 * window.c (select_window_1): If selected_window is nil,
11445 don't "swap out" the buffer's point.
11446 (Fset_window_configuration): Set selected_window to nil
11447 before calling Fselect_window.
11448 (unshow_buffer): Don't set point in buffer from window's point
11449 if another more recently selected window also shows the buffer.
11450
bed0c171
GM
114512000-02-25 Gerd Moellmann <gerd@gnu.org>
11452
449c3c52
GM
11453 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11454
f5b58615
GM
11455 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11456 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11457 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11458 New variables.
f5b58615
GM
11459 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11460 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11461 (hide_busy_cursor): New functions.
11462 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11463
11464 * minibuf.c (read_minibuf): Cancel busy-cursor.
11465
11466 * keyboard.c (command_loop_1): Call start_busy_cursor before
11467 Fcommand_execute and cancel_busy_cursor after it.
11468 (timer_check): Remove busy-cursor code.
11469 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11470 cursor timer.
11471
11472 * process.c (wait_reading_process_input): Remove busy-cursor code.
11473
11474 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11475 Fx_hide_busy_cursor.
11476
11477 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11478 Remove prototyoes.
11479 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11480
11481 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11482
11483 * xterm.c (XTread_socket): Remove busy-cursor code.
11484
4eb8436f
GM
11485 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11486 (build_frame_matrix_from_leaf_window): Put code handling
11487 glyph row's not being a slice of a frame row in #if 0.
11488 (sync_window_with_frame_matrix_rows): New function.
11489 (frame_row_to_window): New function.
11490 (mirror_line_dance): Handle copies between windows.
11491
3cb65b0e
GM
11492 * lread.c (Fload): Use `xfree' instead of `free'.
11493 (init_obarray): Use `xmalloc' instead of `malloc'.
11494
bed0c171
GM
11495 * window.c (Fset_window_buffer): Set WINDOW to the window
11496 after decoding.
2add4349
GM
11497 (coordinates_in_window): Take frame's internal border width
11498 into account.
bed0c171 11499
42088c12
GM
115002000-02-24 Gerd Moellmann <gerd@gnu.org>
11501
11502 * xterm.c (x_display_and_set_cursor): Display cursor of
11503 non-selected windows depending on the setting of
11504 cursor_in_non_selected_windows.
11505
11506 * xdisp.c (cursor_in_non_selected_windows): New variable.
11507 (syms_of_xdisp): DEFVAR_BOOL it.
11508
d1e103b2
GM
115092000-02-23 Gerd Moellmann <gerd@gnu.org>
11510
723e779c
GM
11511 * data.c (Fstring_to_number): If number is greater than what
11512 fits into an integer, return a float.
11513
d1e103b2
GM
11514 * eval.c (specbind): Remove references to
11515 keyword_symbols_constant_flag.
11516
11517 * data.c (keyword_symbols_constant_flag): Removed.
11518 (Fmakunbound, set_internal, syms_of_data): Remove references to
11519 keyword_symbols_constant_flag.
11520
11521 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11522
214f877f
KH
115232000-02-23 Kenichi Handa <handa@etl.go.jp>
11524
11525 * syntax.c (multibyte_syntax_as_symbol): New variable.
11526 (syms_of_syntax): Declare it as a Lisp variable.
11527 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11528 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11529 nonzero, treat all multibyte characters as symbol.
52283633 11530 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11531
130adcb7
EZ
115322000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11533
3cb65b0e 11534 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11535 a deleted frame.
130adcb7 11536
17cbbf95
GM
115372000-02-21 Gerd Moellmann <gerd@gnu.org>
11538
11539 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11540
11541 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11542 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11543
beb0bc36
DL
115442000-02-21 Dave Love <fx@gnu.org>
11545
11546 * frame.c (Vmouse_position_function): New variable.
11547 (Fmouse_position): Use it.
11548 (syms_of_frame): Install it.
11549
11550 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11551
1d92afcd
GM
115522000-02-20 Gerd Moellmann <gerd@gnu.org>
11553
11554 * fileio.c (Finsert_file_contents): Unbind the binding of
11555 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11556
11557 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11558 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11559 (specbind, unbind_to): Handle most common case of non-constant
11560 symbol with trivial value specially.
11561
11562 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11563
18e21ce8 115642000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11565
11566 * data.c (Fmake_variable_buffer_local): Doc fix.
11567 Init found_for_buffer to 0.
11568 (Fmake_variable_frame_local): If the variable has already
11569 been buffer-local, set the check_frame field.
11570
1d4311c3
EZ
115712000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11572
11573 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11574 produced for CODING_MODE_LAST_BLOCK requires.
11575
2dc95ddd
DL
115762000-02-18 Dave Love <fx@gnu.org>
11577
11578 * keyboard.c (echo_keystrokes): Remove declaration.
11579 (Vecho_keystrokes) New variable.
11580 (read_char, record_menu_key, read_key_sequence): Use it to allow
11581 use of float value.
11582 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11583
11584 * lread.c: Undef feature selection macros before defining.
11585
f0930f35
GM
115862000-02-18 Gerd Moellmann <gerd@gnu.org>
11587
11588 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11589 for symbols other than the symbol in question.
11590
e3d4de90
DL
115912000-02-17 Dave Love <fx@gnu.org>
11592
11593 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11594
0b378936
GM
115952000-02-17 Gerd Moellmann <gerd@gnu.org>
11596
d621caf7
GM
11597 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11598
0b378936
GM
11599 * alloc.c (enum mem_type): Compile unconditionally.
11600
3b451f74
EZ
116012000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11602
11603 * xfaces.c (tty_defined_color): Don't return faulire indication
11604 for unspecified-fg and unspecified-bg pseudo-colors.
11605
10689a01
GM
116062000-02-17 Gerd Moellmann <gerd@gnu.org>
11607
1216f5e4
GM
11608 * alloc.c (mark_object): Don't mark symbol names in pure space.
11609 (gc_sweep): Don't unmark symbol names in pure space.
11610
11611 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11612 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11613 [GC_MARK_STACK]: New defines.
427ec082 11614 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11615 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11616
11617 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11618
11619 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11620 allocate_buffer instead of xmalloc.
11621
11622 * alloc.c (toplevel): Include setjmp.h.
11623 (PURE_POINTER_P): New define.
11624 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11625 (Vdead) [GC_MARK_STACK]: New variable.
11626 (lisp_malloc): Add parameter TYPE, call mem_insert if
11627 GC_MARK_STACK is defined.
11628 (allocate_buffer): New function.
427ec082 11629 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11630 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11631 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11632 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11633 (MEM_NIL) [GC_MARK_STACK]: New define.
11634 (struct mem_node) [GC_MARK_STACK]: New structure.
11635 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11636 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11637 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11638 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11639 (mark_stack) [GC_MARK_STACK]: New functions.
11640 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11641 (clear_marks): Removed.
11642 (gc_sweep): Set free conses' car, free floats' type, free
11643 symbols' function to Vdead. Use lisp_free to free buffers.
11644 (init_alloc_once): Initialize Vdead.
11645 (survives_gc_p): Return non-zero for pure objects.
11646
11647 * alloc.c: Add comments throughout the file.
11648
2503c8b1
GM
11649 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11650 that unblocks alarms.
11651
8389e1e2
GM
11652 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11653 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11654 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11655
10689a01 11656 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11657
bfc17d18
KH
116582000-02-17 Kenichi Handa <handa@etl.go.jp>
11659
4a09dee0
KH
11660 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11661 avoid infinite error signaling. Allocate sufficient memory for
11662 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11663
2b927d02
SM
116642000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11665
11666 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11667 depends on the previous behavior.
11668
b49cb764
GM
116692000-02-16 Gerd Moellmann <gerd@gnu.org>
11670
11671 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11672
99e95407
GM
116732000-02-15 Gerd Moellmann <gerd@gnu.org>
11674
11675 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11676
11677 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11678 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11679 write(2).
11680
6ffd3cf7
RS
116812000-02-15 Richard M. Stallman <rms@gnu.org>
11682
11683 * data.c (set_internal): Don't make variable buffer-local
11684 if within a let-binding for the same buffer.
11685 (let_shadows_buffer_binding_p): New function.
11686
11687 * eval.c (specbind): For buffer-local value,
11688 record the current buffer also.
11689 (unbind_to): Cope with that change.
11690
cad53475
GM
116912000-02-15 Gerd Moellmann <gerd@gnu.org>
11692
11693 * window.c (Fsave_window_excursion): Doc fix.
11694
1aa963c8
SM
116952000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11696
11697 * syntax.c (back_comment): Make sure we only consider comment-starters
11698 of the relevant style and return -1 in case of a failure to find the
11699 beginning of the comment.
11700 (Fforward_comment): If back_comment fails, go back to the position just
11701 after the comment-end.
11702 (scan_lists): Add comment describing a very minor bug.
11703
b9b84fd3
SM
117042000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11705
11706 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11707 `completion-regexp-list' in the docstring.
11708
3a28db80
DL
117092000-02-14 Dave Love <fx@gnu.org>
11710
11711 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11712
fb4a568d
SM
117132000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11714
11715 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11716 to Emacs' syntax. Also fix the comment about set/not-set meanings
11717 since Emacs syntax is not the value 0 any more.
11718 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11719 since it's now part of RE_SYNTAX_EMACS.
11720
1063ebb5
DL
117212000-02-12 Dave Love <fx@gnu.org>
11722
52283633 11723 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11724
fb07a302
GM
117252000-02-12 Gerd Moellmann <gerd@gnu.org>
11726
11727 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11728
aaf2320c
DL
117292000-02-12 Dave Love <fx@gnu.org>
11730
11731 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11732
11733 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11734 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11735 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11736
11737 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11738
11739 * s/nextstep.h: Don't define HAVE_ALLOCA.
11740
11741 * config.in: Add vfork bits.
11742
eedf8bde
GM
117432000-02-12 Gerd Moellmann <gerd@gnu.org>
11744
11745 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11746 unwind function to undo the effect of stopping atimers.
11747
52283633 11748 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11749
11750 * atimer.c (stopped_atimers): New variable.
11751 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11752 New functions.
11753
11754 * atimer.h (stop_other_atimers, run_all_atimers)
11755 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11756
eedf8bde
GM
11757 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11758
8476c2f8
KR
117592000-02-11 Ken Raeburn <raeburn@gnu.org>
11760
11761 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11762 library may depend on jpeg.
11763 (atimer.o): Depends on atimer.c.
11764
0e85e4a3
KH
117652000-02-11 Kenichi Handa <handa@etl.go.jp>
11766
11767 * insdel.c (del_range_1): Call update_compositions.
11768 (del_range_both): Call update_compositions just once..
11769
97fa0cc8
DL
117702000-02-10 Dave Love <fx@gnu.org>
11771
11772 * xfns.c (create_frame_xic): Fix initialization of automatic
11773 aggregates for pcc.
11774
25566a3c
KH
117752000-02-09 Kenichi Handa <handa@etl.go.jp>
11776
11777 * ccl.c (CCL_MAKE_CHAR): New macro.
11778 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11779 registers by CCL_MAKE_CHAR before calling translate_char.
11780 <CCL_TranslateCharacterConstTbl> Likewise.
11781
69da54ba
DL
117822000-02-08 Dave Love <fx@gnu.org>
11783
11784 * lread.c (__EXTENSIONS__): Define.
11785
f7136ee8
GM
117862000-02-08 Gerd Moellmann <gerd@gnu.org>
11787
11788 * puresize.h (BASE_PURESIZE): Increase to 650000.
11789
7768790b
EZ
117902000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11791
11792 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11793 the help message.
11794
38fd211b
EZ
117952000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11796
11797 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11798 md, mh, mb, mr, and me to the fake termcap entry.
11799
66e4690f
KR
118002000-02-06 Ken Raeburn <raeburn@gnu.org>
11801
11802 * sound.c (sound_cleanup): Don't call device close routine if the
11803 function pointer is null.
11804
a75dfea0
AI
118052000-02-06 Andrew Innes <andrewi@gnu.org>
11806
11807 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11808 around image definitions and prototypes.
11809 (gamma_correct) [WINDOWSNT]: New prototype.
11810
11811 * w32term.c (x_make_frame_visible): Replace call to
11812 input_poll_signal with poll_for_input.
11813
11814 * window.c [WINDOWSNT]: Include w32term.h.
11815
11816 * xdisp.c [WINDOWSNT]: Include w32term.h.
11817
11818 * makefile.nt: Add dependencies on w32gui.h.
11819 (OBJ1): Include atimer.obj.
11820 ($(BLD)\atimer.obj): New dependency rule.
11821
11822 * w32.c (sigmask): New function (does nothing).
11823 (sigunblock): Ditto.
11824
11825 * frame.c [WINDOWSNT]: Include w32term.h.
11826
11827 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11828
11829 * lread.c (syms_of_lread): Fix literal newlines.
11830
11831 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11832 the string constant limit (2048 bytes) in MSVC.
11833 (main): Ditto.
11834
59ddecde
GM
118352000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11836
52283633 11837 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11838 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11839 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11840 dispatch the event.
11841
07590973
DL
118422000-02-04 Dave Love <fx@gnu.org>
11843
11844 * fileio.c: Remove some unused vars.
11845 (_GNU_SOURCE): Define (for euidaccess).
11846
11847 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11848
11849 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11850 gcpro1, gcpro2.
11851 (read_minibuf): Deal with allow_props correctly.
11852
649351f9
EZ
118532000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11854
11855 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11856
66e4690f 118572000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11858
11859 * search.c (compile_pattern): If a cache entry has a nil regexp,
11860 fill in that entry instead of clobbering a previously cached
11861 string regexp.
11862
66e4690f 118632000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11864
11865 * puresize.h (BASE_PURESIZE): Increase to 610000.
11866
d240a249
GM
118672000-02-02 Gerd Moellmann <gerd@gnu.org>
11868
11869 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11870 can GC.
11871
ca91fb26
KH
118722000-02-02 Kenichi Handa <handa@etl.go.jp>
11873
25660570
KH
11874 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11875 instead of incrementing ic directly.
11876 <CCL_WriteExprConst> Likewise.
11877 <ccl_set_expr>: Set ic to jump_address.
11878
ca91fb26
KH
11879 * fileio.c (e_write): Fix the handling of
11880 CODING_FINISH_INSUFFICIENT_SRC.
11881
2ede9689
DL
118822000-02-01 Dave Love <fx@gnu.org>
11883
11884 * editfns.c (Fpropertize): Doc fix.
11885
11886 * process.c (Fstart_process): Doc fix.
11887
11888 * eval.c: Fix various doc strings not to duplicate information
11889 from help-manyarg-func-alist.
11890
52283633 11891 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11892
11893 * doc.c (Vhelp_manyarg_func_alist): New variable.
11894 (Fdocumentation): Use it.
11895 (syms_of_doc): Define it.
11896
b6680a0e
GM
118972000-01-31 Gerd Moellmann <gerd@gnu.org>
11898
2cb750ba
GM
11899 * xterm.c (xim_open_dpy): Remove unused local variable.
11900
52283633 11901 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11902
11903 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11904 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11905
b6680a0e
GM
11906 * fns.c (sweep_weak_table): New function.
11907 (sweep_weak_hash_tables): Use it. Keep on marking until there
11908 is no more change.
11909
994c5afe
GM
119102000-01-30 Gerd Moellmann <gerd@gnu.org>
11911
11912 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11913 that XTread_socket does not crash by trying to call XNoOp on a
11914 closed display.
427ec082 11915
f00276e3
JR
119162000-01-30 Jason Rumney <jasonr@gnu.org>
11917
11918 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11919 Change selected_frame to SELECTED_FRAME ().
11920 (w32_console_mouse_position): Remove #ifndef MULE from around
11921 `insist' parameter.
11922
11923 * makefile.nt: Remove dosfns.obj.
11924
11925 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11926
11927 * w32fns.c (w32_defined_color): Check for valid frame before
11928 applying gamma correction. Eliminate dependency on frame elsewhere.
11929 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11930 (w32_to_x_font): Use resx and resy not height_in and width_in.
11931 (x_to_w32_font): Doc fix.
11932 (xlfd_strip_height): New function to strip and return font height.
11933 (w32_font_match): Compare height separately from rest of xlfd
11934 spec, using xlfd_strip_height.
11935
11936 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11937 width_in. Use w32_defined_color in place of defined_color.
11938
11939 * w32faces.c: Merge more of DOS and X specifics in preparation for
11940 merge with xfaces.c.
11941 (defined_color): Remove FIXME comment.
11942 (tty_color_name): Provide w32-specific function.
11943 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11944
11945 * w32console.c (turn_on_face, turn_off_face): Removed.
11946 (w32_face_attributes): New function.
11947 (Global_variables): Reduce scope where possible.
11948 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11949 fill attribute.
11950 (hl_mode): Don't modify text attributes.
11951 (write_glyphs): Don't do anything if len <= 0. Use
11952 w32_face_attributes to get attributes for drawing. Write
11953 terminating codes using char_attr_normal.
11954 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11955 (update_begin, update_end): Likewise.
11956 (vga_stdcolor_name): New function.
11957 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11958 (Fset_screen_color): Remove char_attr_reverse.
11959
b08e8bb2
GM
119602000-01-29 Gerd Moellmann <gerd@gnu.org>
11961
11962 * xfns.c (xic_set_preeditarea): Take window parameter and
11963 window-relative pixel-positions.
11964
11965 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11966 is its frame's selected window.
11967 (xim_instantiate_callback): Likewise.
11968
11969 * xfns.c (x_create_im): Removed.
11970 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11971 (supported_xim_styles): Renamed from supported_styles.
11972 (best_xim_style): Renamed from best_style.
11973 (create_frame_xic): Renamed from xic_create_frame.
11974 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11975
b08e8bb2
GM
119762000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11977
11978 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11979 our frames, call XFilterEvent with 2nd parameter `None'.
11980 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11981 returning XBufferOverflow.
52283633 11982 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11983 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11984 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11985 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11986 (xim_initialize, xim_close)
11987 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11988 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11989 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11990 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11991
11992 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11993 and `xim_styles'.
11994 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11995 `xic_style' and `xic_xfs'.
11996 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11997 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11998 (FRAME_XIM): Removed.
11999
12000 * xfns.c (supported_styles): New variable.
12001 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12002 (xic_create_xfontset, best_style, xic_create_frame)
12003 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12004 (xic_set_xfontset): New functions.
12005
142e109c
DL
120062000-01-28 Dave Love <fx@gnu.org>
12007
12008 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12009
12010 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12011
b02786f9
GM
120122000-01-28 Gerd Moellmann <gerd@gnu.org>
12013
d060bc9f
GM
12014 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12015 for *scratch* if it already existed.
12016
b02786f9
GM
12017 * emacs.c (USAGE): New macro.
12018 (main): Use it to display usage information.
12019
2c52d7e4
EZ
120202000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12021
12022 Support for the menu-help feature:
12023
52283633 12024 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12025
12026 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12027 part of the line to the termscript file.
12028 (IT_clear_to_end): Clear the entire line, not just its beginning.
12029 (menu_help_message, prev_menu_help_message): New variables.
12030 (IT_menu_make_room): Make room for the help_text member.
12031 (IT_menu_display): New argument disp_help; all callers changed.
12032 If disp_help is non-zero, store the help text of the active menu
12033 item in menu_help_message.
12034 (XMenuAddPane): Initialize the help_text member to NULL.
12035 (XMenuAddSelection): New argument help_text. Store it in the
12036 XMenu structure.
12037 (XMenuActivate): New argument help_callback. If the value of
12038 menu_help_message has changed since the last time, display the
12039 menu help message text while waiting for the mouse to move. Clear
12040 the echo area before exiting.
12041 (XMenuDestroy): Free the help_text member.
12042
ffe0bcd1
GM
120432000-01-27 Gerd Moellmann <gerd@gnu.org>
12044
12045 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12046 XMenuAddSelection. Pass help callback to XMenuActivate.
12047 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12048
50dbd23f
EZ
120492000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12050
12051 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12052 and EMACS_SET_USECS.
12053
f5941bf8
GM
120542000-01-26 Dave Love <fx@gnu.org>
12055
6c67ddee
DL
12056 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12057
f5941bf8
GM
12058 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12059 an error may be signalled.
12060
9e49c990
GM
120612000-01-26 Gerd Moellmann <gerd@gnu.org>
12062
fc3cb460
GM
12063 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12064 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12065
9e49c990
GM
12066 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12067
d0c037d8
GM
120682000-01-25 Gerd Moellmann <gerd@gnu.org>
12069
12070 * charset.c (Fstring): If there is a multibyte char among
12071 the args, always return a multibyte string.
12072
e12489f9
GM
120732000-01-25 Gerd Moellmann <gerd@gnu.org>
12074
12075 * sysdep.c (sys_select): Turn atimers off and on instead of
12076 recording and restoring old alarm handler
12077
12078 * process.c (toplevel): Include atimer.h.
12079 (create_process_1): Rewritten.
12080 (create_process): Use atimers instead of alarm.
12081 (wait_reading_process_input) [hpux]: Turn atimers off instead
12082 of turning off SIGALRM.
12083 (wait_reading_process_input): Turn off atimers instead off
12084 calling stop_polling.
12085
12086 * emacs.c (main): Call init_atimer.
12087
12088 * keyboard.c (toplevel): Include systime.h and atimer.h.
12089 (polling_for_input): Removed because unused.
12090 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12091 (poll_timer): New variable.
12092 (poll_for_input, poll_for_input_1): New functions.
12093 (start_polling, stop_polling): Rewritten.
12094
12095 * keyboard.h (polling_for_input): Removed.
427ec082 12096
e12489f9
GM
12097 * atimer.h, atimer.c: New files.
12098
12099 * Makefile.in (obj): Add atimer.o.
12100 (atimer.o): New target.
12101
12102 * blockinput.h (pending_atimers): Add extern declaration.
12103 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12104
12105 * lisp.h (popup_activated_flag): Add extern declaration.
12106
12107 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12108 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12109 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12110
12111 * xterm.c (toplevel): Include atimer.h.
12112 (toolkit_scroll_bar_interaction): New variable.
12113 (Fxt_process_timeouts): Removed.
12114 (x_process_timeouts): New function.
12115 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12116 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12117 (x_make_frame_visible): Call poll_for_input_1 instead of
12118 input_poll_signal. Don't call alarm.
12119 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12120
1e5279b9
DL
121212000-01-24 Dave Love <fx@gnu.org>
12122
6c67ddee 12123 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12124 Don't use -cckr -- apparently not now necessary.
12125
edf6aeb8
EZ
121262000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12127
12128 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12129 screen boundary.
12130
9badad41
JR
121312000-01-23 Jason Rumney <jasonr@gnu.org>
12132
12133 * w32fns.c (w32_defined_color): Apply gamma correction before
12134 trying to map to the palette.
12135 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12136 to w32_clear_rect.
12137
12138 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12139 here. Callers changed to always pass real device context.
12140 (w32_draw_bitmap): Likewise.
12141 (w32_get_glyph_overhangs): Likewise.
52283633 12142 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12143 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12144 pfnSetScrollInfo and SetScrollRange.
12145 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12146 back into MULE characters after decoding them.
12147 (x_get_glyph_face_and_encoding): Likewise.
12148 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12149 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12150 (x_produce_glyphs): Calculate per char metrics for a character
12151 that we know exists in default font when font_not_found_p is true.
12152
63bd786b
JR
121532000-01-22 Jason Rumney <jasonr@gnu.org>
12154
12155 * makefile.nt (intervals.obj, composite.obj): New modules.
12156 (composite.h): Added as dependency where appropriate.
12157
12158 * w32gui.h (XGCValue): New struct for emulating X GCs.
12159
12160 * w32term.h (XCharStruct): New struct for emulating X.
12161
12162 * w32console.c (turn_on_face, turn_off_face): New functions.
12163 (change_line_highlight): New prototype for new redisplay.
12164 (write_glyphs): Support multibyte text. Support faces.
12165
52283633 12166 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12167
12168 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12169 throughout. struct frame * in place of FRAME_PTR.
12170 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12171 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12172 (w32_get_arg): Renamed from x_get_arg.
12173 (Fx_file_dialog): New function.
12174 (w32_list_fonts): Check cache before asking system.
12175 (Vw32_enable_synthesized_fonts): New variable.
12176 (Vw32_enable_italics): Obsolete, removed.
12177
12178 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12179 Use SELECTED_FRAME macro.
12180
12181 * w32menu.c: Add skeleton support for help strings on menus.
12182 (add_menu_item): Native checkbox and radio support added, but not
12183 yet enabled due to bugs.
12184 (push_menu_item): Add parameters type, selection and help.
12185 Callers updated.
12186 Formatting changes to reduce unnecessary diffs with xmenu.c.
12187
12188 * w32select.c (Fw32_set_clipboard_data): Update call to
12189 find_charset_in_str.
12190
12191 * w32term.c: Complete rewrite for new redisplay based on new
12192 xterm.c with necessary sections merged back in from old w32term.c.
12193
6ffd3cf7 121942000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12195
12196 * data.c (set_internal): Further fix in same criterion.
12197
6ffd3cf7 121982000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12199
12200 * data.c (set_internal): Fix the criteria for whether
12201 to swap out the old cached binding.
12202
60af03f1
DL
122032000-01-19 Dave Love <fx@gnu.org>
12204
12205 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12206
f9be074f
KH
122072000-01-18 Kenichi Handa <handa@etl.go.jp>
12208
12209 * regex.c (re_compile_fastmap): While checking a range table for
12210 `charset', skip flag bits for a character class correctly.
12211
52b8dbf9
GM
122122000-01-17 Gerd Moellmann <gerd@gnu.org>
12213
d36100c9
GM
12214 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12215
52283633 12216 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12217
12218 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12219 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12220
12221 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12222 MENU_ITEMS_ITEM_.*.
12223 (MENU_ITEMS_ITEM_HELP): New enumerator.
12224 (push_menu_item): Add parameter HELP. Record help in menu_items.
12225 (single_menu_item, single_submenu, list_of_items): Call
12226 push_menu_item with new parameter.
12227 (single_submenu): Set help string in widget value.
12228 (menu_highlight_callback): New function.
12229 (set_frame_menubar): Call lw_create_widget with new
12230 parameter list.
12231 (xmenu_show, xdialog_show): Ditto.
12232
3139018f
GM
122332000-01-13 Gerd Moellmann <gerd@gnu.org>
12234
12235 * sound.c (Fplay_sound): Improve doc string.
12236
83c8f461
RS
122372000-01-11 Richard M. Stallman <rms@gnu.org>
12238
12239 * lisp.h (set_internal): Enter the new arg.
12240
12241 * eval.c (specbind): Record buffer-local variables specially,
12242 indicating which buffer's binding was saved.
12243 (unbind_to): Restore buffer-local variables specially
12244 in the proper buffer.
12245
12246 * data.c (set_internal): New arg BUF.
427ec082 12247
83c8f461
RS
12248 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12249 * data.c (Fset): Pass new arg to set_internal.
12250 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12251
1fab1775
GM
122522000-01-11 Gerd Moellmann <gerd@gnu.org>
12253
52283633 12254 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12255
83c8f461 122562000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12257
12258 * minibuf.c (Ftry_completion): Doc fix.
12259
7a85e4df
GM
122602000-01-11 Gerd Moellmann <gerd@gnu.org>
12261
12262 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12263 vector, too.
12264
a970dae4
AS
122652000-01-11 Andreas Schwab <schwab@suse.de>
12266
12267 * coding.c (code_convert_region): Initialize total_skip.
12268
c65d14ee
DL
122692000-01-08 Dave Love <fx@gnu.org>
12270
12271 * eval.c (Fuser_variable_p): Check customizability too.
12272
834938d2
GM
122732000-01-07 Gerd Moellmann <gerd@gnu.org>
12274
12275 * minibuf.c (Fcompleting_read): Doc fix.
12276
e0303cd6
GM
122772000-01-05 Gerd Moellmann <gerd@gnu.org>
12278
8a26744b
GM
12279 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12280 -L /usr/local/lib.
12281
e0303cd6
GM
12282 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12283 Check that input style is supported before trying to create an
12284 IC for it.
12285 (x_window): Call x_create_im.
427ec082 12286
2e471eb5
GM
122872000-01-04 Gerd Moellmann <gerd@gnu.org>
12288
560a7bd2
GM
12289 * xfns.c (current_gif_memory_src): New variable.
12290 (gif_load): Record the address of the current memory source
12291 in current_gif_memory_src.
12292 (gif_read_from_memory): Use current_gif_memory_src.
12293
f9ee84a3
GM
12294 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12295 macros statement form.
12296
d1299cde
GM
12297 * sound.c (struct sound): Renamed from struct sound_file.
12298 (struct sound): Add members `data' and `header_size'.
12299 (enum sound_attr): Add SOUND_DATA.
12300 (current_sound, current_sound_device): Variables renamed from
12301 sound_file and sound_device.
12302 (parse_sound): Parse :data.
12303 (parse_sound): Handle sound data in strings.
12304 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12305 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12306 needed header size.
12307 (wav_play, au_play): Play sounds from string data.
12308
2e471eb5
GM
12309 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12310
12311 * lisp.h: Add prototype for allocate_string_data.
12312
52283633 12313 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12314
12315 * alloc.c (mark_buffer): Remove code in #if 0.
12316 (gc_sweep): Ditto.
12317 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12318 (strings_consed): New variable.
12319 (allocate_string): Set it.
12320 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12321 (Fmemory_use_counts): Return strings_consed. Use Flist.
12322
12323 * alloc.c: General cleanup in comments etc. Remove conditional
12324 compilation for `standalone'.
12325
12326 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12327
12328 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12329 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12330 (DONT_COPY_FLAG): Removed.
12331 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12332 (struct sdata, struct sblock): New
12333 (struct string_block): Rewritten.
12334 (STRINGS_IN_STRING_BLOCK): New macro.
12335 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12336 (large_sblocks, string_blocks, string_free_list): New variables.
12337 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12338 (init_strings): Rewritten.
12339 (allocate_string, allocate_string_data, compact_small_strings)
12340 (free_large_strings, sweep_strings): New functions.
12341 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12342 (struct string_block_head, current_string_block)
12343 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12344 (STRING_PAD): Removed.
12345 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12346 (Fgarbage_collect): Don't set mark bit in large strings.
12347 (mark_object): Mark strings differently. Mark symbol names
12348 differently.
12349 (survives_gc_p): Test marked strings differently.
427ec082 12350 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12351 symbol names.
12352 (compact_strings): Removed.
12353
42608ba8
EZ
123542000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12355
12356 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12357 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12358
e0a09e1a
KH
123592000-01-04 Kenichi Handa <handa@etl.go.jp>
12360
dd9f0750 12361 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12362 in a non-empty buffer.
dd9f0750 12363
3c0f3b15 12364 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12365
44cd3ae5
GM
123662000-01-03 Gerd Moellmann <gerd@gnu.org>
12367
12368 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12369 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12370
12371 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12372
c182a70f
EZ
123732000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12374
12375 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12376 need to test for MSDOS frames.
12377
24480d5b
EZ
123782000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12379
12380 * dosfns.c (unspecified_colors): Remove.
12381 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12382 unspecified_bg.
12383 (msdos_stdcolor_name): Return strings for unspecified fore- and
12384 back-ground colors.
12385
12386 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12387 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12388 (tty_color_name): Return Lisp strings for unspecified fore- and
12389 back-ground colors.
12390 (Finternal_set_lisp_face_attribute): Remove the special treatment
12391 for Qunspecified_{f,b}g.
52283633 12392 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12393
047f434a
GM
123942000-01-03 Gerd Moellmann <gerd@gnu.org>
12395
12396 * xdisp.c (reseat_at_next_visible_line_start): Position before
12397 newline only if ending up on a newline.
12398 (next_element_from_ellipsis): Return success. Handle case of
52283633 12399 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12400 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12401 returns 0.
12402
d684c676
EZ
124032000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12404
12405 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12406 (Fcolor_supported_p): Renamed from face-color-supported-p.
12407
5fe1d139
EZ
124082000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12409
12410 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12411 list of colors renamed to tty-defined-color-alist.
12412 (tty_color_name): Pass the frame to tty-color-by-index.
12413 (realize_tty_face): tty-color-alist is now a function which
12414 accepts the frame as argument.
12415
52283633 12416 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12417
816be8b8
EZ
124182000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12419
12420 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12421 encode_terminal_code.
12422
b635321e
EZ
124232000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12424
12425 * dispnew.c (mode_line_string): Support termcap frames as well.
12426
9b784e96
GM
124272000-01-01 Gerd Moellmann <gerd@gnu.org>
12428
27189709
GM
12429 * syntax.c (Fforward_word): Undo previous change.
12430
12431 * editfns.c (Fconstrain_to_field): Don't constrain if
12432 inhibit-field-text-motion is non-nil.
12433 (Fline_beginning_position): Undo previous change.
12434 (Fline_end_position): Ditto.
12435
12436 * syntax.c (Fforward_word): Notice field boundaries only if
12437 inhibit-field-text-motion is nil.
12438
12439 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12440
12441 * editfns.c (Vinhibit_field_text_motion): New variable.
12442 (inhibit-field-text-motion): New DEFVAR_LISP.
12443 (Fline_beginning_position, Fline_end_position): Notice field
12444 boundaries only if inhibit-field-text-motion is nil.
12445
45158a91
GM
12446 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12447 All calls adjusted.
12448 (x_build_heuristic_mask): Likewise.
12449 (xbm_load_image_from_file): Change error output.
12450 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12451 (gif_load, gs_load, x_kill_gs_process): Ditto.
12452
9b784e96
GM
12453 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12454 color indices when accessing raster pixels.
63cec32f
GM
12455 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12456 one of :file or :data.
12457 (enum pbm_keyword_index): Add PBM_DATA.
12458 (pbm_format): Add :data.
12459 (pbm_image_p): Allow either :file or :data.
12460 (pbm_read_file): New function.
12461 (pbm_scan_number): Rewritten to read from string.
12462 (pbm_load): Support :data.
9b784e96 12463
2cb085db 12464See ChangeLog.8 for earlier changes.
6922b018
KH
12465
12466;; Local Variables:
49b3bd82 12467;; coding: iso-2022-7bit
6922b018 12468;; End: