(ange-ftp-skip-msgs): Add 227 and 228 for Long
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ae1a9581
MB
12001-10-02 Miles Bader <miles@gnu.org>
2
3 * textprop.c (Fnext_char_property_change)
4 (Fprevious_char_property_change): Remove reference to non-existant
5 argument OBJECT from doc-string.
6
257e3f57
GM
72001-10-01 Gerd Moellmann <gerd@gnu.org>
8
9 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
10 (try_window_id): Skip back over lines ending in a newline from a
11 string.
12
13 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
14 New bit flag
15
c1f29759
RS
162001-10-01 Richard M. Stallman <rms@gnu.org>
17
18 * search.c (Freplace_match): Doc fix.
19
c30dce3d
AI
202001-09-28 Andrew Innes <andrewi@gnu.org>
21
22 * w32menu.c (set_frame_menubar): Take into account that
23 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
24 <raeburn@gnu.org>.
25
03be5931
EZ
262001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
27
28 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
29
75bec752
PJ
302001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
31
32 * s/gnu-linux.h: Fix a typo in comment.
33
83100e0a
AS
342001-09-28 Andreas Schwab <schwab@suse.de>
35
36 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
37 nocombreloc, in case -z combreloc is the default.
38
a74b48cf
GM
392001-09-28 Gerd Moellmann <gerd@gnu.org>
40
41 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
42 really going on here.
43
09c4719e
SM
442001-09-27 Stefan Monnier <monnier@cs.yale.edu>
45
46 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
47
f7d5d963
EZ
482001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
49
50 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
51 utf-8, menu-bar, and latin-N.
52 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
53 unconditionally now.
54 (lisp): Add latin-N, since they are preloaded.
55
9240e746
GM
562001-09-27 Gerd Moellmann <gerd@gnu.org>
57
14531065
GM
58 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
59 to the left. Some cleanup.
60
9240e746
GM
61 * xdisp.c (display_mode_element): One more case where a string's
62 multibyteness should be used for display.
63
edd1e654
GM
642001-09-26 Gerd Moellmann <gerd@gnu.org>
65
b02439c8
GM
66 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
67 reading at EOF.
68
032906b1 69 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 70 of the only temporarily set echoing flag for deciding when
032906b1
GM
71 the cancel echoing.
72
73 * keyboard.c (echo_kboard): Make externally visible.
74
75 * lisp.h (echo_kboard): Declare extern.
76
cb617e7c 77 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 78 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
79 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
80 this round of redisplay if make_cursor_line_fully_visible fails.
81 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 82 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
83
84 * dispextern.h (required_matrix_width, required_matrix_height):
85 Add prototypes.
86
09c4719e
SM
87 * dispnew.c (required_matrix_width, required_matrix_height):
88 New functions.
cb617e7c 89 (allocate_matrices_for_window_redisplay)
09c4719e
SM
90 (allocate_matrices_for_frame_redisplay: Use them.
91 Remove parameters CH_DIM.
cb617e7c 92
edd1e654
GM
93 * xdisp.c (display_mode_lines): Temporarily set selected_frame
94 and selected_window to the frame of the window whose mode-lines
95 are displayed, and to the window itself.
96 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 97 here.
edd1e654 98
924b604c
GM
992001-09-25 Gerd Moellmann <gerd@gnu.org>
100
daba7643
GM
101 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
102 the image cache under us.
103
b7a22712 104 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 105 with a string value, use that string's multibyteness for displaying.
b7a22712 106
ad648212
GM
107 * keyboard.c (read_char): Don't clear a message for a switch-frame
108 event. From Stefan Monnier <monnier@cs.yale.edu>.
109
9f8531e5
GM
110 * xterm.c (fast_find_position) [0]: Add a presumably more correct
111 version for after 21.1.
112
113 * xdisp.c (row_containing_pos): Make externally visible.
114
115 * dispextern.h (row_containing_pos): Add prototype.
116
924b604c
GM
117 * process.c (send_process): Disable composition if from_byte < 0.
118 From Kenichi Handa <handa@etl.go.jp>.
119
6f3f0db4
GM
1202001-09-24 Gerd Moellmann <gerd@gnu.org>
121
c69c0ebc
GM
122 * xterm.c (refreshicon): Function removed.
123
d1182bc4
GM
124 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
125
126 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
127
128 * xterm.c (toplevel): Remove includes in #if 0.
129
6f3f0db4
GM
130 * process.c (sigchld_handler) [LINUX]: Don't return from
131 the signal handler at the end of the loop.
132
59957f85
GM
1332001-09-21 Gerd Moellmann <gerd@gnu.org>
134
09c4719e
SM
135 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
136 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 137
a0528984
EZ
1382001-09-21 Markus Rost <rost@math.ohio-state.edu>
139
140 * Makefile.in (shortlisp): Add ../lisp/env.elc.
141
db92b288
GM
1422001-09-20 Gerd Moellmann <gerd@gnu.org>
143
3fed8ad5
GM
144 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
145 since this function can be called during GC.
146
db92b288
GM
147 * callproc.c (Fcall_process): Handle errors from pipe(2).
148 (child_setup): Delete code in #ifdef vipc.
149
7121b85a
GM
1502001-09-19 Gerd Moellmann <gerd@gnu.org>
151
72f62cb5
GM
152 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
153 (display_mode_element): Display the string from decode_mode_spec
154 depending on its multibyteness.
155
a2697022
GM
156 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
157
7121b85a
GM
158 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
159
bfc97351
GM
1602001-09-18 Gerd Moellmann <gerd@gnu.org>
161
c9063433
GM
162 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
163 recursive_edit_unwind.
164 (recursive_edit_unwind): Set kboard state according to
165 SINGLE-KBOARD.
166
3fbdba3e
GM
167 * buffer.c (modify_overlay): Don't do nothing if START == END;
168 This can still be a modification, for example when an overlay has
169 a before-string or after-string.
170 (Fdelete_overlay): Prevent redisplay optimizations when deleting
171 an overlay with before-string or after-string.
172
1270031d
GM
173 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
174 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
175
bfc97351
GM
176 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
177 first_unchanged_at_end_row is in front of
178 last_unchanged_at_beg_row. This code should be removed after the
179 release of 21.1.
180
d8a973aa
GM
1812001-09-17 Gerd Moellmann <gerd@gnu.org>
182
e18c8b8d
GM
183 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
184 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
185
d8a973aa
GM
186 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
187 versions >= 2.95.
188
ed7d6ba4
EZ
1892001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
190
191 * dired.c (Ffile_attributes): Doc fix.
192
551629f9
GM
1932001-09-14 Gerd Moellmann <gerd@gnu.org>
194
195 * fileio.c (Ffile_symlink_p): Fix last change.
196
197 * filelock.c (current_lock_owner): Fix last change.
198
4c8c7926
GM
1992001-09-13 Gerd Moellmann <gerd@gnu.org>
200
620c4704
GM
201 * filelock.c (current_lock_owner): If readlink returns ERANGE,
202 take that to mean that the buffer is too small.
203
81c3310d
GM
204 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
205 that to mean that the buffer is too small.
206
06fd3792
GM
207 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
208 current buffer's multibyteness when discarding the iterator's
209 stack.
210
4c8c7926
GM
211 * xfns.c (Fx_window_property): Handle case that property gets
212 deleted between the two calls to XGetWindowProperty.
213
9a72e4c1
GM
2142001-09-11 Gerd Moellmann <gerd@gnu.org>
215
bd819d14
GM
216 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
217
a41edd99
GM
218 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
219 in addition to read-only.
220
221 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
222 to t in addition to read-only.
223
224 * lisp.h (Qinhibit_modification_hooks): Declare.
225
226 * insdel.c (Qinhibit_modification_hooks): New variable.
227 (syms_of_insdel): Initialize and staticpro it.
228
d4881c6a
GM
229 * textprop.c (verify_interval_modification): Don't run
230 modification-hooks if inhibit_modification_hooks.
231
232 * dispnew.c (set_window_cursor_after_update): Fix code
233 finding glyph row containing cursor when cursor_in_echo_area
234 is >= 0.
235
9a72e4c1
GM
236 * xdisp.c (init_from_display_pos): Put some code in #if 0.
237 (add_to_log): Use bcopy instead of strcpy.
238 (init_from_display_pos): Use an explicit loop over bytes in
239 overlay strings instead of calling index.
240
f4a374a1
GM
2412001-09-10 Gerd Moellmann <gerd@gnu.org>
242
300e57bd
GM
243 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
244
245 * dispnew.c (direct_output_for_insert): Don't change IT's
246 stop_charpos to something in front of its current position.
247
f4a374a1
GM
248 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
249 `format'.
250
7e4cbc91
RS
2512001-09-10 Richard M. Stallman <rms@gnu.org>
252
253 * frame.c (Fmouse_position): Doc fix.
254
6afad91e
GM
2552001-09-07 Gerd Moellmann <gerd@gnu.org>
256
257 * xdisp.c (init_from_display_pos): Don't compare the result
258 of calling index with NULL.
259
f76e0368
GM
2602001-09-06 Gerd Moellmann <gerd@gnu.org>
261
262 * xfns.c (x_set_background_color): Don't change the colors
263 of the X window of scroll bar widgets.
264
9ead1b60
AI
2652001-09-05 Andrew Innes <andrewi@gnu.org>
266
267 * w32fns.c (w32_createwindow): Undo last change.
268
c3b497b3
GM
2692001-09-05 Gerd Moellmann <gerd@gnu.org>
270
08e1d6df
GM
271 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
272
c3b497b3
GM
273 * xdisp.c (string_buffer_position): Use *single_char_property*
274 functions instead of the *single_property* functions.
275
8f860180
AI
2762001-09-04 Andrew Innes <andrewi@gnu.org>
277
9a72e4c1
GM
278 * w32term.c (w32_read_socket): Add more information to debugging
279 output.
8f860180
AI
280
281 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
282 from Emacs frames, so that calls to GetClipBox in w32term.c
283 correctly report when part of a frame is visible (including
284 scrollbars, etc). This prevents repeated redrawing of frames when
285 only a scrollbar is visible.
286 (w32_wnd_proc): Add more frame information to debugging output.
287
2ee1aa00
SM
2882001-09-03 Stefan Monnier <monnier@cs.yale.edu>
289
290 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
291
e3b22517
GM
2922001-09-03 Gerd Moellmann <gerd@gnu.org>
293
7e376260
GM
294 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
295 help-echo for a string which doesn't have help-echo itself, use
296 get-char-property to obtain the help-echo from the string's buffer
297 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
298 have mouse-face, look ``under'' the string for mouse-face from an
299 overlay.
300 (fast_find_position): Add parameter STOP. In the final row, stop
301 before glyphs having STOP as object. Don't consider glyphs that
302 are not from a buffer.
303
e3b22517
GM
304 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
305
9a249bba
EZ
3062001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
307
308 * fns.c (Fmd5): Doc fix.
309
c9979669
GM
3102001-08-31 Gerd Moellmann <gerd@gnu.org>
311
312 * composite.c (update_compositions): Do nothing if
313 inhibit-modification-hooks is set.
314
9584e63a
GM
3152001-08-30 Gerd Moellmann <gerd@gnu.org>
316
986ec8f2 317 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 318 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
319 glyph matrices etc. in a core dump.
320
92a25631
GM
321 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
322 (syms_of_xdisp): Initialize them.
323 (handle_single_display_prop): Don't change point, bind `object',
324 `position', and `buffer-position' instead to the object having the
2ee1aa00 325 `display' property, position in the object and position in the buffer.
92a25631 326
9584e63a
GM
327 * fileio.c (Finsert_file_contents): Don't change the multibyteness
328 of the buffer if REPLACE is non-nil.
329
d38633a3
GM
3302001-08-29 Gerd Moellmann <gerd@gnu.org>
331
332 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
333
f4fccc1e
EZ
3342001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
335
336 * w32term.c (x_set_glyph_string_background_width)
337 (show_mouse_face): Track the last changes in xterm.c.
338
eaaa65b0
GM
3392001-08-28 Gerd Moellmann <gerd@gnu.org>
340
7b0870b2
GM
341 * xterm.c (x_set_glyph_string_background_width): Set the glyph
342 string's background width so that multi-line mouse-face is drawn
343 to the right edge of the window.
344 (show_mouse_face): Set the row's mouse_face_p flag after drawing
345 glyphs.
346
6b6e2422 347 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 348 before inserting/writing glyphs.
6b6e2422 349
eaaa65b0
GM
350 * xdisp.c (display_mode_element): Use string_byte_to_char to
351 determine character positions in strings, use chars_in_text
352 instead of strwidth.
353 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
354 a matrix as parameter; this is easier to use from GDB.
355
9ad62cf8
MB
3562001-08-28 Miles Bader <miles@gnu.org>
357
2ee1aa00
SM
358 * textprop.c (Fprevious_single_char_property_change)
359 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 360
32171635
GM
3612001-08-27 Gerd Moellmann <gerd@gnu.org>
362
47d57b22
GM
363 * fileio.c (Finsert_file_contents): Allocate, restore, and
364 free composition data in the case of REPLACE not being nil.
365
366 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
367 there exist overlay strings with newlines at POS.
368 (text_outside_line_unchanged_p): Return 0 if changes start at
369 START and overlays exist at START. Likewise for END.
370 (try_window_id): Give up if init_to_row_end returns 0.
371
32171635
GM
372 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
373 unconditionally.
374
e1249666
GM
3752001-08-24 Gerd Moellmann <gerd@gnu.org>
376
33954c45
GM
377 * keymap.c (access_keymap): Return the cdr of the binding of
378 a generic character instead of its definition (KEY . BINDING).
379
e1249666
GM
380 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
381 to 0 also in the REPLACE case.
382
fb4c6c96
AC
3832001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
384
385 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
386 open to determine whether file is readable (as for DOS_NT).
387
59ecf80b
GM
3882001-08-23 Gerd Moellmann <gerd@gnu.org>
389
390 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
391 coding.type is coding_type_no_conversion or coding_type_raw_text,
392 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
393 non-nil instead of just setting enable_multibyte_characters in the
394 buffer to nil.
395
40e33037
GM
3962001-08-22 Gerd Moellmann <gerd@gnu.org>
397
374388c3
GM
398 * dispextern.h (struct face_cache): Add member
399 menu_face_changed_p.
400
401 * xfaces.c (menu_face_changed_default): New variable.
402 (menu_face_changed_count): Variable removed.
403 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
404 the menu_face_changed_default flag, otherwise set the FRAME's
405 menu_face_changed_p flag if the `menu' face has been changed.
406 Prevent calling set_font_frame_param if FRAME is t.
407 (make_face_cache): Initialize cache's menu_face_changed_p
408 from menu_face_changed_default.
409 (realize_basic_faces): Look into the frame's face cache to
410 determine if the menu appearance needs updating.
411
40e33037
GM
412 * keymap.c (access_keymap): Fix last change to not consider
413 IDX when it has modifiers.
414
859ea4b8
GM
4152001-08-21 Gerd Moellmann <gerd@gnu.org>
416
417 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
418 . BINDING) exists, where GENERIC-CHAR is the generic character of
419 the charset of IDX, return BINDING unless there exists a binding
420 for IDX itself.
421
e8660d73
GM
4222001-08-16 Gerd Moellmann <gerd@gnu.org>
423
cca1b1d7
GM
424 * xrdb.c (SYSV): Don't define on Solaris 2.
425 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
426
e8660d73 427 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 428 of the screen line, not text line, containing IT's current position.
e8660d73 429
93aba6fc
GM
4302001-08-15 Gerd Moellmann <gerd@gnu.org>
431
288d4e06
GM
432 * window.c (window_scroll_pixel_based): Don't recenter if
433 PT is partially visible in the window.
434
3452efc2
SM
435 * xterm.c (expose_window_tree, expose_window, expose_line):
436 Return 1 when overwriting mouse-face.
82f053ab
GM
437 (expose_frame): If mouse-face was overwritten, redo it.
438
93aba6fc
GM
439 * xfaces.c (x_update_menu_appearance): Don't call
440 set_frame_menubar, let the next redisplay do it.
441
858a55c1
AI
4422001-08-14 Andrew Innes <andrewi@gnu.org>
443
444 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
445 drawing glyph string.
446
3a990b67
EZ
4472001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
448
449 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
450 running HI-UX/MPP.
451
04386463
GM
4522001-08-14 Gerd Moellmann <gerd@gnu.org>
453
454 * xfaces.c (x_update_menu_appearance): Save and restore value of
455 interrupt_input_blocked.
456
3e6385a4
GM
4572001-08-13 Gerd Moellmann <gerd@gnu.org>
458
b0e619b4
GM
459 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
460 a line start, move back to the line start.
3452efc2 461
0de73d5a
GM
462 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
463 exactly when a mini-buffer is active.
464
3e6385a4
GM
465 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
466 in units of 1/8 character on non window-system frames.
467 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
468
d1b5f629
EZ
4692001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
470
471 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
472 a doc string.
473
eaa2319f
GM
4742001-08-09 Gerd Moellmann <gerd@gnu.org>
475
8e3189f0
GM
476 * keyboard.c (Vpre_help_message): New variable.
477 (syms_of_keyboard): Initialize and staticpro it.
478 (show_help_echo): Record current message before displaying a
479 help-echo, and restore that message when clearing the help.
480
eaa2319f
GM
481 * xfns.c (x_create_im): Remove prototype.
482
483 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
484
485 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 486
eaa2319f
GM
4872001-08-08 Gerd Moellmann <gerd@gnu.org>
488
489 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 490 windows whose height has changed, disable partially visible lines.
eaa2319f 491
17fdcfc8
GM
4922001-08-07 Gerd Moellmann <gerd@gnu.org>
493
22d01aed 494 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 495 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 496
17fdcfc8
GM
497 * xdisp.c (start_display): Don't try to determine the continuation
498 lines width if lines are truncated. It's superfluous and leads to
499 incorrect results if POS is not visible in the window after
500 reseating the iterator at the previous line start.
501
8e3fe78e
GM
5022001-08-06 Gerd Moellmann <gerd@gnu.org>
503
504 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
505
98a8938c
GM
5062001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
507
508 * alloc.c (init_stack): Remove declaration.
509
18f9986a
GM
5102001-08-03 Gerd Moellmann <gerd@gnu.org>
511
5e1f85e0
GM
512 * keyboard.c (read_key_sequence): Check that key is an integer
513 before comparing it with quit_char.
514 (add_command_key): Use larger_vector.
515 (read_char_x_menu_prompt): Instead of converting symbol and
516 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 517 which cannot be confused with valid events.
5e1f85e0
GM
518 (read_char): When reading from Vunread_command_events, check for
519 events of the form (EVENT . disabled) instead of
520 (EVENT . nil).
521
18f9986a
GM
522 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
523 a float, determine the max height from the frame's height.
524
fbc7f2a6
GM
5252001-08-02 Gerd Moellmann <gerd@gnu.org>
526
527 * xdisp.c (redisplay_internal): Take message_cleared_p into
528 account only if minibuf_level == 0.
529
81b1a79d
GM
5302001-08-01 Gerd Moellmann <gerd@gnu.org>
531
e5c60873
GM
532 * xdisp.c (redisplay_internal): Add a check for the last
533 displayed message.
3452efc2 534
6e019995
GM
535 * xdisp.c (message_cleared_p): New variable.
536 (clear_message): Set message_cleared_p when clearing the current
537 message.
538 (redisplay_internal): Look at message_cleared_p to capture
539 the case that the echo area should be cleared.
540
308a74d8
GM
541 * keyboard.c (command_loop_1): Fix spelling of
542 resize_echo_area_exactly.
543
3452efc2 544 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
545
546 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
547
81b1a79d
GM
548 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
549 current matrix when the window gets smaller.
550
ada329e6
EZ
5512001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
552
553 * print.c (strout): Cast the character passed to insert_char to
554 unsigned char, to avoid sign extension when it is promoted to int.
555
ed86208c
GM
5562001-07-31 Gerd Moellmann <gerd@gnu.org>
557
558 * fileio.c (Finsert_file_contents): Don't treat a return value
559 of 0 from emacs_read as an IO error.
560
6594ac22
GM
5612001-07-30 Gerd Moellmann <gerd@gnu.org>
562
cef68af5
GM
563 * keyboard.c (abs): New macro.
564 (double_click_fuzz): New variable.
565 (make_lispy_event): Use it to determine what makes a double-click.
566 (syms_of_keyboard): DEFVAR_INT it.
567
6594ac22
GM
568 * xmenu.c (set_frame_menubar): Take into account that
569 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
570 <raeburn@gnu.org>.
571
75c5350a
GM
5722001-07-27 Gerd Moellmann <gerd@gnu.org>
573
574 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
575
576 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
577 of row's visible height.
578
579 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
580 deal with the first overlay string having an image `display' property.
581 (try_window_reusing_current_matrix, compute_line_metrics):
582 Fix computation of row's visible height for the case that part of the
75c5350a
GM
583 row is invisible above and part of the row is at the same time
584 invisible below the window.
585
ac49effe
GM
5862001-07-26 Gerd Moellmann <gerd@gnu.org>
587
588 * xfns.c (x-show-tip): Doc fix.
3452efc2 589
ac49effe
GM
590 * xfns.c (Vx_max_tooltip_size): New variable.
591 (syms_of_xfns): DEFVAR_LISP it.
592 (Fx_show_tip): Set frame's window_width to the width of the
593 window. Use a maximum tooltip size specified by
594 Vx_max_tooltip_size, if that has valid contents.
595 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 596
8c3b00cb
AI
5972001-07-26 Andrew Innes <andrewi@gnu.org>
598
599 * w32term.c (x_display_list): New variable.
600 (w32_term_init): Set it.
601
602 * w32term.h (x_display_list): New extern.
603
16098288
GM
6042001-07-26 Gerd Moellmann <gerd@gnu.org>
605
606 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
607 is non-nil, instead of when redisplaying_p is non-zero.
608 See comment there.
16098288
GM
609 (mark_window_display_accurate_1): Add an assertion.
610
64c5be50
GM
6112001-07-25 Gerd Moellmann <gerd@gnu.org>
612
e743f599
GM
613 * dispextern.h (struct it): Increase size of ctl_chars to 16.
614
563b384d
GM
615 * xfns.c (Fx_file_dialog): Block/unblock input while processing
616 events so that we get a chance of processing expose events.
617
64c5be50
GM
618 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
619
296808a5
GM
6202001-07-24 Gerd Moellmann <gerd@gnu.org>
621
622 * xfns.c (valid_image_p): Protect better against invalid image
623 specifications. Previous code could signal an error.
624
5247262a
GM
6252001-07-23 Gerd Moellmann <gerd@gnu.org>
626
3452efc2 627 * indent.c (current_column): Fix column computation in the
f1004faf
GM
628 presence of display table entries.
629 (current_column_1, Fmove_to_column, compute_motion): Likewise.
630
dd42b31a
GM
631 * dispnew.c (adjust_glyph_matrix): In the optimization for
632 windows whose height has changed, use the new window height
633 to compute which rows to invalidate.
634
9e5a7f2a
GM
635 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
636 (MAX_10_EXP): New macro.
637 (Fformat): Use it.
638
5247262a
GM
639 * coding.c (code_convert_region): Handle the multibyte case if
640 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
641
177ab8ce
GM
6422001-07-20 Gerd Moellmann <gerd@gnu.org>
643
6e07c0a5
GM
644 * dispextern.h (struct face): Change type of `stipple' to
645 int; it's an ID.
646
177ab8ce
GM
647 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
648
b5b80599
GM
6492001-07-19 Gerd Moellmann <gerd@gnu.org>
650
4e2a256b
GM
651 * dispnew.c (update_window): Don't set the cursor at the end
652 of the update if display update has been paused.
653
3452efc2 654 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 655
c1fd9232
KR
6562001-07-18 Ken Raeburn <raeburn@gnu.org>
657
658 * fns.c (Fset_char_table_default): Check that a charset is defined
659 before checking its dimension.
660
928a85c1
KR
6612001-07-17 Ken Raeburn <raeburn@gnu.org>
662
663 * coding.c (setup_coding_system): Don't do any designation based
664 on reg_bits if charset is not yet defined.
665
fb4c6c96 666 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
667 pointer, using eassert.
668
de11c1ea
GM
6692001-07-17 Gerd Moellmann <gerd@gnu.org>
670
3452efc2
SM
671 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
672 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 673
467f1209
GM
6742001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
675
676 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
677
c3d6be34
GM
6782001-07-16 Gerd Moellmann <gerd@gnu.org>
679
c1d61a7d
GM
680 * fileio.c (unwind_read): Function removed.
681 (read_non_regular, read_non_regular_quit): New functions.
682 (Finsert_file_contents): When reading from non-regular files,
683 arrange to catch a `quit' and terminate the loop. Rearrange
684 code so that a `quit' when reading from a regular file doesn't
685 insert text in the buffer.
686
c3d6be34
GM
687 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
688 Clear faces afterwards.
689 (clear_font_table): Take a x_display_info parameter. Don't free
690 fonts being the default font of any frame on the given display.
691
e06aa1f9
GM
6922001-07-13 Gerd Moellmann <gerd@gnu.org>
693
694 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
695 instead of CHAR_STRING which can signal an error.
696
697 * charset.c (char_to_string_1): Extracted from char_to_string.
698 Return -1 instead of signaling an error.
699 (char_to_string): Use it.
700
701 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
702
176c92e6
SM
7032001-07-12 Stefan Monnier <monnier@cs.yale.edu>
704
705 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
706 is t, don't try to append anything to it.
707
1c56232f
EZ
7082001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
709
710 * dired.c (file_name_completion): Pass dp->d_name to
711 Fstring_match, not elt, which is always nil here.
712
1d2b2268
GM
7132001-07-12 Gerd Moellmann <gerd@gnu.org>
714
715 * xselect.c (x_decline_selection_request): Handle errors
716 caused by receivers that have vanished.
717
718 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
719 ignoring events on foreign windows in #if 0. Always dispatch
720 the event after checking it with x_handle_property_notify.
721
722 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
723 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
724 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
725 (toplevel): Add prototypes for file-local functions.
726 (x_atom_to_symbol): Remove DPYINFO parameter.
727
fe5a0162
SM
7282001-07-11 Stefan Monnier <monnier@cs.yale.edu>
729
730 * w32menu.c (menubar_selection_callback, w32_menu_show):
731 Initialize `entry' to nil.
732 (w32_dialog_show): Remove unused `save_wv' variable.
733 (name_is_separator): Recognize "--:foo" and "--foo-bar".
734
a777242c
GM
7352001-07-11 Gerd Moellmann <gerd@gnu.org>
736
8ee5b6a3
GM
737 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
738
d0e2444e
GM
739 * fileio.c (unwind_read): Print a message when discarding inserted
740 text or switching the buffer to unibyte. Change parameter.
741 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 742
a777242c
GM
743 * fileio.c (unwind_read): New function.
744 (Finsert_file_contents): Record it as unwind-function for
745 the case that reading is interrupted by C-g.
746
ae794295
GM
7472001-07-10 Gerd Moellmann <gerd@gnu.org>
748
fe5a0162 749 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
750 update when scrolling_window returns 0.
751
6b05fae3
GM
752 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
753
754 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 755 for the case that x_decode_color signals an error.
6b05fae3 756
ae794295
GM
757 * xdisp.c (add_to_log): Do nothing if called asynchronously.
758
bb6e8cee
GM
7592001-07-09 Gerd Moellmann <gerd@gnu.org>
760
761 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
762 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
763 around ioctls.
764
36b40a8a
EZ
7652001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
766
24b97d4b
EZ
767 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
768 doc string line for dos-timezone-offset.
769
36b40a8a
EZ
770 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
771 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
772 (syms_of_msdos): Add \n\ at the end of a line in the doc string
773 line for dos-unsupported-char-glyph.
36b40a8a
EZ
774
775 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
776
0967b4b0
GM
7772001-07-05 Gerd Moellmann <gerd@gnu.org>
778
f25cfe53
GM
779 * sound.c: Include Emacs' header files with #include "...".
780
0967b4b0
GM
781 * eval.c (specbind): Additionally record the buffer that was
782 current when a buffer-local or frame-local variable was bound.
783
c347a1c3
GM
7842001-07-04 Gerd Moellmann <gerd@gnu.org>
785
786 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
787 to unibyte characters in unibyte buffers.
788
6332ca8a
GM
7892001-07-03 Gerd Moellmann <gerd@gnu.org>
790
38472d44
GM
791 * eval.c (specbind): If SYMBOL has a frame-local binding, record
792 the frame on the binding stack. Change format of entries for
793 local bindings on the binding stack to '(SYMBOL . WHERE)'.
794 (unbind_to): Handle unbinding a frame-local variable.
795
6332ca8a 796 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 797 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
798 (dump_glyph_row): Print row's continuation_lines_width.
799 (try_window_id): Take the shortcut if ZV is visible in the
800 window, but there are actually no changes at ZV.
801
63d1b174
GM
8022001-07-02 Gerd Moellmann <gerd@gnu.org>
803
4c175203
GM
804 * xterm.h (x_free_dpy_colors): Add prototype.
805
806 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
807 right number of arguments.
808
0b54ce28
GM
809 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
810 ($(lwlibdir)TAGS): New target.
4c175203 811 (TAGS): Fix dependency list.
0b54ce28 812
63d1b174
GM
813 * xterm.c (x_list_fonts): Make sure XFreeFont is called
814 with input blocked.
815
d827466c
GM
8162001-06-30 Gerd Moellmann <gerd@gnu.org>
817
818 * emacs.c (main): Remove extern declaration for sys_nerr, which
819 isn't used and causes a compilation error with GCC 3.0 on
820 FreeBSD 4.3.
821
b5cb1ada
GM
8222001-06-27 Gerd Moellmann <gerd@gnu.org>
823
a5d3ec3f 824 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 825 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
826 (toplevel): Include <signal.h> and syssignal.h.
827
b5cb1ada
GM
828 * sound.c (vox_configure, vox_close): Turn off atimers
829 around ioctls.
830
d9bad487
GM
8312001-06-26 Gerd Moellmann <gerd@gnu.org>
832
fdbb67fe
GM
833 * keyboard.c (read_char) <non_reread>: Record the previous idle
834 start time before calling timer_stop_idle.
835 (read_char) <reread_first>: After processing a help-echo event,
836 restore the previous idle start time.
837
d9bad487
GM
838 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
839 the start of invisible text.
840 (setup_for_ellipsis): New function.
841 (next_overlay_string): After all overlay strings have been
842 processed, display an ellipsis if necessary.
843 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
844 (push_it): Initialize display_ellipsis_p on the iterator's stack.
845
846 * dispextern.h (struct iterator_stack_entry): Add member
847 display_ellipsis_p.
848
2b9c25e0
GM
8492001-06-25 Gerd Moellmann <gerd@gnu.org>
850
80de57df
GM
851 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
852 on the value of the wait-for-wm frame parameter.
853
854 * xterm.h (struct x_output): Add member wait_for_wm.
855
856 * xfns.c (Qwait_for_wm): New variable.
857 (x_frame_parms): Add entry for `wait-for-wm".
858 (x_set_wait_for_wm): New function.
859 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
860 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
861
2b9c25e0
GM
862 * xdisp.c (try_window_id) <all changes below window end>: Don't
863 take this shortcut if ZV is visible in the window.
864 (try_window_id): When checking for window start being in changed
865 text, don't check that the buffer's size has changed.
866
f772775c
RS
8672001-06-23 Richard M. Stallman <rms@gnu.org>
868
869 * minibuf.c (Fcompleting_read): Doc fix.
870
fa9090b8
GM
8712001-06-19 Gerd Moellmann <gerd@gnu.org>
872
873 * composite.c (Ffind_composition_internal): Accept ZV
874 and a string's end position as POS.
875
f6f1beba
GM
8762001-06-18 Gerd Moellmann <gerd@gnu.org>
877
878 * composite.c (Ffind_composition_internal): Check POS
879 for validity.
880
0ae83348
EZ
8812001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
882
883 * editfns.c (Fmessage_box): If the frame is not under a window
884 system, output the message in the echo area.
885
e4cdc335
RS
8862001-06-14 Richard M. Stallman <rms@gnu.org>
887
888 * xdisp.c (try_window_id): When EOB is visible, don't treat
889 insertion at EOB as if it were "off the bottom of the screen."
890
a55a5f3c
AI
8912001-06-11 Andrew Innes <andrewi@gnu.org>
892
893 * w32proc.c (create_child): Add new parameter is_gui_app.
894 (w32_executable_type): Add new parameter is_gui_app.
895 (sys_spawnve): Use it.
896 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
897 SIGQUIT. This matches better how the signals are interpreted by
898 MSVC compiled programs.
899 (syms_of_ntproc): Update docstring.
900
1b85dc1c
SM
9012001-06-02 Stefan Monnier <monnier@cs.yale.edu>
902
903 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
904 well otherwise note_mouse_highlight might optimize away highlighting
905 if we pass over that same overlay again.
906
b75f8eab
EZ
9072001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
908
909 * lread.c (Fload): Document that the argument is run via
910 substitute-in-file-name.
911
94843cc1
GM
9122001-05-31 Gerd Moellmann <gerd@gnu.org>
913
b14659e6
GM
914 * Makefile.in (bootstrap-doc): New target.
915 (bootstrap-emacs): Depend on it.
916
0894672f
GM
917 * fileio.c (Fdo_auto_save): Don't try to create the directory of
918 auto-save-list-file-name when shutting down Emacs, because
919 creating the directory might signal an error, and leaves
920 Emacs in a strange state.
921
94843cc1
GM
922 * term.c: (tty_cursor_hidden): New variable.
923 (update_begin): Don't call tty_hide_cursor. Clean up.
924 (update_end, set_terminal_window, set_scroll_region): Clean up.
925 (ring_bell, reset_terminal_modes): Clean up.
926 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
927 on tty_cursor_hidden.
928 (write_glyphs): Call tty_hide_cursor.
929
db3a49a6
SM
9302001-05-30 Stefan Monnier <monnier@cs.yale.edu>
931
932 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
933
8bd189fb
GM
9342001-05-30 Gerd Moellmann <gerd@gnu.org>
935
6f1be3b9
GM
936 * xfns.c (enum image_value_type): New enumerator
937 IMAGE_STRING_OR_NIL_VALUE.
938 (parse_image_spec): Handle it.
939 (xbm_format, pbm_format): Use it for :foreground and :background.
940 (xbm_load, pbm_load): Check for nil color names.
941
8bd189fb
GM
942 * xterm.c (note_mouse_highlight): If an overlapping overlay
943 exists, but we find that we highlight the same overlay as before,
944 don't do the highlighting again.
945
7bdba03c
GM
9462001-05-29 Gerd Moellmann <gerd@gnu.org>
947
4c329aa8
GM
948 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
949 Protect unibyte strings created by replacing their multibyte
950 equivalents in menu_items.
951
e15e2828
GM
952 * keymap.c (Fsingle_key_description): NUL-terminate the string
953 buffer before calling build_string.
954
7bdba03c
GM
955 * callproc.c (Fcall_process): Deal with decode_coding returning
956 CODING_FINISH_INCONSISTENT_EOL.
957
89c8dc6c
GM
9582001-05-28 Gerd Moellmann <gerd@gnu.org>
959
db3a49a6 960 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
961 an item's name with its key description in case the description
962 is a multibyte string.
963
964 * keymap.c (Fsingle_key_description): Create a multibyte string
965 only if necessary.
966
eb04d6cd
GM
967 * macros.c (Fstart_kbd_macro): Doc fix.
968
8bd6307f
GM
969 * xterm.c (cursor_in_mouse_face_p): New function.
970 (x_draw_stretch_glyph_string): Use it to choose a different GC
971 when drawing a cursor within highlighted text.
972
e26c4089
GM
973 * editfns.c (char_property_eq): Put in #if 0.
974
975 * indent.c (string_display_width): Put in #if 0.
976
977 * lread.c (Fload): Remove unused label.
978
89c8dc6c
GM
979 * termcap.c (speeds): Put in #if 0.
980
9a1211f2
GM
9812001-05-18 Gerd Moellmann <gerd@gnu.org>
982
29148a3f
GM
983 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
984
9a1211f2
GM
985 * xfaces.c (xlfd_point_size): Don't divide pixel size from
986 transformation matrix by 10.
987
09393d07
GM
9882001-05-16 Gerd Moellmann <gerd@gnu.org>
989
990 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
991 only if it's equal to the former foreground pixel color.
db3a49a6 992 (x_set_foreground_color, x_set_background_color)
09393d07
GM
993 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
994
460e6bae
GM
9952001-05-16 Dave Love <fx@gnu.org>
996
997 * insdel.c (signal_before_change, signal_after_change): Consider a
998 local change hook which changes the buffer.
99c78ce8
GM
999
1000 * process.c (read_process_output): Don't call signal_after_change
1001 and update_compositions after insert_from_string_before_markers.
1002
dbcf3c03
GM
10032001-05-16 Gerd Moellmann <gerd@gnu.org>
1004
a90b3d3c
GM
1005 * xfaces.c (split_font_name): Use the right field when
1006 checking for `[...]' syntax.
1007
1b7818b4
GM
1008 * buffer.c (copy_overlays): New function.
1009 (clone_per_buffer_values): Use it.
1010
1011 * buffer.h (OVERLAY_PLIST): New macro.
1012
9bae8781
GM
1013 * keymap.c (Fsingle_key_description): Replace a build_string with
1014 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1015
dbcf3c03
GM
1016 * fontset.c (Ffontset_info): Check that face is non-null
1017 before accessing its fields.
1018
8a1ae4dd
GM
10192001-05-15 Gerd Moellmann <gerd@gnu.org>
1020
18a0a39e
GM
1021 * keyboard.c (read_key_sequence): Prevent generating a fake
1022 prefix key twice.
1023
e335b66a
GM
1024 * xfaces.c (split_font_name): Handle `[...]' for the right
1025 font name fields.
1026
8a1ae4dd
GM
1027 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1028 of CCL_STAT_INVALID_CMD.
1029
3cf80731
SM
10302001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1031
33568849
SM
1032 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1033 in <var> has no default value yet.
1034
3cf80731
SM
1035 * xfaces.c (try_alternative_families): First try the FAMILY.
1036 And if nothing is found in the end, try again with scalable fonts.
1037 (try_font_list): Let try_alternative_families do a bit more of
1038 the work. Only use FAMILY if it is not nil.
1039 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1040
933b0249
GM
10412001-05-14 Gerd Moellmann <gerd@gnu.org>
1042
58e5af83
GM
1043 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1044 pointer shape when show_mouse_face has already done it.
33568849 1045
58e5af83 1046 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1047 full-width rows.
1048
7b16a6bf
GM
1049 * xfaces.c (split_font_name): Make sure to leave the loop
1050 with the right value of `i'.
3cf80731 1051
933b0249
GM
1052 * xfaces.c (split_font_name): Handle matrix transformations
1053 in the pixel and point size fields of XLFD font names.
1054 (xlfd_point_size): Likewise.
1055
dddcbf00
EZ
10562001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1057
3cf80731 1058 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1059 (x_to_w32_font): Add prototype.
1060
7689ef0b
EZ
1061 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1062 redefining, to avoid compiler warnings.
1063
e7c15bba
EZ
1064 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1065
dddcbf00
EZ
1066 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1067 (w32_get_bdf_glyph): Cast between unsigned char and char when
1068 passing arguments to subroutines, to shut up compiler warnings.
1069 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1070 GET_HEX_VAL.
1071
1072 * xfaces.c: Include keyboard.h before frame.h, not after it.
1073
1074 * widget.c: Include keyboard.h before frame.h.
1075
1076 * w32term.h (struct image, struct face): Forward declaration, to
1077 avoid compiler warnings.
1078
7bd2d083
GM
10792001-05-11 Gerd Moellmann <gerd@gnu.org>
1080
47e72862
GM
1081 * keyboard.c (read_key_sequence): Don't modify events when
1082 generating fake prefix keys (mode-line, scroll-bar, ...) since
1083 this prevents proper processing of such events when pushed back
1084 into unread-command-events.
1085
dd5f324b
GM
1086 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1087 actually redrawn. Make the function static.
1088 (note_mouse_highlight): Fix a case where the mouse cursor
1089 was changed back to the text cursor.
1090
1091 * xterm.h (clear_mouse_face): Remove prototype.
1092
d88a79d4
GM
1093 * xdisp.c (try_window_id): Fix the fix and set the right
1094 window_end_vpos.
1095
1096 * xdisp.c (try_window_id): Fix computation of window end in the
1097 case that lines were deleted at the end of the window. Add some
1098 more debug_method_adds.
0416532f 1099
7bd2d083
GM
1100 * xfaces.c (try_alternative_families): New function.
1101 (try_font_list): Use it. If ATTRS specifies a family, check
1102 fonts from that family first.
1103 (choose_face_font): Remove code setting the family part of
1104 the pattern to nil.
1105
23fca891
GM
11062001-05-10 Gerd Moellmann <gerd@gnu.org>
1107
ff9aa2ca
GM
1108 * xdisp.c (try_window_id): Fix case of all changes before
1109 the window start.
7b2654b5 1110
23fca891
GM
1111 * xdisp.c (try_window_id): Add some xasserts.
1112
e9726794
GM
11132001-05-09 Gerd Moellmann <gerd@gnu.org>
1114
1115 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1116
9e53a675
GM
11172001-05-09 Dave Love <fx@gnu.org>
1118
1119 * xdisp.c (GIVE_UP): Fix for K&R C.
1120
0d487c52
GM
11212001-05-09 Gerd Moellmann <gerd@gnu.org>
1122
fe88d421
GM
1123 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1124
0d487c52
GM
1125 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1126 back to the text cursor shape without need.
1127
1e9fc92e
GM
11282001-05-07 Gerd Moellmann <gerd@gnu.org>
1129
a2a6232e
GM
1130 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1131
1132 * dispextern.h (inverse_video): Declare extern.
1133
1e9fc92e
GM
1134 * keyboard.c (delete_kboard): Handle the case that selected_frame
1135 has been deleted in the course of x_connection_closed.
1136
12949a7f
EZ
11372001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1138
7b2654b5
SM
1139 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1140 Fix the change from 2001-04-30.
12949a7f 1141
2fa2f461
GM
11422001-05-03 Gerd Moellmann <gerd@gnu.org>
1143
a779d213
GM
1144 * xfns.c (file_dialog_unmap_cb): New function.
1145 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1146 where a dialog is closed via the window manager.
1147
7b2654b5 1148 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1149 the window start or all below the window end mostly rewritten.
1150 (redisplay_window): Move the tests if try_window_id is
1151 applicable to try_window_id.
1152 (GIVE_UP): New macro.
1153
3356df63
GM
11542001-05-02 Gerd Moellmann <gerd@gnu.org>
1155
a39202f6 1156 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1157 currently being updated, mark the frame garbaged.
1158 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1159 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1160
3356df63
GM
1161 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1162 again if it has already been drawn.
1163
a9d2fd1d
SM
11642001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1165
1166 * syntax.c (update_syntax_table): Check that oldi has the same
1167 properties as old_prop before deciding not to invalidate.
1168
c95fc5f1
GM
11692001-04-30 Gerd Moellmann <gerd@gnu.org>
1170
a9793e45
GM
1171 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1172 read-only text that is so because of text properties.
1173
c95fc5f1 1174 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1175 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1176 windows that are components of a Lucid menu bar.
1177
5a5d9185
GM
11782001-04-27 Gerd Moellmann <gerd@gnu.org>
1179
1180 * term.c (turn_on_face): Fix reverse video handling on terminals
1181 that don't support colors.
1182
ba973f7a
GM
11832001-04-26 Gerd Moellmann <gerd@gnu.org>
1184
1185 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1186 a non-buffer.
1187
8c56a983
GM
11882001-04-25 Gerd Moellmann <gerd@gnu.org>
1189
a728644c
GM
1190 * term.c (toggle_highlight): New function.
1191 (turn_on_face): Change handling of reverse video.
1192
7b2654b5
SM
1193 * process.c (wait_reading_process_input):
1194 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1195
bfd8410f
GM
1196 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1197 of the number of overlays to check.
1198
be2488ca
GM
1199 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1200
8c56a983
GM
1201 * xdisp.c (try_window_id): Fix a case where window_end_pos
1202 and window_end_bytepos were not adjusted.
1203
522d42f7
GM
12042001-04-23 Gerd Moellmann <gerd@gnu.org>
1205
1206 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1207 zero instead of -1.
1208
78c1afb6
EZ
12092001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1210
a9d2fd1d
SM
1211 * process.c (wait_reading_process_input) [!subprocesses]:
1212 Don't reference waiting_for_user_input_p, it's not defined in the
1213 branch without async subprocesses support.
78c1afb6 1214
a2fab450
GM
12152001-04-19 Gerd Moellmann <gerd@gnu.org>
1216
a122a38e
GM
1217 * keyboard.c (delete_kboard): Prevent a dangling reference
1218 from current_kboard to KB, which is freed.
1219
a9d2fd1d
SM
1220 * process.c (wait_reading_process_input):
1221 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1222 read_key_sequence aware of buffer changes from under it.
1223
0f8d6dc7
GM
12242001-04-18 Gerd Moellmann <gerd@gnu.org>
1225
eeffb293
GM
1226 * xfaces.c (Qscalable_fonts_allowed): New variable.
1227 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1228 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1229 removed.
eeffb293 1230 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1231 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1232 for scalable-fonts-allowed to t.
eeffb293 1233
0f8d6dc7
GM
1234 * fileio.c (Finsert_file_contents): If the file size returned from
1235 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1236 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1237
eec2d1de
EZ
12382001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1239
1240 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1241 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1242 (__memalign_hook): Make the two prototypes consistent.
1243
f4f480bd
GM
12442001-04-17 Gerd Moellmann <gerd@gnu.org>
1245
1246 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1247 matrix of mini-windows.
1248
52283633
SM
12492001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1250
1251 * intervals.c (find_interval): Don't rebalance during signal handling.
1252
ec2423c9
GM
12532001-04-11 Gerd Moellmann <gerd@gnu.org>
1254
30cb0001 1255 * fns.c: Include blockinput.h.
52283633 1256
ec2423c9
GM
1257 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1258
719d83ad
GM
12592001-04-10 Gerd Moellmann <gerd@gnu.org>
1260
60f8d735
GM
1261 * fns.c (Fcompare_strings): Fix return values.
1262
afffeb57
GM
1263 * window.c (window_scroll): Change the meaning of N to mean
1264 N screen-fulls or N lines.
1265 (window_scroll_pixel_based, window_scroll_line_based)
1266 (scroll_command, Fscroll_other_window): Change accordingly.
1267
52283633
SM
1268 * window.c (window_scroll_pixel_based, Frecenter):
1269 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1270 height of the window.
1271
1272 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1273 instead of using it.last_visible_y for the height of the window.
52283633 1274
719d83ad 1275 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1276 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1277
1278 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1279 able to write to hidden and system files. From Dan Holmsand
1280 <dan@eyebee.com>.
719d83ad 1281
8ddf3ee1
GM
1282 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1283 Holmsand <dan@eyebee.com>.
719d83ad 1284
522ed7fb
GM
12852001-04-09 Gerd Moellmann <gerd@gnu.org>
1286
9170e5d4
GM
1287 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1288
522ed7fb
GM
1289 * window.c (window_internal_height): Return 1 less if the
1290 window has a header line.
1291
1292 * xdisp.c (try_window_id): When scrolling on a terminal, take
1293 the change of window_internal_height into account.
1294
ceeb3d7d
EZ
12952001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1296
1297 * gmalloc.c (align): If the argument SIZE would overflow
1298 __malloc_ptrdiff_t, fail right away.
1299
63685b9d
GM
13002001-04-06 Gerd Moellmann <gerd@gnu.org>
1301
1302 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1303 Make sure the tooltip is completely visible.
1304 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1305
1306 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1307
1308 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1309
3ffb33bb
DL
13102001-04-06 Dave Love <fx@gnu.org>
1311
52283633
SM
1312 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1313 Fix test of `from'.
3ffb33bb 1314
869fb12c
GM
13152001-04-06 Gerd Moellmann <gerd@gnu.org>
1316
52283633 1317 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1318
869fb12c
GM
1319 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1320
441bf856
GM
13212001-04-05 Gerd Moellmann <gerd@gnu.org>
1322
4d664b04
GM
1323 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1324
52283633 1325 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1326
30ca89f5
GM
1327 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1328 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1329
1330 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1331 shell widget's position only if it is non-null.
1332
52283633
SM
1333 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1334 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1335
81a81c0f
GM
1336 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1337 FILENAME to bring it in synch with the documentation.
1338
441bf856
GM
1339 * xfaces.c (realizing_basic_faces_p): Renamed from
1340 realize_default_face_p.
1341 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1342 (realize_default_face): Don't set the flag.
1343
702a1e8e
GM
13442001-04-04 Gerd Moellmann <gerd@gnu.org>
1345
1013f4e3
GM
1346 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1347
52283633
SM
1348 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1349
1013f4e3
GM
1350 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1351 the buffer that was used for echoing.
1352
702a1e8e
GM
1353 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1354 (first_font_matching): Removed unused function.
1355 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1356 (may_use_scalable_font_p): Remove parameter FONT; rename
1357 parameter NAME to FONT.
1358 (x_face_list_fonts): Fix missing bounds check.
1359 (realizing_default_face_p): New variable.
1360 (realize_default_face): Set and clear that flag.
1361 (x_face_list_fonts): When called during the realization of the
1362 default face, and no matching fonts are found when ignoring
1363 scalable fonts and fonts matching a regexp from
1364 face-ignored-fonts, try without ignoring fonts.
1365
f9dbcda4
GM
13662001-04-03 Gerd Moellmann <gerd@gnu.org>
1367
ad18ffb1
GM
1368 * xfns.c (postprocess_image): New function.
1369 (lookup_image): Call it for all image types except PostScript.
1370 (x_kill_gs_process): Call postprocess_image.
1371
f9dbcda4
GM
1372 * xterm.c (x_use_underline_position_properties): New variable.
1373 (x_draw_glyph_string): Use it.
1374 (syms_of_xterm): DEFVAR_BOOL it.
1375
651f03b6
GM
13762001-04-02 Gerd Moellmann <gerd@gnu.org>
1377
1378 * xterm.c (x_alloc_nearest_color_1): New function.
1379 (x_alloc_nearest_color): Use it.
1380 (x_color_cells): Take a Display as argument, instead of a frame.
1381 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1382 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1383 (x_initialize): Register cvt_string_to_pixel as resource converter
1384 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1385
73d75a62
GM
13862001-03-30 Gerd Moellmann <gerd@gnu.org>
1387
b2046df8
GM
1388 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1389 (set_iterator_to_next): If a string from a display property ends,
1390 consider the case that this might also be the end of an
1391 overlay string having the display property.
1392
52283633 1393 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1394
87d8eba4
GM
1395 * xdisp.c (reseat_to_string): Undo last change.
1396
73d75a62
GM
1397 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1398 matrix of a window when the header line changes, when
1399 new rows are allocated, or when the width changes.
1400
911a2406
EZ
14012001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1402
52283633 1403 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1404
aea51abe
EZ
14052001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1406
1407 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1408 deprecated.
1409
176bc847
GM
14102001-03-29 Gerd Moellmann <gerd@gnu.org>
1411
ed31fabf
GM
1412 * data.c (Fsubr_interactive_form): New function.
1413 (syms_of_data): Defsubr it.
1414
176bc847
GM
1415 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1416 (live_float_p, live_misc_p): Return 1 only if the offset of the
1417 pointer in its block is >= 0.
1418
e59d0e9d
GM
14192001-03-28 Paul Eggert <eggert@twinsun.com>
1420
1421 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1422 microseconds calcuation. Avoid double-rounding problem.
1423 In doc string, warn that the result is approximate.
1424
f827b862
GM
14252001-03-28 Gerd Moellmann <gerd@gnu.org>
1426
30a3f61c
GM
1427 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1428 bind `inhibit-eval-during-redisplay' to t.
1429
1430 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1431
1432 * xdisp.c (inhibit_eval_during_redisplay)
1433 (Qinhibit_eval_during_redisplay): New variables.
1434 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1435 don't eval, return nil instead.
1436 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1437 Initialize Qinhibit_eval_during_redisplay.
1438
e719f5ae
GM
1439 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1440 the iterator's multibyte_p flag.
1441
deb2613a
GM
1442 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1443 instead of setting it to zero; it's incremented for each frame
1444 where the menu face is changed.
1445
52283633
SM
1446 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1447 change bottom shadow accordingly.
1448
1449 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1450 intersections here.
1451 (expose_window): Do it here instead.
52283633 1452 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1453
f827b862
GM
1454 * bytecode.c (BYTE_CODE_QUIT): New macro.
1455 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1456
4bde0ebb
GM
14572001-03-27 Gerd Moellmann <gerd@gnu.org>
1458
607ec83c
GM
1459 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1460 Give up if matrix starts in an ellipsis.
1461 (init_from_display_pos): Do nothing if POS doesn't specify
1462 a dpvec_index but the iterator has such a position.
1463
0245398f
GM
1464 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1465
aba25348
GM
1466 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1467 x/y position is (0, 0) after destroying the menu bar, restore
1468 its original position.
1469
4bde0ebb
GM
1470 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1471 (init_from_display_pos): Use it.
1472 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1473
8cdb267e
GM
14742001-03-26 Gerd Moellmann <gerd@gnu.org>
1475
1476 * xdisp.c (try_window_id): Undo last change.
1477
9948db79
EZ
14782001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1479
1480 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1481
1482 * buffer.c (syms_of_buffer): Doc fix.
1483
2eddf899
GM
14842001-03-26 Gerd Moellmann <gerd@gnu.org>
1485
1486 * xfaces.c (x_update_menu_appearance): Use local variable
1487 popup_path for setting font resources.
1488
6c145d35
EZ
14892001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1490
6a65b1b5
EZ
1491 * frame.c (Fframe_list): Don't reference tip_frame if
1492 HAVE_WINDOW_SYSTEM is not defined.
1493
6c145d35
EZ
1494 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1495 <wl@gnu.org>.
1496
d74c1900
GM
14972001-03-25 Gerd Moellmann <gerd@gnu.org>
1498
20fbd925
GM
1499 * xdisp.c (init_from_display_pos): Test invisible property
1500 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1501
927c5b3b
GM
1502 * xdisp.c (redisplay_internal) <update one window>: Make sure
1503 last_arrow_position and last_arrow_string are set.
1504
d74c1900
GM
1505 * frame.c (Fframe_list): Don't return a tooltip frame.
1506
091f8878
GM
15072001-03-23 Gerd Moellmann <gerd@gnu.org>
1508
52283633
SM
1509 * xdisp.c (mark_window_display_accurate_1): New function,
1510 extracted from mark_window_display_accurate.
1511 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1512 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1513 (mark_window_display_accurate): Use it.
1514 (redisplay_internal): Use it for the selected window.
1515 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1516 for the selected frame.
1517
ac90c44f
GM
1518 * xdisp.c Use make_number, for readability.
1519 (try_window_id): Disable rows below the window end.
1520 (try_window_reusing_current_matrix): Use cursor_row_p.
1521 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1522 of rows.
1523 (init_from_display_pos): If POS specifies a position in a display
1524 vector, maybe get the iterator set up for that ellipsis.
43c09969 1525
091f8878
GM
1526 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1527
991786dd
EZ
15282001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1529
1530 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1531
6c29b43c
GM
15322001-03-23 Gerd Moellmann <gerd@gnu.org>
1533
1534 * xfaces.c (x_update_menu_appearance): Use a different path
1535 for Lucid popup menus.
1536
d8731202
SM
15372001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1538
1539 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1540
1541 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1542 (string_buffer_position): Use `make_number'.
1543
f61a541b
GM
15442001-03-22 Gerd Moellmann <gerd@gnu.org>
1545
3c9e997b
GM
1546 * xfaces.c (x_update_menu_appearance): Renamed from
1547 x_set_menu_face_resources. Use different resources for popups.
1548
1549 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1550 (GC_CHECK_STRING_BYTES): Don't define.
1551
364cd450
GM
1552 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1553 Removed, together with subroutines.
1554 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1555 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1556
d8731202
SM
1557 * dispextern.h (x_set_menu_resources_from_menu_face):
1558 Remove prototype.
364cd450 1559
d8731202 1560 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1561 Remove calls to x_set_menu_resources_from_menu_face.
1562
d8731202
SM
1563 * xfaces.c (xm_set_menu_resources_from_menu_face):
1564 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1565
1566 * xmenu.c: Include widget.h.
1567 (single_submenu): Return int. Some cleanup.
1568 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1569
140330de
GM
15702001-03-21 Gerd Moellmann <gerd@gnu.org>
1571
1572 * xterm.c (x_update_window_end): Handle overwritten mouse face
1573 also for tool bar windows.
1574 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1575 DRAW is DRAW_IMAGE_RAISED.
1576
1741905c
GM
15772001-03-20 Gerd Moellmann <gerd@gnu.org>
1578
fa88947e
GM
1579 * print.c (syms_of_print): Doc fixes.
1580
1741905c
GM
1581 * fns.c (Fmd5): Doc fix.
1582
ade0bee1
GM
15832001-03-19 Gerd Moellmann <gerd@gnu.org>
1584
357e7376
GM
1585 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1586 Clear area of the frame not occupied by the scroll bar.
1587
c2c097cc
GM
1588 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1589 tip frame's root window buffer to *tip* right after creating
1590 the frame.
1591
ade0bee1
GM
1592 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1593 is an integer don't have to be for space characters.
1594
88c6e37e
GM
15952001-03-16 Gerd Moellmann <gerd@gnu.org>
1596
52283633
SM
1597 * indent.c (current_column, current_column_1, Fmove_to_column)
1598 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1599
c62eed76
KH
16002001-03-15 Kenichi Handa <handa@etl.go.jp>
1601
1602 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1603 drawing glyph string.
1604
c899e7e6
GM
16052001-03-15 Gerd Moellmann <gerd@gnu.org>
1606
d0bbfc99
GM
1607 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1608 (command_loop_1): Undo last change.
1609
03d1a189
GM
1610 * xterm.c (fast_find_position): Return the correct vpos.
1611
c899e7e6 1612 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1613 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1614 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1615 Call store_symval_forwarding with BUF null.
1616 (set_internal): Call store_symval_forwarding with the BUF
1617 parameter passed to set_internal. Formerly, the value was always
1618 set in the current buffer; the buffer recorded in specbind for
1619 this case wasn't used.
1620 (arith_driver): Reindent.
1621
52283633
SM
1622 * buffer.c (swap_out_buffer_local_variables):
1623 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1624
1625 * lisp.h (store_symval_forwarding): Change prototype.
1626
1627 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1628
57ac7c81
GM
16292001-03-14 Gerd Moellmann <gerd@gnu.org>
1630
697617d9
GM
1631 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1632 FOR_DELETION. Avoid resizing the mini-window of the selected
1633 frame if FOR_DELETION is set.
1634 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1635 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1636 signature.
1637
1638 * window.c (Fset_window_configuration): Change call to
1639 do_switch_frame to new format.
1640
1641 * keyboard.c (quit_throw_to_read_char): Change call to
1642 do_switch_frame to new format.
1643
1644 * lisp.h (do_switch_frame): Change prototype.
1645
819dce0f
GM
1646 * frame.c (Fframe_parameters): In the `buffer-list' frame
1647 parameter, store the buffer list of FRAME, not the list of the
1648 selected frame.
1649
57ac7c81
GM
1650 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1651 box just because the glyph row's full_width_p flag is set.
1652
65008712
GM
16532001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1654
1655 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1656 skip the padding blanks inserted in extend_face_to_end_of_line,
1657 before checking for trailing whitespace.
1658
159cf431
GM
16592001-03-13 Gerd Moellmann <gerd@gnu.org>
1660
52283633 1661 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1662 Remove special handling for LessTif/Motif.
1663 (toplevel): Don't include Xm/Xm.h.
1664
52283633
SM
1665 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1666 Remove workaround code for LessTif; it doesn't work anymore.
1667
2564ea1b 1668 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1669 Xm/ScrollBarP.h.
afcdc0a1 1670
52283633
SM
1671 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1672 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1673 contemporary LessTif.
1674
52283633
SM
1675 * xfaces.c (xm_set_menu_resources_from_menu_face):
1676 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1677
159cf431
GM
1678 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1679 removing button grabs.
1680
c6f7429a
KH
16812001-03-13 Kenichi Handa <handa@etl.go.jp>
1682
cb82d767
KH
1683 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1684 and clip-large-size-font as obsolete.
1685
c6f7429a
KH
1686 * lread.c (read_multibyte): Check the validity of multibyte
1687 sequence. If invalid, return the first byte.
1688
760cefb5
GM
16892001-03-12 Gerd Moellmann <gerd@gnu.org>
1690
1691 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1692 before running the command; timer functions or process
1693 filters may have set it.
1694
5141f9d0
EZ
16952001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1696
1697 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1698 Doc fix.
1699
b6a15240
GM
17002001-03-12 Gerd Moellmann <gerd@gnu.org>
1701
1702 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1703 to sprintf.
1704
95522746
GM
17052001-03-09 Gerd Moellmann <gerd@gnu.org>
1706
db14cfc5
GM
1707 * dispextern.h (string_buffer_position): Add prototype.
1708
52283633 1709 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1710 (single_display_prop_string_p): New functions.
1711
1712 * xterm.c (note_mouse_highlight): If there's no help-echo on
1713 a string, look at the buffer text ``under'' it.
1714
1715 * keyboard.c (make_lispy_event): Add string info to the event,
1716 analogous to what's done on mode lines.
1717 (read_key_sequence): For a click on a string, consider `local-map'
1718 and `keymap' of that string.
1719
52283633
SM
1720 * keyboard.c (make_lispy_event, make_lispy_movement):
1721 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1722
1723 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1724
1725 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1726 POS; return void.
1727
95522746
GM
1728 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1729 flags argument to emacs_open; it seems to conflict with O_EXCL.
1730
898a399d
KH
17312001-03-09 Kenichi Handa <handa@etl.go.jp>
1732
28cd4910
KH
1733 * composite.h (struct composition): Change types of members;
1734 glyph_len to unsigned, width to unsigned short.
898a399d 1735
4cdf6a6c
AI
17362001-03-08 Andrew Innes <andrewi@gnu.org>
1737
1738 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1739 menu titles.
1740
129004d3
GM
17412001-03-08 Gerd Moellmann <gerd@gnu.org>
1742
221dd3e7
GM
1743 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1744 instead of nil.
1745
52283633 1746 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1747 help-echo in strings.
1748 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1749 (fast_find_string_pos): New function.
1750
52283633
SM
1751 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1752 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1753
1754 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1755 Handle `mouse-face'.
1756
1757 * dispextern.h (face_at_string_position): Change prototype.
1758
52283633 1759 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1760
129004d3
GM
1761 * keyboard.c (make_lispy_event): Avoid generating drag events
1762 if the mouse hasn't actually moved to another buffer position.
52283633 1763
80c8ab8c
DL
17642001-03-08 Dave Love <fx@gnu.org>
1765
129004d3 1766 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1767
989521fd
GM
17682001-03-08 Gerd Moellmann <gerd@gnu.org>
1769
1770 * process.c (Fset_process_window_size): Fix a typo.
1771
bb5c338d
KH
17722001-03-08 Kenichi Handa <handa@etl.go.jp>
1773
1774 * coding.c (detect_coding_sjis): Do more rigid check.
1775 (detect_coding_big5): Likewise.
1776 (decode_coding_sjis_big5): Likewise.
1777 (Fdetect_coding_region): Call detect_coding_system with tailing
1778 anchor byte `\0' for more rigid detection.
52283633 1779 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1780 (Fdetect_coding_string): Likewise.
1781
8b8f9197
SM
17822001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1783
1784 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1785 a string before extracting its data.
1786
3bdf2660
GM
17872001-03-07 Gerd Moellmann <gerd@gnu.org>
1788
1789 * window.c (Frecenter): Rewrite code handling negative values
1790 of ARG on graphical frames.
1791
17922001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1793
1794 * window.c (displayed_window_lines): If W->start is outside the
1795 accessible portion of the buffer, call start_display with BEGV or
1796 ZV instead of W->start.
1797
471f86b9
GM
17982001-03-07 Gerd Moellmann <gerd@gnu.org>
1799
2ab62c6c
GM
1800 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1801
471f86b9
GM
1802 * process.c (Fset_process_filter): Don't crash if the input
1803 file descriptor of PROCESS is closed.
1804 (Fset_process_window_size): Likewise.
1805
101922c3
GM
18062001-03-06 Kenichi Handa <handa@etl.go.jp>
1807
1808 * xterm.c (XTflash): Make the timeout of select shorter, and call
1809 select repeatedly until the desired time expires.
1810
45d051a7
GM
18112001-03-06 Gerd Moellmann <gerd@gnu.org>
1812
1813 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1814
1815 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1816
1817 * lisp.h (Vwindow_list): Declare extern.
1818
8f372c46
EZ
18192001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1820
1821 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1822
f16a7aa5
GM
18232001-03-06 Gerd Moellmann <gerd@gnu.org>
1824
157ae273
GM
1825 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1826 to detect a case where we have to highlight a different region
1827 despite not having left the currently highlighted region.
1828 Set mouse_face_overlay in the x_display_info.
45d051a7 1829 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1830
1831 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1832
1833 * buffer.c (mouse_face_overlay_overlaps): New function.
1834
1835 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1836 (Qmouse_face): Declare extern.
1837
f16a7aa5
GM
1838 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1839 if face_change_count is non-zero.
1840
827afcac
KH
18412001-03-06 Kenichi Handa <handa@etl.go.jp>
1842
1843 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1844 that the source is unibyte.
1845
14c7242e
DL
18462001-03-05 Dave Love <fx@gnu.org>
1847
827afcac 1848 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1849
c28b847b
GM
18502001-03-05 Gerd Moellmann <gerd@gnu.org>
1851
1852 * minibuf.c (read_minibuf): Clean up the binding stack if
1853 called noninteractively.
1854
b86644f2
KH
18552001-03-05 Kenichi Handa <handa@etl.go.jp>
1856
1857 * coding.c (syms_of_coding): Docstring modified.
1858
203682cc 18592001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1860
1861 * charset.c (char_to_string): If a single byte char has modifier
1862 bits that can't be reflected to the character code, ignore them
45d051a7 1863 instead of signaling an error.
b86644f2 1864
e30bd7b7
EZ
18652001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1866
1867 * s/msdos.h: Update copyright notice.
1868
1869 * dosfns.h: Update copyright notice.
1870
1871 * dosfns.c: Update copyright notice.
1872
1873 * msdos.c: Update copyright notice.
1874
b52b65bd
GM
18752001-03-02 Gerd Moellmann <gerd@gnu.org>
1876
1877 * xterm.c (glyph_rect): New function.
1878 (XTmouse_position): Use it to raise the threshold for mouse
1879 movement event generation.
1880
53c4b1e6
EZ
18812001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1882
1883 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1884 specifies (reverse . t), reverse the initial screen colors.
1885 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1886 but we are reversing the colors, set bg_set, not fg_set.
1887 Likewise for setting background-color and reversing: set fg_set.
1888 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1889 in effect.
1890
1891 * xfaces.c (Finternal_set_lisp_face_attribute)
1892 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1893 parameters alist.
1894
f964b4d7
GM
18952001-03-02 Gerd Moellmann <gerd@gnu.org>
1896
ef53d75e
GM
1897 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1898 to a single slash in the middle of file names.
1899
52283633 1900 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1901 Accept only alphanumeric time zone names.
1902
f964b4d7
GM
1903 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1904 or width area.
1905 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1906 a widget to zero height.
52283633 1907
c3c45f65
GM
19082001-03-01 Gerd Moellmann <gerd@gnu.org>
1909
1910 * window.c (Fwindow_end): Call move_it_past_eol only if
1911 ending up on a partially visible line.
1912
028d739a
DL
19132001-03-01 Dave Love <fx@gnu.org>
1914
1915 * ccl.c (Fccl_execute): Doc fix.
1916
57c5889c
GM
19172001-03-01 Gerd Moellmann <gerd@gnu.org>
1918
35f59f6b
GM
1919 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1920 of the tool bar before calling x_figure_window_size.
1921
f84ff02c
GM
1922 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1923 NULL after destroying it, otherwise XTread_socket can access a
1924 destroyed widget when input is unblocked.
1925
8b8f9197 1926 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1927
57c5889c
GM
1928 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1929 same name as before, although there was a change in fontsets.
1930
224227d1
KR
19312001-02-28 Ken Raeburn <raeburn@gnu.org>
1932
4560730a
KR
1933 * lisp.h (Fframe_parameter): Declare.
1934
224227d1 1935 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1936 Lisp_Object.
224227d1 1937
ece93c02
GM
19382001-02-28 Gerd Moellmann <gerd@gnu.org>
1939
11ef99b9
GM
1940 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1941 NULL instead.
1942
1943 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1944 NULL instead.
1945
ece93c02
GM
1946 * alloc.c (toplevel): Include process.h.
1947 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1948 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1949 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1950 (allocate_vector, allocate_hash_table, allocate_window)
1951 (allocate_frame, allocate_process, allocate_other_vector):
1952 New functions.
ece93c02
GM
1953 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1954 (mark_maybe_pointer): New function.
52283633 1955 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1956 remain and not Lisp_Objects.
1957 (min_heap_address, max_heap_address): New variables.
1958 (mem_find): Return MEM_NIL if START is below min_heap_address or
1959 above max_heap_address.
1960 (mem_insert): Compute min_heap_address and max_heap_address.
1961
1962 * process.c (make_process): Use allocate_process.
1963
1964 * frame.c (make_frame): Use allocate_frame.
1965
1966 * window.c (make_window, make_dummy_parent): Use allocate_window.
1967 (Fcurrent_window_configuration): Use allocate_other_vector.
1968
1969 * lisp.h (allocate_vectorlike): Remove prototype.
1970 (allocate_vector, allocate_other_vector, allocate_frame)
1971 (allocate_window, allocate_process, allocate_hash_table):
1972 Add prototypes.
1973
1974 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1975 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1976
063af457
KH
19772001-02-27 Kenichi Handa <handa@etl.go.jp>
1978
1979 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1980 treat the produced bytes as a valid multibyte sequence.
1981
1982 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1983 (ccl_driver) <CCL_WriteMultibyteChar2>:
1984 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1985 <ccl_finish>: Set ccl->eight_bit_control properly.
1986
1987 * ccl.h (struct ccl_program): New member eight_bit_control.
1988
f58c6494
SM
19892001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1990
1991 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1992 accessible_keymaps_char_table.
1993 (accessible_keymaps_char_table): Obey `is_metized'.
1994 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1995 Lisp_Object.
1996
c596c392
GM
19972001-02-26 Gerd Moellmann <gerd@gnu.org>
1998
1999 * dispnew.c: Check HAVE_TERM_H before including term.h.
2000
425de386
AI
20012001-02-24 Andrew Innes <andrewi@gnu.org>
2002
2003 * makefile.w32-in: Update copyright notice.
2004
2ba11bbd
SM
20052001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2006
2007 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2008
66c56ed1
KH
20092001-02-24 Kenichi Handa <handa@etl.go.jp>
2010
4c1593ce
KH
2011 * Makefile.in (lisp): Add international/utf-8.elc.
2012
66c56ed1
KH
2013 * fontset.c (Fnew_fontset): Fix handling of the case that an
2014 element of FONTLIST is a cons of family and registry.
2015
796ead7e
JR
20162001-02-23 Jason Rumney <jasonr@gnu.org>
2017
2018 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2019 to height unconditionally.
2020
2021 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2022 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2023 (x_insert_glyphs): Call window_box_left to obtain the left
2024 x-coordinate of the area to shift.
2025
2026 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2027 safe_run_hooks.
2028
f6839838
AI
20292001-02-22 Andrew Innes <andrewi@gnu.org>
2030
52283633 2031 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2032 ($(BLD)\dispnew.obj):
2033 ($(BLD)\editfns.obj):
2034 ($(BLD)\fileio.obj):
2035 ($(BLD)\filelock.obj):
2036 ($(BLD)\keyboard.obj):
2037 ($(BLD)\w32proc.obj):
2038 ($(BLD)\process.obj):
2039 ($(BLD)\sysdep.obj): Ditto.
2040
2041 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2042 header files.
52283633
SM
2043 ($(BLD)/dispnew.$(O)):
2044 ($(BLD)/editfns.$(O)):
2045 ($(BLD)/fileio.$(O)):
2046 ($(BLD)/filelock.$(O)):
2047 ($(BLD)/keyboard.$(O)):
2048 ($(BLD)/w32proc.$(O)):
2049 ($(BLD)/process.$(O)):
f6839838
AI
2050 ($(BLD)/sysdep.$(O)): Ditto.
2051
c224f70b
GM
20522001-02-22 Gerd Moellmann <gerd@gnu.org>
2053
51695746
GM
2054 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2055 at the start of the function, check that the \n in it->c is
2056 from the iterator's current position.
52283633 2057
a61b7058
GM
2058 * xdisp.c (handle_single_display_prop): Add parameter
2059 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2060 properties which replace the display of text with something else.
2061 (handle_display_prop): Call handle_single_display_prop with
2062 additional argument saying if we already replaced text display
2063 with something else. Use AREF.
52283633 2064 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2065 (decode_mode_spec_coding): Use AREF and ASIZE.
2066
3473f362
GM
2067 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2068 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2069 * vmstime.h: Files removed.
52283633 2070
2bb58df3
GM
2071 * unexencap.c, unexfx2800.c: Files removed.
2072
c224f70b
GM
2073 * dispnew.c (direct_output_for_insert): Give up if we are showing
2074 a message or just cleared the message because we might need to
2075 resize the echo area window or display an empty echo area.
2076
ffc9ff0c
GM
20772001-02-21 Gerd Moellmann <gerd@gnu.org>
2078
0528abe1
GM
2079 * xdisp.c (redisplay_internal): Do the
2080 mark_window_display_accurate after all windows have been
2081 redisplayed because this call resets flags in buffers which are
2082 needed for proper redisplay.
2083
52283633
SM
2084 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2085 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2086 the old names.
2087
52283633
SM
2088 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2089 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2090
2091 * msdos.h (struct x_output): Rename busy_window to
2092 hourglass_window, busy_p to hourglass_p.
2093
52283633
SM
2094 * xterm.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 * xfns.c: Rename everything containing *busy_cursor* and similar
2098 to *hourglass*.
2099 (syms_of_w32fns): Rename x-busy-pointer-shape to
2100 x-hourglass-pointer-shape, display-busy-cursor to
2101 display-hourglass, busy-cursor-delay to hourglass-delay.
2102
2103 * w32fns.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 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2110 of its busy_p flag.
2111
2112 * dispextern.h (start_hourglass, cancel_hourglass)
2113 (display_hourglass_p): Renamed from *busy_cursor*.
2114
ab2c5f0a
GM
21152001-02-20 Gerd Moellmann <gerd@gnu.org>
2116
d17e49a8
GM
2117 * keyboard.c (read_char): When an event from unread-command-events
2118 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2119
fa97adf6
GM
2120 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2121 equal to the current buffer.
2122
ab2c5f0a
GM
2123 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2124 nil, otherwise we're left with truncate_lines t when a message
2125 is printed with message-truncate-lines bound to t.
2126
aeac019e
GM
21272001-02-19 Gerd Moellmann <gerd@gnu.org>
2128
c8bc6f65
GM
2129 * window.c (Fmove_to_window_line): Undo last change.
2130 (displayed_window_lines): Call line_bottom_y to determine
2131 the line's bottom position.
2132
2133 * dispextern.h (line_bottom_y): Add prototype.
2134
52283633 2135 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2136 (pos_visible_p): Use it.
2137
980a2d69
GM
2138 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2139 set redisplaying_p to 0 here instead of in Frecursive_edit.
2140 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2141 set redisplaying_p.
2142
52283633 2143 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2144 New variables.
2145 (syms_of_xdisp): Initialize new variables.
2146 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2147 Specbind `inhibit-menubar-update' when updating the menu bar.
2148
65048e97
GM
2149 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2150 safe_run_hooks.
2151
2152 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2153 safe_run_hooks.
2154
a57c4026
GM
2155 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2156 is null.
2157
aeac019e
GM
2158 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2159 to the start of the file.
2160
76846b31
GM
21612001-02-16 Gerd Moellmann <gerd@gnu.org>
2162
f3f053f3 2163 * window.c (set_window_buffer): Fix last change.
52283633 2164
f3f053f3
GM
2165 * window.c (set_window_buffer): Set window's vscroll to 0.
2166
dad75588
GM
2167 * window.c (coordinates_in_window): Increase width of area
2168 where the vertical line can be dragged.
2169
c220b753
GM
2170 * xterm.c (x_set_glyph_string_background_width): Extend the
2171 background face to the end of the drawing area in the text
2172 area, only.
2173
c56b1c1b
GM
2174 * xdisp.c (handle_single_display_prop): Set iterator's position
2175 to where the `display' property starts, like for images.
2176 (dump_glyph): New function.
2177 (dump_glyph_row): Use it. Dump info about marginal areas.
2178
2179 * dispnew.c (direct_output_for_insert): Recognize more cases where
2180 glyphs can be written instead of being inserted.
2181
2182 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2183 the left x-coordinate of the area to shift.
2184
76846b31
GM
2185 * dired.c (directory_files_internal): Set result list to nil
2186 before retrying.
2187
0fc71a77
KH
21882001-02-15 Kenichi Handa <handa@etl.go.jp>
2189
2190 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2191 invalid multibyte sequence, treat *SRC as a character of
2192 eight-bit-graphic.
2193
25078b54
EZ
21942001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2195
2196 * textprop.c (Fset_text_properties): Doc fix.
2197
8399f8a0
GM
21982001-02-15 Gerd Moellmann <gerd@gnu.org>
2199
2200 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2201
9a2a6f73
DL
22022001-02-14 Dave Love <fx@gnu.org>
2203
2204 * coding.c: Doc and message fixes.
2205
bf853fee
AI
22062001-02-14 Andrew Innes <andrewi@gnu.org>
2207
2208 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2209 Emacs frame above the screen size.
2210
78c663d8
GM
22112001-02-14 Gerd Moellmann <gerd@gnu.org>
2212
2213 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2214
7cc9f69f
GM
22152001-02-13 Gerd Moellmann <gerd@gnu.org>
2216
0a411995
GM
2217 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2218 case that TO ends up beyond ZV after running before-change-functions.
2219
5ddc1b75
GM
2220 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2221 the selected window if it is showing the buffer in question.
2222
7cc9f69f
GM
2223 * dired.c (directory_files_internal): Initialize errno.
2224 (toplevel): Include errno.h.
2225
2e6621ca
GM
22262001-02-13 Kenichi Handa <handa@etl.go.jp>
2227
2228 * xfaces.c (best_matching_font): New parameter width_ratio.
2229 Multiply avgwidth by width_ratio.
2230 (choose_face_font): Call best_matching_font with width_ratio
2231 calculated from the column width of C.
2232
60222d69
AI
22332001-02-12 Andrew Innes <andrewi@gnu.org>
2234
2235 The following changes are to draw box lines inside characters area
2236 if line-width is negative.
52283633 2237
60222d69
AI
2238 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2239 face->box_line_width is negative.
2240 (x_produce_stretch_glyph): Likewise.
2241 (x_produce_glyphs): Likewise.
2242 (x_estimate_mode_line_height): Likewise.
2243 (x_draw_glyph_string_background): Likewise.
2244 (x_draw_glyph_string_foreground): Likewise.
2245 (x_draw_composite_glyph_string_foreground): Likewise.
2246 (x_draw_glyph_string_box): Likewise.
2247 (x_draw_image_foreground): Likewise.
2248 (x_draw_image_relief): Likewise.
2249 (x_draw_image_foreground_1): Likewise.
2250 (x_draw_image_glyph_string): Likewise.
2251
9804b846
KH
22522001-02-09 Kenichi Handa <handa@etl.go.jp>
2253
2254 The following changes are to draw box lines inside characters area
2255 if line-width is negative.
52283633 2256
9804b846
KH
2257 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2258 face->box_line_width is negative.
2259 (x_produce_stretch_glyph): Likewise.
2260 (x_produce_glyphs): Likewise.
2261 (x_estimate_mode_line_height): Likewise.
2262 (x_draw_glyph_string_background): Likewise.
2263 (x_draw_glyph_string_foreground): Likewise.
2264 (x_draw_composite_glyph_string_foreground): Likewise.
2265 (x_draw_glyph_string_box): Likewise.
2266 (x_draw_image_foreground): Likewise.
2267 (x_draw_image_relief): Likewise.
2268 (x_draw_image_foreground_1): Likewise.
2269 (x_draw_image_glyph_string): Likewise.
2270
2271 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2272 and :line-width can be negative.
52283633 2273 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2274
49be9f70
JR
22752001-02-09 Jason Rumney <jasonr@gnu.org>
2276
2277 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2278 characters the same as ASCII and latin-1.
2279 (x_display_and_set_cursor): Check for the focus frame's selected
2280 window instead of selected_window.
2281 (x_after_update_window_line): Don't clear if frame's internal
2282 border width is zero.
2283 (x_new_font): Don't change a tooltip's size.
2284 (w32_initialize): Set char_ins_del_ok to 1.
2285
2286 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2287 (x_set_font): If font hasn't changed, avoid recomputing
2288 faces and other things.
52283633
SM
2289 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2290 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2291 (x_create_tip_frame): Prevent changing the tooltip's
2292 background color by specifying a color for the default font
2293 in .Xdefaults.
2294 (Qcancel_timer): New variable.
2295 (syms_of_w32fns): Initialize and staticpro it.
2296 (Fx_hide_tip, Fx_show_tip): Use it.
2297 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2298 the timer.
2299 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2300
2301 * w32.c (init_environment): Duplicate local string before putenv.
2302
555e35d2
SZ
23032001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2304
2305 * charset.c (Fstring): A typo.
2306
19c92c94
KH
23072001-02-09 Kenichi Handa <handa@etl.go.jp>
2308
e47a1c33
KH
2309 * charset.c (Fstring): If all arguments are less than 256, return
2310 a unibyte string.
2311
2312 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2313 return a unibyte string.
2314
19c92c94
KH
2315 * coding.c (code_convert_region): After detecting a coding, if
2316 nothing found, set coding->composing to COMPOSITION_NO.
2317 (decode_coding_string): Likewise.
2318
d8e675f5
SM
23192001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2320
2321 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2322 to avoid overflow.
2323
bd503487
KH
23242001-02-07 Kenichi Handa <handa@etl.go.jp>
2325
2326 * charset.c (parse_str_to_multibyte): New function.
2327
2328 * charset.h (parse_str_to_multibyte): Extern it.
2329
2330 * print.c (print_string): If we are going to print a unibyte
2331 string into a multibyte buffer, convert the string to multibyte by
2332 str_to_multibyte.
2333
a8370d72
AI
23342001-02-06 Andrew Innes <andrewi@gnu.org>
2335
2336 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2337 been created. It seems we can get sent window messages such as
2338 WM_ERASEBKGND before we properly update a frame.
2339
c363a1d6
GM
23402001-02-06 Gerd Moellmann <gerd@gnu.org>
2341
2342 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2343 Avoid some unnecessary cursor positioning.
2344
a08332c0
GM
23452001-02-05 Gerd Moellmann <gerd@gnu.org>
2346
52283633 2347 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2348 (LFACE_AVGWIDTH): New macro.
2349 (LFACEP): Use AREF.
2350 (check_lface_attrs): Check LFACE_AVGWIDTH.
2351 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2352 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2353 (merge_face_vectors): Check LFACE_AVGWIDTH.
2354 (Finternal_make_lisp_face): Use AREF.
2355 (xm_set_menu_resources_from_menu_face)
2356 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2357 (Finternal_lisp_face_empty_p): Use AREF.
2358 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2359 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2360 Compare average widths..
2361 (best_matching_font): Arrange for comparing average widths.
2362
52283633
SM
2363 * dispextern.h (enum lface_attribute_index):
2364 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2365
5cb3c8d4
DL
23662001-02-05 Dave Love <fx@gnu.org>
2367
2368 * puresize.h: Revert last change following loadup.el change.
2369
193fba87
AI
23702001-02-05 Andrew Innes <andrewi@gnu.org>
2371
2372 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2373 invocation of temacs, to work with Windows 2000.
2374 (bootstrap-emacs): Ditto.
2375
e16f52ce
GM
23762001-02-05 Gerd Moellmann <gerd@gnu.org>
2377
7a58ab59
GM
2378 * xterm.c (x_display_and_set_cursor): Check for the focus
2379 frame's selected window instead of selected_window.
2380
e89aaabd
GM
2381 * xdisp.c (try_scrolling): If point is in the line below the
2382 window, make sure to move the iterator at least a canonical
2383 char height down.
2384
52283633 2385 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2386
789ce875
KH
23872001-02-05 Kenichi Handa <handa@etl.go.jp>
2388
52283633
SM
2389 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2390 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2391 (ccl_driver): If the CCL program is terminated because of
2392 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2393 destination instead of throwing them away.
2394
20b28f82
GM
23952001-02-02 Gerd Moellmann <gerd@gnu.org>
2396
79fb38c0
GM
2397 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2398 faces and other things.
2399
20b28f82
GM
2400 * xdisp.c (get_next_display_element): Fix case of empty
2401 display table entry.
2402
5a72551e
EZ
24032001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2404
eb24d0bf
EZ
2405 * editfns.c (Fconstrain_to_field): Doc fix.
2406
6a3f48c7
EZ
2407 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2408 into `thoroughly', to make it consistent with the doc string.
2409
5a72551e
EZ
2410 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2411
01acdb05
GM
24122001-02-01 Gerd Moellmann <gerd@gnu.org>
2413
0353b28f
GM
2414 * search.c (search_buffer): Call set_search_regs with a byte
2415 position, not a character position.
2416
01acdb05
GM
2417 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2418 minibuffer-only,
2419
e86b5133
EZ
24202001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2421
2422 * frame.c (Fmodify_frame_parameters): Doc fix.
2423
7442878f
GM
24242001-01-31 Gerd Moellmann <gerd@gnu.org>
2425
01acdb05
GM
2426 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2427 identifier which is not reserved by Standard C.
52283633 2428
7442878f
GM
2429 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2430
2431 * window.c (enum window_part): New enumeration.
2432 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2433 Qright_bitmap_area.
2434 (coordinates_in_window): Return an enumerator from enum
2435 window_part. Fix handling of right scroll bar.
2436 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2437 `right-fringe' instead of `left-bitmap-area' and
2438 `right-bitmap-area'. Use enumerators from enum window_part
2439 instead of hard-coded integers.
52283633
SM
2440 (check_window_containing, window_from_coordinates):
2441 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2442 (syms_of_window): Replace Qleft_bitmap_area and
2443 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2444
7c132cba
EZ
24452001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2446
2447 * editfns.c (Fformat_time_string): Doc fix.
2448
c359dd9e
SM
24492001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2450
2451 * keymap.c (Fwhere_is_internal): Use the first valid binding
2452 if no ascii binding is found (when firstonly is t).
2453
ce070307
GM
24542001-01-31 Gerd Moellmann <gerd@gnu.org>
2455
b4f30ec5
GM
2456 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2457 instead of Finteractive_p.
2458
2459 * lisp.h (interactive_p): Add prototype.
2460
2461 * eval.c (interactive_p): New function.
2462 (Finteractive_p): Use it.
2463
ce070307
GM
2464 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2465
f57b6e64
DL
24662001-01-31 Dave Love <fx@gnu.org>
2467
d61c7afe
DL
2468 * .gdbinit (hook-run): Define to run xreload.
2469
f57b6e64
DL
2470 * textprop.c (Fset_text_properties): Fix newline in doc string.
2471
eef93f99
GM
24722001-01-30 Gerd Moellmann <gerd@gnu.org>
2473
52283633
SM
2474 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2475 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2476
2477 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2478 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2479 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2480
2481 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2482 height.
2483
d9c1f6f9
DL
24842001-01-30 Dave Love <fx@gnu.org>
2485
2486 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2487 AFTER_POTENTIAL_GC.
2488
e8f044a0
GM
24892001-01-29 Gerd Moellmann <gerd@gnu.org>
2490
52283633
SM
2491 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2492 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2493
8e1db7b3
EZ
24942001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2495
2496 * textprop.c (Fset_text_properties): Doc fix.
2497
4eefd9d2
GM
24982001-01-29 Gerd Moellmann <gerd@gnu.org>
2499
2500 * xdisp.c (forward_to_next_line_start): Remove xassert.
2501
fccb8288
EZ
25022001-01-29 Jason Rumney <jasonr@gnu.org>
2503
4eefd9d2 2504 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2505 returning without releasing it.
2506
76581eab
KH
25072001-01-29 Kenichi Handa <handa@etl.go.jp>
2508
2509 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2510 for '^', '$', and '\0'.
2511
83a96b4d
AC
25122001-01-28 Andrew Choi <akochoi@i-cable.com>
2513
5604ec34
AC
2514 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2515 regex for '^', '$', and '\0'.
2516
83a96b4d
AC
2517 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2518 only if current_sblock has been initialized.
2519
2520 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2521 terminal frame even if it is the only visible frame.
2522
c09a6440
KH
25232001-01-28 Kenichi Handa <handa@etl.go.jp>
2524
2525 * fontset.c (font_family_registry): Even if FONTNAME conform to
2526 XLFD, if it specifies other fields than family and registry,
52283633 2527 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2528 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2529 a signle byte character. Don't set FAMILY part to nil here.
2530 It is handled by the caller choose_face_font.
c09a6440
KH
2531 (Fnew_fontset): Call font_family_registry with FORCE 0.
2532 (Fset_fontset_font): Likewise.
2533
4dcd74e6
GM
25342001-01-27 Gerd Moellmann <gerd@gnu.org>
2535
2536 * xdisp.c (display_line): Don't treat a newline as fitting
2537 on the line.
2538
d2906bf8
GM
25392001-01-26 Gerd Moellmann <gerd@gnu.org>
2540
0130fe1a
GM
2541 * window.c (size_window): Set the window's orig_top to nil when
2542 changing heights, so that a future shrink_mini_window won't
2543 restore a bogus height.
2544
550f0e6a
GM
2545 * frame.c (do_switch_frame): If selected frame has a mini-window,
2546 resize that to exact size.
2547
b7b20fbd
GM
2548 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2549
a47b7816
GM
2550 * xdisp.c (display_line): Simplify check for glyphs fitting
2551 entirely in the line.
2552
d2906bf8
GM
2553 * xfns.c (xic_style): New variable.
2554 (create_frame_xic): Move static variable to global scope for
550f0e6a 2555 the case that `static' gets defined away.
d2906bf8 2556
73df2b1e
KH
25572001-01-26 Kenichi Handa <handa@etl.go.jp>
2558
2559 * coding.c (decode_coding): Set a flag for inhibiting
2560 inconsistent eol.
2561 (code_convert_region): Always set saved_coding_symbol.
2562 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2563 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2564
6613cfc4
GM
25652001-01-25 Gerd Moellmann <gerd@gnu.org>
2566
c5e6e06b
GM
2567 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2568 XClearArea.
2569
2570 * xterm.c (x_after_update_window_line): Don't clear if frame's
2571 internal border width is zero.
2572 (x_clear_area): New function.
2573 (x_after_update_window_line, x_clear_end_of_line)
2574 (x_scroll_bar_create, x_scroll_bar_set_handle)
2575 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2576 instead of XClearArea.
2577
2578 * xterm.h (x_clear_area): Add prototype.
2579
6613cfc4
GM
2580 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2581 which doesn't seem necessary anymore with Lesstif 0.92.
2582
650cc6cc
DL
25832001-01-25 Dave Love <fx@gnu.org>
2584
34ac3367
DL
2585 * puresize.h (BASE_PURESIZE): Up to 720000.
2586
650cc6cc
DL
2587 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2588
5e37dc22
GM
25892001-01-25 Gerd Moellmann <gerd@gnu.org>
2590
e1e441f9
GM
2591 * xdisp.c (echo_area_display): Don't call redisplay_internal
2592 when Emacs is shutting down. We can't run hooks etc. that
2593 would be necessary to do a redisplay.
2594
5e37dc22
GM
2595 * lread.c (read_integer): Use type EMACS_INT instead of int.
2596
0fb94c7f
EZ
25972001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2598
2599 * ccl.c (ccl_driver): Fix last change.
2600
e3778624
KH
26012001-01-25 Kenichi Handa <handa@etl.go.jp>
2602
2603 * ccl.h (sturct ccl_program): New member suppress_error.
2604
bb264518 2605 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2606 insert error message to the output.
2607 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2608
2609 * coding.h (struct coding_system): New member suppress_error.
2610
2611 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2612 (Fset_terminal_coding_system_internal): Set the member
2613 suppress_error to 1.
2614 (Fset_safe_terminal_coding_system_internal): Likewise.
2615
245ed2b1
SM
26162001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2617
2618 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2619 as if it was a `charset'.
2620
f9aaedb6
GM
26212001-01-24 Gerd Moellmann <gerd@gnu.org>
2622
2623 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2624 value in where_is_cache; the next lookup in the cache returns
2625 something bogus if we do.
2626
c3902c3e
EZ
26272001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2628
2629 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2630 if HAVE_WINDOW_SYSTEM isn't defined.
2631
3497f73e
GM
26322001-01-24 Gerd Moellmann <gerd@gnu.org>
2633
e7e41584
GM
2634 * fns.c (sweep_weak_table): Fix code taking items out of
2635 the hash collision chain. Some cleanup.
2636
3497f73e
GM
2637 * xterm.c (x_new_font): Don't change a tooltip's size.
2638
2639 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2640 background color by specifying a color for the default font
2641 in .Xdefaults.
2642
3d48e687
KH
26432001-01-24 Kenichi Handa <handa@etl.go.jp>
2644
96531b20
KH
2645 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2646 a workaround for SunOS 4's cc.
2647 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2648 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2649 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2650 statement.
3d48e687 2651
a30629d2
GM
26522001-01-23 Gerd Moellmann <gerd@gnu.org>
2653
2654 * xterm.c (x_set_window_size_1): New function extracted from
2655 x_set_window_size.
2656 (x_set_window_size): Use it.
2657 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2658 doesn't have a widget, like tooltips.
2659
5a43decf
EZ
26602001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2661
52283633 2662 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2663
b0e98867
KH
26642001-01-23 Kenichi Handa <handa@etl.go.jp>
2665
2666 * fns.c (Fset_char_table_default): Fix to make sub char-table
2667 correctly.
2668
50606b4c
GM
26692001-01-22 Gerd Moellmann <gerd@gnu.org>
2670
cb2ddc53 2671 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2672 a desired tool bar string, even if there are no tool bar items.
2673
57c28064
GM
2674 * xdisp.c (Ftool_bar_lines_needed): New function.
2675 (syms_of_xdisp): Defsubr it.
2676
50606b4c
GM
2677 * editfns.c (Fformat): Don't extend text properties from arguments
2678 to padding chars in the result.
2679
2f169c38
EZ
26802001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2681
2682 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2683
0f32f023
AI
26842001-01-20 Andrew Innes <andrewi@gnu.org>
2685
52283633 2686 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2687 (w32_initialize): Don't set term hooks that aren't actually needed
2688 in windowed mode.
2689
2690 * xfaces.c (realize_default_face):
2691 (realize_face):
2692 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2693
2694 * xdisp.c (handle_single_display_prop): Remove references to
2695 FRAME_W32_CONSOLE_P.
2696
52283633 2697 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2698
2699 * frame.h (output_method): Remove output_w32_console method.
2700 (FRAME_W32_CONSOLE_P): Remove macro.
2701
2702 * frame.c (Qw32_console): Remove variable.
2703 (Fframep): Remove references to it.
2704 (syms_of_frame): Ditto.
2705 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2706
2707 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2708 redefinition.
2709
7173eada
KH
27102001-01-20 Kenichi Handa <handa@etl.go.jp>
2711
2712 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2713
755b45ce
AI
27142001-01-19 Andrew Innes <andrewi@gnu.org>
2715
2716 * w32.c (init_environment): Add a version-independent site-lisp
2717 directory to EMACSLOADPATH, after the version dependent one.
2718
0a949811
GM
27192001-01-19 Gerd Moellmann <gerd@gnu.org>
2720
8501998a
GM
2721 * editfns.c (Fbuffer_substring): Doc fix.
2722
52283633
SM
2723 * xdisp.c (message_dolog, message2, message2_nolog):
2724 Rename parameter LEN to NBYTES.
0a949811 2725
e6ebcbbe
KH
27262001-01-19 Kenichi Handa <handa@etl.go.jp>
2727
200ecca2
KH
2728 * charset.c (strwidth): Use c_string_width.
2729 (c_string_width): New function.
2730 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2731 Caller changed.
2732
2733 * charset.h (c_string_width, lisp_string_width): Extern them.
2734
52283633 2735 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2736
e6ebcbbe
KH
2737 * indent.c (check_composition): Check validity of composition.
2738
200ecca2
KH
2739 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2740 characters by calling c_string_width.
2741 (x_consider_frame_title): Get byte length of frame tile string
2742 correctly.
2743 (display_mode_element): Pay attention to width of non-ASCII
2744 characters by calling strwidth.
2745
8692ca92
GM
27462001-01-18 Gerd Moellmann <gerd@gnu.org>
2747
8962e303
GM
2748 * xfns.c (Qcancel_timer): New variable.
2749 (syms_of_xfns): Initialize and staticpro it.
2750 (Fx_hide_tip, Fx_show_tip): Use it.
2751 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2752 the timer.
2753 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2754
91523be9
GM
2755 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2756
2757 * window.h (WINDOW_LIVE_P): New macro.
2758
b0b7ed0e
GM
2759 * window.c (window_size_fixed): New variable.
2760 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2761 the doc string.
2762
06bccf8e
GM
2763 * eval.c (specbind): If binding a per-buffer variable which
2764 doesn't have a buffer-local value in the current buffer, change
2765 the global value by changing the value of the symbol bound in all
2766 buffers not having their own value, to make it consistent with
2767 what happens with other buffer-local variables.
2768
8692ca92
GM
2769 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2770
2771 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2772 when searching for a newline.
2773
bb3a3b50
KH
27742001-01-18 Kenichi Handa <handa@etl.go.jp>
2775
2776 * xdisp.c (display_string): Fix previous change.
2777
c2cc16fa
JR
27782001-01-18 Jason Rumney <jasonr@gnu.org>
2779
2780 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2781 GLYPH_DEBUG is defined.
2782 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2783 true for images with `:ascent 100'.
2784 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2785 meantime, use face MOUSE_FACE_ID.
2786 If first glyph isn't a character glyph, use the ASCII NUL
2787 character to determine the face.
2788 (expose_area): Do not treat left margin specially.
2789 (note_mode_line_highlight): If no local_map, check global keymap.
2790 (note_mouse_highlight): Initialize overlay.
52283633 2791 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2792 (show_scroll_bars): Remove unused function.
2793 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2794 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2795 Clip to row.
52283633 2796 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2797 (x_free_frame_resources): Unload relief colors.
2798
9c11f79e
GM
27992001-01-17 Gerd Moellmann <gerd@gnu.org>
2800
3aec8722 2801 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2802 get_next_display_element when the newline is already found.
2803 This may change the iterator's position, when its current position is
3aec8722
GM
2804 equal to the iterator's stop_charpos.
2805
f3ffc2c3
GM
2806 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2807 zero, use this method only at the end of a line.
2808
52283633 2809 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2810 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2811 if SCALABLE_FONTS_P is set.
52283633 2812
d26d6fd9
GM
2813 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2814 so that scalable fonts are included.
2815
9c11f79e
GM
2816 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2817 In the cache, use a key containing the information if scalable
2818 fonts are included.
2819 (x_load_font): Adapt to change of keys in the font cache.
2820
28212001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2822
d26d6fd9
GM
2823 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2824 XListFonts to take advantage of font caching.
2825
9c11f79e
GM
2826 * xterm.c (x_list_fonts): Ensure caching font information when
2827 called for a null frame, which is the case frequently when Emacs
2828 starts.
2829
51446987
GM
28302001-01-17 Gerd Moellmann <gerd@gnu.org>
2831
f864120f
GM
2832 * xfns.c (QCconversion): Replaces QCalgorithm.
2833
2834 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2835
2836 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2837 of :algorithm.
52283633 2838
e37d1417
GM
2839 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2840 not everything could be displayed.
2841
51446987
GM
2842 * line.h, x-list-font.c: Files removed because unused.
2843
9ad4f3e5
AI
28442001-01-17 Andrew Innes <andrewi@gnu.org>
2845
2846 * dired.c (directory_files_internal): Convert result from readdir
2847 to a unibyte string initially, to avoid possible misinterpretation
2848 of some bytes as the internal form of Emacs characters.
2849
2eda09b5
KH
28502001-01-17 Kenichi Handa <handa@etl.go.jp>
2851
2852 * fns.c (concat): Be sure to avoid putting the same `composition'
2853 property on the adjacent regions.
2854
826f3788
GM
28552001-01-16 Gerd Moellmann <gerd@gnu.org>
2856
52283633 2857 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2858 (Fscroll_right, Fscroll_left): Set it here instead, if called
2859 interactively.
2860
d57b83b3
GM
2861 * buffer.c (Fset_buffer_modified_p): Set buffer's
2862 prevent_redisplay_optimizations_p flag.
2863
826f3788 2864 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2865 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2866 with additional arg.
2867
2868 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2869 Change prototype.
826f3788 2870
826f3788
GM
2871 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2872 FROM_WHERE, for debugging.
2873
261d788b
KH
28742001-01-16 Kenichi Handa <handa@etl.go.jp>
2875
2876 * ccl.c (Fregister_ccl_program): Handle the return value of
2877 resolve_symbol_ccl_program correctly.
52283633 2878 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2879
bccee4f2
GM
28802001-01-15 Gerd Moellmann <gerd@gnu.org>
2881
e4ded23c
GM
2882 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2883 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2884
2885 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2886 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2887 the display; we didn't open it.
2888
bccee4f2
GM
2889 * dispnew.c (save_or_restore_current_matrices): Function removed.
2890 (save_current_matrix, restore_current_matrix): New functions.
2891 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2892 restore the frame's current matrix. Due to the glyph pointer
2893 setup done in adjust_glyph_matrix, there is no easy way to make
2894 saving the current matrix in the desired matrix generally correct,
2895 so don't try it.
2896
ebeccffa
KH
28972001-01-15 Kenichi Handa <handa@etl.go.jp>
2898
2899 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2900 truncation glyphs.
2901 (display_line): Optimize for wide characters.
e4ded23c 2902 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2903 partially. On ttys, produce more than one truncation glyph for
2904 multi-column characters that don't fit on the line.
2905
64388126
KH
29062001-01-13 Kenichi Handa <handa@etl.go.jp>
2907
52283633
SM
2908 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2909 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2910
8edb0a6f
JR
29112001-01-13 Jason Rumney <jasonr@gnu.org>
2912
2913 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2914 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2915 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2916 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2917
52283633
SM
2918 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2919 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2920 (x_draw_image_glyph_string): Adapt to change of image margins.
2921
2922 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2923 variables.
2924
2925 * w32bdf.c (search_file_line, get_cached_font_char)
2926 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2927
2928 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2929
2930 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2931 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2932 (Fw32_send_sys_command): Remove unused variables.
2933 (w32_msg_pump): Add parentheses.
2934
2935 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2936 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2937 Add parentheses.
2938
4956d1ef
GM
29392001-01-12 Gerd Moellmann <gerd@gnu.org>
2940
b30623be
GM
2941 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2942 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2943 being a pair of margins.
2944 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2945 to DEFVAR_LISP. Extend doc.
2946
2947 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2948 margins.
2949 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2950 pair of integers `(X . Y)', use X for the horizontal and Y for the
2951 vertical margin.
2952 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2953 (parse_image_spec): Check it.
52283633
SM
2954 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2955 (tiff_format, gif_format, gs_format):
2956 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2957
52283633
SM
2958 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2959 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2960 (x_draw_image_glyph_string): Adapt to the change of image margins.
2961
2962 * dispextern.h (struct image): Replace member `margin' with
2963 `hmargin' and `vmargin'.
2964
4554cc79
GM
2965 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2966 and GLYPHS.
2967
2968 * dispnew.c (update_text_area): Put code which decrements the
2969 stop position when the row's face extends to the end of the
3bffc665 2970 line in #if 0.
4554cc79 2971
3cccce8d
GM
2972 * xfns.c (x_set_mouse_color): Fix color allocation.
2973
4956d1ef
GM
2974 * keyboard.c: Call get_local_map with new argument list.
2975
2976 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2977
2978 * intervals.h (enum map_property): Removed.
2979 (get_local_map): Change prototype.
2980
2981 * keymap.c: Call get_local_map with new argument list.
2982 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2983
2c2ff7f2
GM
29842001-01-11 Gerd Moellmann <gerd@gnu.org>
2985
a23887b9
GM
2986 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2987 of the size needed for the tool bar string. For the last image,
2988 use a `display' property that reaches to the end of the string.
2989
a7ee2d2e
GM
2990 * xselect.c (selection_request_dpyinfo): New variable.
2991 (x_handle_selection_request): Set it.
2992 (x_selection_request_lisp_error): Don't call
2993 x_decline_selection_request if selection request's display has
2994 been closed.
2995
52283633
SM
2996 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2997 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2998
457b792c
GM
29992001-01-10 Dave Love <fx@gnu.org>
3000
3001 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3002 ${SOME_MACHINE_LISP}, not ${lisp}.
3003
c1efd260
GM
30042001-01-10 Gerd Moellmann <gerd@gnu.org>
3005
52283633
SM
3006 * xdisp.c (display_line): On ttys, produce more than one truncation
3007 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3008
ac95a621
GM
3009 * xselect.c (x_reply_selection_request): Add a comment.
3010
c1efd260
GM
3011 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3012 XkbGetNames instead of XkbGetKeyboard.
3013
1bfb1345
DL
30142001-01-10 Dave Love <fx@gnu.org>
3015
3016 * sysdep.c (random): Revert the declaration.
3017
38119822
GM
30182001-01-09 Gerd Moellmann <gerd@gnu.org>
3019
52283633
SM
3020 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3021 Call function string_bytes.
35f464a7
GM
3022 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3023
3024 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3025 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3026 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3027 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3028 the current sblock.
3029 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3030 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3031 after sweeping strings, and at the end.
3032 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3033
38119822
GM
3034 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3035 ensure that pop_message is called.
3036
3037 * keyboard.c (Fexecute_extended_command): Use a
3038 record_unwind_protect to ensure that pop_message is called.
3039
3040 * lisp.h (push_message_unwind): Add prototype.
3041
3042 * xdisp.c (push_message_unwind): New function.
3043
3044 * fileio.c (do_auto_save_unwind): Do the pop_message here
3045 instead of in Fdo_auto_save.
3046 (Fdo_auto_save): Don't call pop_message.
3047
f47a9ec4
KR
30482001-01-08 Ken Raeburn <raeburn@gnu.org>
3049
3050 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3051 in inner block.
3052
a758f97d
GM
30532001-01-08 Gerd Moellmann <gerd@gnu.org>
3054
6d0afc03
GM
3055 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3056 when increasing window's vscroll.
3057
a758f97d
GM
3058 * macros.c (Qkbd_macro_termination_hook): New variable.
3059 (syms_of_macros): Initialize and staticpro it.
3060 (pop_kbd_macro): Run kbd-macro-termination-hook.
3061
3062 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3063
1bfb1345 30642001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3065
3066 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3067 arglist, for documentation's sake.
3068
0dac6924
AI
30692001-01-06 Andrew Innes <andrewi@gnu.org>
3070
3071 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3072 of *.pdb.
3073
8182406a
AI
30742001-01-05 Andrew Innes <andrewi@gnu.org>
3075
3076 * term.c (update_end): Don't check updating_frame; for some reason
3077 this can be 0 sometimes, such as after dismissing a popup menu,
3078 and isn't necessary given the explicit frame argument.
3079
3828218c
GM
30802001-01-05 Gerd Moellmann <gerd@gnu.org>
3081
3082 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3083 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3084
2f5ded21
GM
30852001-01-04 Gerd Moellmann <gerd@gnu.org>
3086
52283633 3087 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3088
3089 * xfns.c (x_create_tip_frame): Preserve the value of
3090 face_change_count around the creation of the tip frame.
52283633 3091
2f5ded21
GM
3092 * xfns.c (last_show_tip_args): New variable.
3093 (compute_tip_xy): New function.
3094 (Fx_show_tip): Reuse an existing tip frame, if possible.
3095 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3096
dfad65fa
DL
30972001-01-04 Dave Love <fx@gnu.org>
3098
64d4ec0f
DL
3099 * editfns.c (Fformat): Doc fix.
3100
dfad65fa
DL
3101 * systime.h (set_file_times): Prototype.
3102
3103 * widget.h (EmacsFrameSetCharSize_): Prototype.
3104
3105 * sysdep.c (random, srandom): Declare explicitly.
3106
3107 * dispextern.h (move_it_vertically_backward): Declare.
3108
85fe3b5e
GM
31092001-01-04 Gerd Moellmann <gerd@gnu.org>
3110
0f2ac578
GM
3111 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3112 like in Fx_create_frame.
3113
482cca61
GM
3114 * xfaces.c (set_font_frame_param): Don't do anything for
3115 non-graphical frames.
3116
85fe3b5e
GM
3117 * window.c (Fdelete_other_windows): Set window's window_end_valid
3118 to nil when changing the window's start. Don't change the
3119 window's start when its top position hasn't changed. If we do,
3120 this will set the window's optional_new_start, which act's like a
3121 force_start during redisplay with C-x 1 M-> under particular
3122 circumstances (see report from Per Starback to emacs-pretest-bug
3123 from 2000-12-13.).
3124
3e99d3b4
GM
31252001-01-03 Gerd Moellmann <gerd@gnu.org>
3126
a77dc1ec
GM
3127 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3128 short cut at the start of the function. Add an assertion.
3129 (reseat_at_next_visible_line_start): Add an assertion.
3130
2f3cad6c
GM
3131 * window.c (Frecenter): When changing the window start, set the
3132 window's window_end_valid to nil.
3133 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3134
3135 * dispextern.h (move_it_past_eol): Add prototype.
3136
3137 * xdisp.c (move_it_past_eol): New function.
3138
3e99d3b4
GM
3139 * window.c (Fwindow_end): Doc fix.
3140
31412001-01-03 Dave Love <fx@gnu.org>
3142
52283633 3143 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3144
bafb434c
GM
31452001-01-03 Gerd Moellmann <gerd@gnu.org>
3146
3147 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3148 the enabled_p flag of the glyph row at window_end_vpos to 0.
3149 (handle_single_display_prop): Fix last change.
3150
5297fb00
RS
31512001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3152
3153 * window.c (Frecenter): Doc fix.
3154
13d6a61c
AI
31552001-01-02 Andrew Innes <andrewi@gnu.org>
3156
3157 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3158
3159 * frame.h (output_method): Add output_w32_console method.
3160 (FRAME_W32_CONSOLE_P): New macro.
3161
3162 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3163 use output_w32_console method.
3164 (Qw32_console): New Lisp_Object.
3165 (Fframep): Return it.
3166 (syms_of_frame): Init it.
52283633 3167 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3168
3169 * xfaces.c (realize_default_face): Set face foreground and
3170 background to unspecified for w32_console frames.
3171 (realize_face): Realize face cache for w32_console frames.
3172 (realize_tty_face): Accept w32_console frames.
3173
52283633 3174 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3175 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3176 necessary, even if running interactively.
3177
3178 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3179 w32_console frames.
3180
52283633
SM
3181 * w32term.c (x_update_begin):
3182 (x_update_end):
3183 (x_clear_frame):
3184 (x_ins_del_lines):
3185 (x_change_line_highlight):
3186 (x_delete_glyphs):
3187 (w32_ring_bell):
3188 (x_update_begin):
3189 (x_update_end):
3190 (w32_reassert_line_highlight):
3191 (w32_frame_rehighlight):
13d6a61c
AI
3192 (w32_frame_raise_lower): Do nothing if not w32 frame.
3193
3194 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3195
3196 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3197 system doesn't tell us directly.
3198 (Fx_display_visual_class): Implement properly.
3199
d6bb0c0d
GM
32002001-01-02 Gerd Moellmann <gerd@gnu.org>
3201
3202 * window.c (Frecenter): Handle centering in graphical frames
3203 specially. Centering on the basis of line counts doesn't work
3204 reliably with variable-height lines.
52283633 3205
315f5865
EZ
32062001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3207
3208 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3209 and al[].
3210
52283633 3211 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3212 (update_compositions): Remove unused variable `hook'.
3213
3214 * intervals.c (get_local_map): Remove unused variable `tem'.
3215
3216 * doprnt.c (doprnt1): Remove unused variable `size'.
3217
3218 * fns.c (Flength): Remove unused variable `tail'.
3219 (Fdelete): Remove unused variable `size'.
3220
3221 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3222 and `gcpro2'.
3223
52283633 3224 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3225
3226 * data.c (find_symbol_value): Remove extra 3rd argument in the
3227 call to swap_in_symval_forwarding.
3228
52283633 3229 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3230
3231 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3232 (trivial_regexp_p): Remove unused variable `c'.
3233 (boyer_moore): Remove unused variable `k'.
3234
3235 * indent.c (current_column): Remove unused variable `stopchar'.
3236 (Fcompute_motion): Remove unused variable `contin'.
3237
3238 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3239
3240 * dired.c (directory_files_internal): Fix a typo in a comment.
3241 Remove an unused variable `handler'.
52283633 3242 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3243 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3244 on BSD4_2.
3245
52283633 3246 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3247
3248 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3249 and `buf'.
3250 (Fmarker_insertion_type): Remove unused variable `buf'.
3251
3252 * insdel.c (make_gap): Remove unused variable `result'.
3253
52283633 3254 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3255 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3256 (menu_bar_items): Remove unused function-scope variable `tem'.
3257
3258 * fontset.c (fontset_ref): Remove unused variable `i'.
3259 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3260 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3261 (make_fontset_for_ascii_face): Remove unused variable `name'.
3262 (fs_load_font): Remove unused variable `font_idx'.
52283633 3263 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3264 (list_fontsets): Remove unused variable `tail'.
3265 (Fnew_fontset): Remove unused variables `family' and `registry'.
3266 (accumulate_font_info): Remove unused variable `tmp'.
3267 (Ffontset_font): Remove unused variable `id'.
3268 (syms_of_fontset): Remove unused variable `i'.
3269
3270 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3271 to x_term_init.
3272 (lookup_image): Remove unused variable `file'.
3273 (xbm_load): Remove unused variables `bitmap_data', `height', and
3274 `width'. Remove function-local variable `i', leave the
3275 block-local one.
3276 (gif_load): Remove unused variable `inc'.
3277
52283633 3278 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3279 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3280 leave only the one in the inner block.
3281
3282 * xfaces.c (face_fontset, realize_default_face): Remove unused
3283 variable `fontset'.
3284 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3285
3286 * term.c (encode_terminal_code): Remove unused variable `c'.
3287
3288 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3289 char *' instead of `char *'.
3290
3291 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3292 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3293 (Fchar_category_set): Remove unused variables `val', `charset',
3294 `c1' and `c2'.
3295
52283633
SM
3296 * coding.c (detect_coding_iso2022, setup_coding_system):
3297 Remove unused variable `i'.
315f5865
EZ
3298 (detect_coding_mask): Remove unused variable `idx'.
3299 (detect_coding): Remove unused variable `i'.
3300 (ccl_coding_driver): Remove unused variable `result'.
3301 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3302 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3303 (encode_coding_string): Remove unused variables `gcpro1' and
3304 `saved_coding_symbol'.
3305 (Ffind_coding_systems_region_internal): Remove function-local
3306 variable args[], leave only the block-local one.
3307 (code_convert_region1): Remove unused variable `len'.
3308
3309 * charset.c (char_printable_p): Remove unused variable `chars'.
3310 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3311 (str_to_multibyte): Remove unused variable `c'.
3312
3313 * window.c (size_window): Remove block-local variable `min_size'.
3314
3315 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3316 `header_line_height'.
3317 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3318 enum display_element_type.
3319
1a8a9daf
GM
33202001-01-02 Gerd Moellmann <gerd@gnu.org>
3321
6dde6abc 3322 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3323 statements that call X. Save away the error message in a local copy.
3324
1883b2c6
GM
3325 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3326 the start.
3327
a13be207
GM
3328 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3329 in or at the start of invisible text.
3330
1a8a9daf
GM
3331 * dispnew.c (update_window): Don't check_current_matrix_flags.
3332
3608c0f9
JR
33332001-01-01 Jason Rumney <jasonr@gnu.org>
3334
3335 * w32fns.c (x_figure_window_size): Do not allow new_height and
3336 new_width of frame to override specified values.
3337
abb1acc4
KH
33382000-12-30 Kenichi Handa <handa@etl.go.jp>
3339
52283633 3340 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3341
762a68ec
GM
33422000-12-29 Gerd Moellmann <gerd@gnu.org>
3343
52283633 3344 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3345 (update_window) [GLYPH_DEBUG]: Call it.
3346 (scrolling_window): Prevent including current rows which are below
3347 what's displayed in the window.
3348
3349 * xdisp.c (try_window_reusing_current_matrix)
3350 <new start <= old start>: Disable rows in the current matrix
3351 which are below the window after scrolling.
52283633 3352
762a68ec
GM
3353 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3354 is zero. It's not worth the complexity.
3355 (invisible_text_between_p): Put in #if 0 because unused.
3356
2d5912c1
GM
33572000-12-28 Gerd Moellmann <gerd@gnu.org>
3358
46f6a258
GM
3359 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3360 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3361
89f93679
GM
3362 * keyboard.c (echo_char): If C is an integer, always call
3363 push_key_description. Former code could signal an invalid
3364 character error.
3365
3366 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3367 If set, print multibyte text.
3368 (Fsingle_key_description): Call push_key_description with
3369 FORCE_MULTIBYTE set.
3370 (describe_buffer_bindings): Likewise.
3371
3372 * lisp.h (push_key_description): Add prototype.
3373
c06017fb
GM
3374 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3375 around the call to redisplay_internal.
3376
f1d2ce7f
GM
3377 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3378
2d5912c1
GM
3379 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3380
9371f831
KH
33812000-12-28 Kenichi Handa <handa@etl.go.jp>
3382
3383 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3384 (ccl_driver): New local variable `extra_bytes'.
3385
3386 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3387
52283633
SM
3388 * coding.c (setup_coding_system):
3389 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3390 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3391
0c80628a
KH
33922000-12-28 Kenichi Handa <handa@etl.go.jp>
3393
3394 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3395 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3396 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3397 (decode_composition_emacs_mule): New function.
3398 (decode_coding_emacs_mule): Decode composition sequence by calling
3399 decode_composition_emacs_mule.
3400 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3401 (encode_coding_emacs_mule): Changed from macro to function.
3402 If a text contains compositions, encode them correctly.
0c80628a
KH
3403 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3404 that decoding and encoding are required.
3405
3e32cc27
GM
34062000-12-27 Gerd Moellmann <gerd@gnu.org>
3407
5e25feee
GM
3408 * xfaces.c (PT_PER_INCH): New macro.
3409 (xlfd_point_size): Compute real point size from font's pixel size.
3410 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3411 instead of 72.
3412
892d8fcd
GM
3413 * .gdbinit: Comment out the line pointing to the Lesstif source
3414 directory.
3415
12c8b416
GM
3416 * window.c (Frecenter): Use displayed_window_lines instead
3417 of window_internal_height.
3418
6061fbf0
GM
3419 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3420 instead of x-toolkit-scroll-bars-p.
3421 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3422
3423 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3424 instead of x-toolkit-scroll-bars-p.
3425 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3426
3e32cc27
GM
3427 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3428 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3429 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3430 New variables.
3431 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3432 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3433 (build_frame_matrix_from_leaf_window): Remove unused code.
3434 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3435 redisplay history.
3436 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3437 (update_window) [GLYPH_DEBUG]: Likewise.
3438 (syms_of_display): Defsubr dump-redisplay-history.
3439
31798cfe
GM
34402000-12-23 Gerd Moellmann <gerd@gnu.org>
3441
f717c2ba
GM
3442 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3443 the end of the prompt. Set echo_after_prompt to the offset
3444 of echoptr in echobuf.
3445
aeb2b8fc
GM
3446 * xdisp.c (init_from_display_pos): Pop until the iterator's
3447 stack is empty; there may be frames for stretch or images
3448 on the stack.
3449
31798cfe
GM
3450 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3451 (save_or_restore_current_matrix): New function for the same
3452 purpose, but more efficient.
3453 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3454
f8156156
EZ
34552000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3456
3457 * xdisp.c (syms_of_xdisp): Fix last change.
3458
bdd6d4e8
GM
34592000-12-23 Gerd Moellmann <gerd@gnu.org>
3460
3461 * xdisp.c (syms_of_xdisp): Doc fix.
3462
3463 * xdisp.c (redisplay_window): Remove label restore_buffers;
3464 use finish_scroll_bars instead to make sure that scroll bars
3465 are redeemed. If we don't do this, flickering can result from
3466 scroll bars being destroyed and recreated.
3467
9436cdf9
JR
34682000-12-22 Jason Rumney <jasonr@gnu.org>
3469
3470 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3471 in the wrong colors when the foreground is not black.
3472 (expose_window): Don't redraw the window that's currently being
3473 updated.
3474
951f9df5
GM
34752000-12-22 Gerd Moellmann <gerd@gnu.org>
3476
856ff7a7
GM
3477 * window.c (size_window): When setting the window's too_small_ok
3478 flag, compare old size with minimum size depending on WIDTH_P,
3479 don't compare with window_min_width.
52283633 3480
951f9df5
GM
3481 * window.c (delete_window): Simplify somewhat.
3482 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3483 freeing window matrices. The flag windows_or_buffers_changed is
3484 set, so the next redisplay will consider all windows; this should
3485 suffice.
3486
886bc933
KH
34872000-12-22 Kenichi Handa <handa@etl.go.jp>
3488
3489 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3490
3491 * ccl.h (struct ccl_program): New member cr_consumed.
3492
3493 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3494 (CCL_READ_CHAR): Handle EOL conversion here.
3495 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3496
177f4e88
GM
34972000-12-21 Gerd Moellmann <gerd@gnu.org>
3498
52283633 3499 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3500
3501 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3502 otherwise tabs of different size compare equal.
3503
3504 * callint.c (Fcall_interactively): Prevent a compiler warning.
3505
3506 * print.c (print_unwind): Return nil.
3507 (PRINTDECLARE): Initialize all local variables.
3508 (print_preprocess): Add a default case.
3509
8e15274f
GM
3510 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3511
3512 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3513
52283633 3514 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3515 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3516
3517 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3518
3519 * dispnew.c (ensure_frame_matrix): Removed.
3520 (save_frame_matrix, restore_frame_matrix): New functions.
3521 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3522
3523 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3524 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3525
99012074
AI
35262000-12-21 Andrew Innes <andrewi@gnu.org>
3527
3528 * w32term.c (x_update_begin): Regenerate the palette here, rather
3529 than for each window.
3530
3531 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3532 palette is NULL, since this corrupts memory! Also get
3533 display_info reference from frame.
3534
29ef7d2d
JR
35352000-12-21 Jason Rumney <jasonr@gnu.org>
3536
3537 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3538
3539 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3540 to avoid returning without releasing it.
3e27fa1f 3541
3f9d67a6
KH
35422000-12-21 Kenichi Handa <handa@etl.go.jp>
3543
587fc3f9
KH
3544 * keymap.c (push_key_description): Don't convert eight-bit-control
3545 and eight-bit-graphic to multibyte character.
3546
3f9d67a6
KH
3547 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3548 generic character and CODE1 is nil, return the smallest character
3549 in CHARSET.
3550
774ba8c9
DL
35512000-12-20 Dave Love <fx@gnu.org>
3552
3553 * s/osf5-0.h (NSIG): Don't redefine.
3554
88416888
SM
35552000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3556
3557 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3558 excluding menu-bar and tool-bar.
3559 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3560 (menu_item_p): Remove.
3561 (where_is_internal_1): Don't ignore menu-items.
3562
a6426c6f
GM
35632000-12-20 Gerd Moellmann <gerd@gnu.org>
3564
03ff8aab
GM
3565 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3566 into account.
3567
3568 * window.c (make_window): Initialize window's min_hscroll.
3569 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3570 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3571 to zero.
3572 (struct saved_window): New member min_hscroll.
3573 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3574 (Fset_window_configuration): Set window's min_hscroll.
3575 (save_window_save): Save window's min_hscroll.
3576 (compare_window_configurations): Compare min_hscroll values.
3577
3578 * window.h (struct window): New member min_hscroll.
3579
3580 * keyboard.c (echo_prompt): Prevent a compiler warning.
3581
8de4aaf8
GM
3582 * xdisp.c (try_cursor_movement): Fix last change. The real
3583 condition is that PT is at the end of the row, and should
3584 be displayed at the start of the next row.
52283633 3585
3f7e3031
GM
3586 * xdisp.c (try_cursor_movement): If we end on a partially
3587 visible line, end we already decided to scroll, return -1.
3588
a6426c6f
GM
3589 * dispextern.h (ensure_frame_matrix): Add prototype.
3590
3591 * window.c (delete_window, Fsplit_window)
3592 (Fset_window_configuration): Call ensure_frame_matrix.
3593
52283633
SM
3594 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3595 New functions.
a6426c6f
GM
3596 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3597 completed, call fake_current_matrices instead of marking frame
3598 garbaged.
3599
57fa2774
JR
36002000-12-20 Jason Rumney <jasonr@gnu.org>
3601
3602 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3603
d925df90
EZ
36042000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3605
3606 * fns.c (Frequire): Doc fix.
3607
7b93a85b
GM
36082000-12-19 Gerd Moellmann <gerd@gnu.org>
3609
52283633 3610 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3611
c74e645b
GM
3612 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3613 currently displaying a message.
3614
7b93a85b
GM
3615 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3616 xterm.h.
3617 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3618
90d97e64
AI
36192000-12-18 Andrew Innes <andrewi@gnu.org>
3620
3621 * w32.c (w32_strerror): New function.
3622
3623 * w32.h (w32_strerror): New extern.
3624
3625 * w32fns.c (Fw32_shell_execute): Use it.
3626
91c9e6ce
GM
36272000-12-18 Gerd Moellmann <gerd@gnu.org>
3628
3629 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3630
6f4745e2
EZ
36312000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3632
3633 * msdos.c (IT_set_face): Obey inverse_video.
3634
c9e088ce
KH
36352000-12-18 Kenichi Handa <handa@etl.go.jp>
3636
3637 * dired.c (directory_files_internal): Always return decoded filenames.
3638
c3695f5f
GM
36392000-12-18 Gerd Moellmann <gerd@gnu.org>
3640
52d8e4ff
GM
3641 * xterm.c (x_connection_closed): Prevent being called recursively
3642 because of an error condition in XtCloseDisplay.
52283633 3643
62be9979
GM
3644 * xdisp.c (init_iterator): If noninteractive, and the frame's
3645 face cache is null, make one.
3646
52283633 3647 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3648
c3695f5f
GM
3649 * process.c (wait_reading_process_input): Check for pending
3650 input when running timers.
3651
78555fbe
EZ
36522000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3653
52283633 3654 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3655
b2b36264
KH
36562000-12-18 Kenichi Handa <handa@etl.go.jp>
3657
3658 * process.c (read_process_output): Don't run a filter if the code
3659 decoder produces nothing but carryover.
3660
9c543fbf
AI
36612000-12-17 Andrew Innes <andrewi@gnu.org>
3662
3663 * w32.c (sys_rename): Only check errno against EEXIST, and not
3664 EACCES, when determining whether rename failed because the target
3665 exists. This was resulting in indefinite looping on Windows 9x if
3666 the source file was locked by another process.
3667
3668 * w32fns.c (Ffile_system_info): New function.
3669 (syms_of_w32fns): Defsubr it.
3670
10c2b5a8
GM
36712000-12-17 Gerd Moellmann <gerd@gnu.org>
3672
b0228ace
GM
3673 * window.c (coordinates_in_window): Fix computation for
3674 position on vertical line between mode lines.
3675
10c2b5a8
GM
3676 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3677 Don't alter tip_frame or tip_window.
3678 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3679 was deleted.
3680
c844a81a
GM
3681 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3682 Don't alter tip_frame or tip_window.
3683 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3684 was deleted.
3685
6c825f8e
EZ
36862000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3687
3688 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3689 be consistent with the doc string. Reported by NAKAJIMA Mikio
3690 <minakaji@osaka.email.ne.jp>.
3691
af4bb4c8
KH
36922000-12-16 Kenichi Handa <handa@etl.go.jp>
3693
3694 * xfaces.c (Vface_ignored_fonts): New variable.
3695 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3696 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3697
8062e53a
GM
36982000-12-15 Gerd Moellmann <gerd@gnu.org>
3699
e87b8809
GM
3700 * dispnew.c (update_window): Detect pending input every nth line
3701 updated, i.e. do it depending on real work done, and not on the
3702 vpos of the line.
3703
3704 * xterm.c (expose_window): Don't redraw the window that's
3705 currently being updated.
3706
a6768cc5
GM
3707 * window.c (Fset_window_point): Remove test for
3708 cursor_in_non_selected_windows.
3709
4ea7fdca
GM
3710 * lread.c (read1): Recognize end of file after `\\'.
3711
8062e53a
GM
3712 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3713 not unwind_create_frame.
3714
bb7959c1
GM
37152000-12-15 Dave Love <fx@gnu.org>
3716
3717 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3718 bcopy & al.
3719
3720 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3721
ced04c42
KH
37222000-12-15 Kenichi Handa <handa@etl.go.jp>
3723
c5443913
KH
3724 * coding.c (setup_coding_system): Clear all members of the struct
3725 coding_system at first.
bc137305
KH
3726 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3727 argument.
3728 (code_convert_region): Don't override coding->src_multibyte and
3729 coding->dst_multibyte.
c5443913 3730
ced04c42
KH
3731 * fns.c (Fmd5): Docstring improved.
3732
c2d7f289
MB
37332000-12-15 Miles Bader <miles@gnu.org>
3734
3735 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3736 are actually marked as mode-lines; otherwise use
3737 estimate_mode_line_height.
3738
9d7d9263
GM
37392000-12-14 Gerd Moellmann <gerd@gnu.org>
3740
3741 * editfns.c (Fformat): Prevent a buffer overrun when the format
3742 specifies a precision.
3743
7cf0153a
EZ
37442000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3745
3746 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3747 argument is outside the range [2..3].
3748
1de0f662
AI
37492000-12-14 Andrew Innes <andrewi@gnu.org>
3750
3751 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3752 nothing to do. Bind inhibit-quit.
3753 (tip_frame): Make it a Lisp_Object.
3754 (x_create_tip_frame): Set tip_frame after it has been added to
3755 Vframe_list.
3756 (Fx_show_tip): Don't set tip_frame here.
52283633 3757 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3758 (unwind_create_frame, unwind_create_tip_frame): New functions.
3759 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3760 while a frame is only partially constructed.
3761
3762 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3763 (x_free_frame_resources): New function.
3764 (x_destroy_window): Use it.
3765
02387dcc
GM
37662000-12-14 Gerd Moellmann <gerd@gnu.org>
3767
3768 * xfns.c (Fx_backspace_delete_keys_p): New function.
3769 (syms_of_xfns): Defsubr it.
3770
3771 * config.in (HAVE_XKBGETKEYBOARD): Add.
3772
0544ef49
KH
37732000-12-14 Kenichi Handa <handa@etl.go.jp>
3774
98d62747
KH
3775 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3776 Always store string in multibyte representation in echobuf.
3777 (echo_char): Always store string in multibyte representation in
3778 echobuf.
3779 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3780 (read_key_sequence): Adjusted for the change of echo_prompt.
3781
a20193cd
KH
3782 * fns.c (Fmd5): Docstring improved.
3783
191b83b6
KH
3784 * lisp.h (detect_coding_system): Prototype adjusted.
3785
0544ef49
KH
3786 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3787 (detect_coding_emacs_mule, detect_coding_iso2022,)
3788 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3789 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3790 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3791 (detect_coding_mask, detect_coding_system): New argument
3792 MULTIBYTEP. Callers changed.
1da1bb05
KH
3793 (decode_coding_string): Set coding->src_multibyte and
3794 coding->dst_multibyte before calling detect_coding and detect_eol.
3795 Update them after some coding system is detected.
52283633 3796
d5b3eb1b
SM
37972000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3798
3799 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3800
3801 * keyboard.c (menu_bar_items, tool_bar_items):
3802 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3803
f7f8bb69
GM
38042000-12-13 Gerd Moellmann <gerd@gnu.org>
3805
52283633 3806 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3807 New variables.
3808 (unwind_create_frame, unwind_create_tip_frame): New functions.
3809 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3810 while a frame is only partially constructed.
3811
3812 * xterm.h (x_free_frame_resources): Declare.
3813
3814 * xterm.c (x_free_frame_resources): New function.
3815 (x_destroy_window): Use it.
3816
e10da507
GM
3817 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3818 don't interrupt the update for pending input initially, i.e.
3819 update at least some lines.
3820
3821 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3822
d5b3eb1b 3823 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3824
3825 * xfns.c (gray_bitmap_bits): Declare `char *'.
3826
90aa2856
GM
38272000-12-12 Gerd Moellmann <gerd@gnu.org>
3828
3829 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3830 lines start with a relief line.
3831
a308c9cd
DL
38322000-12-12 Dave Love <fx@gnu.org>
3833
3834 * window.c (Fdisplay_buffer): Doc fix.
3835 (Fwindow_list): Remove unused var.
3836
3837 * buffer.h (mmap_set_vars): Declare.
3838
3839 * window.h (Fset_window_point): Declare.
3840
d575011f
EZ
38412000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3842
bf6282d2 3843 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3844 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3845 variable `area'. When looking for a row under (X,Y), give up if some
3846 of the previous rows is not enabled.
d575011f 3847
ecf4d726
GM
38482000-12-12 Gerd Moellmann <gerd@gnu.org>
3849
2ebf6139
GM
3850 * window.c (Fset_window_point): If displaying cursors in windows
3851 other than the selected window, make sure redisplay updates
3852 other windows to show the new value of point in the window.
3853
3854 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3855
bfdb75ee
GM
3856 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3857 the buffer is the sole visible buffer when in the mini-buffer.
3858
52283633 3859 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3860 Bind `inhibit-read-only' to t.
3861 (unwind_with_echo_area_buffer): Use AREF.
3862
c0006262
GM
3863 * xfns.c (Fx_hide_tip): Simplified.
3864
52283633
SM
3865 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3866 instead of `1'.
e9a59cad 3867
ecf4d726
GM
3868 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3869
e5959a9a
GM
38702000-12-11 Gerd Moellmann <gerd@gnu.org>
3871
a3642e49 3872 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3873
44b5a125
GM
3874 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3875 nothing to do. Bind inhibit-quit.
3876 (tip_frame): Make it a Lisp_Object.
3877 (x_create_tip_frame): Set tip_frame after it has been added to
3878 Vframe_list.
3879 (Fx_show_tip): Don't set tip_frame here.
3880
3881 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3882
3883 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3884 Lisp_Object.
3885
3886 * dispextern.h: Change external declaration of tip_frame.
3887
d990421f
GM
3888 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3889 return an empty string.
3890
4db87380
GM
3891 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3892 of the window's update_mode_line flag, since the former is set by
3893 force-mode-line-update, not the latter. This makes
3894 column-number-mode slightly faster.
52283633 3895
e5959a9a
GM
3896 * xdisp.c (try_window_id) <all changes above window start>:
3897 Set the cursor.
3898
169fe44e
GM
38992000-12-11 Paul Eggert <eggert@twinsun.com>
3900
3901 * config.in (HAVE_FTELLO): Remove.
3902 (HAVE_FSEEKO): Add.
3903 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3904 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3905 HAVE_FTELLO.
3906 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3907 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3908
59ec59ae
MB
39092000-12-11 Miles Bader <miles@gnu.org>
3910
3911 * window.c (displayed_window_lines): Don't round up when
3912 converting empty space at bottom to lines.
ff904dd6
MB
3913 Handle non-newline-terminated final lines properly.
3914 (Fwindow_text_height): New function (used to be in lisp).
3915 (syms_of_window): Initialize it.
59ec59ae 3916
42ebfa31
SM
39172000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3918
3919 * syntax.c (scan_lists): Check that the right quote char has the
3920 right Sstring syntax when jumping over strings.
3921 (init_syntax_once): Use Smax rather than 13.
3922
5cdb3cf3
MB
39232000-12-09 Miles Bader <miles@gnu.org>
3924
3925 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3926 with PARTIALLY, inverting the sense.
3927 (window_scroll_pixel_based): Scroll partially visible lines into
3928 place if we hit the beginning or end of the buffer.
a12167c5
MB
3929 (displayed_window_lines): Don't include partially visible lines.
3930 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3931
842b2a94
GM
39322000-12-08 Gerd Moellmann <gerd@gnu.org>
3933
3934 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3935
3936 * tparam.c (tparam1): Change the way buffers are reallocated to be
3937 portable and less obfuscated.
3938
3939 * termcap.c (tgetent): Change the way buffers are reallocated to
3940 be portable and less obfuscated.
3941
3942 * macros.c (store_kbd_macro_char): Change the way buffers are
3943 reallocated to be portable and less obfuscated.
3944
3945 * lread.c (read1): Change the way buffers are reallocated to be
3946 portable and less obfuscated.
3947
3948 * doc.c (Fsubstitute_command_keys): Change the way buffers
3949 are reallocated so that it is portable.
3950
137cad7c
EZ
39512000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3952
3953 * dosfns.c (Ffile_system_info): New function.
3954 (syms_of_dosfns): Defsubr it.
3955
5c7f629c
SM
39562000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3957
3958 * alloc.c (gc_sweep): Add comment.
3959
959e647d
GM
39602000-12-07 Gerd Moellmann <gerd@gnu.org>
3961
52283633
SM
3962 * sound.c (vox_configure): Change order of ioctls.
3963 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3964 Ignore errors when changing volume.
3965 (vox_close): Don't reset the device.
3966
926b7e5e
GM
3967 * process.c (read_process_output): Make sure the process marker's
3968 position is valid when the process buffer is changed in
3969 after-change functions. W3 does that.
52283633 3970
959e647d
GM
3971 * xfns.c (x_free_gcs): New function.
3972
3973 * xterm.h (x_free_gcs): Add prototype.
3974
3975 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3976 freeing GCs here.
3977
3978 * xterm.c (x_destroy_window): Call x_free_gcs so that
3979 resources of non-toolkit X windows will be freed.
3980
478ea067
AI
39812000-12-07 Andrew Innes <andrewi@gnu.org>
3982
3983 * w32fns.c (xlfd_charset_of_font): Fix last change.
3984
fbee3231
DL
39852000-12-06 Dave Love <fx@gnu.org>
3986
67292061
DL
3987 * md5.h (__P): Don't define -- it comes from config.h.
3988
fbee3231
DL
3989 * strftime.c: Change some #if foo to #ifdef foo.
3990
4ee87dbb
AI
39912000-12-06 Andrew Innes <andrewi@gnu.org>
3992
3993 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3994
52283633 3995 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3996 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3997 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3998
9765b4a4
GM
39992000-12-06 Gerd Moellmann <gerd@gnu.org>
4000
d285b373
GM
4001 * alloc.c (gc_sweep): Prevent symbols read during loadup
4002 from being freed.
4003
384333ee
GM
4004 * xdisp.c (underlying_face_id): New function.
4005 (handle_face_prop, face_before_or_after_it_pos): Use it
4006 to determine the face ``under'' a string. Let strings inherit
4007 the face of the buffer under them.
4008
4009 * xfaces.c (face_at_string_position): Update function comment.
52283633 4010
d4b72d58
GM
4011 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4012 matrix if the window's left position has changed; we need to
4013 redraw it in this case.
4014
4015 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4016
e1d05387
GM
4017 * window.c (coordinates_in_window): Check mouse on mode-line or
4018 header-line first.
4019
eb1b0c74
GM
4020 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4021 advertized by the function documentation.
4022
d94d636f
GM
4023 * window.c (syms_of_window): Doc fix.
4024
3887b449
GM
4025 * sound.c (vox_configure): Set volume for left and right channel.
4026 (sound_cleanup): Return nil.
4027
efc8f57a
GM
4028 * xdisp.c (move_it_by_lines): Fix paren typo.
4029
9765b4a4
GM
4030 * xterm.c (x_load_font): Don't use the font's max_bounds for
4031 computing the height of the font. If max_bounds' ascent or
4032 descent are greater than the font's ascent or descent, this means
4033 glyphs overlap, which should be handled now by redisplay.
4034
6529ed87
GM
4035 * window.c (Veven_window_heights): New variable.
4036 (syms_of_window): DEFVAR_LISP it.
4037 (Fdisplay_buffer): Check Veven_window_heights before evening the
4038 window heights.
52283633 4039
0eb2ecde
MB
40402000-12-06 Miles Bader <miles@gnu.org>
4041
4042 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4043 update `default-frame-alist' instead of setting no frame parameters.
4044
03d7a167
KH
40452000-12-06 Kenichi Handa <handa@etl.go.jp>
4046
4047 * composite.c (update_compositions): Fix typo (use the correct
4048 variable).
4049
5f8803c2
JR
40502000-12-05 Jason Rumney <jasonr@gnu.org>
4051
4052 * md5.h: Remove underscores from function declarations.
4053 (__attribute__, __alignof__) [!__GNUC__]: Define.
4054
4055 * md5.c: Delay include of md5.h until after namespace cleaning.
4056
c28a075b
JR
4057 * makefile.w32-in (fns.o): Depend on md5.h
4058 (md5.o): New target.
4059 (sunfns.o): Remove.
4060
4061 * makefile.nt: Likewise.
4062
ff3c7056
JR
40632000-12-05 Jason Rumney <jasonr@altavista.net>
4064
4065 * w32term.c (expose_area): Complete last change.
4066
0c21eeeb
KR
40672000-12-05 Ken Raeburn <raeburn@gnu.org>
4068
4069 * minibuf.c: Include intervals.h.
4070
f201d732
JR
40712000-12-05 Jason Rumney <jasonr@gnu.org>
4072
4073 * w32term.c (x_produce_glyphs): If a font for a component of
4074 a composition is not found, use 1 pixel dot ascent and 0 dot
4075 descent value to avoid displaying terribly tall empty boxes.
4076 (expose_area): Pass x-coordinate relative to the exposed
4077 area to x_draw_glyphs instead of a window-relative coordinate.
4078
21999ab9
GM
40792000-12-05 Gerd Moellmann <gerd@gnu.org>
4080
4d2036e4
GM
4081 * xdisp.c (next_element_from_ellipsis): Save face before selective
4082 display in saved_face_id, and set face_before_selective_p.
4083 (reseat_1): Reset face_before_selective_p.
4084 (append_space, extend_face_to_end_of_line): If iterator's
4085 face_before_selective_p is set, use the face from saved_face_id.
4086 (extend_face_to_end_of_line): For tty frames, make sure to
4087 use the right face id when producing spaces at the end of
4088 the line.
4089
4090 * dispextern.h (struct it): Add face_before_selective_p.
4091
52be17cc
GM
4092 * keyboard.c (record_char): Don't record identical help-echo
4093 events in recent_keys.
4094
8a4f36cc
GM
4095 * xterm.c [USE_X_TOOLKIT]: Close the display.
4096 (xim_close_dpy): Handle case that the display has been closed.
4097
57d6e381
GM
4098 * xterm.c (x_destroy_window): Reset the frame's X window after
4099 destroying it.
4100
21999ab9
GM
4101 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4102 variable window_width.
4103 (line_draw_cost): Fix code skipping over spaces at the end of the
4104 line when must_write_spaces is not set.
4105 (scrolling_window): Fix code inserting runs in list of all runs.
4106
91372bb7
KH
41072000-12-05 Kenichi Handa <handa@etl.go.jp>
4108
4109 * coding.c (setup_coding_system): Be sure to initialize
4110 coding->category_idx.
4111
6c083b4c
GM
41122000-12-04 Gerd Moellmann <gerd@gnu.org>
4113
0c68ce6f 4114 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4115
6452929e
GM
4116 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4117 area to x_draw_glyphs instead of a window-relative coordinate.
4118
d7f31e22
GM
4119 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4120 error in the message.
4121
ae18aa3b
GM
4122 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4123 timer after having read a key. It's not good for code reading
4124 several keys in a loop, like an input method.
4125
caa15ef7
GM
4126 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4127 record undo information for format-decode.
4128
4129 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4130 current buffer is read-only, not if it isn't.
4131
6c083b4c
GM
4132 * keyboard.c (record_char): Record `help-echo' input events
4133 in recent_keys only if they display some help. Don't record
4134 `help-echo' events as macro char.
4135
caa15ef7
GM
41362000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4137
4138 * editfns.c (save_excursion_restore): Don't move point
4139 in another window if it is showing the wrong buffer.
4140 Avoid the call to Fwindow_live_p, for speed.
4141
5a13529b
KH
41422000-12-04 Kenichi Handa <handa@etl.go.jp>
4143
e225faa7
KH
4144 * xfaces.c (struct font_name): New member registry_priority.
4145 (split_font_name): Initialize the above member to zero.
4146 (concat_font_list): New function.
4147 (font_list): Include fonts of all alternative registries.
4148 (FONT_POINT_SIZE_QUANTUM): New macro.
4149 (better_font_p): Ignore point size difference less than
4150 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4151
e89648b4
KH
4152 * xterm.c (x_produce_glyphs): If a font for a component of
4153 a composition is not found, use 1 pixel dot ascent and 0 dot
4154 descent value to avoid displaying terribly tall empty boxes.
4155
5a13529b
KH
4156 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4157
d7935eb6
KR
41582000-12-03 Ken Raeburn <raeburn@gnu.org>
4159
4160 * coding.h (code_convert_string1): Declare.
4161
4162 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4163
52283633 4164 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4165
0dd5e255
JR
41662000-12-02 Jason Rumney <jasonr@gnu.org>
4167
4168 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4169 correctly for single byte character case.
4170 (w32_per_char_metric): Do not try to make any assumptions about
4171 the metrics of BDF fonts.
250cfece 4172 (x_estimate_mode_line_height): If `mode-line' face
52283633 4173 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4174 (note_mouse_highlight): Change the cursor shape on the vertical
4175 border between windows [not enabled].
4176
4177 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4178
4179 * w32fns.c (Fx_create_frame): Reintroduce the call to
4180 face-set-after-frame-defaults.
4181 (Vx_window_horizontal_drag_shape): New variable.
4182 (syms_of_xfns): DEFVAR_LISP it.
4183 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4184 enabled].
0dd5e255 4185
b5d8d2ca
GM
41862000-12-02 Simon Josefsson <simon@josefsson.org>
4187
4188 * fns.c (Fmd5): Use a different logic to decide the coding system
4189 to use.
4190
4191 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4192
fbb87147
EZ
41932000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4194
52283633 4195 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4196
447e9da0
GM
41972000-12-01 Gerd Moellmann <gerd@gnu.org>
4198
7708ced0
GM
4199 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4200 height for YNegative.
4201 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4202 height; also see comment there.
4203
447e9da0
GM
4204 * window.c (coordinates_in_window): Handle computations for
4205 positions on the vertical bar and fringes differently for
4206 window-system frames. Consider some pixels near the vertical bar
4207 as on the bar if the frame doesn't have vertical scroll bars.
4208 Associate positions between mode or header lines with the
4209 right window, the left one.
4210
86d1db20
JR
42112000-12-01 Jason Rumney <jasonr@gnu.org>
4212
4213 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4214
4215 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4216 invalid frame.
4217
a1d58e5b
GM
42182000-12-01 Gerd Moellmann <gerd@gnu.org>
4219
52283633 4220 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4221 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4222 (save_window_save, Fset_window_configuration): Save/restore
4223 window's orig_top and orig_height.
4224
89c609af
JR
42252000-12-01 Jason Rumney <jasonr@gnu.org>
4226
4d177746 4227 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4228
89c609af
JR
4229 * w32fns.c (x_set_cursor_color): Fix last change.
4230
eccc05db
GM
42312000-11-30 Gerd Moellmann <gerd@gnu.org>
4232
31b6671b
GM
4233 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4234 sure that the next redisplay displays the minibuffer, so that
4235 the cursor will be replaced with what the minibuffer wants.
4236
eccc05db
GM
4237 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4238 #ifndef instead of using #if.
4239 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4240 USE_TOOLKIT_SCROLL_BARS is defined.
4241
162de750
JR
42422000-11-30 Jason Rumney <jasonr@gnu.org>
4243
4244 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4245 x_display_cursor.
4246
693c4692
GM
42472000-11-30 Gerd Moellmann <gerd@gnu.org>
4248
4249 * fns.c (Fmd5): Doc fix.
4250
b5d8d2ca 42512000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4252
4253 * fns.c (Fmd5): New function.
4254 (syms_of_fns): Defsubr md5.
4255
4256 * Makefile.in (obj): Add md5.o
4257
b02cd40b
GM
42582000-11-30 Gerd Moellmann <gerd@gnu.org>
4259
edfb795e
GM
4260 * md5.h, md5.c: New files, taken from glibc.
4261
df3aedcf
GM
4262 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4263
b02cd40b 4264 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4265 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4266
8b5176cd
SM
42672000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4268
4269 * eval.c (Frun_hooks): Allow 0 arguments.
4270
346598f1
GM
42712000-11-29 Gerd Moellmann <gerd@gnu.org>
4272
f9396e03
GM
4273 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4274 is over the menu bar widget, say it's not on the frame.
4275
4a967a9b
GM
4276 * xfns.c (Fx_create_frame): Reintroduce the call to
4277 face-set-after-frame-defaults.
4278
346598f1
GM
4279 * eval.c (Fsignal): Reset handling_signal.
4280
222456a1
JR
42812000-11-28 Jason Rumney <jasonr@gnu.org>
4282
4283 * w32menu.c (add_menu_item): Reset menu item text when changing
4284 type to radio button.
4285
8049ddc0
GM
42862000-11-28 Gerd Moellmann <gerd@gnu.org>
4287
346598f1 4288 * xselect.c: Update copyright.
f4f4ee4d 4289
bebe4a2c
GM
4290 * window.c (coordinates_in_window): If on a mode or header line,
4291 but sufficiently close to its start, return ``on vertical
4292 border''. This gives us a way to drag windows horizontally when
4293 using toolkit scroll bars.
4294
4295 * xterm.c (note_mouse_highlight): Change the cursor shape
4296 on the vertical border between windows.
4297
4298 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4299
4300 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4301 (syms_of_xfns): DEFVAR_LISP it.
4302 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4303
8d2c2642
GM
4304 * textprop.c (text_read_only): New function.
4305 (verify_interval_modification): Use it instead of signaling
4306 `text-read-only'. This makes it easier to catch this error
52283633 4307 with a breakpoint.:
8d2c2642 4308
52283633 4309 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4310 not end of line, which includes CR.
4311
5a2bae6c
KH
43122000-11-28 Kenichi Handa <handa@etl.go.jp>
4313
4314 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4315 include no-conversion.
4316
ae31f84d
JR
43172000-11-27 Jason Rumney <jasonr@gnu.org>
4318
4319 * w32fns.c (w32_load_system_font): Always mark font as double byte
4320 if codepage is unicode.
4321
67f1cf4c
GM
43222000-11-27 Gerd Moellmann <gerd@gnu.org>
4323
4a74d071 4324 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4325 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4326
902ae620
GM
4327 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4328 `vertical-line', `mode-line' and `header-line' events.
4329
4330 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4331 of a character, a TAB for instance. This is easier than to set
4332 up the iterator exactly, and it's not a frequent case, so the
4333 additional effort wouldn't really pay off.
4334
c1e279c2
AC
43352000-11-26 Andrew Choi <akochoi@i-cable.com>
4336
67f1cf4c 4337 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4338 init_window_once.
4339
a609568a
JR
43402000-11-25 Jason Rumney <jasonr@gnu.org>
4341
52283633
SM
4342 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4343 Args to window_from_coordinates should be pixel coordinates.
48b21762 4344
a609568a
JR
4345 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4346 redisplay handles them properly.
4347
a658d039
MB
43482000-11-25 Miles Bader <miles@gnu.org>
4349
4350 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4351
d3416cca
JR
43522000-11-24 Jason Rumney <jasonr@gnu.org>
4353
4354 * w32.c (init_environment): Set LANG environment variable based on
4355 locale settings, if not set.
4356
4357 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4358 making tool bar smaller. When clearing the frame, also
4359 clear current matrices. Clear frame when tool bar disappears.
4360 Don't use more lines for the tool-bar than is available.
4361 (x_change_window_heights): New function.
4362
ba193890
GM
43632000-11-24 Gerd Moellmann <gerd@gnu.org>
4364
2be8f184
GM
4365 * xdisp.c (init_from_display_pos): If POS says we're already after
4366 an overlay string ending at POS, make sure to pop the iterator
4367 because it will be in front of that overlay string. When POS is
4368 ZV, we've thereby also ``processed'' overlay strings at ZV.
4369
ba193890
GM
4370 * xfaces.c (lface_from_face_name): Function comment fix.
4371
1862a24e
MB
43722000-11-24 Miles Bader <miles@gnu.org>
4373
4374 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4375 apply `mode-line-inverse-video' -- zero means force display using
4376 the default face, non-zero means display using the specialized face.
4377 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4378
f07fa1b8
KH
43792000-11-23 Kenichi Handa <handa@etl.go.jp>
4380
4381 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4382 hard coded `4'.
4383
2bcdf662
EZ
43842000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4385
4386 * coding.c (decode_coding_emacs_mule): Fix the case of
4387 CODING_EOL_LF, which used uninitialized value of c.
4388
ba8299ff
SM
43892000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4390
4391 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4392
f4117c4d
GM
43932000-11-22 Gerd Moellmann <gerd@gnu.org>
4394
03e757c1
GM
4395 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4396 buffer object.
4397
f4117c4d
GM
4398 * frame.h (struct frame): Replace desired_tool_bar_items,
4399 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4400 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4401
4402 * frame.c (make_frame): Change initialization of tool bar
4403 items accordingly.
4404
4405 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4406 Change references to members deleted from struct frame to use the
f4117c4d
GM
4407 new ones.
4408
4409 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4410 references to members deleted from struct frame to use the new ones.
f4117c4d 4411
52283633 4412 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4413
4414 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4415
4416 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4417 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4418 from struct frame to use the new ones.
4419
f8e2f3f2
MB
44202000-11-23 Miles Bader <miles@gnu.org>
4421
4422 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4423 the face's inverse-video attribute, rather than overriding it.
4424
60e8e0a5
GM
44252000-11-22 Gerd Moellmann <gerd@gnu.org>
4426
4427 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4428 making tool bar smaller.
4429
92dd1b29
DL
44302000-11-22 Dave Love <fx@gnu.org>
4431
4432 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4433
e672fdce
MB
44342000-11-22 Miles Bader <miles@gnu.org>
4435
3a17d6cc
MB
4436 * keyboard.c (Vminibuffer_message_timeout): New variable.
4437 (command_loop_1): Use it to determine message timeout.
4438 (syms_of_keyboard): Initialize it.
4439
60e8e0a5 4440 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4441
e9655d81
KH
44422000-11-22 Kenichi Handa <handa@etl.go.jp>
4443
4444 * sysdep.c: Move the code for declaring h_errno after #include
4445 <netdb.h>.
4446
77270fac
GM
44472000-11-21 Gerd Moellmann <gerd@gnu.org>
4448
cd913aae
GM
4449 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4450 the menu bar when the tooltip is unmapped.
4451
77270fac
GM
4452 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4453 sole visible buffer when we're currently in the mini-buffer, and
4454 give up if so.
52283633 4455
556635d6
JR
44562000-11-21 Jason Rumney <jasonr@gnu.org>
4457
4458 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4459 put on the clipboard.
4460 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4461 copy of what Emacs last put there. If they are the same, do not
52283633 4462 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4463
5b7bde64
MB
44642000-11-22 Miles Bader <miles@gnu.org>
4465
4466 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4467 (syms_of_minibuf): Initialize it.
4468 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4469 to prompt, don't make read-only.
4470
ff23e1dd
GM
44712000-11-21 Gerd Moellmann <gerd@gnu.org>
4472
52283633
SM
4473 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4474 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4475
7aaf4388
GM
4476 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4477
f5f47add 4478 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4479
ff23e1dd
GM
4480 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4481
37c35586
KH
44822000-11-21 Kenichi Handa <handa@etl.go.jp>
4483
4484 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4485 ... #endif scope.
4486
ff9ab414
GM
44872000-11-20 Gerd Moellmann <gerd@gnu.org>
4488
52283633 4489 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4490 screen supports it.
4491
29a01b72
GM
4492 * s/gnu-linux.h: Don't use `#cpu'.
4493
09dfdf85
GM
4494 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4495 not defined in mman.h.
4496
52283633 4497 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4498 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4499 and store an index in the XClientMessageEvent. Storing a
4500 Lisp_Object or pointer can fail on a 64 bit system, since X only
4501 transfers 32 bits.
52283633
SM
4502 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4503
81459ac9
DL
45042000-11-20 Dave Love <fx@gnu.org>
4505
4506 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4507
56c13ae6
GM
45082000-11-20 Gerd Moellmann <gerd@gnu.org>
4509
4510 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4511
495a6df3
KH
45122000-11-20 Kenichi Handa <handa@etl.go.jp>
4513
2bcf3714
KH
4514 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4515 by WIDTH.
4516
495a6df3
KH
4517 * alloc.c (make_string): Fix previous change. Be sure to make
4518 unibyte string correctly.
4519
6d950f4c
GM
45202000-11-19 Gerd Moellmann <gerd@gnu.org>
4521
39b39373
GM
4522 * window.c (Fwindow_list): Change parameter list to be XEmacs
4523 compatible.
4524 (window_list_1): New function.
4525 (window_loop): Use it instead of Fwindow_list.
4526
b95b34e5
GM
4527 * sysdep.c (emacs_ospeed): New variable.
4528 (toplevel): Don't declare ospeed extern.
4529 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4530
4531 * termcap.c (ospeed): Remove.
4532 (tputs) [!emacs]: Remove unused code.
4533 (tgetent): Avoid a compiler warning.
4534
e83dc917
GM
4535 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4536 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4537 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4538
4539 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4540 removed.
4541 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4542 Take the X display as additional argument.
4543 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4544 `Widget' is a pointer type that's not easily stored in Lisp_Object
4545 form in a portable way.
52283633 4546
6d950f4c
GM
4547 * dispnew.c (update_text_area): Fix last change.
4548
e47306e6
GM
45492000-11-18 Gerd Moellmann <gerd@gnu.org>
4550
fb3cd89b
GM
4551 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4552
4553 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4554 clear current matrices.
4555
edaa9aed
GM
4556 * buffer.c (mmap_enlarge): Don't print a message on stderr
4557 if mapping new memory at the end of the existing region fails.
4558
e47306e6
GM
4559 * dispnew.c (update_text_area): Don't skip over equal glyphs
4560 when the last current glyph overlaps the glyph to its right.
4561
509633e3
MB
45622000-11-18 Miles Bader <miles@gnu.org>
4563
4564 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4565 lines that *end* with "..." too (that's the most common case!).
4566
d392e9c5
GM
45672000-11-18 Gerd Moellmann <gerd@gnu.org>
4568
67988445
GM
4569 * xdisp.c (resize_mini_window): Temporarily change to the
4570 mini-window's buffer if necessary.
1bfdbe43 4571
d392e9c5
GM
4572 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4573 the tooltip obscures less text under it.
4574
45752000-11-17 Gerd Moellmann <gerd@gnu.org>
4576
4577 * puresize.h (BASE_PURESIZE): Increase to 700000.
4578
92bb977f
JR
45792000-11-18 Jason Rumney <jasonr@gnu.org>
4580
4581 * w32term.c (w32_draw_bitmap): Use face to set colors.
4582
26fbf20b
DL
45832000-11-17 Dave Love <fx@gnu.org>
4584
4585 * lread.c (Fload): Fix #ifdef for pcc.
4586
100b593b
GM
45872000-11-17 Gerd Moellmann <gerd@gnu.org>
4588
4589 * xdisp.c (pos_visible_p): Compute the default character height
4590 differently.
4591
a288d0d1
GM
45922000-11-16 Gerd Moellmann <gerd@gnu.org>
4593
cac94de6 4594 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4595 knowing the line's height; use the default font's height in that case.
cac94de6 4596
a288d0d1
GM
4597 * xfaces.c (weight_table): Add `demi' with the same meaning as
4598 `demibold'.
4599
981fb6f6
KH
46002000-11-16 Kenichi Handa <handa@etl.go.jp>
4601
2cca872d 4602 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4603 (clear_glyph_row): Delete local static variable null_row.
4604
e5fa381b
JR
46052000-11-15 Jason Rumney <jasonr@gnu.org>
4606
4607 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4608 (w32_alloc_lighter_color): Use new brightness calculations from
4609 xterm.c. Scale delta to be in the range expected by W32.
4610 (w32_draw_relief_rect): Use frame relief colors.
4611
8e42f043
GM
46122000-11-15 Gerd Moellmann <gerd@gnu.org>
4613
6d133d1f
GM
4614 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4615 (Qinhibit_default_face_x_resources): New variable.
4616 (syms_of_frame): Initialize it.
4617 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4618
4619 * xdisp.c (pos_visible_p): Improve function comment.
4620
4621 * lisp.h (BINDING_STACK_SIZE): New macro.
4622
8e42f043
GM
4623 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4624 reading the directory if readdir returns null and errno is EAGAIN
4625 or EINTR.
4626
e8c87124
SM
46272000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4628
4629 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4630 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4631 Set amount_to_scroll to max of dx and scroll_step so that
4632 scroll-conservatively doesn't defeat scroll-step>1.
4633 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4634 scroll-conservatively for line-at-a-time scrolling.
4635
5f0c971d
GM
46362000-11-14 Gerd Moellmann <gerd@gnu.org>
4637
4638 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4639 extra argument.
4640
4641 * xdisp.c (current_mode_line_height, current_header_line_height):
4642 New variables.
4643 (init_xdisp): Initialize them.
4644 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4645 and use exact mode line heights if it is set.
4646
4647 * lisp.h (pos_visible_p): Change prototype.
4648
4649 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4650 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4651 and current_header_line_height first.
52283633
SM
4652 (current_mode_line_height, current_header_line_height):
4653 Declare extern.
5f0c971d 4654
d7361edf
MB
46552000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4656
4657 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4658 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4659 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4660
ee5e440a
MB
46612000-11-14 Miles Bader <miles@gnu.org>
4662
4663 * xterm.c (x_alloc_lighter_color): Include an additive component
4664 too for dark colors, because FACTOR isn't enough.
4665 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4666 New macros.
4667
5ca020fc
GM
46682000-11-13 Gerd Moellmann <gerd@gnu.org>
4669
4670 * keyboard.c (show_help_echo): Call message3_nolog with number of
4671 bytes in the help string as 2nd parameter, instead of the number
4672 of characters.
4673
9d348294
MB
46742000-11-13 Miles Bader <miles@gnu.org>
4675
4676 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4677 (Fload): Use new openp return protocol.
4678 Don't try to use Vload_source_file_function to load .elc files.
4679 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4680 openp return protocol.
4681 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4682
1729bb9a
KH
46832000-11-11 Kenichi Handa <handa@etl.go.jp>
4684
4e677396
KH
4685 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4686
4687 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4688 Defined these macros.
4689 (NLIST_STRUCT): Avoid re-defining it.
4690
1729bb9a
KH
4691 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4692 -I/usr/contrib/X11R6/include.
4693 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4694
a82fe213
JR
46952000-11-10 Jason Rumney <jasonr@gnu.org>
4696
4697 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4698
4699 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4700 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4701
4702 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4703 (Qw32_charset_vietnamese): New symbol.
4704 (xlfd_charset_of_font): New function.
4705 (w32_load_system_font): Use it.
4706 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4707 when Vw32_charset_info_alist is nil to ensure default face always
4708 has font. Use Fcar and Fcdr for safety.
4709 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4710 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4711 pseudo-codepages for special cases.
4712 (w32_to_x_font): New parameter to allow charset portion to be
4713 specified where there is many to one mapping. Callers changed.
4714 (w32_list_fonts): Avoid listing fonts that won't display.
4715
52d89894
GM
47162000-11-10 Gerd Moellmann <gerd@gnu.org>
4717
4718 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4719 (font_list_1): Renamed from font_list.
4720 (font_list): New function, trying alternative registries from
4721 Vface_alternative_font_registry_alist.
4722 (Finternal_set_alternative_font_registry_alist): New function.
4723 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4724 Vface_alternative_font_registry_alist.
4725 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4726
651cd3da
KR
47272000-11-09 Ken Raeburn <raeburn@gnu.org>
4728
4729 * lisp.h (Flooking_at): Declare.
4730
388ac098
GM
47312000-11-09 Gerd Moellmann <gerd@gnu.org>
4732
778fbc46 4733 * dired.c (directory_files_internal): Fix a braino.
52283633 4734
388ac098
GM
4735 * dired.c (directory_files_internal): Add missing GCPRO's.
4736 Some cleanup.
4737
ecaedde1
GM
47382000-11-08 Gerd Moellmann <gerd@gnu.org>
4739
f7eb32aa
GM
4740 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4741 (resize_mini_window): Return quickly if Vresize_mini_window is
4742 nil. Don't return if Vmax_mini_window_height is nil.
4743
4744 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4745 (syms_of_xdisp): Initialize them.
4746 (resize_mini_window): Act according to the setting of
4747 Vresize_mini_window.
4748 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4749
ecaedde1
GM
4750 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4751 scroll bar widget after configuring it, so that it will appear at
4752 the right position from the start.
4753 (XTredeem_scroll_bar): Cleaned up.
4754
3747ef2c
KH
47552000-11-08 Kenichi Handa <handa@etl.go.jp>
4756
4757 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4758 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4759 division by two.
4760
4761 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4762
03391420
DL
47632000-11-07 Dave Love <fx@gnu.org>
4764
7758f1c1 4765 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4766
4767 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4768
b5de343d
GM
47692000-11-07 Gerd Moellmann <gerd@gnu.org>
4770
acad3c0b
GM
4771 * window.c (Fset_window_configuration): Don't try to preserve
4772 point in the current buffer, if that buffer is displayed in more
4773 than one window.
4774
b5de343d
GM
4775 * xfaces.c (lookup_named_face): If default face isn't realized,
4776 try to realize it. Return -1 if not successful.
4777 (Fx_list_fonts): Handle case that face cannot be determined.
4778 (Fface_font): Likewise.
4779
cdb1fe49
GM
47802000-11-06 Gerd Moellmann <gerd@gnu.org>
4781
4782 * window.c (displayed_window_lines): Detect partially
4783 visible lines at the bottom correctly.
4784
d3a67486
SM
47852000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4786
4787 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4788 when ensuring we don't do visit in indirect buffer.
4789
ff8dd5d5
KH
47902000-11-06 Kenichi Handa <handa@etl.go.jp>
4791
4792 * composite.h (compose_chars_in_text): Add prototype.
4793
4794 * composite.c (Vcomposition_function_table): New variable.
4795 (Qcomposition_function_table): New variable.
4796 (run_composition_function): Call
4797 Vcompose_chars_after_function with three arguments.
4798 (compose_chars_in_text): New function.
4799 (syms_of_composite): Modified the doc-string of
4800 Vcompose_chars_after_function. Declare composition-function-table
4801 as a lisp variable, and initialize it.
4802
4803 * xfns.c (x_encode_text): Suppress producing escape sequences for
4804 composition.
4805
4806 * xselect.c: Include composite.h.
4807 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4808
d1145f85
AI
48092000-11-05 Andrew Innes <andrewi@gnu.org>
4810
4811 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4812
4813 * sysdep.c (read_input_waiting): Remove extraneous argument to
4814 read_socket_hook.
4815
4816 * w32fns.c (Fx_server_version): Include w32_build_number in the
4817 return list.
4818
4819 * w32heap.c (w32_build_number): New variable.
4820 (cache_system_info): Set it.
4821
4822 * w32heap.h (w32_build_number): Add extern.
4823
4824 * emacs.c (syms_of_emacs): Update docstring for
4825 system-configuration, to reflect the actual usage on MS-Windows.
4826
e85ee976
GM
48272000-10-31 Gerd Moellmann <gerd@gnu.org>
4828
26dcb81b
GM
4829 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4830 process idle timers while waiting for another event.
4831
52283633 4832 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4833 the default face are colored.
4834
e85ee976
GM
4835 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4836 window height hasn't changed.
4837
01b220b6
JR
48382000-10-31 Jason Rumney <jasonr@gnu.org>
4839
4840 * w32term.c (x_produce_glyphs): Handle composite characters.
4841 (x_draw_glyph_string_foreground)
4842 (x_draw_composite_glyph_string_foreground): Restore old font.
4843
4e6b7204
MB
48442000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4845
4846 * minibuf.c (read_minibuf): Reset the undo history just before
4847 starting the recursive-edit.
4848
d4358b37
GM
48492000-10-30 Gerd Moellmann <gerd@gnu.org>
4850
563f68f1
GM
4851 * xfaces.c (menu_face_change_count): New variable.
4852 (Finternal_set_lisp_face_attribute): Increment it for changes
4853 of the `menu' face.
4854 (realize_basic_faces): Reflect changes in the `menu' faces
4855 in menu bars.
4856
82e274d1
GM
4857 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4858 dy obtained from the iterator's y-position after moving from
4859 scroll_margin_pos to PT; see comment there.
52283633 4860
0dbf9fd2
GM
4861 * xdisp.c (safe_eval_handler): Call add_to_log.
4862
906b3b14
GM
4863 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4864 is not a symbol or string.
4865
d4358b37
GM
4866 * xdisp.c (echo_area_display): Don't perform a display update from
4867 inside redisplay. The update will happen anyway at the end of
4868 redisplay, and it can confuse redisplay (GC messages while
4869 redisplaying, for instance.)
4870
70c825df
SM
48712000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4872
cf9b4b0b
SM
4873 * xrdb.c (x_load_resources): Use the class name in the defaults.
4874
70c825df
SM
4875 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4876 (regex_compile): Catch bogus \(\1\).
4877
a1d34b1e
GM
48782000-10-30 Gerd Moellmann <gerd@gnu.org>
4879
cae71efe
GM
4880 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4881 RGB values.
52283633 4882
35efe0a1
GM
4883 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4884 we have a color cache, check that the cached color equals the
4885 allocated color. If not, clear the color cache.
4886
1d3baf74
GM
4887 * window.c (displayed_window_lines): Change buffers if necessary.
4888 Fix computation of displayed lines.
4889
a1d34b1e
GM
4890 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4891 update_menu_bindings to DEFVAR_BOOL.
4892
70737ea9
KH
48932000-10-30 Kenichi Handa <handa@etl.go.jp>
4894
70c825df 4895 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4896
fa0cb51d
KH
4897 * puresize.h (BASE_PURESIZE): Increase to 680000.
4898
70737ea9
KH
4899 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4900
0e4c08e8
JR
49012000-10-29 Jason Rumney <jasonr@gnu.org>
4902
4903 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4904
4905 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4906 (w32_cache_char_metrics): Handle possibility that 'x' does not
4907 exist in a BDF font.
4908 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4909
4910 * w32bdf.h (bdffont): Add nchars.
4911
4912 * w32bdf.c (set_bdf_font_info): Set it.
4913 (w32_BDF_TextOut): Swap byte order of double byte characters.
4914 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4915
45b84006
EZ
49162000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4917
4918 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4919 don't override the colors in frame's param_alist, unless they are
4920 unspecified.
4921
4922 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4923 reverse the effect of the highlight flag.
4924
caf9deee
KR
49252000-10-27 Ken Raeburn <raeburn@gnu.org>
4926
4927 * window.h (Fwindow_live_p): Declare.
4928
ae0b9b46
KR
4929 * undo.c (record_delete): Check that last_undo_buffer is really a
4930 buffer before applying XBUFFER to it.
4931
4932 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4933 Faref.
4934
02067692
SM
49352000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4936
4937 * lisp.h (KEYMAPP): New macro.
4938 (get_keymap): Remove.
4939 (get_keymap_1): Rename get_keymap.
4940
4941 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4942
4943 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4944
4945 * xmenu.c (single_submenu): Use KEYMAPP.
4946 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4947 Use KEYMAPP rather than Fkeymapp.
4948
4949 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4950
4951 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4952 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4953 Use KEYMAPP rather than Fkeymapp.
4954 (single_submenu): Use KEYMAPP.
4955 (w32_menu_show, w32_dialog_show): Use TRUE.
4956
4957 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4958
4959 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4960 (Fkeymapp): Use KEYMAPP.
4961 (get_keymap): Rename from get_keymap_1. Remove old def.
4962 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4963 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4964 (Fminor_mode_key_binding): Don't raise an error if the binding
4965 is not a keymap.
4966 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4967 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4968
4969 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4970 Allow Vspecial_event_map to be autoloaded.
4971 (menu_bar_items): Fetch the keymap rather than using keymapp.
4972 (menu_bar_one_keymap): No need to follow func-indirect any more.
4973 (parse_menu_item): get_keymap_1 -> get_keymap.
4974 (tool_bar_items): Fetch the keymap rather than using keymapp.
4975 (read_key_sequence): Use KEYMAPP.
4976
4977 * intervals.c (get_local_map): Use get_keymap rather than following
4978 function-indirections explicitly.
4979
4980 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4981
f9d80af3
JR
49822000-10-27 Jason Rumney <jasonr@gnu.org>
4983
4984 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4985 point, as Windows has oversized fonts.
4986
4987 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4988
a3ba27da
GM
49892000-10-27 Gerd Moellmann <gerd@gnu.org>
4990
4991 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4992 (freehook, reallochook): Handle null pointer arguments.
4993 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4994
aa3b80cc
SM
49952000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4996
4997 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4998 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4999 Giving in to popular pressure to shut up the compiler with casts.
5000
e24e84cc
GM
50012000-10-27 Gerd Moellmann <gerd@gnu.org>
5002
5003 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5004 signed value, and use a default value computed from the font's
5005 maximum descent.
5006
05ea7ef2
MB
50072000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5008
5009 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5010 that specify a negative underline position can still use underlines.
5011
5012 * window.c (Fpos_visible_in_window_p): Make POS default to
5013 WINDOW's point, not the current buffer's point.
5014
0b95284b
DL
50152000-10-26 Dave Love <fx@gnu.org>
5016
5017 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5018 when it's necessary.
5019
6c5b90af
GM
50202000-10-26 Gerd Moellmann <gerd@gnu.org>
5021
8b6d9dc9
GM
5022 * window.c (size_window): Compute size difference from sum of old
5023 child window sizes instead of from parent's size.
5024
6bc92b2e
GM
5025 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5026 Handle obscured lines at the top of the window.
5027
5028 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5029 down after the last error condition check.
5030
6c5b90af
GM
5031 * frame.c (Fdelete_frame): Run delete-frame-hook.
5032
42f92d4d
KH
50332000-10-26 Kenichi Handa <handa@etl.go.jp>
5034
5035 * coding.c (decode_coding): Fix previous change (check also
5036 CODING_MODE_LAST_BLOCK).
5037
d97151cb
SM
50382000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5039
e7efc503
SM
5040 * regex.c: More `unsigned char' -> `re_char' changes.
5041 Also change several `int' into `re_wchar_t'.
5042 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5043 (PUSH_FAILURE_POINTER): Don't cast any more.
5044 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5045 We want GCC to complain, since this piece of code makes
5046 re_match non-reentrant, which *should* be fixed.
5047 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5048 (EXTEND_BUFFER): Use RETALLOC.
5049 (SET_LIST_BIT): Don't cast.
5050 (re_wchar_t): New type.
5051 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5052 that those two functions will always properly return.
5053 (IMMEDIATE_QUIT_CHECK): Cast to void.
5054 (analyse_first): Use recursion rather than an explicit stack.
5055 (re_compile_fastmap): Can't fail anymore.
5056 (re_search_2): Don't check re_compile_fastmap for failure.
5057 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5058 Now also sets the new value (passed in a new argument).
5059 (re_match_2_internal): Use it.
5060 Also, use a new var `reg' of type size_t when looping through regs
5061 rather than reuse the inappropriate `mcnt'.
5062
d97151cb
SM
5063 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5064 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5065 (where_is_internal): Renamed from Fwhere_is_internal.
5066 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5067 (Fwhere_is_internal): New function wrapping where_is_internal.
5068 (where_is_internal_1): Handle the case where we're filling the cache.
5069 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5070
d5789b65
MB
50712000-10-25 Miles Bader <miles@gnu.org>
5072
5073 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5074
4ecda532
GM
50752000-10-25 Gerd Moellmann <gerd@gnu.org>
5076
5077 * window.c (pos_fully_visible_p): Removed.
5078 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5079 if position is visible and/or fully visible.
5080
5081 * lisp.h (pos_visible_p): Add prototype.
5082
5083 * xdisp.c (pos_visible_p): New function.
5084
68c3a137
KH
50852000-10-25 Kenichi Handa <handa@etl.go.jp>
5086
5087 * process.c (send_process): If OBJECT is t, it means that the data
5088 is from C string, but we should encode it. Before calling
5089 setup_raw_text_coding_system, be sure to flush out data by the
5090 previous coding system.
5091
7ae1c032
MB
50922000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5093
ff4dcd4b
MB
5094 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5095 assignment of startpos to prev when startpos == pos.
5096
7ae1c032
MB
5097 * editfns.c (find_field): Set the field stickiness correctly from
5098 overlay fields. Use renamed `text_property_stickiness'.
5099 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5100 Only check text properties, not overlays.
7ae1c032
MB
5101 * textprop.c (get_char_property_and_overlay): New function.
5102 (Fget_char_property): Use it.
5103 * intervals.h (get_char_property_and_overlay): Add declaration.
5104
49801145
SM
51052000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5106
5107 * keymap.c: Use AREF, ASET and ASIZE macros.
5108 (Fmake_sparse_keymap): Docstring fix.
5109 (synkey): Remove.
5110 (shadow_lookup): Move up.
5111 Handle the case where lookup-key returns an integer.
5112 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5113 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5114 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5115 Simplify/rewrite the keymap-finding code.
5116 Add check for command shadowing, using shadow_lookup.
5117
39e776cd
SM
51182000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5119
5120 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5121 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5122 a symbol.
5123
2488aba5
AI
51242000-10-24 Andrew Innes <andrewi@gnu.org>
5125
5126 * dired.c (directory_files_internal_unwind): New function.
5127 (directory_files_internal): Use it to ensure closedir is called
5128 even if expand-file-name or file-attributes throw, eg. because of
5129 a user interrupt. Also enable immediate_quit while calling
5130 re_search, so that matching can be interrupted as well.
5131
b94fdf61
AI
51322000-10-24 Andrew Innes <andrewi@gnu.org>
5133
5134 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5135 NT-Emacs only.
5136 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5137 so that re_search functions only quit when callers expect them to.
5138
51392000-10-24 Kenichi Handa <handa@etl.go.jp>
5140
5141 * regex.c (regex_compile): Change the way of handling a range from
5142 a char less than 256 to a char not less than 256.
5143
1946f901
GM
51442000-10-24 Gerd Moellmann <gerd@gnu.org>
5145
7ae2f10f
GM
5146 * window.c (size_window): Prevent setting window's width or
5147 height to a negative value (esp. with XSETFASTINT).
5148
5dcab13e
GM
5149 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5150 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5151 (protect_malloc_state) [GC_MALLOC_CHECK &&
5152 GC_PROTECT_MALLOC_STATE]: New function.
5153 (PROTECT_MALLOC_STATE): New macro.
5154 (__malloc_initialize, morecore, _malloc_internal)
5155 (_free_internal) _realloc_internal): Use it to make _heapinfo
5156 read-only outside of gmalloc.
5157
63e1b552
GM
5158 * keymap.c: Update copyright.
5159
1946f901
GM
5160 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5161 a symbol.
5162
4fa09beb
GM
51632000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5164
5165 * filelock.c (unlock_all_files): Use unlock_file to expand each
5166 buffer's file_truename before trying remove its lock file.
5167
23afac01
EZ
51682000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5169
5170 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5171 or CRLF, decode EOLs.
5172
04448b95
KH
51732000-10-24 Kenichi Handa <handa@etl.go.jp>
5174
5175 * window.c (Fdisplay_buffer): Fix doc.
5176
3090a5a5
JR
51772000-10-23 Jason Rumney <jasonr@gnu.org>
5178
5179 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5180 ASCII font of default fontset on Windows.
5181
5182 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5183 xterm.c comment below).
5184
5185 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5186
a83fee2c
GM
51872000-10-23 Gerd Moellmann <gerd@gnu.org>
5188
5189 * xterm.c (x_connection_closed): Reset handling_signal.
5190
52283633 5191 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5192
6ffdb539
MB
51932000-10-23 Miles Bader <miles@gnu.org>
5194
5195 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5196 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5197 maintain old behavior.
5198 * minibuf.c (Fminibuffer_complete): Likewise.
5199
7f1c969b
MB
52002000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5201
5202 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5203 that when a font can't be exactly centered, it errs up rather than
5204 down.
5205
23afac01 52062000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5207
52283633 5208 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5209
1a578e9b
AC
52102000-10-23 Andrew Choi <akochoi@i-cable.com>
5211
5212 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5213
5214 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5215 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5216
5217 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5218 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5219 syms_of_search, x_term_init, and init_keyboard before calling
5220 init_window_once. Also, call syms_of_xmenu.
5221
5222 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5223 default fontset to Monaco.
5224
5225 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5226 NewMacWindow and DisposeMacWindow.
5227 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5228 instead of calling NewMacWindow and setting fields of
5229 f->output_data.mac directly. Call init_frame_faces.
5230 (Fdelete_frame) [macintosh]: Remove unused code.
5231 (Fmodify_frame_parameters) [macintosh]: Call
5232 x_set_frame_parameters instead of mac_set_frame_parameters.
5233
5234 * frame.h [macintosh]: Define menu_bar_lines field in struct
5235 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5236
5237 * keyboard.c [macintosh]: Include macterm.h.
5238 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5239 and menu_bar_activate_event type events as for X and NT.
5240 (make_lispy_event) [macintosh]: Construct lisp events of type
5241 MENU_BAR_EVENT as for X and NT.
5242
5243 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5244 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5245 (sys_subshell) [macintosh]: Remove definition entirely.
5246 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5247 Vwindow_system_version here. Remove initialization of
5248 Vx_bitmap_file_path.
5249 (read_input_waiting): Correct the number of parameters passed to
5250 read_socket_hook.
5251 Move all Macintosh functions to mac/mac.c.
5252
5253 * term.c [macintosh]: Include macterm.h.
5254
5255 * window.c [macintosh]: Include macterm.h.
5256
5257 * xdisp.c [macintosh]: Include macterm.h. Declare
5258 set_frame_menubar and pending_menu_activation.
5259 (echo_area_display) [macintosh]: Do not return if terminal frame
5260 is the selected frame.
5261 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5262 Allow only the selected frame to set menu bar.
5263 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5264 calling FRAME_EXTERNAL_MENU_BAR (f).
5265 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5266
5267 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5268 and check_x. Declare XCreateGC. Define x_create_gc and
5269 x_free_gc. Initialize font_sort_order.
5270 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5271 but call x_list_fonts instead of w32_list_fonts.
5272 (Finternal_face_x_get_resource) [macintosh]: Do not call
5273 display_x_get_resource.
5274 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5275 (realize_x_face) [macintosh]: Load the font if it is specified in
5276 ATTRS.
52283633 5277 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5278
1ffbabe3
SM
52792000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5280
5281 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5282 is nil: since we go to the end of submap anyway, we'd end up
5283 setting nil to nil.
5284 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5285 doesn't obey autoload.
5286
bed43f1d
EZ
52872000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5288
1ffbabe3 5289 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5290
ea4233a7
JR
52912000-10-21 Jason Rumney <jasonr@gnu.org>
5292
5293 * w32term.c (w32_cache_char_metrics): Double check that font is
5294 really fixed pitch before trusting tmPitchAndFamily.
5295
f3d3c491
AI
52962000-10-21 Andrew Innes <andrewi@gnu.org>
5297
5298 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5299
5300 * w32term.h: Extern decl for w32_cache_char_metrics.
5301
5302 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5303
5304 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5305 (w32_unload_font): Free per_char array if present.
5306
5307 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5308 cached information in emulated XFontStruct to handle common cases
5309 quickly. Do not allocate XCharStruct for return.
5310 (w32_native_per_char_metric): New function.
5311 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5312 allocating one.
5313 (x_produce_glyphs): Don't get an HDC. Change calls to
5314 w32_per_char_metric to match arg change above. Remove calls to
5315 free results.
5316 (w32_get_glyph_overhangs): Ditto.
5317 (w32_cache_char_metrics): New function.
5318
5319 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5320 ($(BLD)/casefiddle.$(O)): Remove compile command.
5321 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5322 ($(BLD)/dispnew.obj):
5323 ($(BLD)/keyboard.obj):
5324 ($(BLD)/w32inevt.obj):
5325 ($(BLD)/w32bdf.obj):
5326 ($(BLD)/alloc.obj):
5327 ($(BLD)/buffer.obj):
5328 ($(BLD)/editfns.obj):
5329 ($(BLD)/emacs.obj):
5330 ($(BLD)/fileio.obj):
5331 ($(BLD)/fns.obj):
5332 ($(BLD)/indent.obj):
5333 ($(BLD)/insdel.obj):
5334 ($(BLD)/intervals.obj):
5335 ($(BLD)/minibuf.obj):
5336 ($(BLD)/print.obj):
5337 ($(BLD)/scroll.obj):
5338 ($(BLD)/sysdep.obj):
5339 ($(BLD)/textprop.obj):
5340 ($(BLD)/widget.obj):
f3d3c491
AI
5341 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5342 ($(BLD)/term.obj): Add dependency on dispextern.h.
5343
52283633
SM
5344 * makefile.nt ($(BLD)\dispnew.obj):
5345 ($(BLD)\keyboard.obj):
5346 ($(BLD)\w32inevt.obj):
5347 ($(BLD)\w32bdf.obj):
5348 ($(BLD)\alloc.obj):
5349 ($(BLD)\buffer.obj):
5350 ($(BLD)\editfns.obj):
5351 ($(BLD)\emacs.obj):
5352 ($(BLD)\fileio.obj):
5353 ($(BLD)\fns.obj):
5354 ($(BLD)\indent.obj):
5355 ($(BLD)\insdel.obj):
5356 ($(BLD)\intervals.obj):
5357 ($(BLD)\minibuf.obj):
5358 ($(BLD)\print.obj):
5359 ($(BLD)\scroll.obj):
5360 ($(BLD)\sysdep.obj):
5361 ($(BLD)\textprop.obj):
5362 ($(BLD)\widget.obj):
f3d3c491
AI
5363 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5364 ($(BLD)\term.obj): Add dependency on dispextern.h
5365
18ad4821
EZ
53662000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5367
5368 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5369 with an additional argument of Qt.
5370
de54681a
MB
53712000-10-21 Miles Bader <miles@gnu.org>
5372
5373 * window.c (pos_fully_visible_in_window_p): New function.
5374 (Fpos_visible_in_window_p): Add FULLY argument.
5375 Use pos_fully_visible_in_window_p.
5376 (window_scroll_pixel_based, window_scroll_line_based): Update
5377 calls to Fpos_visible_in_window_p.
5378 * lisp.h (Fpos_visible_in_window_p): Update prototype
5379
13c844fb
GM
53802000-10-20 Gerd Moellmann <gerd@gnu.org>
5381
5382 * alloc.c (toplevel): Conditionalize compilation of mem_*
5383 functions differently.
52283633 5384
d9506268
JR
53852000-10-20 Jason Rumney <jasonr@gnu.org>
5386
5387 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5388 mem_init where it used to be. mem_z etc not defined otherwise.
5389
8094989b
GM
53902000-10-20 Gerd Moellmann <gerd@gnu.org>
5391
5392 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5393 GC_MALLOC_CHECK.
5394 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5395 structure definition and related variabled to the top of the file.
5396 Include this code when GC_MALLOC_CHECK is defined.
5397 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5398 register/unregister allocated region.
5399 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5400 which isn't allocated.
5401 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5402 something which is already in use.
5403 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5404 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5405 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5406 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5407
5408 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5409 _malloc_internal instead of malloc.
5410 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5411 of free.
5412
ea456eb4
AI
54132000-10-20 Andrew Innes <andrewi@gnu.org>
5414
5415 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5416 Windows.
5417 (my_strftime) <macro>: Don't use macro arg list when redefining as
5418 _strftime_copytm.
5419 (my_strftime) <function>: Supply 0 as ut argument.
5420
e64c3a75
JR
54212000-10-19 Jason Rumney <jasonr@altavista.net>
5422
5423 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5424 including dispextern.h, as it stops faces from working.
5425
5426 * w32fns.c (Fx_create_frame): Don't bother calling
5427 face-set-after-frame-default since the caller does it for us
5428 anyway. Clean up calls to x_get_arg to be consistent with X.
5429
5430 * w32term.c (x_produce_glyphs): Handle
5431 unibyte_display_via_language_environment correctly.
5432 (w32_draw_box_rect): Fix the calculation of width and height.
5433
5434 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5435 as it has stopped working.
5436 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5437 menu-bar.
5438
17401c97
GM
54392000-10-19 Gerd Moellmann <gerd@gnu.org>
5440
5441 * eval.c (skip_debugger): Prevent a compiler warning.
5442 (Fcondition_case): Likewise.
5443 (Fbacktrace_frame): Use a null interactive spec.
5444
773272d8
KH
54452000-10-19 Kenichi Handa <handa@etl.go.jp>
5446
5447 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5448
a42943e9
GM
54492000-10-18 Gerd Moellmann <gerd@gnu.org>
5450
e50517d9
GM
5451 * strftime.c: Sync with glibc, file version 1.78.
5452 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5453 should no longer be used according to ISO 8601.
5454
9035a35a
GM
5455 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5456 no map for meta_prefix_char, don't try to use it as a keymap.
5457 Instead, if T_OK is non-zero, look up a default binding, if any,
5458 otherwise, if T_OK is zero, return nil.
5459
a42943e9
GM
5460 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5461 (x_to_xcolors, png_load): Use x_query_color.
5462
52283633
SM
5463 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5464 New functions.
a42943e9
GM
5465 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5466 which can be slow.
5467 (x_copy_color, x_alloc_lighter_color): Likewise.
5468
5469 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5470 (x_query_color, x_query_colors): Add prototype.
5471
5472 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5473 check_string_bytes only if not noninteractive, increase count to 50.
5474
00de2987
MB
54752000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5476
5477 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5478 markers correctly.
5479
54918e2b
GM
54802000-10-17 Gerd Moellmann <gerd@gnu.org>
5481
1f0b3fd2
GM
5482 * alloc.c (pure_bytes_used): Renamed from pureptr.
5483 (ALIGN): New macro.
5484 (pure_alloc): New function.
5485 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5486 Use it.
5487 (Fpurecopy): Use PURE_POINTER_P.
5488
68c5d1db
GM
5489 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5490 PT has moved backward.
52283633 5491
9a038881
GM
5492 * xdisp.c (cursor_row_p): Take continued lines into account.
5493
361b097f
GM
5494 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5495 string's size_byte.
5496 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5497 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5498 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5499 string allocated.
5500
54918e2b
GM
5501 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5502 of selective display off while searching for the next line start.
5503
03ed0806
KH
55042000-10-17 Kenichi Handa <handa@etl.go.jp>
5505
5506 * Makefile.in (term.o): Depend on dispextern.h.
5507
7e05cdaf
SM
55082000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5509
5510 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5511
a6801fd1
GM
55122000-10-16 Gerd Moellmann <gerd@gnu.org>
5513
483de32b
GM
5514 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5515 the iterator at the beginning, so that they can be set later on,
5516 for instance in reseat_at_next_visible_line_start, without being
5517 overwritten.
5518
a6801fd1
GM
5519 * xfns.c (pbm_format): Add :foreground and :background keywords.
5520 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5521 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5522
dbf1fcc1
EZ
55232000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5524
5525 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5526
52283633 5527 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5528
5529 * msdos.c (IT_set_face): Compare highlighted face with the default
5530 face, and invert colors if these faces' colors are identical.
5531 (Fmsdos_remember_default_colors): Don't swap foreground and
5532 background colors in initial_colors[].
5533 (IT_set_frame_parameters): Don't swap frame's foreground and
5534 background pixels. If ALIST includes "(reverse . t)", swap
5535 foreground-color and background-color properties in frame's
5536 param_alist. If the original frame's param_alist doesn't specify
5537 the colors, store unspecified-fg and unspecified-bg, reversed if
5538 required.
5539
5540 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5541 the colors are unspecified and reversed, reverse fore- and back-
5542 ground in the returned value.
5543 (Fframe_parameter): Ditto.
5544
b41fe2c3 55452000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5546
3a6b59d9
GM
5547 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5548 get_last_unchanged_at_beg_row.
5549 (find_first_unchanged_at_end_row): Renamed from
5550 get_first_unchanged_at_end_row.
5551 (find_first_unchanged_at_end_row): Convert assertions to
5552 unconditional tests which abort. When looking for a row in
5553 unchanged text, don't go further back than first_text_row.
5554
b41fe2c3
GM
5555 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5556 Don't add in the last line's height when deciding if the new
5557 position is below the scroll margin.
9d1af64f 5558
b41fe2c3 55592000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5560
5561 * editfns.c (Fconstrain_to_field): Check carefully for field
5562 boundaries if either OLD_POS or NEW_POS has a non-nil field
5563 property, even if they're the same.
5564
c412cb7b
KH
55652000-10-16 Kenichi Handa <handa@etl.go.jp>
5566
5567 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5568 height for XFillRectangle.
5569
5586f3eb
SM
55702000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5571
5572 * syntax.c (Fstring_to_syntax): New function extracted from
5573 Fmodify_syntax_entry.
5574 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5575 (skip_chars, Fforward_comment): Remove unused variables.
5576 (syms_of_syntax): Add defsubr for string-to-syntax.
5577 (describe_syntax): Add code for comment and string fences.
5578
db785038
SM
55792000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5580
5581 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5582 Do the meta->esc mapping. Call get_keyelt before returning.
5583 Start scanning from the second element (the first is always `keymap')
5584 to make it easier to detect when we reach a parent map.
5585 Handle the case of inheriting from a symbol whose function is a map.
5586 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5587 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5588 (get_keyelt, Flookup_key): Update call to access_keymap.
5589 Remove the meta->esc mappings.
5590 (define_as_prefix): Delete old disabled code.
5591 (menu_item_p): New function.
5592 (where_is_internal_1): Skip over the few remaining menu items.
5593 * lisp.h (access_keymap): Update prototype.
5594 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5595 Update call to access_keymap.
5596 (follow_key, read_key_sequence): Update calls to access_keymap.
5597 Remove the meta->esc mappings.
5598
cafafe0b
GM
55992000-10-13 Gerd Moellmann <gerd@gnu.org>
5600
a2e2a7f6
GM
5601 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5602 with additional argument.
5603
cafafe0b
GM
5604 * xdisp.c (cursor_row_p): New function.
5605 (try_cursor_movement, display_line): Use it.
52283633 5606
cafafe0b
GM
5607 * xdisp.c (append_space): Also save/restore iterator's current
5608 character and its length.
5609
5610 * xdisp.c (init_from_display_pos): Add an assertion.
5611 (handle_stop): Don't set iterator's add_overlay_start.
5612 (handle_invisible_prop): Likewise.
5613 (load_overlay_strings): If text under an overlay is invisible,
5614 take both before- and after-strings into account when the iterator
5615 is positioned either at the start or at the end of the overlay.
5616 (forward_to_next_line_start): Rewritten.
5617 (reseat_at_next_visible_line_start): Rewritten.
5618 (set_iterator_to_next): Add parameter RESEAT_P.
5619
5620 * dispextern.h (struct it): Remove member add_overlay_start.
5621 (set_iterator_to_next): Change prototype.
5622
c744452b
KH
56232000-10-13 Kenichi Handa <handa@etl.go.jp>
5624
5625 * coding.c (code_convert_region): Be sure to initialize
5626 coding->category_idx.
e4a3f4e1
KH
5627 (decode_coding_string): Set coding->src_multibyte and
5628 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5629 (encode_coding_string): Set coding->src_multibyte and
5630 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5631
321fd26f
SM
56322000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5633
5634 * xfns.c (Fx_create_frame): Don't bother calling
5635 face-set-after-frame-default since the caller does it for us anyway.
5636
76832439
EZ
56372000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5638
5639 * window.c (coordinates_in_window): Fix detection of vertical line
5640 on character terminals.
5641
2483cf58
GM
56422000-10-12 Gerd Moellmann <gerd@gnu.org>
5643
5644 * editfns.c (save_excursion_save): Additionally record the
5645 selected window.
5646 (save_excursion_restore): If buffer was visible in a window, and a
5647 different window was selected, and the old selected window is
5648 still live, restore point in that window.
5649
eb991b25
KH
56502000-10-12 Kenichi Handa <handa@etl.go.jp>
5651
8a0eba09
KH
5652 * xterm.c (x_produce_glyphs): Handle
5653 unibyte_display_via_language_environment correctly.
5654
20401fcc
KH
5655 * regex.c (regex_compile): Change the way of handling a range from
5656 unibyte char to multibyte char.
5657
5658 * syntax.c (skip_chars): Change the way of handling a range from
5659 unibyte char to multibyte char.
5660
eb991b25
KH
5661 * process.c (read_process_output): Cancel previous change.
5662
365dd325
EZ
56632000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5664
c1b096cb
EZ
5665 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5666
365dd325
EZ
5667 * charset.c (Ffind_charset_string): Doc fix.
5668 (Ffind_charset_region): Doc fix.
5669
eb483c2b
KH
56702000-10-11 Kenichi Handa <handa@mule.m17n.org>
5671
5672 * process.c (read_process_output): Fix previous change. Adjust
5673 multibyteness of text to insert in a buffer by
52283633 5674 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5675
b40bfb99
AS
56762000-10-10 Andreas Schwab <schwab@suse.de>
5677
5678 * alloc.c (mark_object): Remove all workarounds installed on
5679 1993-08-08.
5680
caff31d4
KH
56812000-10-10 Kenichi Handa <handa@etl.go.jp>
5682
52283633 5683 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5684 (base64_encode_1): Make it work for a text of multibyte form.
5685 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5686 case. Don't call str_to_multibyte because base64_decode_1
5687 produces correct multibyte form for eight-bit codes.
52283633 5688 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5689 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5690 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5691 codes.
5692
5693 * charset.h (CHAR_STRING): Optimized for single byte characters.
5694
cba026ef
AS
56952000-10-09 Andreas Schwab <schwab@suse.de>
5696
5697 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5698 -1 after socket is closed, to fall through to error processing.
5699
1e21fe48
EZ
57002000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5701
5702 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5703 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5704 background-color, change also the colors of the default face for
5705 this frame.
5706
a640322e
EZ
57072000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5708
5709 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5710 them extern (they are defined on xfaces.c).
5711 (syms_of_msdos): Don't intern and don't staticpro
5712 Qbackground_color and Qforeground_color.
5713
a115794c
EZ
57142000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5715
5716 * frame.c (Fframe_parameter): For non-windowed frames, if
5717 f->param_alist says foreground or background color is unspecified,
5718 call tty_color_name to return the color name computed from the
5719 frame's current colors.
5720
f5533b63
DL
57212000-10-06 Dave Love <fx@gnu.org>
5722
5723 * terminfo.c (ospeed): Don't declare.
5724
5725 * sysdep.c: Don't include string.h.
5726 (h_errno): Declare conditional also on TRY_AGAIN.
5727
5728 * charset.c (Ffind_charset_string): Doc fix.
5729
52283633 5730 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5731 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5732 error messages.
5733
2b06561a
DL
57342000-10-05 Dave Love <fx@gnu.org>
5735
5736 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5737 position like menu-bar.
5738
ca839c85
GM
57392000-10-05 Gerd Moellmann <gerd@gnu.org>
5740
5741 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5742
5743 * xdisp.c (handle_single_display_prop): Use safe_call1.
5744 (safe_call): Renamed from call_function.
5745 (safe_call1): New function.
5746 (handle_fontified_prop): Use safe_call1 instead of call1.
5747 (safe_eval): Renamed from eval_form.
5748 (safe_eval_handler): Renamed from eval_handler.
5749 (handle_single_display_prop, display_mode_element): Use safe_eval
5750 instead of eval_form.
5751
5752 * xfaces.c (merge_face_heights): Use safe_call instead of
5753 call_function.
5754
5755 * keyboard.c (show_help_echo): Use safe_call instead of
5756 call_function; use safe_eval instead of eval_form.
5757
5758 * lisp.h (safe_call): Renamed from call_function.
5759 (safe_eval): Renamed from eval_form.
5760 (safe_call1): Add prototype.
5761
a3489ece
MB
57622000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5763
5764 * xfns.c (image_ascent): Rearrange ascent calculation for the
5765 has-a-font case.
5766
35810b6f
SM
57672000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5768
5769 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5770 (where_is_internal_1): Don't bother ignoring menu-items any more.
5771
3dc78168
GM
57722000-10-04 Gerd Moellmann <gerd@gnu.org>
5773
5774 * keyboard.c (update_menu_bindings): New variable.
5775 (parse_menu_item): Use AREF. If update_menu_bindings
5776 is 0, don't update menu bindings.
5777 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5778
1efc2bb9
EZ
57792000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5780
5781 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5782 to `mark_object'.
5783
3f679f55
SM
57842000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5785
5786 * syntax.c (forw_comment): Match nestedness of ender/starter.
5787 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5788 (prev_char_comstart_first): Remove.
5789 (back_comment): Check two-char comment markers more carefully
5790 to better handle overlapping cases like *//* or /* */* */ ...
5791 Match nestedness of ender/starter.
5792
2021ab61
DL
57932000-10-02 Dave Love <fx@gnu.org>
5794
5795 * config.in (HAVE_GAI_STRERROR): Add undef.
5796
5797 * process.c (Fopen_network_stream): Use it.
5798
5799 * m/alpha.h (NO_REMAP): Don't define.
5800
64e6cc18
GM
58012000-10-02 Gerd Moellmann <gerd@gnu.org>
5802
5803 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5804 return with a string converted to an integer or vice versa when
5805 Vmocklisp_arguments is t.
5806 (Fsignal): Likewise. The function can return for `quit'.
5807 (struct gcpro): Declare member `var' to point to a volatile
5808 Lisp_Object.
5809
5810 * eval.c (error): Prevent compiler warning.
5811
b1904cd9
SM
58122000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5813
5814 * keymap.c (keymap_memberp): New function.
5815 (Fset_keymap_parent): Use it.
5816 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5817 Use keymap_memberp to avoid creating cycles.
5818 (access_keymap): Use KEYMAPP.
5819
71c9ec51
GM
58202000-09-30 Gerd Moellmann <gerd@gnu.org>
5821
5822 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5823 gai_strerror. Make sure xerrno is set if connect fails. Improve
5824 error recovery.
71c9ec51 5825
c70c6b58
JR
58262000-09-29 Jason Rumney <jasonr@gnu.org>
5827
5828 * w32term.c (w32_char_font_type, w32_encode_char)
5829 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5830 (w32_bdf_per_char_metric): New function.
5831 (w32_per_char_metric): Use it.
5832 (x_draw_glyph_string_background): Always draw background for BDF
5833 glyphs.
5834
5835 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5836 GDI object which is a scarce resource.
5837
5838 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5839 (get_quoted_string): Fix limit on memchr search.
5840 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5841 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5842 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5843 (get_cached_font_char, cache_char_offset): Use macro
5844 BDF_CODEPOINT_RANGE_COVER_P.
5845 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5846 (clear_cached_bitmap_slots): New function.
5847 (GET_HEX_VALUE): G-Z, g-z are not hex.
5848 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5849 (get_bitmap_with_cache): Use new cache implementation.
5850 (create_offscreen_bitmap): New function.
5851 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5852
5853 * w32term.c (x_produce_glyphs): If the distance from the current
5854 position to the next tab stop is less than a canonical character
5855 width, use the tab stop after that.
5856 (x_draw_glyphs): Handle case START and END are out of bounds more
5857 carefully.
5858 (x_clear_mouse_face): Block/unblock input.
5859 (x_display_and_set_cursor): Don't show a hollow box cursor for
5860 buffers whose cursor_type is nil.
5861
fe01239f
GM
58622000-09-29 Gerd Moellmann <gerd@gnu.org>
5863
52283633 5864 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5865
5866 * dispextern.h (updating_frame): Declare extern.
5867
e7c52f1f
AS
58682000-09-29 Andreas Schwab <schwab@suse.de>
5869
5870 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5871
de6e1f7c
GM
58722000-09-29 Gerd Moellmann <gerd@gnu.org>
5873
25126faa
GM
5874 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5875 use its function definition.
5876 (tool_bar_items): Likewise.
5877
de6e1f7c 5878 * lisp.h (fatal): Declare NO_RETURN.
52283633 5879
454ee39b
KH
58802000-09-29 Kenichi Handa <handa@etl.go.jp>
5881
5882 * keymap.c: Remove the line "#undef NULL".
5883
96301c5f
GM
58842000-09-28 Gerd Moellmann <gerd@gnu.org>
5885
52283633 5886 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5887
efffeeb4
DL
58882000-09-28 Dave Love <fx@gnu.org>
5889
ecb8b666
DL
5890 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5891
dc3cd20f
DL
5892 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5893
5894 * .gdbinit (xreload): Note its need on GNU/Linux.
5895
efffeeb4
DL
5896 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5897 r_alloc, r_alloc_free.
5898
8610d903
KH
58992000-09-28 Kenichi Handa <handa@etl.go.jp>
5900
5901 * syntax.c (skip_chars): Handle negation correctly.
5902
8901d1ac
GM
59032000-09-27 Gerd Moellmann <gerd@gnu.org>
5904
6f22f1ad
GM
5905 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5906 with non-zero FORCE_P argument.
5907
52283633 5908 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5909 Add assertions.
5910
5911 * xdisp.c (window_box_height): Add an assertion.
5912
5913 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5914 tool-bar than is available.
5915 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5916
36f1966f
DL
59172000-09-27 Dave Love <fx@gnu.org>
5918
efffeeb4 5919 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5920
31d929e5
GM
59212000-09-26 Gerd Moellmann <gerd@gnu.org>
5922
c98863bf
GM
5923 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5924 instead of BITS_PER_INT.
5925 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5926 EMACS_UINT, respectively.
5927 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5928
5929 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5930
5931 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5932
77072ab1
GM
5933 * window.c (freeze_window_starts): Construct last argument for
5934 foreach_window differently.
5935
5936 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5937
5938 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5939 EMACS_UINT instead of `int' and `unsigned int'.
5940 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5941
5942 * frame.h (struct frame): Make the `nothing' member of union
5943 output_data an EMACS_INT.
5944
52283633 5945 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5946 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5947 size in the sdata structure.
5948 (SDATA_NBYTES, SDATA_DATA): New macros.
5949 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5950 differently for the different layout of the sdata structure.
5951 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5952 in sdata.
5953 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5954 Check that size recorded in the string size and size recorded in
5955 the sdata structure agree.
5956
3e60b029
DL
59572000-09-25 Dave Love <fx@gnu.org>
5958
5959 * buffer.c: Include stdio.h.
5960
5961 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5962
3e60b029
DL
5963 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5964
5965 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5966 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5967 (__malloc_extra_blocks): Declare as __malloc_size_t.
5968
8ff16b4e
GM
59692000-09-25 Gerd Moellmann <gerd@gnu.org>
5970
755a2ccd
GM
5971 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5972
d8b4516f
GM
5973 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5974 (read_char): If help-echo is showing, preserve the echo area
5975 when redisplaying.
5976
5977 * xdisp.c (help_echo_showing_p): New variable.
5978 (set_message): Reset it to 0.
5979 (init_xdisp): Initialize help_echo_showing_p.
5980
5981 * dispextern.h (help_echo_showing_p): Declare extern.
5982
5983 * config.in: Fix typo in __GNUC_MINOR__.
5984
5985 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5986
b11af2dd
GM
5987 * s/freebsd.h (POSIX_SIGNALS): Define.
5988
8ff16b4e
GM
5989 * xterm.c (x_clear_mouse_face): Block/unblock input.
5990
844eb643
DL
59912000-09-24 Dave Love <fx@gnu.org>
5992
5993 * fns.c (base64_encode_1): Fix last change.
5994
b30ab1b3
GM
59952000-09-22 Gerd Moellmann <gerd@gnu.org>
5996
5997 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5998
5999 * xdisp.c (try_window_reusing_current_matrix): More fixes
6000 for the case window has a header-line.
6001
c6cbe5f0
DL
60022000-09-22 Dave Love <fx@gnu.org>
6003
4c7c1f3f
DL
6004 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6005 a doc string.
6006
6007 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6008
c6cbe5f0
DL
6009 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6010
550a625e
GM
60112000-09-21 Gerd Moellmann <gerd@gnu.org>
6012
4c7c1f3f 6013 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6014 for GCC >= 2.5.
6015
52283633
SM
6016 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6017 Declare NO_RETURN.
fca99116 6018
80d26f99
GM
6019 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6020 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6021 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6022 warnings.
52283633 6023
80d26f99
GM
6024 * marker.c (byte_char_debug_check): Return void.
6025
623a0aae
GM
6026 * xfns.c (Fx_create_frame): Set default frame parameter value
6027 for tool-bar-lines to 1.
6028
6029 * dispnew.c (scrolling_window): Compare y-positions of rows
6030 equal at the start. Some simplification.
6031
6032 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6033 reused rows' y-position in the case window has a header-line, and
6034 new window start is greater than old window start.
6035
42ac0ae5
GM
6036 * process.c (process_sent_to): New variable.
6037 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6038 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6039 Declare more parameters volatile.
6040
550a625e
GM
6041 * lread.c (Vrecursive_load_depth_limit): New variable.
6042 (Fload): Check recursive loads whose recursion depth exceeds
6043 Vrecursive_load_depth_limit.
6044 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6045
8320414c
GM
60462000-09-20 Gerd Moellmann <gerd@gnu.org>
6047
f46c275e
GM
6048 * fileio.c (Fread_file_name): Doc fix.
6049
6050 * editfns.c (Fmessage_or_box): Doc fix.
6051
6052 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6053
b7e11c5b 6054 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6055
8320414c
GM
6056 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6057 symbols are specified, add color translations to the cache.
52283633 6058 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6059 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6060 xpm_cache_color.
6061 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6062 structures to xpm_init_color_cache.
6063
da1608d9
GM
60642000-09-19 Gerd Moellmann <gerd@gnu.org>
6065
52283633 6066 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6067
6badfa25
AI
60682000-09-19 Andrew Innes <andrewi@gnu.org>
6069
6070 * makefile.nt (bootstrap-emacs): Don't change directory.
6071
3a5f42bb
KH
60722000-09-19 Kenichi Handa <handa@etl.go.jp>
6073
1b7649bd
KH
6074 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6075
3a5f42bb
KH
6076 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6077 If output buffer is too small, signal an appropriated error.
6078
9f83cf0b
DL
60792000-09-18 Dave Love <fx@gnu.org>
6080
52283633 6081 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6082 (current_active_maps): Remove redundant get_local_map call.
6083
28c7826c
GM
60842000-09-18 Gerd Moellmann <gerd@gnu.org>
6085
5cefa566
GM
6086 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6087 cursor for buffers whose cursor_type is nil.
52283633 6088
6fed3546
GM
6089 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6090 a feature to implement that is already implemented.
6091 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6092 warnings.
6093
6094 * xfns.c (x_clear_image_1): New function.
6095 (x_clear_image): Use it.
52283633 6096 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6097
05b1f851
GM
6098 * dispnew.c (update_window): Move test for invisible lines
6099 at the top to update_window_line.
6100 (update_window_line): Handle invisible lines here.
6101
f4779de9
GM
6102 * xfns.c (clear_image_cache): Clear current matrices of all
6103 frames sharing an image cache. Block input while freeing
6104 images. Fix timestamp comparison.
6105 (x_clear_image): Also free the mask.
6106
28c7826c
GM
6107 * xfns.c (lookup_image): Block input while loading the image so
6108 that we won't get interrupted in a state where the image isn't yet
6109 set up completely.
6110 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6111 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6112 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6113 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6114
b7412313
GM
61152000-09-16 Gerd Moellmann <gerd@gnu.org>
6116
6117 * dispnew.c (update_window): Make sure to make desired rows
6118 current even if they are completely invisible at the top
6119 of a window.
6120
47e351a3
GM
61212000-09-15 Gerd Moellmann <gerd@gnu.org>
6122
7f8f1edc
GM
6123 * xfns.c (lookup_image): Build mask before applying an algorithm.
6124 Recognize algorithm `disabled'.
6125 (cross_disabled_images): New variable.
6126 (COLOR_INTENSITY): New macro.
6127 (x_detect_edges): Use COLOR_INTENSITY.
6128 (x_disable_image): New function.
6129 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6130
6131 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6132 disabled state, don't apply an image transformation algorithm if
6133 the user specified an image for the disabled state. Use
28c7826c 6134 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6135 user hasn't specified an image.
6136
ebb8f116
GM
6137 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6138 allocation functions with the XPM lib.
6139 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6140 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6141 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6142 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6143 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6144 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6145 functions, if possible, because these handle color allocation
6146 failure more gracefully.
6147 (Fimage_mask_p): New function.
6148
47e351a3
GM
6149 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6150 (Qedge_detection, Qheuristic): New symbols.
6151 (syms_of_xfns): Initialize new symbols.
6152 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6153 `algorithm (edge-detection ...)'.
6154 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6155 (tiff_format, gif_format, gs_format): Add `:mask'.
6156 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6157 (GIF_MASK, GS_MASK): New enumerators.
6158 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6159 (emboss_matrix, laplace_matrix): New variables.
6160 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6161 (x_edge_detection): New functions.
6162 (x_laplace): Rewritten in terms of x_detect_edges.
6163 (x_build_heuristic_mask): If image has a mask, free it.
6164
fe83b953
AI
61652000-09-14 Andrew Innes <andrewi@gnu.org>
6166
6167 * makefile.w32-in: Revert to Unix line endings.
6168
3021e816
AI
61692000-09-14 Andrew Innes <andrewi@gnu.org>
6170
6171 * makefile.w32-in: Standardize indentation somewhat.
6172 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6173 cater for differences between shells.
6174
6175 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6176
2a32b5ea
GM
61772000-09-14 Gerd Moellmann <gerd@gnu.org>
6178
6179 * xterm.c (x_produce_glyphs): If the distance from the current
6180 position to the next tab stop is less than a canonical character
6181 width, use the tab stop after that.
6182
b4331e96
DL
61832000-09-14 Dave Love <fx@gnu.org>
6184
6185 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6186
ef9e4345
GM
61872000-09-14 Gerd Moellmann <gerd@gnu.org>
6188
085536c2
GM
6189 * xdisp.c (handle_fontified_prop): While running fontification
6190 functions, bind `fontification-functions' and
6191 `after-change-functions' to nil.
6192
ef9e4345
GM
6193 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6194 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6195
6196 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6197
6198 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6199 USE_MMAP_FOR_BUFFERS.
6200
6201 * insdel.c (make_gap): Use enlarge_buffer_text.
6202
6203 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6204 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6205 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6206 from former r_alloc_* functions in ralloc.c.
52283633 6207 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6208 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6209 (mmap_init) [REL_ALLOC_MMAP]: New function.
6210 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6211 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6212 BUFFER_FREE.
6213
6214 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6215 (enlarge_buffer_text): Add prototype.
6216
6217 * ralloc.c: Remove everything having to do with the use of mmap.
6218
f8608968
GM
62192000-09-13 Gerd Moellmann <gerd@gnu.org>
6220
2a494b2d
GM
6221 * sound.c (Fplay_sound): Doc fix.
6222
8c907a56
GM
6223 * keyboard.c: Avoid some more compiler warnings.
6224 (parse_tool_bar_item): Ignore cached key bindings.
6225
f8608968
GM
6226 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6227 and allocation of Lisp data.
6228
6ab70e9a
GM
62292000-09-12 Gerd Moellmann <gerd@gnu.org>
6230
d12d0a9b
GM
6231 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6232 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6233 defaults first.
6234
6ab70e9a
GM
6235 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6236
63c36c3c
KH
62372000-09-12 Miyashita Hisashi <himi@meadowy.org>
6238
6239 * ccl.c: Comment fixed.
6240 (MAX_MAP_SET_LEVEL): Increased to 30.
6241 (PUSH_MAPPING_STACK): Enclose with do-while block.
6242 (POP_MAPPING_STACK): Likewise.
6243 (stack_idx_of_map_multiple): New variable.
6244 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6245 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6246 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6247 (ccl_driver) <CCL_MapSingle>: Likewise.
6248 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6249 with the case where looking up process reaches to the end of
6250 map-set, and call CCL programs as the above change.
6251
7ee3bd7b
GM
62522000-09-11 Gerd Moellmann <gerd@gnu.org>
6253
8ec8a5ec
GM
6254 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6255 that might be clobbered by longjmp.
6256 (check_x_display_info, x_decode_color, create_frame_xic)
6257 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6258 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6259
f74b0705
GM
6260 * lread.c (init_lread): Set Vloads_in_progress to nil.
6261 (Fload): Show list of recursively loaded files, when signaling an
6262 error.
6263
7ee3bd7b
GM
6264 * lread.c (Vloads_in_progress): New variable.
6265 (record_load_unwind): New function.
6266 (Fload): Check for recursive loads.
6267 (syms_of_lread): Initialize Vloads_in_progress.
6268 (read_integer, read1): Avoid some compiler warnings.
6269
6270 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6271 compiler warnings.
6272
974e1e5b
MB
62732000-09-11 Miles Bader <miles@gnu.org>
6274
6275 * editfns.c (Fbuffer_string): Doc fix.
6276
9824c4e3
GM
62772000-09-10 Gerd Moellmann <gerd@gnu.org>
6278
6279 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6280
6a72fdd1
KR
62812000-09-09 Ken Raeburn <raeburn@gnu.org>
6282
6283 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6284 whether to include other header files.
6285
28e6fb66
GM
62862000-09-09 Gerd Moellmann <gerd@gnu.org>
6287
52283633 6288 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6289 by Fmemq as a boolean.
28e6fb66 6290
7f8b6551
SM
62912000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6292
6293 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6294
a8710abf
GM
62952000-09-08 Gerd Moellmann <gerd@gnu.org>
6296
d1a02881
GM
6297 * ralloc.c (mmap_fd): Remove initializer which can make it
6298 read-only in a dumped Emacs.
6299 (mmap_fd_1): New variable.
6300 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6301 restore it from there.
6302 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6303 unconditionally so that mmap_fd can be initialized there.
6304 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6305 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6306 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6307
c454aac1
GM
6308 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6309
6310 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6311 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6312
fc653ef2
GM
6313 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6314
3015eec0
GM
6315 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6316 inheritance.
6317
bfe0ee88
GM
6318 * xdisp.c (try_window_id): When trying to locate cursor in
6319 unchanged rows at the top, handle the case that we can't find it.
6320
a8710abf
GM
6321 * xterm.c (x_draw_glyphs): Handle case START and END are out
6322 of bounds more carefully.
6323
6b7d4ae4
DL
63242000-09-08 Dave Love <fx@gnu.org>
6325
423193c5
DL
6326 * s/sol2.h (REL_ALLOC_MMAP): Define.
6327 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6328
6329 * ralloc.c: Don't include string.h (redundant).
6330 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6331 [!MAP_ANON]: Include fcntl.h.
6332 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6333 (r_alloc, r_re_alloc, r_alloc_free)
6334 (mmap_enlarge, mmap_set_vars): Use it.
6335 (r_alloc_init_fd): New function.
6336 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6337 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6338 malloc type.
6339
6340 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6341 Remove vm-limit.o.
6342
6b7d4ae4
DL
6343 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6344 change to __NetBSD__.
6345
44d31981
KH
63462000-09-08 Kenichi Handa <handa@etl.go.jp>
6347
6348 * search.c (compile_pattern): Check the multibyteness of cached
6349 string and PATTERN.
6350
aad40737
MB
63512000-09-08 Miles Bader <miles@gnu.org>
6352
6353 * xfaces.c (default_face_vector): Function removed.
6354 (Finternal_merge_in_global_face): Restore old global/local
6355 attribute override order. Use inline loop instead of calling
6356 default_face_vector.
6357
91a211b5
GM
63582000-09-07 Gerd Moellmann <gerd@gnu.org>
6359
6360 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6361 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6362 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6363 where necessary, in case POINTER_TYPE is `void'.
6364
03419440
EZ
63652000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6366
6367 * frame.c (make_terminal_frame): Initialize frame foreground and
6368 background colors to unspecified, for the initial instance of an
6369 MSDOS frame.
6370
f46f845b
GM
63712000-09-07 Gerd Moellmann <gerd@gnu.org>
6372
24f76fbf
GM
6373 * ralloc.c (mmap_find): Fix overlap computation.
6374 (mmap_enlarge): Compute nbytes before trying to find an
6375 overlapping region.
6376
f46f845b
GM
6377 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6378 instead of `!='.
6379
6380 * lread.c (syms_of_lread): Change value of regexp
6381 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6382
6383 * xmenu.c (xdialog_show): When looking up the selection in
6384 menu_items, take `quote' boundaries into account; this corresponds
6385 to a nil ITEM in x-popup-dialog.
6386
3c014385
KH
63872000-09-07 Kenichi Handa <handa@etl.go.jp>
6388
fd6f711b
KH
6389 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6390 not 0x81.
6391 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6392
3c014385 6393 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6394 encoding, not decoding. Fix the handling of latin-jisx0201.
6395 Check for the charset katakana-jisx0201 too.
3c014385 6396 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6397 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6398
0da3ecef
GM
63992000-09-07 Gerd Moellmann <gerd@gnu.org>
6400
ab0ee409
GM
6401 * xfaces.c (Vparam_value_alist): New variable.
6402 (syms_of_xfaces): Initialize it.
6403 (Finternal_set_lisp_face_attribute): Avoid more consing.
6404
6405 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6406 specially.
6407 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6408 (Qbackground_mode): New variable.
6409 (syms_of_frame_1): Initialize Qbackground_mode.
6410
6411 * lisp.h (Qdisplay): Declare extern.
1091dd67 6412
0da3ecef
GM
6413 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6414 change face on all frames, and change the default for new frames.
6415
b14654b9
DL
64162000-09-07 Dave Love <fx@gnu.org>
6417
6418 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6419
d24fd56f
KH
64202000-09-07 Kenichi Handa <handa@etl.go.jp>
6421
794f3670
KH
6422 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6423
0fddd0dc
KH
6424 * charset.c: Include composite.h
6425 (lisp_string_width): New function.
6426 (Fstring_width): Call lisp_string_width instead of strwidth.
6427
6428 * Makefile.in (charset.o): Depends on composite.h.
6429
d24fd56f
KH
6430 * process.c (read_process_output): Before inserting the decoded
6431 text in the buffer, adjust the multibyteness.
6432
fa0b693c
GM
64332000-09-06 Gerd Moellmann <gerd@gnu.org>
6434
52283633 6435 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6436 buffer's text buffer is null, map new memory.
6437
0a58f946
GM
6438 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6439 POINTER_TYPE and size_t.
6440 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6441 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6442 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6443 [REL_ALLOC_MMAP]: New macros.
6444 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6445 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6446 [REL_ALLOC_MMAP]: New functions.
6447
6448 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6449 before and after unexec.
6450
6451 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6452 text buffers if necessary.
6453
6454 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6455 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6456 in prototypes.
6457
fa0b693c
GM
6458 * config.in (HAVE_MMAP): Add #undef.
6459
877055f6
GM
64602000-09-05 Gerd Moellmann <gerd@gnu.org>
6461
08ba3862
GM
6462 * frame.c (Qdisplay_type): New variable.
6463 (syms_of_frame_1): Initialize it.
6464 (Fframe_parameter): New function that avoids consing.
6465 (syms_of_frame): Defsubr it.
6466
66ffe51c
GM
6467 * buffer.c (Fother_buffer): Consider buffers as invisible when
6468 they are displayed in a window on an invisible frame.
6469
877055f6
GM
6470 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6471 get-largest-window always return nil.
6472
bb970e67
GM
64732000-09-04 Gerd Moellmann <gerd@gnu.org>
6474
6475 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6476 variable; recognize Emacs 19 elc files.
6477
7a3d0e0e
MB
64782000-09-04 Miles Bader <miles@gnu.org>
6479
6480 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6481 before initially popping up the menu, so the menu doesn't flash
52283633 6482 when the face settings are significantly different from the defaults.
7a3d0e0e 6483
14473664
SM
64842000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6485
6486 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6487 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6488 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6489 (BIT_UNIBYTE): Remove.
6490 (re_match_2_internal): Delete corresponding code and streamline the
6491 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6492 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6493 (re_wctype_t): New type.
6494 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6495 (regex_compile): Use them and fix handling of overly long char classes.
6496
c1174479
AI
64972000-09-03 Andrew Innes <andrewi@gnu.org>
6498
f8803e97
AI
6499 * makefile.w32-in: Change to DOS line endings.
6500
c1174479
AI
6501 * s/ms-w32.h (ORDINARY_LINK): New define.
6502
6503 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6504 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6505
6506 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6507 (distclean): Delete them here instead.
6508
44ef7cf6
AI
6509 * w32proc.c (compare_env): Convert to uppercase for comparison,
6510 not lowercase, to match how the native Windows shell works.
6511
49b3bd82
JR
65122000-09-03 Jason Rumney <jasonr@gnu.org>
6513
6514 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6515 CVS changes the line-ends when checking in/out on DOS/Windows.
6516
6517 * makefile.nt (emacs): Do not change directory to run temacs, as
6518 the load-path is set relative to current directory.
6519
a3d35a39
MB
65202000-09-03 Miles Bader <miles@gnu.org>
6521
6522 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6523
d276b0cf
GM
65242000-09-02 Gerd Moellmann <gerd@gnu.org>
6525
715e84c9
GM
6526 * xdisp.c (redisplay_mode_lines): New function.
6527 (display_mode_lines): Return number of mode lines displayed.
6528 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6529 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6530
8892f40b
GM
6531 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6532 string.h and strings.h.
6533 (index) [HAVE_INDEX]: Add prototype.
6534
d276b0cf
GM
6535 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6536 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6537
6538 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6539 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6540
38404229
GM
65412000-09-01 Gerd Moellmann <gerd@gnu.org>
6542
6543 * lread.c (read1): Accept `?' as symbol constituent, for
6544 compatiblity with XEmacs.
6545
c0f9ea08
SM
65462000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6547
6548 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6549 (struct re_pattern_buffer): Remove newline_anchor.
6550 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6551 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6552 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6553 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6554 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6555 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6556 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6557 Get rid of references to newline_anchor.
6558 (regcomp): Allocate and precompute a fastmap.
6559
8c0f83fe
GM
65602000-08-31 Gerd Moellmann <gerd@gnu.org>
6561
6562 * lread.c (openp): GCPRO local variable `filename'.
6563
4bb91c68
SM
65642000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6565
6566 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6567
6568 * regex.c: Merge some changes from GNU libc. Add prototypes.
6569 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6570 Use memcmp and memcpy instead of bcopy and bcmp.
6571 (init_syntax_once): Use ISALNUM.
6572 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6573 (REG_UNSET_VALUE): Remove. Use NULL instead.
6574 (REG_UNSET, re_match_2_internal): Use NULL.
6575 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6576 New macros.
6577 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6578 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6579 (regex_compile): In handle_interval, return an error rather than try to
6580 unfetch the interval if we can't find the closing brace.
6581 Obey the RE_NO_GNU_OPS syntax bit.
6582 (TOLOWER): New macro.
6583 (regcomp): Use it.
6584 (regexec): Allocate regs.start and regs.end as one block.
6585
5226a931
GM
65862000-08-30 Gerd Moellmann <gerd@gnu.org>
6587
868dd24b
GM
6588 * xdisp.c (echo_area_display): Check display_completed instead
6589 of calling detect_input_pending.
6590
6591 * dispnew.c (update_frame): Only set display_completed here; move
6592 the update_begin and update_end calls here from update_frame_1.
6593 (update_frame_1): Don't set display_completed here, don't call
6594 update_begin/update_end.
6595
5226a931
GM
6596 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6597 instead of store_frame_param.
6598
2a8bd25f
GM
65992000-08-29 Gerd Moellmann <gerd@gnu.org>
6600
6601 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6602 desired window matrix hasn't been displayed, use the current row
6603 instead. Make sure that only those frame rows are updated for
6604 which there exists a corresponding enabled desired row.
52283633 6605
ba3478d9
MB
66062000-08-29 Miles Bader <miles@gnu.org>
6607
6608 * xfaces.c (default_face_vector): New function.
6609 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6610
87d0f685
GM
66112000-08-29 Gerd Moellmann <gerd@gnu.org>
6612
6613 * lread.c (openp): Prevent temporary string passed to
6614 Ffile_readable_p from being garbage collected.
6615
6fa86045
DL
66162000-08-28 Dave Love <fx@gnu.org>
6617
6618 * keymap.c (store_in_keymap): Add `static' to declaration.
6619
bb17930d
GM
66202000-08-28 Gerd Moellmann <gerd@gnu.org>
6621
6622 * emacs.c, callint.c, doc.c, editfns.c
6623 (toplevel) [HAVE_STRING_H]: Include string.h.
6624 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6625 (index): Remove prototypes which might conflict with non-standard
6626 definitions of index/strchr.
6627
6628 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6629 (rindex): Define only if !HAVE_RINDEX.
6630
6631 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6632
6633 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6634
87188200
MB
66352000-08-28 Miles Bader <miles@gnu.org>
6636
6637 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6638 made inconsistent by a font-related attribute in FROM.
6639 (merge_face_inheritance): Add function comment.
6640
41a68aef
KH
66412000-08-28 Kenichi Handa <handa@etl.go.jp>
6642
6643 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6644 the 4th arg (PREV_EVENT) Qt to suppress input method.
6645
f7c436c1
SM
66462000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6647
0b32bf0e
SM
6648 * regex.c: Indent cpp directives and remove parens after `defined'.
6649 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6650 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6651 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6652 (re_compile_pattern): Use size_t for length.
6653 (init_syntax_once): Move to a better place.
6654 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6655 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6656
f7c436c1
SM
6657 * syntax.c (back_comment): Detect cases where a comment-starter is
6658 actually inside another comment as in: /* a // b */ c // d \n.
6659 Make it clear that `comstart_pos' is unused for nested comments.
6660
6661 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6662 (KEYMAPP): New macro.
6663 (Fkeymap_parent, Fset_keymap_parent): Use it.
6664 (fix_submap_inheritance): Mark it static.
6665 (define_as_prefix, describe_buffer_bindings, describe_command)
6666 (describe_translation, describe_map): Complete prototypes.
6667
6668 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6669
6670 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6671 to better match the key-lookup behavior.
6672
6288c62f
GM
66732000-08-27 Gerd Moellmann <gerd@gnu.org>
6674
6675 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6676 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6677
e931344e
EZ
66782000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6679
6680 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6681 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6682 (xterm.o): Depend on coding.h
6683
d10dfeef
KH
66842000-08-26 Kenichi Handa <handa@etl.go.jp>
6685
6686 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6687 the corresponding '#endif'.
6688
2d73e8d3
MB
66892000-08-26 Miles Bader <miles@gnu.org>
6690
6691 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6692 * xfaces.c (QCinherit): New variable.
6693 (syms_of_xfaces): Initialize it.
6694 (LFACE_INHERIT): New macro.
6695 (Finternal_get_lisp_face_attribute)
52283633 6696 (merge_face_vector_with_property)
2d73e8d3
MB
6697 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6698 (check_lface_attrs): Allow new types of face height. Check
6699 inherit attribute.
6700 (CYCLE_CHECK): New macro.
6701 (merge_face_inheritance): New function.
6702 (merge_face_vectors): Merge inherited faces too. Add F and
6703 CYCLE_CHECK arguments.
6704 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6705 (lookup_named_face, lookup_derived_face, realize_named_face)
6706 (face_at_string_position, face_at_buffer_position): Supply
6707 new F and CYCLE_CHECK arguments to merge_face_vectors.
6708 (merge_face_heights): New function.
52283633 6709 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6710 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6711 handle relative face heights.
6712 (lface_same_font_attributes_p): Compare heights using EQ.
6713
6ce974d4
KH
67142000-08-26 Kenichi Handa <handa@etl.go.jp>
6715
6716 * charset.c (char_to_string): Check the character validity.
52283633 6717 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6718
dc1e502d
SM
67192000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6720
6721 * regex.c (PUSH_FAILURE_COUNT): New macro.
6722 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6723 Handle popping of a register's or a counter's data.
6724 (POP_FAILURE_POINT): Use the new name.
6725 (re_match_2_internal): Push counter data on the stack for succeed_n,
6726 jump_n and set_number_at and remove misleading dead code in succeed_n.
6727
bd9d0f3f
GM
67282000-08-25 Gerd Moellmann <gerd@gnu.org>
6729
6730 * xdisp.c (redisplay_internal): If considering all windows on all
6731 frames, update the display for each frame as soon as possible,
6732 instead of first building all desired matrices for all frames, and
6733 then updating them all.
6734 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6735
aa5b8e15
GM
67362000-08-24 Gerd Moellmann <gerd@gnu.org>
6737
17494071
GM
6738 * bytecode.c (mark_byte_stack): Add a comment.
6739
52283633
SM
6740 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6741 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6742 a graphical frame.
6743
c543db81
KH
67442000-08-24 Kenichi Handa <handa@etl.go.jp>
6745
d246d5f5
KH
6746 * minibuf.c (do_completion): Always use compare-string, not
6747 string-equal because the latter doesn't pay attention to
6748 multibyteness of strings.
6749
c543db81
KH
6750 * process.c (create_process): Don't setup raw-text coding here.
6751 (Fopen_network_stream): Don't set coding->src_multibyte and
6752 coding->dst_multibyte here.
6753 (read_process_output): For process filter, return unibyte string
6754 if default-enable-multibyte-characters is nil.
6755 (send_process): If OBJECT is multibyte text, be sure to encoded it
6756 by the specified coding system for the process. Otherwise, setup
6757 raw-text coding.
52283633 6758 (init_process): Don't initialize default-process-coding-system here.
c543db81 6759
9b47cfe0
EZ
67602000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6761
6762 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6763 <scroll-down-aggressively>: Likewise.
6764
f5a36960
KH
67652000-08-23 Kenichi Handa <handa@etl.go.jp>
6766
6767 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6768 zero. Set coding->produced_char correctly.
6769
69a7ffa7
AI
67702000-08-22 Andrew Innes <andrewi@gnu.org>
6771
6772 * makefile.w32-in: New file.
6773
6774 * unexw32.c (unexec): Ignore old_name, and use the actual location
6775 of the current executable instead. Base new_name on this.
6776
6777 * w32proc.c (create_child): Remove reference to security
6778 descriptor, which isn't needed and doesn't compile with mingw32.
6779
6780 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6781 up dllimport attributes.
6782 (x_update_window_end): Update prototype.
6783
6784 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6785 extern, which screws up dllimport attributes.
6786
6787 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6788 up dllimport attributes.
6789
6790 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6791 screws up dllimport attributes.
6792
6793 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6794 up dllimport attributes.
6795 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6796 screws up dllimport attributes.
6797
6798 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6799 up dllimport attributes.
6800
6801 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6802 screws up dllimport attributes.
6803
6804 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6805 screws up dllimport attributes.
6806
6807 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6808 up dllimport attributes.
6809
6810 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6811 unnecessary extern, which screws up dllimport attributes.
6812 (main): Ditto.
6813
6814 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6815 up dllimport attributes.
6816
6817 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6818 unnecessary extern, which screws up dllimport attributes.
6819
6820 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6821 screws up dllimport attributes.
6822
6823 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6824 up dllimport attributes.
6825
6826 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6827
52283633
SM
6828 * w32bdf.c (search_file_line):
6829 (set_bdf_font_info):
6830 (seek_char):
6831 (w32_get_bdf_glyph):
69a7ffa7
AI
6832 (w32_BDF_to_x_font): Fix compile warnings.
6833
52283633 6834 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6835
6836 * w32select.c: Include keyboard.h before frame.h.
6837
6838 * w32fns.c (max): Define macro.
6839 (JOHAB_CHARSET): Define if not known.
6840 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6841 (Fx_show_tip): Synch with X version.
6842
6843 * w32xfns.c: Include keyboard.h before frame.h.
6844
6845 * w32fns.c: Include keyboard.h before frame.h.
6846
6847 * w32term.c: Include keyboard.h before frame.h.
6848
6849 * fontset.c: Include keyboard.h before frame.h.
6850
6851 * w32inevt.c: Include keyboard.h before frame.h.
6852 (MOUSE_MOVED): Define if not known.
6853
6854 * minibuf.c: Include keyboard.h before frame.h.
6855
6856 * keyboard.c: Include keyboard.h before frame.h.
6857
6858 * indent.c: Include keyboard.h before frame.h.
6859
6860 * dispnew.c: Include keyboard.h before frame.h.
6861
6862 * buffer.c: Include keyboard.h before frame.h.
6863
6864 * alloc.c: Include keyboard.h before frame.h.
6865
6866 * print.c: Include keyboard.h before frame.h.
6867
6868 * process.c: Include keyboard.h before frame.h.
6869
6870 * scroll.c: Include keyboard.h before frame.h.
6871
6872 * sysdep.c: Include keyboard.h before frame.h.
6873
6874 * term.c: Include keyboard.h before frame.h.
6875
6876 * window.c: Include keyboard.h before frame.h.
6877
6878 * xdisp.c: Include keyboard.h before frame.h.
6879 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6880
6881 * frame.c: Include keyboard.h before frame.h.
6882
6883 * w32heap.h: Undefine min, max.
6884
6885 * w32gui.h: Undefine min, max.
6886
6887 * unexw32.c: Change PUCHAR to PCHAR.
6888 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6889 (relocate_offset):
6890 (get_section_info):
69a7ffa7
AI
6891 (copy_executable_and_dump_data): Remove unnecessary static defs.
6892 (copy_executable_and_dump_data): Fix compile warnings.
6893
6894 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6895
6896 * w32console.c (min): Define macro.
6897 (clear_frame, write_glyphs): Fix compile warning.
6898
52283633 6899 * w32proc.c (compare_env):
69a7ffa7
AI
6900 (find_child_console): Fix compile warning.
6901
6902 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6903 sys_errlist instead of _sys_errlist.
6904 (get_emacs_configuration_options): New function.
6905
6906 * s/ms-w32.h (sys_nerr): Provide default definition.
6907 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6908 name with _ prepended.
6909 (NSIG): Define if not known.
6910 (get_emacs_configuration): Provide extern declaration.
6911 (get_emacs_configuration_options): Provide extern declaration.
6912 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6913
6914 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6915 (map_w32_filename):
69a7ffa7
AI
6916 (read_unc_volume): Fix compile warning.
6917
6918 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6919 definitions from being used.
6920
6921 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6922
52283633 6923 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6924 (open_unc_volume): Make arg const.
6925
6926 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6927 (read_input_waiting): Remove excess parameter.
6928
6929 * w32.c (init_environment): Call _access.
6930 (check_windows_init_file): Call _close.
6931 (init_user_info): Call _putenv.
6932 (init_environment): Call _putenv and _strdup.
6933 (init_ntproc): Reset volume info cache on startup.
6934
6935 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6936 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6937 cannot override the CRT malloc.
6938
6939 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6940 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6941
6942 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6943 unless we are linking with a static CRT.
6944 (RVA_TO_PTR): Cast result to unsigned char*.
6945
6946 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6947 (add_volume_info): Use xstrdup.
6948
25060080
SM
69492000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6950
6951 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6952 (do_completion, Fminibuffer_complete_word): Use it.
6953 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6954 var so it can take non-boolean values.
6955
6917e6bb
GM
69562000-08-21 Gerd Moellmann <gerd@gnu.org>
6957
acb7cc89 6958 * editfns.c (find_field): Formatting changes.
52283633 6959 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6960 changed to prototypes, some new protypes added, some functions
6961 made static.
6962
6963 * lisp.h (set_time_zone_rule): Add prototype.
6964 (use_dialog_box): External declaration.
6965
0bbfdc25
GM
6966 * keyboard.c (gen_help_event): Add parameter SIZE.
6967 (kbd_buffer_events_waiting): Slightly rewritten.
6968 (clear_event): New function.
6969 (kbd_buffer_get_event): Use it, and clear the input_events of
6970 HELP_EVENTs.
6971 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6972 don't fill the newly created array with nils.
6973 (toplevel): Convert some old-style function forward declarations
6974 to prototypes.
6975
6976 * keyboard.h (gen_help_event): Change prototype.
6977
6978 * xterm.c (XTread_socket): Change calls to gen_help_event.
6979
6980 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6981
6917e6bb
GM
6982 * eval.c (Fmacroexpand): Doc fix.
6983
e5cd3d11
JR
69842000-08-20 Jason Rumney <jasonr@gnu.org>
6985
6986 * w32term.h (x_display_info_for_display): Remove as this function
6987 does not exist on W32.
6988
6989 * w32term.c (help_echo_window): New variable.
6990 (syms_of_w32term): staticpro it.
6991 (note_mode_line_highlight): Set it.
6992 (XTextExtents16): Removed as there is no equivalent on W32.
6993 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6994 the X way of doing this will not work for W32.
6995 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6996 (x_draw_image_foreground): Avoid drawing outside of the clip area
6997 when image doesn't have a mask.
6998 (note_mouse_highlight): Process overlays in the right order of
6999 priority. Set help_echo_window.
7000 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7001 because that's more visible for large images.
7002
7003 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7004 name to single_keymap_panes.
7005 (w32_menu_show): Set wv->title when dealing with titles.
7006 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7007
6e69ab8c
MB
70082000-08-21 Miles Bader <miles@gnu.org>
7009
7010 * minibuf.c (do_completion): Try again if we rewrite the input
7011 string, but no completion was done, so that any completion message
7012 will be correct.
7013
511bd4eb
GM
70142000-08-20 Gerd Moellmann <gerd@gnu.org>
7015
7016 * xfaces.c (lface_equal_p): Compare strings differently.
7017 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7018 (realize_tty_face): Use them.
7019 (syms_of_xfaces): Initialize new variables.
7020 (map_tty_color): New function, extracted from realize_tty_face.
7021 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7022 foreground or background color, store the new color name in the
7023 realized face; previous code trying to do this had no effect.
7024 (realize_tty_face): Use map_tty_color.
7025 (Fclear_face_cache): Set face_change_count and ensure thorough
7026 redisplay.
7027
1433385f
GM
70282000-08-19 Gerd Moellmann <gerd@gnu.org>
7029
511bd4eb
GM
7030 * undo.c (record_first_change, record_marker_adjustment): Don't
7031 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7032
419ac0a2
KH
70332000-08-18 Kenichi Handa <handa@etl.go.jp>
7034
7035 * coding.c (decode_coding_string): Set members consumed,
7036 consumed_char, produced, produced_char of *coding correctly. If
7037 decode_coding doesn't consume any byte, don't try anymore.
7038 (encode_coding_string): Likewise.
7039
7eb9e30d
GM
70402000-08-18 Gerd Moellmann <gerd@gnu.org>
7041
511bd4eb
GM
7042 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7043 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7044
7045 * xdisp.c (redisplay_internal): Compare windows for equality with
7046 EQ, instead of applying XWINDOW to something that might not
7047 be a window.
52283633 7048
dd34a735
KH
70492000-08-18 Kenichi Handa <handa@etl.go.jp>
7050
7051 * fontset.c (Finternal_char_font): Search only the selected frame
7052 for a window of the current buffer.
7053
385ff9e3
GM
70542000-08-18 Gerd Moellmann <gerd@gnu.org>
7055
511bd4eb 7056 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7057 Lisp_Objects.
7058
385ff9e3
GM
7059 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7060 second half of a HELP_EVENT is found at the start of kbd_buffer.
7061
d6abb4c7
MB
70622000-08-18 Miles Bader <miles@gnu.org>
7063
4618074a
MB
7064 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7065
d6abb4c7
MB
7066 * editfns.c (save_restriction_save): Rewrite to use markers.
7067 (save_restriction_restore): Rewrite to understand new form of data
7068 saved by save_restriction_save.
7069 (Fsave_restriction): Remove cautionary note in doc-string.
7070
a7b28523
GM
70712000-08-17 Gerd Moellmann <gerd@gnu.org>
7072
7073 * fileio.c (build_annotations): Add a comment explaining the
7074 return value of format-annotate-function. Replace a spurious call
7075 to Flength with a CONSP test. Call format-annotate-function with
7076 a fifth arg specifying how many times the function is been called
7077 in a row, to let it choose temporary buffers appropriately.
7078
03c9ed77
DL
70792000-08-17 Dave Love <fx@gnu.org>
7080
7081 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7082 declare make_temp_name twice.
7083
52283633 7084 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7085 (unreadpure): Give it an arg.
7086
7087 * unexalpha.c: Prototype fatal_unexec, mark_x,
7088 update_dynamic_symbols. Declare unexec as void.
7089
7090 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7091 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7092
7093 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7094 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7095
7096 * alloca.c: Use #error.
7097 [POINTER_TYPE]: Use it.
7098
7099 * eval.c (Fdefvar): Doc fix.
7100
7101 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7102 INITIALIZE_INTERVAL.
7103
7104 * buffer.h: Avoid DECLARE_INTERVALS.
7105
7106 * config.in: Add size_t.
7107
aae41d97
EZ
71082000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7109
7110 * w16select.c (set_clipboard_data): If there's not enough memory
7111 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7112 expects. In case of other failures, return 3.
7113 (system_error_msg): New error message.
7114 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7115 system_error_msg.
7116
65aa5e85
GM
71172000-08-16 Gerd Moellmann <gerd@gnu.org>
7118
7119 * term.c (write_glyphs): Also turn off inverse video after turning
7120 off other appearances in case TS_exit_attribute_mode is not equal
7121 to TS_end_standout_mode.
7122 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7123 with the same face.
7124 (turn_off_face): Reset standout_mode only if
7125 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7126 is equal to TS_end_standout_mode.
7127
ece23901
KH
71282000-08-16 Kenichi Handa <handa@etl.go.jp>
7129
9d7bcb2e
KH
7130 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7131 sequence at the end of the source block.
7132
ece23901
KH
7133 * ccl.c (Fccl_program_p): Docstring modified.
7134 (Fccl_execute): Likewise.
7135 (Fccl_execute_on_string): Likewise.
7136
5e30eaa2
EZ
71372000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7138
7139 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7140
290602fd
KH
71412000-08-16 Kenichi Handa <handa@etl.go.jp>
7142
7143 The following changes are mainly to fix bugs of
7144 encode/decode-coding-string failing if encoding/decoding return
7145 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7146 variable conversion_buffer.
7147
7148 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7149 decrement dst_end to avoid buffer overflow in the later call of
7150 string_as_multibyte
7151
7152 * coding.h (conversion_buffer_size, conversion_buffer)
7153 (get_conversion_buffer): Extern deleted.
7154
7155 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7156 (conversion_buffer, conversion_buffer_size): Variables deleted.
7157 (get_conversion_buffer): Function deleted.
7158 (struct conversion_buffer): New structure.
7159 (MAX_ALLOCA): New macro.
7160 (allocate_conversion_buffer): New macro.
7161 (extend_conversion_buffer, free_conversion_buffer): New functions.
7162 (ccl_coding_driver): Set coding->result.
7163 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7164 this is the last block of source.
7165 (encode_coding): Likewise. Handle the source block as the last
7166 one only when the whole source text is consumed.
7167 (decode_coding_string): Handle the case that the output buffer is
7168 too small to decode the whole source text. Use
7169 allocate_conversion_buffer, extend_conversion_buffer and
7170 free_conversion_buffer, not get_conversion_buffer.
7171 (encode_coding_string): Likewise.
7172 (init_coding): Function deleted.
52283633 7173 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7174
7175 * emacs.c (main): Don't call init_coding.
7176
52283633 7177 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7178
7179 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7180 (insert_glyphs): Likewise.
7181
7182 * w32console.c (write_glyphs): Use a locally declared
7183 conversion_buffer.
7184
b9f80d41
EZ
71852000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7186
7187 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7188 member of display_info is NULL.
7189
32dc52f7
GM
71902000-08-15 Gerd Moellmann <gerd@gnu.org>
7191
52283633 7192 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7193
32dc52f7 7194 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7195 appearances with capability `me'.
32dc52f7
GM
7196 (write_glyphs): Switch on inverse video before each face change.
7197
4eb22d33
DL
71982000-08-14 Dave Love <fx@gnu.org>
7199
7200 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7201 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7202 (lisp_free): Declare and make static.
7203
7204 * window.c: Fix embedded comment.
7205 (syms_of_window): Fix doc string.
7206
90cbf47e
GM
72072000-08-14 Gerd Moellmann <gerd@gnu.org>
7208
52283633 7209 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7210 make sure to print `C-' before `M-', like in the manual.
7211
440fc135
GM
72122000-08-11 Gerd Moellmann <gerd@gnu.org>
7213
7214 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7215 since they aren't relocated anymore.
52283633 7216 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7217
7218 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7219 partially visible line which is smaller than the window's height.
440fc135 7220
6e264fad
KH
72212000-08-11 Kenichi Handa <handa@etl.go.jp>
7222
7223 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7224 the multibyte form of eight-bit-control characters.
6e264fad
KH
7225 (Fccl_execute_on_string): Initialize ccl->multibyte.
7226
7227 * ccl.h (struct ccl_program): New member multibyte.
7228
7229 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7230
c371f69a
KH
72312000-08-11 Kenichi Handa <handa@etl.go.jp>
7232
7233 * regex.c (regex_compile) <normal_char>: Pay attention to
7234 multibyteness.
7235 (analyse_first) <exactn>: Setup fastmap correctly for
7236 eight-bit-control characters.
7237
72382000-08-11 Kenichi Handa <handa@etl.go.jp>
7239
52283633 7240 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7241
7242 * keyboard.c (make_lispy_event): Handle the new event type
7243 multibyte_char_keystroke.
7244
7245 * xterm.c: Include coding.h.
7246 (XTread_socket): Work around a bug of XmbLookupString. If the
7247 input is from XIM, decode it according to the current locale. In
7248 that case, generate multibyte_char_keystroke events.
7249
b8ddbe71
KH
72502000-08-11 Kenichi Handa <handa@etl.go.jp>
7251
7252 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7253 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7254
47589c8c
GM
72552000-08-10 Gerd Moellmann <gerd@gnu.org>
7256
7257 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7258 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7259 (move_it_in_display_line_to): Record iterator's ascent and descent
7260 before producing glyphs, and restore them when we know the glyph
7261 doesn't fit on the line.
7262 (move_it_to): Restructured so that it's easier to debug. If
7263 moving to a vpos, and not moving to an x or character position,
7264 stop as soon as the specified vpos is reached; don't move further
7265 into that line because that might change the computed line height.
7266 (try_cursor_movement): New function, extracted from the cursor
7267 movement branch of redisplay_window. If ending on a partially
7268 visible line, don't try to scroll if the cursor line is taller
7269 than the window.
7270 (redisplay_window): Use try_cursor_movement.
7271
7272 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7273 because that function doesn't cope with variable-height lines.
7274
7275 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7276 box cursor because that's better visible for large images.
52283633 7277
c51bacd6
MB
72782000-08-10 Miles Bader <miles@gnu.org>
7279
7280 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7281
bea56df7
GM
72822000-08-10 Gerd Moellmann <gerd@gnu.org>
7283
7284 * xdisp.c (Vmessages_buffer_name): New variable.
7285 (message_dolog): Use it.
7286 (syms_of_xdisp): Initialize it.
7287
99cd7364
EZ
72882000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7289
52283633 7290 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7291 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7292 redundant now that keyboard.h is included.
7293
7d093d56
EZ
72942000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7295
7296 * keyboard.c (kbd_buffer_events_waiting): New function.
7297
7298 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7299
7300 * msdos.c: Include keyboard.h.
7301 (XMenuActivate): Empty no_event events from the event buffer. If
7302 no events are left after that, call clear_input_pending.
7303 (mouse_clear_clicks): New function, code moved from mouse_init.
7304 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7305 mouse driver to ``forget'' any past clicks.
7306
7307 * Makefile.in (msdos.o): Depend on keyboard.h.
7308
41e757a6
GM
73092000-08-09 Gerd Moellmann <gerd@gnu.org>
7310
8e7bd231
GM
7311 * lisp.h (input_pending): External declaration.
7312
7313 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7314
8e7bd231
GM
7315 * xdisp.c (echo_area_display): Display thoroughly if input is
7316 pending. Bind redisplay-dont-pause to t during the redisplay.
7317 in case input is pending.
7318
7319 * dispnew.c (Qredisplay_dont_pause): New variable.
7320 (syms_of_display): Initialize and staticpro it.
7321 (update_frame_1): Don't interrupt the display for pending input if
7322 redisplay_dont_pause is set.
52283633 7323
43028b7e
GM
7324 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7325
41e757a6
GM
7326 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7327
2f2174fa
KH
73282000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7329
7330 * callproc.c (Fcall_process): Terminate the unwind-protect around
7331 the post-read-conversion of coding system.
7332
0a6fd67e
MB
7333 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7334 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7335 * buffer.h (overlays_at): Update prototype.
7336 * xdisp.c (next_overlay_change): Update call to overlays_at.
7337 * xfaces.c (face_at_buffer_position): Likewise.
7338 * textprop.c (Fget_char_property): Likewise.
7339 * xterm.c (note_mouse_highlight): Likewise.
7340
0c80756e
MB
7341 * minibuf.c (do_completion): Don't consider a simple change of
7342 case as `completion'.
7343
975f250a
KR
73442000-08-08 Ken Raeburn <raeburn@gnu.org>
7345
52283633 7346 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7347 * undo.c (record_delete): Make sure last_point_position_buffer is
7348 a buffer before comparing pointers.
7349
7350 * coding.h (decode_coding_string): Declare.
7351
7352 * intervals.h (Fprevious_single_char_property_change): Declare.
7353
7354 * textprop.c (Fprevious_single_char_property_change): Don't do
7355 arithmetic directly on lisp objects.
7356
52283633 7357 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7358
7359 * keyboard.h (menu_item_eval_property): Declare.
7360
7361 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7362 reuse as buffer name, instead of recreating (and discarding) every
7363 time a message is logged.
7364 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7365 (current_message_1, truncate_message_1, set_message_1)
7366 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7367 (current_message, truncate_echo_area, display_echo_area)
7368 (resize_echo_area_axactly): Changed calls.
b347b3fd 7369
975f250a 7370 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7371 Lisp object.
975f250a 7372 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7373 must be an integer, not a Lisp object.
975f250a 7374
46dc9912
KH
73752000-08-08 Kenichi Handa <handa@etl.go.jp>
7376
7377 * charset.c (Fchar_width): Doc fix.
7378
9f6d1a6c
GM
73792000-08-08 Gerd Moellmann <gerd@gnu.org>
7380
7381 * charset.c (Fstring_width): Doc fix.
7382
ff3d9573
GM
73832000-08-07 Gerd Moellmann <gerd@gnu.org>
7384
41e757a6 7385 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7386 line, clear ascent and descent members of the iterator structure;
7387 the height of the continued line does not affect the height of the
7388 continuation line.
7389 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7390 line taller than the window.
7391 (redisplay_window) <forced window start>: Handle case that the
7392 middle of the window is not found in any row.
7393 (dump_glyph_row): Show more information.
7394 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7395 first text line in a glyph matrix.
7396
7397 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7398 of the clip area when image doesn't have a mask.
7399
70fc58b3
GM
7400 * fns.c (sweep_weak_table): Fix survival conditions for
7401 key-or-value and key-and-value weakness.
7402
7403 * .gdbinit (xhashtable): New command.
7404
ac0e96ee
GM
7405 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7406 tables out of the list of all weak hash tables.
7407
ff3d9573
GM
7408 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7409 a new buffer is created, make sure echo_area_buffer[] references
7410 the new buffer.
7411
e0d8827b
EZ
74122000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7413
7414 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7415 the doc string.
7416
c6f35378
KH
74172000-08-07 Kenichi Handa <handa@etl.go.jp>
7418
7419 * syntax.c (skip_chars): Fix previous change. Make the handling
7420 of unibyte string consistent with that of regex search.
7421
1fd4c450
GM
74222000-08-05 Gerd Moellmann <gerd@gnu.org>
7423
e49aa397
GM
7424 * xmenu.c (popup_get_selection): Use xfree instead of free.
7425
7426 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7427
7428 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7429
7430 * callproc.c (child_setup): Use xfree instead of free.
7431
7432 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7433 instead of malloc.
7434 (run_mac_command, closedir): Use `xfree' instead of `free'.
7435
7436 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7437
7438 * eval.c (error): Use xfree instead of free.
7439
1fd4c450
GM
7440 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7441
7442 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7443 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7444
82d497fc
KH
74452000-08-05 Kenichi Handa <handa@etl.go.jp>
7446
7447 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7448 conversion.
7449
59f953a2
NF
74502000-08-04 Noah Friedman <friedman@splode.com>
7451
7452 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7453 docstring.
7454
688351f2
GM
74552000-08-04 Gerd Moellmann <gerd@gnu.org>
7456
7457 * syntax.c (skip_chars): Fix typo in error message.
7458
2dad51cc
AS
74592000-08-04 Andreas Schwab <schwab@suse.de>
7460
7461 * m/ia64.h: Moved from s/ia64.h.
7462
99bb2c60
KH
74632000-08-04 Kenichi Handa <handa@etl.go.jp>
7464
082a1df2
KH
7465 * process.c (read_process_output): Big simplification. Handle
7466 composition and post-read-conversion of coding system correctly.
7467 (send_process): Handle composition correctly.
7468
7469 * callproc.c (Fcall_process): Handle post-read-conversion of
7470 coding system if any.
7471
99bb2c60
KH
7472 * coding.c (decode_coding_iso2022): More strict check for handling
7473 single shifting.
082a1df2
KH
7474 (coding_restore_composition): Pay attention to the case that
7475 cmp_data is not set properly (because of invalid code in the
7476 source text).
7477 (run_pre_post_conversion_on_str): Include text properties in the
7478 resulting string.
7479 (decode_coding_string): Set members of coding correctly.
99bb2c60 7480
f4988be7
GM
74812000-08-03 Gerd Moellmann <gerd@gnu.org>
7482
7483 * s/ia64.h: New file.
7484
7485 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7486 Use NULL instead of 0 at the end of variable argument list of
7487 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7488 sizeof (int) < sizeof (void *).
7489
7490 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7491 of variable argument lists of XtVaGetValues and XtVaSetValues.
7492
7493 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7494 variable argument lists of XtVaGetValues and XtVaSetValues.
7495
ead53494
GM
74962000-08-02 Gerd Moellmann <gerd@gnu.org>
7497
7498 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7499 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7500
7501 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7502 prototype.
7503
7504 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7505 in call to Fsingle_key_description.
7506
7507 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7508 Callers changed.
7509
75102000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7511
7512 * window.c (display_buffer_reuse_frames): New variable.
7513 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7514 frames displaying BUFFER.
52283633 7515 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7516
10b0f752
MB
75172000-08-01 Miles Bader <miles@gnu.org>
7518
7519 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7520 when to constrain NEW_POS (they were pretty screwed up before).
7521
16425c4a
EZ
75222000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7523
7524 * msdos.c (run_msdos_command): Save and restore the master
7525 environment, for the case that child_setup signals an error.
7526 When mirroring slashes in DOS shell commands, don't fail when
7527 argv[2] has embedded blanks.
da288c14
EZ
7528 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7529 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7530 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7531
7532 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7533 using alloca; free it after run_msdos_command returns.
7534
27f73852
DL
75352000-07-27 Dave Love <fx@gnu.org>
7536
52283633
SM
7537 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7538 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7539
7540 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7541
c0261b5e
EZ
75422000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7543
7544 * editfns.c (lisp_time_argument): Fix last change.
7545
b548072f
GM
75462000-07-27 Gerd Moellmann <gerd@gnu.org>
7547
3ab82477
GM
7548 * fns.c (Fdelete): Make it work on vectors and strings in addition
7549 to lists.
7550
b548072f
GM
7551 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7552 (syms_of_fns): Initialize new variables.
52283633 7553 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7554 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7555 weakness, with t meaning the same as `key-and-value'.
7556
91ae8751
KH
75572000-07-27 Kenichi Handa <handa@etl.go.jp>
7558
7559 * coding.h (struct coding_system): Member safe_charset deleted.
7560
7561 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7562 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7563 New variables.
91ae8751
KH
7564 (coding_safe_chars): New function.
7565 (CODING_SAFE_CHAR_P): New macro.
7566 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7567 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7568 (detect_coding_iso2022): New local variable safe_chars.
7569 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7570 safe_charsets member of the coding system.
7571 (decode_coding_iso2022): New local variable safe_chars.
7572 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7573 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7574 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7575 (ENCODE_UNSAFE_CHARACTER): New macro.
7576 (encode_coding_iso2022): New local variable safe_chars. Check
7577 unsafe chars.
7578 (setup_coding_system): Delete the code to initialize
7579 coding->safe_charses
7580 (intersection, find_safe_codings): New functions.
7581 (Ffind_coding_systems_region_internal): New function.
7582 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7583 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7584 variable and initialize it.
7585
7586 * fns.c (char_table_ref_and_index): New function.
7587
7588 * lisp.h (char_table_ref_and_index): Add prototype.
7589
34a7a267
SS
75902000-07-26 Sam Steingold <sds@gnu.org>
7591
7592 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7593 (Ffloat_time): New built-in Lisp function.
34a7a267 7594
a95cb10a
GM
75952000-07-26 Gerd Moellmann <gerd@gnu.org>
7596
3353ef5a
GM
7597 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7598 for the character code.
7599
7600 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7601 GNU/Linux.
7602
a95cb10a
GM
7603 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7604 if called for a popup menu.
7605 (xmenu_show): Store help string in widget values.
7606
b4a12321
DL
76072000-07-26 Dave Love <fx@gnu.org>
7608
7609 * syswait.h: Move some definitions.
7610 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7611 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7612 perspicuous definitions.
7613 (WTERMSIG): Fix bit pattern used.
7614
13f5ad37
KH
76152000-07-26 Kenichi Handa <handa@etl.go.jp>
7616
7617 * print.c (print_object): If vector printing is truncated, print
7618 "..." to indicate it as well as the case of list printing.
7619
070fe99c
GM
76202000-07-25 Gerd Moellmann <gerd@gnu.org>
7621
969065c3
GM
7622 * xdisp.c (next_element_from_display_vector): Improve comments.
7623
7624 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7625 for the character code, and the rest for the face id as in 20.x.
7626 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7627
7628 * window.c (window_display_table): Cleaned up.
7629
070fe99c
GM
7630 * syntax.c (Fforward_word): Add last arg nil in call of
7631 Fconstrain_to_field.
7632
bad77ef7
EZ
76332000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7634
969065c3 7635 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7636 identical but for the letter-case, don't call
7637 barf_or_query_if_file_exists.
bad77ef7 7638
c28da489
MB
76392000-07-25 Miles Bader <miles@gnu.org>
7640
7641 * editfns.c (find_field): Honor special `boundary' fields.
7642 (Qboundary): New variables.
7643 (syms_of_editfns): Initialize Qboundary.
7644 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7645 Use scan_buffer instead of find_before_next_newline, because it
7646 allows us to detect the boundary case where there's a newline at
7647 the search limit.
7648 * lisp.h (Fconstrain_to_field): Update external declaration.
7649
e3c31fd5
GM
76502000-07-24 Gerd Moellmann <gerd@gnu.org>
7651
7652 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7653 if that is nil.
c28da489 7654
c66c29a2
DL
76552000-07-24 Dave Love <fx@gnu.org>
7656
7657 * s/sunos4-0.h, s/sol2.h:
7658 (LIBS_TERMCAP): Move from m/sparc.h.
7659
7660 * m/sparc.h (TERMINFO): Moved to system files (probably only
7661 relevant for sunos4 judging by its vintage).
7662 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7663 __arch64__.
7664
fbe0a958
EZ
76652000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7666
7667 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7668 name to single_keymap_panes.
7669
7d88e5c9
AS
76702000-07-24 Andreas Schwab <schwab@suse.de>
7671
7672 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7673
e024b101
GM
76742000-07-24 Gerd Moellmann <gerd@gnu.org>
7675
7676 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7677 parameters instead of using int parameters. Expect FN to accept
7678 EMACS_INT parameters.
7679 (display_echo_area, resize_echo_area_axactly, current_message)
7680 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7681 with new argument list.
7682 (resize_mini_window_1): New callback function.
7683 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7684 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7685
25c1a9ce
KH
76862000-07-24 Kenichi Handa <handa@etl.go.jp>
7687
7688 * fontset.c (fontset_ref): Remove INLINE declaration.
7689 (fontset_ref_via_base): Likewise.
7690 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7691 to downcase.
7692
7f987ac0
EZ
76932000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7694
7695 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7696 correct order of priority. If help echo was found in an overlay,
7697 use that overlay as the object in which the help echo was found.
7698
e2db3069
MB
76992000-07-22 Miles Bader <miles@gnu.org>
7700
7701 * textprop.c (Fprevious_single_char_property_change): The initial
7702 property value should be from the position preceding POSITION, not
7703 following it.
7704
5e3203e4
EZ
77052000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7706
7707 * coding.c (syms_of_coding): Doc fix for
7708 inhibit-iso-escape-detection.
7709
62145073
GM
77102000-07-21 Gerd Moellmann <gerd@gnu.org>
7711
c20aeb83
GM
7712 * xterm.c (note_mouse_highlight): Process overlays in the right
7713 order of priority.
34a7a267 7714
743934db
GM
7715 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7716
7717 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7718 overlay, use that overlay as the object in which the help was found.
743934db 7719
d1dc7e43 7720 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7721
62145073
GM
7722 * window.c (foreach_window): Instead of a fake variable argument
7723 list, take one USER_DATA argument.
7724 (foreach_window_1): Likewise, and call callback functions with two
7725 args, the window and USER_DATA.
7726 (struct check_window_data): New struct.
7727 (check_window_containing): Use it.
7728 (window_from_coordinates): Set up a struct check_window_data for
7729 foreach_window.
7730 (add_window_to_list, freeze_window_start): Change parameters
7731 according to new calling convention.
7732
7733 * window.h (foreach_window): Change prototype.
7734
7735 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7736
77372000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7738
7739 * xmenu.c (menu_help_callback): Call show_help_echo with
7740 additional arguments OBJECT and POS.
7741
11270583
KH
77422000-07-21 Kenichi Handa <handa@etl.go.jp>
7743
07b14857
KH
7744 * data.c (Faset): Allow storing any multibyte character in a
7745 string. Convert unibyte string to multibyte if necessary.
7746
11270583
KH
7747 * xfns.c (x_encode_text): New function.
7748 (x_set_name): Use x_encode_text.
7749 (x_set_title): Likewise.
7750
7751 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7752
7753 * xterm.h (x_encode_text): Add prototype.
7754
bc75b4fd
DL
77552000-07-20 Dave Love <fx@gnu.org>
7756
7757 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7758 xfree, not free.
7759
48c14970
EZ
77602000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7761
7762 * msdos.c (help_echo_window): New variable.
7763 (syms_of_msdos): Initialize and staticpro it.
7764 (IT_note_mode_line_highlight): Set help_echo_window.
7765 (IT_note_mouse_highlight): Ditto.
7766 (dos_rawgetc): Store help_echo_window in the second event produced
7767 for HELP_EVENTs.
7768
7769 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7770 Record the object that generated the help echo and the position of
7771 that object in help_echo_object and help_echo_pos. Record that
7772 some glyphs in a row are displayed in mouse-face.
7773 (IT_update_begin): Don't clear mouse highlight unless one of the
7774 enabled glyph rows is marked as being displayed in mouse-face.
7775 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7776 and position recorded in help_echo_object and help_echo_pos to the
7777 event queue.
7778 (IT_menu_display): Accept a new argument PN: the pane number of
7779 the current menu pane. Record the pane number and the item
7780 number of the item which has associated help string.
7781 (XMenuActivate): Update the prototype for help_callback in
7782 function declaration. Call IT_menu_display with the current menu
7783 pane number as an additional argument. Call help_callback with
7784 two additional arguments: the pane number and the item number of
7785 the menu item associated with the help text.
7786 (help_echo_object, help_echo_pos): New variables.
7787 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7788
7789 * msdos.h (XMenuActivate): Update prototype.
7790
4279296d
GM
77912000-07-19 Gerd Moellmann <gerd@gnu.org>
7792
47db06aa
GM
7793 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7794 Add some more prototypes.
7795
7796 * xterm.c, xterm.h: Add some more prototypes.
7797
7798 * lisp.h (Fnext_single_char_property_change): Add prototype.
7799
7800 * dispnew.c (direct_output_for_insert): Remove confusing
7801 outer local variable mouse_face_overwritten_p.
7802 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7803
4279296d
GM
7804 * alloc.c (allocate_string_data): Don't copy old string contents.
7805
670acd62
KH
78062000-07-19 Kenichi Handa <handa@etl.go.jp>
7807
7808 * coding.c (code_convert_region): Delete text properties before
7809 shrinking the conversion region.
7810
7cea38bc
GM
78112000-07-18 Gerd Moellmann <gerd@gnu.org>
7812
dc1cac59
GM
7813 * dispnew.c (update_text_area): Write the whole row if it
7814 has mouse-face in it.
7815
85a8aca9
GM
7816 * xfaces.c (face-alternative-font-family-alist): Remove
7817 DEFVAR_LISP; staticpro instead.
7818
34a7a267 7819 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7820 new arguments.
7821
7822 * keyboard.c (show_help_echo): Add parameter WINDOW.
7823 (read_char): Call show_help_echo with window extracted from Lisp
7824 help event.
7825 (gen_help_event): Add parameter WINDOW.
7826
7827 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7828
7829 * xterm.c (help_echo_window): New variable.
52283633 7830 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7831 (XTread_socket): Pass help_echo_window to gen_help_event.
7832 (syms_of_xterm): Initialize and staticpro help_echo_window.
7833
f8276b77
DL
78342000-07-18 Dave Love <fx@gnu.org>
7835
52283633 7836 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7837
088831a6
GM
78382000-07-18 Gerd Moellmann <gerd@gnu.org>
7839
3d6cd763
GM
7840 * alloc.c (allocate_string_data): If string had already data
7841 assigned, copy old contents to new string data.
7842
7843 * coding.c (syms_of_coding): Fix typo in spelling of variable
7844 `inhibit-iso-escape-detection'.
7845
088831a6
GM
7846 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7847
7848 * Makefile.in: Add dependencies on dispextern.h.
7849 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7850 `free'; both can conflict with system header files.
7851
bc8a8d55
KH
78522000-07-18 Kenichi Handa <handa@etl.go.jp>
7853
7854 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7855 undefined.
7856
069f5950
DL
78572000-07-18 Dave Love <fx@gnu.org>
7858
7859 * window.c (Fwindow_list): Declare arg `window'.
7860
aa96c820
KH
78612000-07-18 Kenichi Handa <handa@etl.go.jp>
7862
7863 * coding.c (setup_coding_system): Don't override the explicitly
7864 specified designations.
7865
06be8d32
MB
78662000-07-15 Miles Bader <miles@gnu.org>
7867
7868 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7869 from `text_property_eq' and `text_property_stickiness', respectively.
7870 (find_field, Fconstrain_to_field, char_property_eq)
7871 (char_property_stickiness): Changed to call char-property functions
7872 instead of text-property-only ones.
7873
7874 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7875 `next_single_char_property_change'). Do more error checking, and
7876 cleanup limit behavior.
7877 (Fprevious_single_char_property_change): New function.
7878 (syms_of_textprop): Initialize new subrs.
7879
7880 * xdisp.c (display_prop_end, invisible_text_between_p):
7881 Call Fnext_single_char_property_change instead of
7882 next_single_char_property_change.
7883
3fddcdc3
JR
78842000-07-15 Jason Rumney <jasonr@gnu.org>
7885
7886 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7887 after menu is finished with.
7888 (add_menu_item): Only consider wv->title as a menu title.
7889 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7890
7891 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7892 null title.
7893 (FONT_REGEXP): Remove unused macro, and its sub-components.
7894 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7895
7896 * w32term.c (help_echo_object, help_echo_pos): New variables.
7897 (note_mode_line_highlight): Store additional information about the
7898 help-echo in help_echo_object and help_echo_pos. Check both
7899 `local-map' and `keymap' properties for changing the cursor
7900 (note_mouse_highlight): Store additional information about the
7901 help-echo in help_echo_object and help_echo_pos.
7902 (note_tool_bar_highlight): Set help_echo_object to nil and
7903 help_echo_pos to -1.
7904 (w32_read_socket): Use gen_help_event instead of filling
7905 input_events manually.
7906 (syms_of_w32term): Staticpro help_echo_object.
7907 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7908 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7909 (x_clear_mouse_face): New function.
7910 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7911 (x_update_window_begin): No need to turn off the mouse
7912 highlight here.
7913 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7914 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7915 (x_fill_stretch_glyph_string): Consume runs of stretch
7916 glyphs instead of a single one.
7917 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7918 with new argument list.
7919 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7920 (x_append_glyph, x_append_composite_glyph)
7921 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7922 changes in struct glyph starting 1999-12-27. See comments for
7923 xterm.c on 2000-07-05.
7924
178c5d9c
SS
79252000-07-14 Sam Steingold <sds@gnu.org>
7926
7927 * xfaces.c (realize_x_face): Fix the last patch:
7928 check `default_face' before dereferencing.
7929
6fe533f6
DL
79302000-07-14 Dave Love <fx@gnu.org>
7931
069f5950 7932 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7933
dd7b81cf
KH
79342000-07-14 Kenichi Handa <handa@etl.go.jp>
7935
0693904a 7936 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7937 default_face's fontset, not using the default fontset.
0693904a 7938
dd7b81cf
KH
7939 * coding.c (inhibit_iso_escape_detection): New variable.
7940 (syms_of_coding): Make it a Lisp variable.
7941 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7942 nonzero, ignore ISO2022's escape sequence.
7943
d5aa31d8
GM
79442000-07-14 Gerd Moellmann <gerd@gnu.org>
7945
e5acf0ca
GM
7946 * alloca.c (malloc) [emacs]: Define as xmalloc.
7947
bd23a692
GM
7948 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7949 use that instead of the mouse position. Add parameters DX and DY.
7950
7951 * dispextern.h (Fx_show_tip): Adjust number of parameters
7952 in prototype.
7953
9662da0b
GM
7954 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7955 if HELP is a function, call it with OBJECT and POS as parameters
7956 to get the help to display.
7957 (gen_help_event, kbd_buffer_store_help_event): New functions.
7958 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7959 (read_char): Call show_help_echo with new parameters.
7960
178c5d9c 7961 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7962 Add prototypes.
7963
7964 * xterm.c (help_echo_object, help_echo_pos): New variables.
7965 (note_mode_line_highlight): Store additional information about the
7966 help-echo in help_echo_object and help_echo_pos. Check both
7967 `local-map' and `keymap' properties for changing the cursor
7968 (note_mouse_highlight): Store additional information about the
7969 help-echo in help_echo_object and help_echo_pos.
7970 (note_tool_bar_highlight): Set help_echo_object to nil and
7971 help_echo_pos to -1.
7972 (XTread_socket): Use gen_help_event instead of filling
7973 input_events manually.
7974 (syms_of_xterm): Staticpro help_echo_object.
7975
7976 * xmenu.c (menu_highlight_callback): Use
7977 kbd_buffer_store_help_event instead of setting up and input_event
7978 structure manually.
7979
7980 * xdisp.c (eval_form): GCPRO argument sexpr.
7981 (call_function): New function.
7982 (handle_single_display_prop): Use call_function and FUNCTIONP
7983 instead of checking whether if font_height is a symbol and
7984 using eval_form.
7985
7986 * eval.c (internal_condition_case_2): New function.
7987
7988 * lisp.h (FUNCTIONP): New macro.
7989 (internal_condition_case_2, call_function): Add prototypes.
7990
d5aa31d8
GM
7991 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7992 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7993 Always set `arg' member of input_events.
7994 (construct_menu_click): Unused function removed.
7995
7996 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7997
7998 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7999 (construct_drag_n_drop, x_scroll_bar_handle_click)
8000 (w32_read_socket): Always set `arg' member of input_events.
8001
8002 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8003
8004 * lisp.h (eval_form): Add prototype.
8005
8006 * xdisp.c (eval_form): Make it externally visible.
8007
0f1a9b23
GM
80082000-07-13 Gerd Moellmann <gerd@gnu.org>
8009
8010 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8011 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8012 consing. For prefix events, store the frame in the `arg' slot of
8013 the event, otherwise store the key there.
8014 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8015 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8016
8017 * xmenu.c (menu_highlight_callback): Store help string in the
8018 `arg' member of the input event; don't cons.
8019 (menubar_selection_callback): Use the `arg' slot of input events
8020 to queue additional information, instead of consing.
8021
8022 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8023
8024 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8025 TOOL_BAR_EVENTs.
8026 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8027
8028 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8029 input events to queue additional information, instead of consing.
8030
8031 * keyboard.c (kbd_buffer_gcpro): Renamed from
8032 kbd_buffer_frame_or_window. Now used for all Lisp objects
8033 referenced from the input queue.
8034 (kbd_buffer_store_event): Always use structure assignment for
8035 copying input events. Record all Lisp objects referenced from
8036 events in kbd_buffer_gcpro.
8037 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8038 differently from input events. Test for prefix menu_bar_events
8039 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8040 event in kbd_buffer_gcpro to nil.
8041 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8042 frame_or_window is equal to its arg member as prefix events.
8043 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8044 used by an input event to nil.
8045 (init_keyboard): Use two times the size of the input queue
8046 for kbd_buffer_gcpro.
8047 (syms_of_keyboard): Likewise.
8048
52283633
SM
8049 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8050 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8051
8052 * termhooks.h (struct input_event): Add member `arg'.
8053 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8054 (USER_SIGNAL_EVENT): Renamed from user_signal.
8055
8056 * xfaces.c (ASET): Remove definition.
8057
8058 * lisp.h (AREF, ASET, ASIZE): New macros.
8059
8060 * fontset.c (AREF, ASIZE): Remove definitions.
8061
8062 * fns.c (AREF): Remove definition.
178c5d9c 8063
0f1a9b23
GM
8064 * composite.c (AREF): Remove definition.
8065
712eaef2
GM
80662000-07-12 Gerd Moellmann <gerd@gnu.org>
8067
d8ee7803
GM
8068 * dispnew.c (redraw_overlapped_rows): Add missing local.
8069 (scrolling_window): Remove debug code.
8070
712eaef2
GM
8071 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8072 Before scrolling, turn off a mouse-highlight in the window
8073 being scrolled.
8074
8075 * xterm.c (x_update_window_end): Add parameter
8076 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8077 redisplay in XTframe_up_to_date.
8078 (x_clear_mouse_face): New function.
8079 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8080
8081 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8082 current glyph row.
8083 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8084 it when any row is written to that contains glyphs highlighted in
8085 mouse-face.
8086 (update_window): Call the window update end hook with new
8087 parameter MOUSE_FACE_OVERWRITTEN_P.
8088 (direct_output_for_insert): Give up if row contains mouse-face.
8089
8090 * dispextern.h (struct redisplay_interface): Add parameter
8091 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8092 (clear_mouse_face): New function pointer member.
8093
02010917
SM
80942000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8095
8096 * syntax.c (back_comment): Use one switch rather than a few `if's.
8097 Obey open_paren_in_column_0_is_defun_start.
8098 When reverting to the `slow' method, try to nicely handle the case
8099 of nested comments by checking that the comment-starter we found
8100 does indeed match the comment-ender.
8101 (scan_sexps_forward, scan_sexps_forward):
8102 Ignore excessive opening parenthesis rather than throwing an error.
8103
d76c03ea
GM
81042000-07-11 Gerd Moellmann <gerd@gnu.org>
8105
8106 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8107 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8108
8109 * dispnew.c (direct_output_forward_char): Give up if currently
8110 displaying a message instead of the minibuffer contents.
8111
8112 * xterm.c (x_update_window_begin): No need to turn off the mouse
8113 highlight here.
8114 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8115 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8116
8117 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8118 compare the mouse_face_p flags of both rows.
8119
8120 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8121
d55ead18
EZ
81222000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8123
8124 * keyboard.c (show_help_echo): Accept additional parameter
8125 ok_to_overwrite_keystroke_echo.
8126 (read_char): Call show_help_echo with a zero
8127 ok_to_overwrite_keystroke_echo argument.
52283633 8128 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8129 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8130 ok_to_overwrite_keystroke_echo argument.
8131 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8132 non-zero ok_to_overwrite_keystroke_echo argument.
8133
df75b1a3
GM
81342000-07-10 Gerd Moellmann <gerd@gnu.org>
8135
4b92c49a
GM
8136 * xdisp.c (try_window_id): If changes are all below what is
8137 displayed in the window, and point is in the window, we still
8138 might have to find point on the display.
8139
8140 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8141 glyphs instead of a single one.
8142 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8143 with new argument list.
8144 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8145
df75b1a3
GM
8146 * keymap.c (get_keymap_1): Add comment that this function can GC.
8147 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8148 comment that functions can GC.
8149 (Fset_keymap_parent): GCPRO arg KEYMAP.
8150
4314cf3e
EZ
81512000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8152
8153 * msdos.c (XMenuActivate): After exiting the menu, restore the
8154 echo area message and erase it.
8155
ab49ce15
KH
81562000-07-10 Kenichi Handa <handa@etl.go.jp>
8157
8158 * fontset.c (Ffontset_info): Make the return value more compatible
8159 with that of Emacs 20.
8160
090a072f
GM
81612000-07-07 Gerd Moellmann <gerd@gnu.org>
8162
8163 * eval.c (Fsignal): Handle case that backtrace_list is null.
8164
f92de4a6
KH
81652000-07-07 Kenichi Handa <handa@etl.go.jp>
8166
8167 * ccl.c (Fccl_execute): Typo fixed.
8168
dd8888a1
GM
81692000-07-06 Gerd Moellmann <gerd@gnu.org>
8170
e5c81191 8171 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8172
dd8888a1
GM
8173 * window.c (Fwindow_list): Reverse list at the end.
8174 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8175 means allow windows on OWINDOW's frame, only.
8176 (window_loop): Simplified; use Fwindow_list.
8177
8178 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8179
485266d0
GM
81802000-07-05 Gerd Moellmann <gerd@gnu.org>
8181
8182 * xterm.c (XTread_socket): Increment handling_signal at the start,
8183 decrement it at the end.
8184
8185 * eval.c (handling_signal): New variable.
8186 (Fsignal): Abort if handling_signal is non-zero.
8187
8188 * lisp.h (handling_signal): External declaration.
178c5d9c 8189
485266d0
GM
8190 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8191
80fcd514
KR
81922000-07-05 Ken Raeburn <raeburn@gnu.org>
8193
8194 Sound support for NetBSD through "Linux emulation" support:
8195 * config.in (HAVE_SOUNDCARD_H): Undef.
8196 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8197 * Makefile.in (LIBSOUND): New variable.
8198 (LIBES): Include it.
52283633
SM
8199 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8200 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8201 (vox_open): Use DEFAULT_SOUND_DEVICE.
8202 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8203
d5c5cddd
GM
82042000-07-05 Gerd Moellmann <gerd@gnu.org>
8205
8206 * print.c (print_error_message): If Vsignaling_function is set,
8207 show it in *Messages*.
8208
8209 * lisp.h (Vsignaling_function): External declaration.
8210
8211 * eval.c (Vsignaling_function): New variable.
8212 (Fsignal): Compute it.
8213 (syms_of_eval): Staticpro it.
8214
65171e3a
DL
82152000-07-05 Dave Love <fx@gnu.org>
8216
8217 * syswait.h: Use the autoconf recommended approach. Old code
8218 #if'd out in case we need to revert.
8219
178c5d9c 8220 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8221
e2c46326
AI
82222000-07-05 Andrew Innes <andrewi@gnu.org>
8223
8224 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8225 when non-NULL instead of __morecore, to take account of buffer
8226 memory. This also solves a problem with spurious memory warnings
8227 on Windows.
8228
8229 * ralloc.c: Make real_morecore non-static.
8230
8231 * eval.c (internal_condition_case): Comment out abort if
8232 interrupt_input_blocked is not zero.
8233
8234 * makefile.nt: Add support for `bootstrap' and related targets.
8235 Include minimal debug info in emacs.exe in release build.
8236 Remove all dependencies on lisp.h, and fixup some others.
8237
8238 * w32.c (init_environment): Install code from 20.7 for providing
8239 default values for environment variables, based on the
8240 executable's own location.
52283633 8241 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8242 (sys_socket): Install socket inheritance bug fix from 20.7.
8243
8244 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8245 here via blockinput.h).
8246
a027a91b
SM
82472000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8248
e4b31601
SM
8249 * w32menu.c (w32_menu_display_help):
8250 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8251
8252 * keyboard.h (show_help_echo): Declare.
8253
8254 * keyboard.c (show_help_echo): New function, extracted from read_char.
8255 Feval its `msg' argument if it's a cons cell.
8256 (read_char): Use it.
4cf8d9d5 8257 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8258
178c5d9c 8259 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8260 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8261 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8262 (dos_rawgetc):
8263 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8264 (note_tool_bar_highlight, w32_read_socket):
8265 Do not gratuitously ignore non-string `help-echo' properties.
8266
88d75730
GM
82672000-07-05 Gerd Moellmann <gerd@gnu.org>
8268
969f7e79
GM
8269 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8270
71201b00
GM
8271 * window.c (delete_all_subwindows): Reset Vwindow_list.
8272
88d75730
GM
8273 * xterm.c (x_append_glyph, x_append_composite_glyph)
8274 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8275 changes in struct glyph starting 1999-12-27. Some bit-fields of
8276 struct glyph were not set, which made glyphs unequal when compared
8277 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8278 effects were the result. This also depended on the contents of
8279 memory returned by xmalloc. If flickering happens again, activate
8280 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8281 gone with that, chances are that it is caused by something similar.
88d75730
GM
8282
8283 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8284
88d75730
GM
8285 * dispextern.h: Add some comments.
8286
8287 * window.c (add_window_to_list): Add parameter LIST.
8288 (window_list): Order list so that, for each frame, windows are
8289 in canonical order, and so that frames appear in the list in
8290 the order given by Vframe_list.
8291 (next_window): Reverse the handling of NEXT_P.
8292
53654733
GM
82932000-07-04 Gerd Moellmann <gerd@gnu.org>
8294
87efd256
GM
8295 * window.c (Vwindow_list): New variable.
8296 (make_window, delete_window): Set Vwindow_list to nil.
8297 (check_window_containing): New function.
8298 (window_from_coordinates): Rewritten.
8299 (add_window_to_list, window_list, candidate_window_p)
8300 (decode_next_window_args, next_window): New functions.
52283633 8301 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8302 (Fwindow_list): New function.
8303 (Fother_window): Cleaned up.
8304 (foreach_window): Add a longer "variable argument list". Let
8305 callback function return 0 to indicate that cycling over windows
8306 should stop.
8307 (foreach_window_1): Likewise.
8308 (freeze_window_start): Return int.
8309 (init_window): New function.
8310 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8311
8312 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8313 input_event with bzero.
8314 (main): Call init_window.
8315
53654733
GM
8316 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8317 a menu filter.
8318
4a8c194f
KH
83192000-07-04 Kenichi Handa <handa@etl.go.jp>
8320
8321 * composite.h (make_composition_value_copy): Extern it.
8322
8323 * composite.c (make_composition_value_copy): New function.
8324
8325 * editfns.c (Fformat): While copying text properties, make each
8326 composition property value a copy.
8327
8328 * fns.c (concat): While copying text properties, make each
8329 composition property value a copy.
8330
831a6cb0
GM
83312000-07-03 Gerd Moellmann <gerd@gnu.org>
8332
2f516940
GM
8333 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8334
178c5d9c 8335 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8336 marked already.
8337
831a6cb0
GM
8338 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8339 include those frames as candidates which have their focus
8340 redirected to the minibuffer frame.
8341
d9c4f922
SM
83422000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8343
8344 * fns.c (Fputhash): Return `value' rather than nil.
8345
3780bc22
GM
83462000-06-30 Gerd Moellmann <gerd@gnu.org>
8347
97d176db
GM
8348 * frame.c (next_frame): Don't check focus redirection in case
8349 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8350 unless their focus is redirected, which contradicts the
8351 specification of next-frame, and leads to infinite loops in
8352 certain situations when cycling through windows with next-window.
8353
dca9961d
KH
83542000-06-30 Kenichi Handa <handa@etl.go.jp>
8355
8356 * coding.c (code_convert_region): Even if the length of text is
8357 zero, try to convert it if coding->type is coding_type_ccl.
8358 (decode_coding_string, encode_coding_string): Likewise.
8359
d5483ab1
GM
83602000-06-28 Gerd Moellmann <gerd@gnu.org>
8361
af5c25e1 8362 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8363 the display if windows_or_buffers_changed.
af5c25e1
GM
8364
8365 * dispnew.c (struct row_entry): New structure.
8366 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8367 (row_table_size, old_lines, new_lines, old_lines_size)
8368 (new_lines_size, run_pool, runs_size, runs): New variables.
8369 (add_row_entry): New function.
8370 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8371 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8372 holding them in local variables. Use a larger hash table whose
8373 size depends on glyph matrix sizes. Don't use bzero to clear the
8374 hash table; instead, clear used slots only.
8375
8376 * fns.c (next_almost_prime): Make it externally visible.
8377
8378 * lisp.h (next_almost_prime): Add prototype.
8379
d5483ab1
GM
8380 * s/isc4-0.h (sigunblock): Define.
8381
8382 * s/sco5.h (sigunblock): Define.
8383
93e40f40
DL
83842000-06-27 Dave Love <fx@gnu.org>
8385
8386 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8387 (moved to osf5-0.h).
8388 [!NOT_C_CODE]: Protect string.h stuff.
8389
8390 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8391 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8392
3c4b7685
GM
83932000-06-27 Gerd Moellmann <gerd@gnu.org>
8394
97d176db 8395 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8396 below the last line from the needed window height.
8397
32cad0aa
SM
83982000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8399
8400 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8401 (Fwidget_get): Use it.
8402 (syms_of_fns): Defsubr it.
8403
2c69ced2
GM
84042000-06-26 Gerd Moellmann <gerd@gnu.org>
8405
178c5d9c 8406 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8407 display info for XIM.
8408 (xim_open_dpy): Likewise.
8409 (xim_close_dpy): Don't free the display info's XIM.
8410
8411 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8412
8413 * config.in (USE_XIM): New define.
8414
3fc720e4
GM
8415 * keymap.c (get_keyelt): For menu-items containing a `:filter
8416 FILTER', apply FILTER to the menu-item's definition to get the
8417 real definition to use.
8418
8419 * lisp.h (QCfilter): External declaration.
8420
2c69ced2
GM
8421 * xfns.c (Fimage_size): New function.
8422 (syms_of_xfns): Defsubr it.
8423
f978b2a2
AS
84242000-06-26 Andreas Schwab <schwab@suse.de>
8425
8426 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8427 Fstring_as_unibyte.
8428
94cc7892
DL
84292000-06-25 Dave Love <fx@gnu.org>
8430
52283633 8431 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8432
8433 * Makefile.in (blockinput.h): Depend on atimer.h.
8434 (atimer.h): Depend on systime.h.
8435
52283633 8436 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8437
52283633 8438 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8439
8440 * lisp.h (swap_in_global_binding): Declare.
8441
b8c24556
KR
84422000-06-24 Ken Raeburn <raeburn@gnu.org>
8443
8444 * process.c (Fopen_network_stream): Turn off atimers for duration
8445 of call to connect. (Patch from Gerd.)
8446
8cf8560b
DL
84472000-06-23 Dave Love <fx@gnu.org>
8448
511c7541
DL
8449 * ralloc.c: Maybe include unistd.h
8450
8cf8560b
DL
8451 * emacs.c (setgrp): Undefine before defining.
8452 (malloc_warning, set_time_zone_rule, index): Prototype.
8453
8454 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8455 HAVE_STRUCT_TIMEZONE.
8456
8457 * s/osf1.h: Move string.h hack here from alpha.h and make it
8458 conditional.
8459 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8460 _XOPEN_SOURCE.
8461 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8462 (SOCKLEN_TYPE): Don't define.
8463
8464 * m/alpha.h: Remove string.h hack.
8465
8466 * s/osf5-0.h: New file.
8467
8468 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8469 include time.h, done by systime.h.
8470 [__FreeBSD__]: Remove redundant includes.
8471
3fc720e4 8472 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8473 (delete_temp_file): Return Qnil to avoid warning.
8474
8475 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8476
8477 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8478 HAVE_X_WINDOWS.
8479
8480 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8481
8482 * composite.h (compose_text): Declare.
8483
8484 * xterm.c: Don't include sys/types.h unconditionally. Don't
8485 protect its inclusion with !USG (following xmenu.c).
8486
ea055732
GM
84872000-06-23 Gerd Moellmann <gerd@gnu.org>
8488
8489 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8490 in x_create_frame.
8491
74b01b80
EZ
84922000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8493
8494 * coding.c (decode_eol_post_ccl): Special handling for undecided
8495 and inconsistent EOL types.
8496
64f3a166
GM
84972000-06-22 Gerd Moellmann <gerd@gnu.org>
8498
16cf31f7
GM
8499 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8500 trough color and main window's background color.
8501
52283633 8502 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8503
8504 * xterm.h (Xt_app_con): External declaration.
8505
8506 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8507
486a103d
GM
8508 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8509
64f3a166
GM
8510 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8511 (handle_invisible_prop): Record the start of invisible text in
8512 it->add_overlay_start.
8513 (struct overlay_entry): Add member `overlay'.
8514 (handle_overlay_change): Simplify.
8515 (next_overlay_string): After having processed overlay strings at the
8516 end of the buffer, record that fact in
8517 it->overlay_strings_at_end_processed_p.
8518 (compare_overlay_entries): If before- and after-strings come
8519 from the same overlay, let before-strings come first.
8520 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8521 (load_overlay_strings): Take it->add_overlay_start into account
8522 when adding overlay strings.
8523
8524 * dispextern.h (struct it): Add member add_overlay_start.
8525
bb746ea6
DL
85262000-06-22 Dave Love <fx@gnu.org>
8527
8528 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8529
8530 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8531
a8f573f3
KH
85322000-06-22 Kenichi Handa <handa@etl.go.jp>
8533
8534 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8535 is greater than 0.
8536
9f2bbc92
DL
85372000-06-21 Dave Love <fx@gnu.org>
8538
178c5d9c 8539 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8540
3ee5041c
SM
85412000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8542
8543 * syntax.c (back_comment): Simplify string-parity counting (with
8544 the added benefit of handling multiple string-styles as long as
8545 they are not intertwined).
8546 Jump to the slow code as soon as a comment starter is found in
8547 a "string_lossage" position. Fixes the case: " /* " /* " */.
8548
4c343001
DL
85492000-06-21 Dave Love <fx@gnu.org>
8550
8551 * Makefile.in: Use GETLOADAVG_LIBS.
8552
8553 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8554 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8555
e6365855
SM
85562000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8557
8558 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8559 (Fforward_comment, scan_lists):
8560 Check the comstyle of single-char comment-starters.
8561 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8562 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8563 Check the comstyle of single-char comment-starters.
8564 Clarify control-flow around the Scomment case.
e6365855 8565
5700d2cc
DL
85662000-06-20 Dave Love <fx@gnu.org>
8567
d355bd8a
SM
8568 * fns.c (make_hash_table, maybe_resize_hash_table):
8569 Cast arg of next_almost_prime.
5700d2cc 8570
178c5d9c 8571 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8572
8573 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8574 and unistd.h.
8575
4a27bdfb
GM
85762000-06-20 Gerd Moellmann <gerd@gnu.org>
8577
a61d762c 8578 * keyboard.c (adjust_point_for_property): Check if display
52283633 8579 property should be treated as intangible by looking at its value.
a61d762c 8580
178c5d9c 8581 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8582 (display_prop_intangible_p): New functions.
8583
8584 * dispextern.h (display_prop_intangible_p): Add prototype.
8585
8586 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8587
4a27bdfb
GM
8588 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8589 argument to sigprocmask.
8590
8591 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8592 argument to sigprocmask.
8593
8594 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8595 sigprocmask_set, and pass a pointer to it to sigprocmask.
8596
8597 * sysdep.c (sigprocmask_set): New variable.
8598
8599 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8600 report_file_error.
8601
427ec082
SS
86022000-06-20 Sam Steingold <sds@gnu.org>
8603
8604 * xrdb.c: Don't declare xmalloc, xrealloc.
8605
8972fe79 86062000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8607
8608 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8609 (re_comp): Cast gettext return value to avoid complaints when
8610 !HAVE_LIBINTL.
8611
074b6efe
DL
86122000-06-20 Dave Love <fx@gnu.org>
8613
52283633 8614 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8615
5700d2cc 8616 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8617
d355bd8a 8618 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8619
8620 * m/alpha.h: Don't declare xmalloc, xrealloc.
8621
0af4f205
DL
8622 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8623
8624 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8625
8626 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8627
8628 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8629 HAVE_GETWD.
8630
074b6efe
DL
8631 * keyboard.h (poll_for_input_1): Declare.
8632
8633 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8634
8635 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8636
8637 * doprnt.c: Don't declare xmalloc, xrealloc.
8638
8639 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8640 (getenv, ctime, getwd): Removed.
8641 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8642
8643 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8644 x_set_tool_bar_lines.
8645
8646 * config.in: Add HAVE_GETWD. Move some definitions above
8647 machine/system includes.
8648
68a5e97b
KH
86492000-06-20 Kenichi Handa <handa@etl.go.jp>
8650
95417e1e
KH
8651 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8652
68a5e97b
KH
8653 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8654 contain information about ENCODING.
8655
8656 * fontset.c (FONTSET_ASCII): Use the first element of char table
8657 for an ASCII font, not defalt slot.
8658 (fontset_ref_via_base): If FONTSET doesn't contain information for
8659 C, try the default fontset.
8660 (make_fontset): Don't copy the default fontset.
8661 (fontset_font_pattern): Likewise.
8662 (accumulate_font_info): If ELT is nil, use the corresponding
8663 element in the default fontset.
8664
3b4fa1b2
DL
86652000-06-19 Dave Love <fx@gnu.org>
8666
943e731c
DL
8667 * syntax.c (Fparse_partial_sexp): Doc fix.
8668
8669 * regex.h: Test PROTOTYPES as well as __STDC__.
8670
3b4fa1b2
DL
8671 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8672 errno, strerror. Put text after #endif in comment.
8673
52283633 8674 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8675
8676 * xterm.c (x_frame_of_widget): Likewise.
8677
cdf0357b
GM
86782000-06-19 Gerd Moellmann <gerd@gnu.org>
8679
8680 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8681 to Vfundamental_mode_abbrev_table.
8682
8683 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8684 bogus objects are marked. This slows down GC by ~80 percent, but
8685 it might be worth trying when debugging GC-related problems.
8686 This feature requires conservative stack marking to be enabled.
8687
8688 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8689 returns XLookupChars, reset `modifiers' to zero.
8690
998e9f8c
DL
86912000-06-19 Dave Love <fx@gnu.org>
8692
8693 * mktime.c: Unprotoized.
8694
18e21ce8 86952000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8696
8697 * data.c (set_internal): If variable is frame-local,
8698 store the new value immediately into the frame parameter alist.
8699
140c4ac6
KR
87002000-06-19 Ken Raeburn <raeburn@gnu.org>
8701
14358466
KR
8702 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8703 in the custom handler pointer.
8704
140c4ac6
KR
8705 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8706 value, or checks for CHAR_META can fail when Lisp_Object is a
8707 union type.
8708 * keymap.c (get_keyelt): Likewise.
8709
10d7bf84
KH
87102000-06-19 Kenichi Handa <handa@etl.go.jp>
8711
8712 * ccl.h (struct ccl_program): New member eol_type.
8713 (struct ccl_spec): New member cr_carryover.
8714
8715 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8716 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8717
8718 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8719 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8720 (decode_eol_post_ccl): New function.
8721 (decode_coding): Don't detect EOL format here for CCL based coding
8722 systems.
8723 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8724 decode_eol_post_ccl after running the CCL program.
8725 (code_convert_region): Don't detect EOL format here for CCL based
8726 coding systems.
8727 (decode_coding_string): Likewise.
8728
52e386c2
KR
87292000-06-18 Ken Raeburn <raeburn@gnu.org>
8730
8731 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8732 when treating it as an integer.
8733
8734 * coding.h (encode_coding_string): Declare.
8735
8736 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8737 it as an integer.
8738
8739 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8740 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8741 to be passed to get_local_map.
8742
8743 * sound.c (Fplay_sound): Don't call make_number on
8744 Frun_hook_with_args count argument.
8745
8746 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8747 for lisp objects in X event structure data field, when lisp
8748 objects are represented with unions.
8749 (x_scroll_bar_to_input_event): Ditto.
8750
b357b9d4
KR
87512000-06-16 Ken Raeburn <raeburn@gnu.org>
8752
8753 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8754 termination of string. Fix sense of test whether
8755 Vline_number_display_limit is an integer.
b357b9d4 8756
a871441d
GM
87572000-06-16 Gerd Moellmann <gerd@gnu.org>
8758
a9021acd
GM
8759 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8760 only if HAVE_X_WINDOWS.
8761
6344985d
GM
8762 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8763 of titles.
8764
427ec082 8765 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8766 out of bounds.
8767
228b083e
EZ
87682000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8769
8770 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8771 of its headers.
8772
c25b53a2
KH
87732000-06-15 Kenichi Handa <handa@etl.go.jp>
8774
8775 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8776 start of the while loop.
8777
a6981b11
GM
87782000-06-15 Gerd Moellmann <gerd@gnu.org>
8779
e9924e52
GM
8780 * atimer.c (alarm_signal_handler): Add forward declaration.
8781
a6981b11
GM
8782 * data.c (set_internal): Remove debug code.
8783
25fa6deb
GM
87842000-06-14 Gerd Moellmann <gerd@gnu.org>
8785
dce6b995
GM
8786 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8787
9f817ea4
GM
8788 * unexec.c (toplevel) [COFF]: Include coff.h.
8789
8790 * s/lynxos.h: New file.
8791
8792 * keymap.c (Fsingle_key_description): Enclose function key and
8793 event symbol names in angle brackets.
8794
8a4e3c0c
GM
8795 * xdisp.c (setup_echo_area_for_printing): Call
8796 message_log_maybe_newline if message_buf_print is not set.
8797
8798 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8799 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8800 function does something useful even when message_buf_print is
8801 already set.
8802
52283633
SM
8803 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8804 New variables.
25fa6deb
GM
8805 (ensure_echo_area_buffers): Initialize echo buffer's
8806 truncate lines setting to nil.
8807 (with_echo_area_buffer): Don't set the echo buffer's truncate
8808 lines setting here.
8a4e3c0c 8809 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8810 of message_truncate_lines.
8811 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8812 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8813 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8814
8815 * keyboard.c (read_char): Bind message-truncate-lines to t
8816 while displaying a help-echo.
8817
8818 * lisp.h (Qmessage_truncate_lines): External declaration.
8819
163dcff3
GM
88202000-06-13 Gerd Moellmann <gerd@gnu.org>
8821
1681ead6
GM
8822 * xdisp.c (Vline_number_display_limit): Renamed from
8823 line_number_display_limit.
8824 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8825 Extend documentation string. Initialize
8826 Vline_number_display_limit to nil meaning no limit.
8827 (decode_mode_spec): Use Vline_number_display_limit with its new
8828 meaning.
8829
163dcff3
GM
8830 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8831
18e21ce8 88322000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8833
8834 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8835
163dcff3
GM
8836 * xfns.c (x_set_frame_parameters): Comment fix.
8837
8838 * frame.c (store_frame_param): Call swap_in_global_binding if the
8839 variable's current binding was chosen based on this frame.
8840
8841 * data.c (swap_in_global_binding): New function.
8842
a704139d
EZ
88432000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8844
8845 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8846 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8847
9b6610db
EZ
88482000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8849
8850 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8851
c68833d2
JR
88522000-06-12 Jason Rumney <jasonr@gnu.org>
8853
8854 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8855
8856 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8857
8858 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8859
8860 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8861
ed1056b3
GM
88622000-06-12 Gerd Moellmann <gerd@gnu.org>
8863
8864 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8865 (syms_of_xfaces): Defsubr Sdump_colors.
8866 (x_free_colors): Don't treat b&w specially on default visual.
8867 (x_free_dpy_colors): New function.
8868 (free_face_colors): Don't check visual class; it's done
8869 in x_free_colors.
8870
8871 * xterm.c (x_frame_of_widget): New function.
8872 (x_alloc_nearest_color_for_widget): Use it.
8873 (x_copy_dpy_color): New function.
8874 (x_destroy_window): Free various colors.
8875
5050a2ef
KH
88762000-06-12 Kenichi Handa <handa@etl.go.jp>
8877
8878 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8879
8880 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8881
8882 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8883
8884 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8885
8886 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8887
fb1b041d
DL
88882000-06-11 Dave Love <fx@gnu.org>
8889
8890 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8891
ff96b5f4
EZ
88922000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8893
8894 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8895
db8eeecd
GM
88962000-06-11 Gerd Moellmann <gerd@gnu.org>
8897
ed1056b3 8898 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8899 to `XEvent *'.
8900
49b71c5f
KH
89012000-06-10 Kenichi Handa <handa@etl.go.jp>
8902
c479bd55
KH
8903 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8904 (regex_compile): Fix the code for handling the case of single byte
8905 char and multibyte char being mixed in a range within [...].
8906
ff6a65c2
KH
8907 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8908 and dst_multibyte members of coding.
8909
49b71c5f
KH
8910 * charset.c (update_charset_table): Update the table
8911 bytes_by_char_head.
8912 (init_charset_once): Initialize elements of bytes_by_char_head to
8913 1 except for leading codes for private charases.
8914
8915 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8916 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8917
9e80b57d
KR
89182000-06-09 Ken Raeburn <raeburn@gnu.org>
8919
8920 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8921 access the data it doesn't point to.
8922
f83fe4b4
GM
89232000-06-08 Gerd Moellmann <gerd@gnu.org>
8924
8925 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8926 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8927 event queue. This is necessary because Emacs otherwise won't
8928 perform a switch-frame to a new frame until some other event, for
8929 example a keystroke event, forces it to do so. This has various
8930 effects, one visible being that the cursor of a frame created with
8931 C-x 5 2 or switched to with a window manager key binding like
8932 A-TAB stays hollow because selected_window isn't on the newly
8933 focused frame until the switch-frame is performed.
8934
8935 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8936 generating a switch-frame event if necessary.
8937
8938 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8939
8940 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8941 it's an integer.
8942
0890801b
KH
89432000-06-08 Kenichi Handa <handa@etl.go.jp>
8944
52283633 8945 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8946
173cbca8
GM
89472000-06-07 Gerd Moellmann <gerd@gnu.org>
8948
3091c2a6
GM
8949 * window.c (displayed_window_lines): Take empty lines at
8950 the bottom of a window into account.
427ec082 8951
f38952fe
GM
8952 * window.c (displayed_window_lines): New function.
8953 (Fmove_to_window_line): Use displayed_window_lines to determine
8954 the number of lines to move, instead of using the window's height.
8955
8956 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8957 to stop reading, even if the form read sets point to a different
8958 value when evaluated.
8959
427ec082 8960 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8961 put the cursor.
8962
6ba6c818
KH
89632000-06-07 Kenichi Handa <handa@etl.go.jp>
8964
8965 * fileio.c (e_write): Free composition data if stored in
8966 coding->cmp_data.
8967
5f1aea9a
GM
89682000-06-06 Gerd Moellmann <gerd@gnu.org>
8969
666852af
GM
8970 * xdisp.c (display_line): Set row's and iterator's
8971 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8972 Set cursor even if row ends in the middle of a character.
8973 (dump_glyph_row): Print values of new flags.
8974 (redisplay_window) <cursor movement in unchanged window>: When
8975 point has been moved forward, and PT is at the end of the cursor
8976 row, don't place the cursor in the next row if the cursor row ends
8977 in the middle of a character or at ZV.
8978
8979 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8980 (struct glyph_row): Add starts_in_middle_of_char_p and
8981 ends_in_middle_of_char_p.
8982 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8983 ends_in_middle_of_char_p flag.
8984 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8985
d13f3e2e
GM
8986 * term.c (append_glyph): Revert change of 2000-06-06.
8987
8988 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8989 padding glyph not fitting on line as whole character not
8990 fitting on line.
8991
5f1aea9a
GM
8992 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8993 this isn't true for images with `:ascent 100'.
8994
10cda9b0
KH
89952000-06-06 Kenichi Handa <handa@etl.go.jp>
8996
ed00559d
KH
8997 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8998 as modified if it is originally unmodified.
8999
10cda9b0
KH
9000 * term.c (encode_terminal_code): Change the way to check if
9001 terminal coding does any conversion.
9002 (append_glyph): Set glyph->pixel_width correctly.
9003
9004 * xdisp.c (display_line): While checking line continuation, pay
9005 attention to a padding glyph.
9006
1969fae2
GM
90072000-06-05 Gerd Moellmann <gerd@gnu.org>
9008
9009 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9010
162ccef4
DL
90112000-06-05 Dave Love <fx@gnu.org>
9012
f19f32dd
DL
9013 * xdisp.c: Include fontset.h.
9014
9015 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9016
9017 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9018
9019 * dispnew.c: Conditionally include term.h.
9020
9021 * coding.h: Declare code_convert_string_norecord.
9022
9023 * frame.h (struct frame): Use volatile unconditionally.
9024
9025 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9026
9027 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9028
9029 * systime.h: Protect against multiple inclusion.
9030 (timezone) [USG5_4]: Define as time_t.
9031
9032 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9033 (Foptimize_char_table, make_temp_name): Declare.
9034
9035 * Makefile.in (xdisp.o): Depend on fontset.h.
9036
9037 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9038
9039 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9040 (Foptimize_char_table, make_temp_name): Declare.
9041
427ec082 9042 * s/irix4-0.h:
162ccef4
DL
9043 * s/irix5-0.h:
9044 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9045
2082fe81
DL
90462000-06-02 Dave Love <fx@gnu.org>
9047
9048 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9049
dcf671d2
GM
90502000-06-02 Gerd Moellmann <gerd@gnu.org>
9051
9052 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9053 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9054 be freed.
9055
9056 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9057 glyph, use the ASCII NUL character to determine the face.
9058
d42122a3
DL
90592000-06-02 Dave Love <fx@gnu.org>
9060
9061 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9062 (VFORK_RETURN_TYPE): Remove.
427ec082 9063
d42122a3
DL
9064 * config.in: Add NO_MATHERR.
9065
dd432f16
DL
90662000-06-01 Dave Love <fx@gnu.org>
9067
90aa4ea8
DL
9068 * cmds.c (internal_self_insert): Don't check
9069 Vbefore_change_function, Vafter_change_function.
9070
9071 * insdel.c (signal_before_change, signal_after_change): Likewise.
9072
9073 * buffer.c (Vbefore_change_function, Vafter_change_function):
9074 Variables and their initializations deleted.
9075
2330c9d4
DL
9076 * callint.c (Fcall_interactively): Doc fix.
9077
dd432f16
DL
9078 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9079
bf9e8804
DL
90802000-05-31 Dave Love <fx@gnu.org>
9081
9082 * textprop.c: Revert last change -- duplicated.
9083
3694b4ab
GM
90842000-05-31 Gerd Moellmann <gerd@gnu.org>
9085
9086 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9087 in #if 0.
9088
9089 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9090
f14156cd
JR
90912000-05-31 Jason Rumney <jasonr@gnu.org>
9092
8119aab8
JR
9093 * search.c (Fre_search_forward, Fre_search_backward)
9094 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9095
f14156cd
JR
9096 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9097
4aab9be3
JR
90982000-05-30 Jason Rumney <jasonr@gnu.org>
9099
9100 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9101 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9102
52283633 9103 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9104
9105 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9106 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9107 expand a nil default_filename.
9108
9109 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9110 pointer to glyph_to_pixel_coords, not a frame.
9111
9112 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9113 coding.h to dependencies.
9114
9115 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9116
9117 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9118 window pointer to be consistent with w32term.c and xterm.c.
9119
9120 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9121 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9122 (Qline_spacing, Qcenter): New variables.
9123 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9124 (x_set_line_spacing): New function.
52283633 9125 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9126 (x_specified_cursor_type): New function.
9127 (x_set_cursor_type): Use it.
9128 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9129 and icon strings.
9130 (validate_x_resource_name, x_get_resource_string): Measure lengths
9131 of external strings in bytes.
9132 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9133 GetTextExtentPoint32 with NULL title.
9134 (Fx_create_frame): Initialize Qline_spacing.
9135 (w32_load_system_font): Initialize font->double_byte_p.
9136 (x_to_w32_charset): Use Vw32_charset_info_alist.
9137 (Image, busy cursor, tooltip functions): Merged changes from
9138 xfns.c. Not yet functional on Windows.
9139
9140 * w32gui.h (W32FontStruct): Add double_byte_p member.
9141
9142 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9143 (emacs_button_translation): Use it.
9144 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9145 in `mask' to be set.
9146
9147 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9148 menu strings.
9149
9150 * w32term.c: Format and doc changes to bring closer to xterm.c.
9151 (w32_char_font_type): New enum.
9152 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9153 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9154 (w32_encode_char): New function.
9155 (x_encode_char): Removed.
9156 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9157 x_encode_char and w32_font_is_double_byte.
9158 (x_produce_image_glyph): Use image_ascent.
9159 (x_produce_glyphs): Use new version of w32_per_char_metric and
9160 handle NULL return value. Allow extra line spacing.
9161 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9162 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9163 w32_font_type member of glyph instead.
9164 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9165 (fast_find_position): Make sure not to consider rows not visible
9166 in the window.
9167 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9168 w32_menu_display_help with input blocked, as it can abort.
9169 (x_display_and_set_cursor): Choose cursor depending
9170 on buffer-local value of cursor_type.
9171 (x_draw_bar_cursor): Add parameter WIDTH.
9172
9173 * w32term.h (CP_DEFAULT): Define.
9174 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9175
10fc3187
GM
91762000-05-30 Gerd Moellmann <gerd@gnu.org>
9177
9178 * search.c (Fre_search_forward, Fre_search_backward)
9179 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9180
d0555360
KH
91812000-05-30 Kenichi Handa <handa@etl.go.jp>
9182
9183 * coding.c (detect_coding_iso2022): Fix code for checking
9184 CODING_CATEGORY_MASK_ISO_8_2.
9185
f1ad044f
SM
91862000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9187
9188 * regex.c (PREFETCH_NOLIMIT): New function.
9189 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9190
84ec3b4b
GM
91912000-05-29 Gerd Moellmann <gerd@gnu.org>
9192
66254a13
GM
9193 * syntax.c (find_defun_start): Move test for
9194 open_paren_in_column_0_is_defun_start outside of the loop.
9195
49e70dec
GM
9196 * xdisp.c (redisplay_window): Really switch buffers when
9197 displaying mode lines, and temporarily set selected_frame to the
9198 frame of the window that's redisplayed.
9199
84ec3b4b
GM
9200 * xfaces.c (free_realized_faces): Block/unblock input.
9201 (free_realized_multibyte_face): Ditto.
9202
869a3a14
DL
92032000-05-29 Dave Love <fx@gnu.org>
9204
9205 * textprop.c (Qkeymap): New variable.
9206 (syms_of_textprop): Intern it.
9207
9208 * keymap.c: Include intervals.h.
9209 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9210
9211 * Makefile.in (keymap.o): Depend on intervals.h.
9212
9213 * keyboard.c (menu_bar_items, tool_bar_items)
9214 (Fexecute_extended_command): Deal with `keymap' property.
9215 (read_key_sequence): Track map from `keymap' property as well as
9216 `local_map'.
9217
9218 * intervals.c (get_local_map): Extra arg to allow looking for
9219 `keymap' too.
9220
9221 * intervals.h (map_property): New enum.
9222 (get_local_map): Extra arg using it.
9223 (Qkeymap): Declare.
9224
84ec3b4b 9225 * lisp.h (get_local_map): Don't declare here.
869a3a14 9226
89d0c844
KH
92272000-05-29 Kenichi Handa <handa@etl.go.jp>
9228
9229 * Makefile.in (callproc.o): Depend on composite.h.
9230
9231 * callproc.c: Include composite.h.
9232 (Fcall_process): Handle composition correctly.
9233
9234 * coding.h (coding_allocate_composition_data): Extern it.
9235 (coding_restore_composition): Likewise.
9236
9237 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9238 yet allocated, finish decoding with result
9239 CODING_FINISH_INSUFFICIENT_CMP.
9240 (coding_allocate_composition_data): Make it non-static.
9241 (coding_restore_composition): Likewise.
9242
797a084a
EZ
92432000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9244
9245 * charset.c (syms_of_charset): Revert last change.
9246
cf872af5
EZ
92472000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9248
9249 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9250 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9251 Handa.
cf872af5 9252
5b1ae051
EZ
92532000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9254
9255 * charset.c (syms_of_charset): Set width of character sets
9256 eight-bit-control and eight-bit-graphic to 1 column.
9257
34ec9ebe
GM
92582000-05-26 Gerd Moellmann <gerd@gnu.org>
9259
9260 * config.in (HAVE_SPEED_T): New define.
9261
9262 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9263 `extern speed_t'.
9264
dd854dc2
DL
92652000-05-26 Dave Love <fx@gnu.org>
9266
9267 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9268
9269 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9270 (Fsubr_arity): New function.
9271 (syms_of_data): Install them.
9272
ba9f8f95
KH
92732000-05-26 Kenichi Handa <handa@etl.go.jp>
9274
0f3e0672
KH
9275 * charset.c (init_charset_once): Set the table bytes_by_char_head
9276 correctly.
9277
cebefb44
KH
9278 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9279 the default fontset to what Emacs uses by default.
0f3e0672
KH
9280 (check_registry_encoding): This function deleted.
9281 (Fset_fontset_font): Remove the adhoc condition for the default
9282 fontset. Allow cons in FONTNAME.
cebefb44 9283
0f3e0672
KH
9284 * fns.c (map_char_table): Ignore char-table entries for
9285 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9286
7a18af49
KR
92872000-05-25 Ken Raeburn <raeburn@gnu.org>
9288
9289 * emacs.c (main): Initialize keyboard syms before initializing
9290 window code, so face names are available.
9291
d2af47df
SM
92922000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9293
9294 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9295 of an anchor at the beginning of a shy-group.
9296
fc6a6a4e
GM
92972000-05-25 Gerd Moellmann <gerd@gnu.org>
9298
9299 * xdisp.c (handle_invisible_prop): Don't try to skip over
9300 invisible text if end of text is already reached.
9301
005f0d35
DL
93022000-05-25 Dave Love <fx@gnu.org>
9303
02513cdd
DL
9304 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9305
005f0d35
DL
9306 * coding.c (encode_eol): Add null statement after label.
9307
89f6ca4e
EZ
93082000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9309
9310 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9311 2000-05-20.
9312
a4e1759e
KH
93132000-05-25 Kenichi Handa <handa@etl.go.jp>
9314
9315 * ccl.c (ccl_driver): Fix previous change.
9316
eacfd7fe
KH
93172000-05-25 Kenichi Handa <handa@etl.go.jp>
9318
46ab33a9
KH
9319 * coding.c (run_pre_post_conversion_on_str): Set point to the
9320 beginning of buffer before calling coding->post_read_conversion.
9321 (decode_coding_string): Give correct args to
9322 run_pre_post_conversion_on_str.
9323 (encode_coding_string): Likewise.
9324
eacfd7fe
KH
9325 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9326 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9327 eight-bit-graphic correctly.
9328
f8569325
DL
93292000-05-24 Kenichi HANDA <handa@etl.go.jp>
9330
9331 * fileio.c (Finsert_file_contents): Even if a file is not found,
9332 execute codes for setting up coding system. Call
9333 after-insert-file-functions unconditionally.
9334
04545643
GM
93352000-05-24 Gerd Moellmann <gerd@gnu.org>
9336
9337 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9338 BSD_PGRPS are not defined.
9339
747d90ea
KH
93402000-05-24 Kenichi Handa <handa@etl.go.jp>
9341
9342 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9343 DESCRIPTION.
9344 (syms_of_charset): Avoid building same strings.
9345
716e3b88
GM
93462000-05-23 Gerd Moellmann <gerd@gnu.org>
9347
9348 * lread.c (Fload): Add a comment about the meaning of
9349 Vuser_init_file being t.
9350
9351 * puresize.h (BASE_PURESIZE): Increase to 675000.
9352
9353 * s/gnu-linux.h (setpgrp): Don't define it here because this
9354 prevents compilation on GNU/Linux systems with glib 2.2.
9355
9356 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9357 as setpgid.
427ec082 9358
9aeb39fa
EZ
93592000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9360
9361 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9362 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9363 version.
9364 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9365
29ced61b
KH
93662000-05-23 Kenichi Handa <handa@etl.go.jp>
9367
52283633 9368 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9369
3d80f24d
KH
9370 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9371
52283633 9372 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9373
29ced61b
KH
9374 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9375
d7e00792
KH
93762000-05-22 Kenichi Handa <handa@etl.go.jp>
9377
c9d80d38
KH
9378 * keyboard.c (read_char): Allow character codes 128..255 to be
9379 handled by input-method-function.
9380
d7e00792
KH
9381 * insdel.c (adjust_markers_for_replace): Fix previous change.
9382 (adjust_after_replace): If PREV_TEXT is nil, call
9383 adjust_markers_for_insert, not adjust_markers_for_replace.
9384
087121cc 93852000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9386
087121cc
GM
9387 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9388 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9389 [HAVE_GRANDPT]: Define.
9390 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9391
9392 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9393 like SYSV_PTYS.
9394
9395 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9396
9397 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9398
c9671f81
KH
93992000-05-20 Kenichi Handa <handa@etl.go.jp>
9400
9401 The following changes are to handle 8-bit characters in a
9402 multibyte buffer/string without facing with byte combining
9403 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9404 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9405
9406 * Makefile.in (fns.o): Depend on charset.h.
9407
9408 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9409 convert it to unibyte.
9410 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9411
9412 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9413 apparent char boundary.
9414 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9415 0x80..0x9F to/from multibyte form.
9416
9417 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9418 to unibyte.
9419
9420 * callproc.c (Fcall_process): Always encode an argument string if
9421 it is multibyte. Setup src_multibyte and dst_multibyte members of
9422 process_coding properly.
ce75fd23 9423
c9671f81
KH
9424 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9425 SPLIT_NON_ASCII_CHAR.
9426
9427 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9428 as is.
9429 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9430
52283633 9431 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9432 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9433 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9434 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9435 and eight-bit-graphic.
9436 (char_to_string): Likewise. Signal an error for too large
9437 character code.
9438 (char_printable_p): Return 0 for 8-bit characters.
9439 (update_charset_table): Update iso_charset_table only when a final
9440 character is non-negative.
9441 (find_charset_in_text): Renamed from find_charset_in_str.
9442 Arguments and return value changed. Callers changed.
9443 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9444 be -1 if CHARSET is used only internally.
9445 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9446 eight-bit-graphic.
9447 (Fcharset_after): Simplified.
9448 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9449 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9450 (multibyte_chars_in_text): Simplified by assuming there's no
9451 invalid multibyte sequence.
52283633
SM
9452 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9453 (str_as_unibyte): New functions.
9454 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9455 (init_charset_once): Initialization for
9456 LEADING_CODE_8_BIT_CONTROL.
9457 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9458 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9459 eight-bit-control and eight-bit-graphic.
9460
52283633
SM
9461 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9462 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9463 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9464 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9465 (CHARSET_REVERSE_CHARSET): Likewise.
9466 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9467 eight-bit-graphic.
9468 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9469 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9470 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9471 encounter an invalid multibyte sequence.
9472 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9473 sequence is always valid.
9474 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9475 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9476 (CHAR_STRING): For 8-bit characters, call char_to_string.
9477 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9478 multibyte sequence is always valid.
9479 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9480 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9481 (str_as_unibyte): Extern them.
c9671f81 9482 (BCOPY_SHORT): Fix a bug.
52283633 9483 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9484 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9485 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9486 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9487
bd4bde7f 9488 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9489 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9490 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9491 (EMIT_BYTES): New macros.
9492 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9493 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9494 macros deleted.
9495 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9496 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9497 check the validity of multibyte sequence.
9498 (decode_coding_emacs_mule): New function.
9499 (encode_coding_emacs_mule): New macro.
9500 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9501 the source.
9502 (DECODE_ISO_CHARACTER): Just return a character code.
9503 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9504 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9505 EMIT_CHAR to produced decoded characters. Exit the loop only by
9506 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9507 block here.
9508 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9509 only position codes for an invalid character.
9510 (encode_designation_at_bol): Return new destination pointer. 5th
9511 arg DSTP is changed to DST.
9512 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9513 from the source by ONE_MORE_CHAR. Don't handle the case of last
9514 block here.
9515 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9516 macros deleted.
52283633
SM
9517 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9518 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9519 TWO_MORE_BYTES to fetch a byte from the source.
9520 (encode_eol): Pay attention to coding->src_multibyte.
9521 (detect_coding, detect_eol): Preserve members src_multibyte and
9522 dst_multibyte.
9523 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9524 (encoding_buffer_size): Set magnification to 3 for all coding
9525 systems that require encoding.
9526 (ccl_coding_driver): For decoding, be sure that the result is
9527 valid multibyte sequence.
9528 (decode_coding): Initialize coding->errors and coding->result.
9529 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9530 and raw-text, always call decode_eol. Handle the case of last
9531 block here. If not coding->dst_multibyte, convert the resulting
9532 sequence to unibyte.
9533 (encode_coding): Initialize coding->errors and coding->result.
9534 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9535 and raw-text, always call encode_eol. Handle the case of last
9536 block here.
9537 (shrink_decoding_region, shrink_encoding_region): Detect cases
9538 that we can't skip data more rigidly.
9539 (code_convert_region): Setup src_multibyte and dst_multibyte
9540 members of coding. For decoding, if the buffer is multibyte,
9541 convert the source sequence to unibyte in advance. For encoding,
9542 if the buffer is multibyte, convert the resulting sequence to
9543 multibyte afterward.
9544 (run_pre_post_conversion_on_str): New function.
9545 (code_convert_string): Deleted and divided into the following two.
9546 (decode_coding_string, encode_coding_string): New functions.
9547 (code_convert_string1, code_convert_string_norecord): Call one of
9548 above.
9549 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9550 MAKE_NON_ASCII_CHAR.
52283633
SM
9551 (Fset_terminal_coding_system_internal)
9552 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9553 and dst_multibyte members.
9554 (init_coding_once): Initialize iso_code_class with new enum
9555 ISO_control_0 and ISO_control_1.
9556
9557 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9558 devided into ISO_control_0 and ISO_control_1.
9559 (struct coding_system): New members src_multibyte, dst_multibyte,
9560 errors, and result. Delete member fake_multibyte.
9561 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9562 nonzero.
9563 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9564 nonzero.
9565
9566 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9567 (Faset): Likewise.
9568
9569 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9570 multibyte form.
9571 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9572 combining occurs.
9573 (Ftranspose_region): Delete codes for handling byte combining.
9574
9575 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9576 dst_multibyte members of coding. On handling REPLACE on unibyte
9577 buffer, convert the result of decode_coding to unibyte. On
9578 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9579 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9580 multibyteness of the source (buffer or string).
9581
9582 * fns.c (concat): Handle 8-bit characters correctly.
9583 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9584 unibyte in the result.
9585 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9586 valid multibyte form in the result.
9587 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9588 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9589 return -1, signal an error.
9590 (base64_encode_1): New arg MULTIBYTE. Get each character by
9591 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9592 character is found, return -1.
9593 (Fbase64_decode_region): Delete codes for handling byte-combining.
9594 Treat each decoded byte as a unibyte character.
9595 (Fbase64_decode_string): Return unibyte string.
9596 (Fcompare_strings, concat, string_byte_to_char): Use
9597 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9598 FETCH_STRING_CHAR_ADVANCE.
9599 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9600 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9601
9602 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9603 SPLIT_NON_ASCII_CHAR.
9604 (fontset_ref_via_base, fontset_set): Likewise
9605
9606 * insdel.c (adjust_markers_for_record_delete): Deleted.
9607 (adjust_markers_for_insert): Argument changed. Caller changed.
9608 (adjust_markers_for_replace): Likewise.
52283633
SM
9609 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9610 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9611 (copy_text): Delete unused local varialbe c_save. For converting
9612 to multibyte, be sure to make all 8-bit characters in valid
9613 multibyte form.
9614 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9615 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9616 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9617 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9618 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9619 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9620 handling byte combining.
9621 (adjust_before_replace): Deleted.
427ec082 9622
c9671f81
KH
9623 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9624 SPLIT_NON_ASCII_CHAR.
9625 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9626 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9627 (Fkey_description): Likewise.
9628
9629 * lread.c (read1): On reading multibyte string, be sure to make
9630 all 8-bit chararacters in valid multibyte form.
9631 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9632
9633 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9634 unconditionally.
9635
9636 * process.c (Fstart_process): GCPRO current_dir before calling
9637 Ffind_operation_coding_system. Encode arguments here.
9638 (create_process): Don't encode arguments here. Setup
9639 src_multibyte and dst_multibyte members of struct coding.
9640 (read_process_output): Setup src_multibyte and dst_multibyte
9641 members of struct coding. If the output is to multibyte buffer,
9642 always decode the output of the process. Adjust the
52283633 9643 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9644 (send_process): Setup coding->src_multibyte according to the
9645 multibyteness of the source.
9646
52283633 9647 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9648 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9649 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9650
52283633 9651 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9652
9653 * w16select.c (Fw16_set_clipboard_data): Setup members
9654 src_multibyte and dst_multibyte of coding. Adjusted for the
9655 change for find_charset_in_str.
9656 (Fw16_get_clipboard_data): Likewise.
9657
9658 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9659 dst_multibyte of coding.
9660 (x_to_w32_font): Likewise.
9661
9662 * w32select.c (Fw32_set_clipboard_data): Setup members
9663 src_multibyte and dst_multibyte of coding. Adjusted for the
9664 change for find_charset_in_str.
9665 (Fw32_get_clipboard_data): Likewise.
9666
9667 * xdisp.c (get_next_display_element): Handle 8-bit characters
9668 correctly.
52283633
SM
9669 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9670 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9671
9672 * xselect.c (selection_data_to_lisp_data): Setup members
9673 src_multibyte and dst_multibyte of coding. Adjusted for the
9674 change for find_charset_in_str.
9675 (lisp_data_to_selection_data): Likewise.
9676
5f64c9e0
GM
96772000-05-19 Gerd Moellmann <gerd@gnu.org>
9678
52283633 9679 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9680
5f64c9e0
GM
9681 * dispextern.h (Vimage_types): Add extern declaration.
9682
9683 * xdisp.c (Vimage_types): Moved here from xfns.c.
9684 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9685
9686 * xfns.c (Vimages_types): Moved to xdisp.c.
9687 (syms_of_xfns): Move `image-types' to xdisp.c.
9688
9689 * w32fns.c (Vimage_types): Removed.
9690 (syms_of_w32fns): Remove `image-types'.
9691
813086ea
KH
96922000-05-18 Kenichi Handa <handa@etl.go.jp>
9693
9694 * fns.c (map_char_table): Pay attention to character number of
9695 charset. Check the validity of charset at the first level. For
9696 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9697 the default value.
9698
9699 * fontset.c: Include "buffer.h".
9700 (fs_load_font): If the face has fontset, record the face ID in
9701 that fontset.
9702 (Finternal_char_font): New function.
9703 (accumulate_font_info): New function.
9704 (Ffontset_info): Rewritten for the new fontset implementation.
9705 (syms_of_fontset): Register Vdefault_fontset in the first element
9706 of Vfontset_table. Include Vdefault_fontset in
9707 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9708 function.
9709
bdaebbf0
DL
97102000-05-16 Dave Love <fx@gnu.org>
9711
9712 * m/iris5d.h: Deleted -- unused.
9713
cb613bb8
GM
97142000-05-16 Gerd Moellmann <gerd@gnu.org>
9715
b15f3b77
GM
9716 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9717 `invalid' instead of `illegal'.
9718
9719 * indent.c (Fmove_to_column): When ending within a tab, insert
9720 spaces first so that markers at the end of the tab get adjusted.
9721
835c1b36
GM
9722 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9723 buffer list that wasn't selected in that frame.
9724
cb613bb8
GM
9725 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9726 is needed on mescaline, use a 2 char prefix, and call
9727 make_temp_name with second arg non-zero.
9728
9729 * fileio.c (make_temp_name): New function, extracted from
9730 Fmake_temp_name.
9731 (Fmake_temp_name): Use it.
9732
f685bea9
EZ
97332000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9734
52283633 9735 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9736
a1b8d58b
GM
97372000-05-15 Gerd Moellmann <gerd@gnu.org>
9738
9739 * Makefile.in (lisp): Add env.elc.
9740
9741 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9742
a265079f
GM
97432000-05-12 Gerd Moellmann <gerd@gnu.org>
9744
9745 * search.c (Freplace_match): Handle case of `\N' in the
9746 replacement when there's no group N.
9747
da4496b6
GM
97482000-05-11 Gerd Moellmann <gerd@gnu.org>
9749
0ace421a
GM
9750 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9751 of the message to message_dolog.
9752
1172eb8d
GM
9753 * keyboard.c (read_char): Don't clear current message for help
9754 events; let the code handling help events handle this. Change
9755 code detecting help events that should be ignored.
9756
da4496b6
GM
9757 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9758 we're interating over a string.
9759
0623e40f
DL
97602000-05-09 Dave Love <fx@gnu.org>
9761
9762 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9763 that offset before writing. Move gcpro region past call of
9764 Ffile_regular_p.
9765
bae2503b
DL
97662000-05-04 Dave Love <fx@gnu.org>
9767
9768 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9769
ec82fb2f
GM
97702000-05-04 Gerd Moellmann <gerd@gnu.org>
9771
9772 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9773 of inserted characters when BUF equals the current buffer, and PT
9774 is in front of or equal to FROM.
9775
cbf18892
GM
97762000-05-03 Gerd Moellmann <gerd@gnu.org>
9777
4ff40dd0
GM
9778 * xdisp.c (handle_single_display_prop): If display property value
9779 is invalid, or something not supported on the frame, restore
9780 iterator's position to what it was initially. Make sure to return
9781 0 for invalid and unsupported property values.
9782
cbf18892
GM
9783 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9784 that x_per_char_metric returns null.
9785
1b0672c3
GM
97862000-05-02 Gerd Moellmann <gerd@gnu.org>
9787
576da55d
GM
9788 * xterm.h (struct face): Add forward declaration.
9789 (struct image): Ditto.
9790 (image_ascent): Add prototype.
9791
9792 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9793 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9794 image_ascent instead of using IMAGE_ASCENT.
9795
9796 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9797 (IMAGE_ASCENT): Removed.
9798
9799 * xfns.c (Qcenter): New variable.
9800 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9801 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9802 (image_ascent): New function.
9803 (lookup_image): Recognize `:ascent center'.
9804 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9805 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9806 (xbm_load): Don't set image's ascent here.
9807 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9808 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9809 check ascent values here.
9810 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9811 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9812 (syms_of_xfns): Initialize Qcenter.
9813
1b0672c3
GM
9814 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9815 to the limits, increase the limits.
9816
0d7811ed
KH
98172000-05-01 Kenichi Handa <handa@etl.go.jp>
9818
9819 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9820 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9821
a943a5ca
GM
98222000-04-28 Gerd Moellmann <gerd@gnu.org>
9823
9824 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9825 taller than the window.
9826
5dba1e29
KH
98272000-04-28 Kenichi Handa <handa@etl.go.jp>
9828
9829 * xfaces.c (realize_x_face): Fix the argument of the second
9830 xassert. BASE_FACE may not be a face for ASCII.
9831
353964e3
GM
98322000-04-27 Gerd Moellmann <gerd@gnu.org>
9833
c76e04a8
GM
9834 * print.c (print_object): Treat print-length < 0 as nil.
9835
9836 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9837
9838 * s/freebsd.h (TERMCAP_OBJ): Removed.
9839 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9840
9841 * lread.c (read1): Don't treat period followed by certain
9842 characters as symbol start.
9843
9844 * xfns.c (slurp_file): New function.
9845 (xbm_image_p): Handle case of in-memory XBM files.
9846 (xbm_scan): Rewritten to work on memory buffers instead of files.
9847 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9848 Work on memory buffers instead of files. If DATA is null test
9849 if buffer looks like an in-memory XBM file.
9850 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9851 memory buffers instead of files.
9852 (xbm_file_p): New function.
9853 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9854
353964e3
GM
9855 * lread.c (end_of_file_error): New function.
9856 (read1): Call it instead of signaling `end-of-file' directly.
9857
427ec082 9858 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9859 with Fprinc instead of Fprin1.
9860
24d744ac
KR
98612000-04-26 Ken Raeburn <raeburn@gnu.org>
9862
9863 * window.c (freeze_window_start): Check that minibuffer scroll
9864 window isn't nil before extracting the window structure pointer
9865 from it.
9866
9867 * undo.c (record_delete): If we hit the end of the undo list, stop
9868 picking elements apart.
9869
7464346d
GM
98702000-04-26 Gerd Moellmann <gerd@gnu.org>
9871
9872 * xdisp.c (display_line): If lines are continued, restore
9873 iterator's ascent/descent information to the values before the
9874 first glyph not fitting on the line.
9875
612839b6
GM
98762000-04-25 Gerd Moellmann <gerd@gnu.org>
9877
9878 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9879 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9880
9881 * dispnew.c (increment_matrix_positions): Renamed from
9882 increment_glyph_matrix_buffer_positions.
9883 (increment_row_positions): Renamed from
9884 increment_glyph_row_buffer_positions.
9885
9886 * dispextern.h: Change names of renamed functions from dispnew.c
9887 in prototypes.
9888
cc181e95
GM
98892000-04-24 Gerd Moellmann <gerd@gnu.org>
9890
abfcc168
GM
9891 * fileio.c (Fdo_auto_save): Create directories for auto-save
9892 list file if necessary.
9893
cc181e95
GM
9894 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9895 from buffer or frame.
9896 (automatic_hscrolling_p): New variable.
9897 (hscroll_windows): Scroll windows horizontally only if automatic
9898 hscrolling is allowed.
9899 (syms_of_xdisp): New variable `automatic-hscrolling'.
9900
9901 * frame.h (struct frame): Add member extra_line_spacing.
9902
9903 * xfns.c (x_set_line_spacing): New function.
9904 (Fx_create_frame): Set line spacing from resources.
9905 (Qline_spacing): New variable.
9906 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9907
cc181e95
GM
9908 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9909
9910 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9911 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9912 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9913 extra_line_spacing from default value.
9914 (init_buffer_once): Initialize default value of extra_line_spacing.
9915
9916 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9917 and extra3.
9918
9919 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9920 prompt_width. Add extra line spacing.
9921
9922 * term.c (produce_glyphs): Remove reference to struct it's
9923 prompt_width.
9924
9925 * dispextern.h (struct it): Remove member prompt_width, add
9926 extra_line_spacing.
9927
58827478
GM
99282000-04-22 Gerd Moellmann <gerd@gnu.org>
9929
9930 * dispnew.c (update_frame_line): When writing a whole line, make
9931 sure cursor is in the right row afterwards, otherwise a use of
9932 capability `ch' in cmgoto might leave the cursor in the row below.
9933
25a87f42
GM
99342000-04-21 Gerd Moellmann <gerd@gnu.org>
9935
9936 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9937
9938 * keyboard.c (timer_check): Fix typo in comment.
9939
54edf5c2
KH
99402000-04-21 Kenichi Handa <handa@etl.go.jp>
9941
9942 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9943 name change: ch -> character.
9944
3a64eef5
GM
99452000-04-20 Gerd Moellmann <gerd@gnu.org>
9946
9947 * keyboard.c (echo_message_buffer): New variable.
9948 (echo_now): Set echo_message_buffer to the echo area buffer used
9949 to display the echo.
9950 (cancel_echoing): Reset echo_message_buffer to nil.
9951 (read_char): Code rewritten that handles canceling an echo or
9952 echoing a dash, respectively.
9953
9954 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9955 directory doesn't exist.
9956
6142fdcb
DL
99572000-04-19 Dave Love <fx@gnu.org>
9958
9959 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9960 (concat): Don't allow numeric args.
9961 (Fconcat): Doc change.
6142fdcb 9962
ac6b5352
SM
99632000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9964
9965 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9966 instead define end_match(1|2) more carefully.
9967 Use GET_CHAR_BEFORE_2 for `begline'.
9968
cb9215e4
GM
99692000-04-19 Gerd Moellmann <gerd@gnu.org>
9970
5e3dac3f
GM
9971 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9972 on 64-bit systems where NULL is defined as `0'.
9973
9974 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9975 the `variable argument list' to make it work on Alpha.
9976
cb9215e4
GM
9977 * m/alpha.h (_LP64) [!_LP64]: Define.
9978 (ORDINARY_LINK): Define for NetBSD.
9979
9980 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9981
f532dca0
DL
99822000-04-19 Dave Love <fx@gnu.org>
9983
c750667e
DL
9984 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9985 change.
9986
9987 * Makefile.in (LIBS): Don't use.
9988 (GETLOADAVG_OBJ): Define again.
9989 (otherobj): Add GETLOADAVG_OBJ.
9990
f532dca0
DL
9991 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9992
1c7e22fd
GM
99932000-04-18 Gerd Moellmann <gerd@gnu.org>
9994
f6d3257b
GM
9995 * lread.c (read_filtered_event): Cancel and start busy cursor.
9996
427ec082 9997 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9998 that the per-character metrics may be null.
9999
e10f64e7
GM
100002000-04-17 Gerd Moellmann <gerd@gnu.org>
10001
0daee095
GM
10002 * buffer.c (clone_per_buffer_values): New function.
10003 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10004 clone_per_buffer_values if CLONE is not nil.
10005
e10f64e7
GM
10006 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10007
38687d43
DL
100082000-04-16 Dave Love <fx@gnu.org>
10009
10010 * Makefile.in: Remove obsolete localcpp stuff.
10011 (GETLOADAVG_OBJ): Don't define.
10012 (obj): Move LIBOBJS...
10013 (otherobj): ... to here.
10014 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10015 whitespace-only lines after the continuation (Irix).
10016
c21c7262
GM
100172000-04-14 Gerd Moellmann <gerd@gnu.org>
10018
10019 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10020
10021 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10022
314767c0
DL
100232000-04-14 Dave Love <fx@gnu.org>
10024
10025 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10026 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10027 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10028 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10029 NLIST_STRUCT.
10030
10031 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10032 autoconfiscated HAVE_GETLOADAVG.
10033
10034 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10035 BROKEN_MKTIME.
10036
a2522dca
GM
100372000-04-14 Gerd Moellmann <gerd@gnu.org>
10038
10039 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10040 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10041
33744b5d
DL
100422000-04-14 Dave Love <fx@gnu.org>
10043
c21c7262 10044 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10045 (INTERVAL_SRC): Convert to make variable.
10046 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10047 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10048 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10049 add LIBOBJS.
10050 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10051 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10052 (shortlisp): Add facemenu, float-sup, frame.
10053 (SOME_MACHINE_LISP): Remove them from here.
10054 (LIBES): Change unused LDLIBS to autoconf LIBS.
10055
10056 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10057
9d3d5916
KH
100582000-04-14 Kenichi Handa <handa@etl.go.jp>
10059
10060 * composite.c (update_compositions): If FROM and TO are not in a
10061 valid range, do nothing.
10062
198e3c7a
GM
100632000-04-13 Gerd Moellmann <gerd@gnu.org>
10064
52283633 10065 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10066
52283633 10067 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10068
10069 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10070 as TERMCAP_OBJ.
10071
055a28c9
EZ
100722000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10073
10074 * fileio.c (a_write): Remove redundant semi-colons.
10075 (e_write): Return -1 if failed to write all the data.
10076 This fixes the changes made at 1999-12-15.
10077
f5c75033
DL
100782000-04-12 Dave Love <fx@gnu.org>
10079
10080 * fns.c (mapcar1): Test for null vals to support mapc.
10081 (Fmapc): New function.
10082
0c3cfc51
EZ
100832000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10084
10085 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10086 (IT_frame_up_to_date): Support the buffer local value of
10087 cursor-type, if defined.
10088
33465a31
DL
100892000-04-10 Dave Love <fx@gnu.org>
10090
10091 * editfns.c (preceding-char, following-char): Doc fix.
10092
6ed56568
KR
100932000-04-10 Ken Raeburn <raeburn@gnu.org>
10094
10095 * Makefile.in (temacs): Revert 2000-03-12 change.
10096
7cf80d4e
JR
100972000-04-10 Jason Rumney <jasonr@gnu.org>
10098
10099 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10100
34f3f342
GM
101012000-04-10 Gerd Moellmann <gerd@gnu.org>
10102
1a1b1895
GM
10103 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10104 area buffer, if it's not set up yet.
10105
34f3f342
GM
10106 * indent.c (compute_motion): Set immediate_quit.
10107
be0dbdab
GM
101082000-04-09 Gerd Moellmann <gerd@gnu.org>
10109
52283633 10110 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10111 (realize_tty_face): Suppress boldness if colors are the inverse of
10112 the default colors, and tty_suppress_bold_inverse_default_colors_p
10113 is set.
10114 (Ftty_suppress_bold_inverse_default_colors): New function.
10115 (syms_of_xfaces): Defsubr it.
10116
be0dbdab
GM
10117 * buffer.c (Frestore_buffer_modified_p): New function.
10118 (syms_of_buffer): Defsubr it.
10119
e8413c3b
KR
101202000-04-08 Ken Raeburn <raeburn@gnu.org>
10121
87f67317
KR
10122 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10123 charset id (int) argument, not a charset (Lisp_Object).
10124
e8413c3b
KR
10125 * coding.h (code_convert_string): Declare.
10126 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10127 object, as the fourth argument to code_convert_string.
10128
52283633 10129 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10130 (Fset_fontset_font): Use EQ to compare lisp objects.
10131
7c752c80
KR
101322000-04-05 Ken Raeburn <raeburn@gnu.org>
10133
c0333abc
KR
10134 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10135 a pointer that looks like a lisp object.
10136 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10137 zero, instead see whether it's an integer object, since they can't
10138 have intervals.
10139 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10140
52283633
SM
10141 * dispnew.c (allocate_matrices_for_frame_redisplay)
10142 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10143 to convert between (unsigned) int values and lisp integers.
10144 * keyboard.c (read_key_sequence): Likewise.
10145 * lread.c (substitute_object_recurse): Likewise.
10146 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10147 * minibuf.c (do_completion, Fminibuffer_complete_word)
10148 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10149 * term.c (produce_special_glyphs): Likewise.
10150
10151 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10152 * print.c (print_preprocess, print_object): Likewise.
10153
10154 * search.c (compile_pattern): Use NILP when checking for nil.
10155
74e49b38
KR
10156 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10157 __OPTIMIZE__]: Provide a GNU C macro version that handles
10158 lisp-object unions.
10159 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10160 field, to better cope with ENABLE_CHECKING and calls that modify a
10161 Lisp_Object using its old value.
10162
685e5ed2
GM
101632000-04-04 Gerd Moellmann <gerd@gnu.org>
10164
c407c570
GM
10165 * window.c (compare_window_configurations): Signal an error
10166 if parameters C1 or C2 aren't window configurations.
10167
685e5ed2
GM
10168 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10169 AFTER_POTENTIAL_GC calls around calls to functions that can
10170 signal an error and thus invoke the debugger.
10171
587a49ab
GM
101722000-04-03 Gerd Moellmann <gerd@gnu.org>
10173
62f20204
GM
10174 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10175 an error if decoding fails.
10176
587a49ab
GM
10177 * keyboard.c (lispy_mouse_names): Variable removed.
10178 (Vlispy_mouse_stem): New variable.
10179 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10180 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10181 for any mouse button number. Increase size of mouse_syms and
10182 button_down_location as needed. Call modify_event_symbol with
10183 different arguments.
10184 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10185 Call modify_event_symbol with different arguments.
10186 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10187 for any button number. Call modify_event_symbol with different
10188 arguments.
10189 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10190 Accept a string for NAME_ALIST_OR_STEM.
10191
10192 * lisp.h (larger_vector): Add prototype.
10193
10194 * fns.c (larger_vector): Make externally visible.
10195
10196 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10197
2d1675e4
SM
101982000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10199
10200 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10201 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10202 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10203 we are between str1 and str2.
10204 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10205 (PATFETCH): Use `TRANSLATE'.
10206 (PATFETCH_RAW): Fetch multibyte char if applicable.
10207 (PATUNFETCH): Remove.
10208 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10209 When writing a char, write it directly into the pattern buffer rather
10210 than going needlessly through a temp char-array.
10211 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10212 multibyte magic and remove the useless `#ifdef emacs'.
10213 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10214 buffer.
10215
10216 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10217 conditional on `emacs'.
10218
10219 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10220
cc2d8c6b
KR
102212000-04-01 Ken Raeburn <raeburn@gnu.org>
10222
10223 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10224 non-union-type versions of XMARK and friends here, because XMARK
10225 and friends won't work on an integer field if NO_UNION_TYPE is not
10226 defined.
52283633 10227 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10228
52283633 10229 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10230 (syms_of_composite): Delete local var NARGS, pass an int as first
10231 argument to Fmake_hash_table.
10232
2387b382
KR
10233 * editfns.c (text_property_stickiness): Use NILP to test
10234 Lisp_Object boolean value.
10235 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10236 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10237 problems reading from and changing the same lisp value in an
10238 XSETSTRING call.
10239
27660e89
GM
102402000-04-01 Gerd Moellmann <gerd@gnu.org>
10241
10242 * term.c (TN_no_color_video): New variable.
10243 (term_init): Intitialize TN_no_color_video.
10244 (enum no_color_bit): New enumeration.
10245 (MAY_USE_WITH_COLORS_P): New macro.
10246 (turn_on_face): Use it to determine if attributes may be used
10247 combined with colors.
10248
3578db3c
KR
102492000-04-01 Ken Raeburn <raeburn@gnu.org>
10250
10251 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10252 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10253 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10254 proper accessor macros.
10255 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10256 (grow_mini_window): Fix typo getting int value of root->height.
10257
6fc556fd
KR
10258 * xdisp.c (compute_string_pos): Fix order of arguments to
10259 string_pos_nchars_ahead.
10260 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10261 count arg to variable-arg routines like Frun_hook_with_args and
10262 Fformat.
587a49ab
GM
10263 (back_to_previous_visible_line_start)
10264 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10265 fixed-arg routines like Fget_char_property and Fmake_string.
10266 (reconsider_clip_changes): Use XINT when comparing integer lisp
10267 objects, or passing them as int arguments.
587a49ab
GM
10268 (mark_window_display_accurate, insert_left_trunc_glyphs)
10269 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10270 storing or passing integer values as lisp objects.
10271 (set_cursor_from_row, highlight_trailing_whitespace): Use
10272 INTEGERP, not implicit test against zero, for glyph object.
10273 (try_window_id): Don't use make_number when we want an int value.
10274
10275 * xfaces.c (xlfd_symbolic_value): Make last argument a
10276 Lisp_Object, to be consistent with callers.
10277 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10278 (lface_hash): Apply XFASTINT to lisp values before folding in.
10279
10280 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10281 fill in window width and height. Pass an int, not a lisp object,
10282 as first arg to Finsert.
10283
6e7b2457
GM
102842000-04-01 Gerd Moellmann <gerd@gnu.org>
10285
610d841e
GM
10286 * xfaces.c (realize_basic_faces): Block input while realizing
10287 the faces.
10288
6e7b2457
GM
10289 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10290
10291 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10292
aa110c0c
GM
102932000-03-31 Gerd Moellmann <gerd@gnu.org>
10294
10295 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10296 or ASCII, handle case that per-char metric is null.
aa110c0c 10297
8801a864
KR
102982000-03-30 Ken Raeburn <raeburn@gnu.org>
10299
c6129d7e
KR
10300 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10301
52283633
SM
10302 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10303 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10304 pointer, using eassert.
10305 * frame.h (XFRAME): Likewise.
10306
52283633
SM
10307 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10308 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10309 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10310 * data.c (set_internal): Likewise.
52283633
SM
10311 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10312 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10313 * fileio.c (auto_save_1): Likewise.
10314 * insdel.c (check_markers): Likewise.
10315 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10316 * undo.c (record_insert): Likewise.
10317 * vmsproc.c (child_sig): Likewise.
10318 * window.c (unshow_buffer, window_loop): Likewise.
10319 * xterm.c (x_erase_phys_cursor): Likewise.
10320
8e7af858
GM
103212000-03-30 Gerd Moellmann <gerd@gnu.org>
10322
10323 * xfns.c (free_image_cache): Free the cache structure itself
10324 last, after all its members have been freed.
10325
10326 * lisp.h (xstrdup): Add prototype.
10327
10328 * alloc.c (xstrdup): Moved here from xfaces.c.
10329 (allocating_for_lisp): Variable removed.
52283633 10330 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10331
10332 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10333 of Fsymbol_value.
10334 (xstrdup): Moved to alloc.c.
10335
e0b8c689
KR
103362000-03-29 Ken Raeburn <raeburn@gnu.org>
10337
b96f9fb7
KR
10338 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10339
10340 * emacs.c (main): Fix sense of no-loadup test.
10341
e0b8c689
KR
10342 * config.in (ENABLE_CHECKING): Undef.
10343
10344 * lisp.h (struct interval): Replace "parent" field with a union of
10345 interval pointer and Lisp_Object; add new bitfield to use as
10346 discriminant. Change other flag fields to bitfields.
10347 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10348 is defined and the supplied test fails, print a message and abort.
10349 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10350
10351 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10352 pointers; abort if the value looks like a lisp object.
52283633
SM
10353 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10354 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10355 Modify for new interval parent definition.
10356
52283633
SM
10357 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10358 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10359 addressable lisp object in the interval structure.
10360 (die): New function.
10361 (suppress_checking): New variable.
10362
10363 * intervals.c (interval_start_pos): Just return 0 if there's no
10364 parent object.
10365
f83c5440
GM
103662000-03-29 Gerd Moellmann <gerd@gnu.org>
10367
10368 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10369 and earlier Emacs versions.
10370
10371 * keyboard.c (Ftop_level): Cancel busy-cursor.
10372
10373 * eval.c (call_debugger): Cancel busy-cursor.
10374
fdce64ff
KH
103752000-03-29 Kenichi Handa <handa@etl.go.jp>
10376
10377 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10378 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10379
f6a3f532
SM
103802000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10381
10382 * regex.c (analyse_first): New function obtained by ripping out most
10383 of re_compile_fastmap and generalizing it a little bit so that it
10384 can also just return whether a given (sub)pattern can match the empty
10385 string or not.
10386 (regex_compile): Use `analyse_first' to decide whether the loop-check
10387 needs to be done or not for *, +, *? and +? (the loop check is costly
10388 for non-greedy repetition).
10389 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10390
e9b309ac
DL
103912000-03-28 Dave Love <fx@gnu.org>
10392
52283633 10393 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10394
e9b309ac
DL
10395 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10396
ed0767d8
SM
103972000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10398
10399 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10400 an expression.
10401 (enum re_opcode_t): Update description of succeed_n.
10402 (PATFETCH): Always define.
10403 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10404 operators, char classes, shy-groups and intervals).
10405 Optimize special cases of intervals so as to only use succeed_n and
10406 jump_n when really needed.
10407 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10408 that we don't have to handle the special cases any more.
10409 Simplify on_failure_jump handling as well.
10410
e11e7e46
JR
104112000-03-28 Jason Rumney <jasonr@gnu.org>
10412
10413 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10414
88faab89
GM
104152000-03-27 Gerd Moellmann <gerd@gnu.org>
10416
182ff242
GM
10417 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10418
10419 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10420
182ff242
GM
10421 * alloc.c (mark_maybe_object): New function.
10422 (mark_memory): Use it.
10423 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10424 (setjmp_tested_p, longjmp_done): New variables.
10425 (test_setjmp): New function.
10426 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10427 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10428
c1005d06
GM
10429 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10430 to DEC_TEXT_POS and INC_TEXT_POS.
10431
10432 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10433 with parameter MULTIBYTE_P.
10434
52283633 10435 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10436
7439e5b9 10437 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10438 buffers because it looks for multibyte character byte sequences
10439 which don't exist in unibyte text.
7439e5b9 10440
d9c545da
GM
10441 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10442
11fd416e 10443 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10444 [DEBUG_X_COLORS]: New functions.
10445 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10446
10447 * xfns.c (x_set_cursor_color): Get color reference counts right.
10448
10449 * xterm.c (x_copy_color): New function.
10450 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10451
10452 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10453 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10454 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10455 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10456 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10457 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10458 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10459 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10460 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10461 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10462
11fd416e
GM
10463 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10464 names for handling per-buffer variables.
d9c545da
GM
10465
10466 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10467 instead of MAX_BUFFER_LOCAL_VARS.
10468 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10469
10470 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10471
88faab89
GM
10472 * xfns.c (x_specified_cursor_type): New function.
10473 (x_set_cursor_type): Use it.
10474
10475 * buffer.h (struct buffer): Add cursor_type.
10476
d80f42b7
SM
104772000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10478
10479 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10480 (print_partial_compiled_pattern, re_compile_fastmap):
10481 Handle new opcode.
d80f42b7
SM
10482 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10483 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10484 executing it as well as when popping it off the stack to find infinite
10485 loops in non-greedy repetition operators.
10486
89e80928
GM
104872000-03-26 Gerd Moellmann <gerd@gnu.org>
10488
3d4ff2dd
GM
10489 * doc.c (Qfunction_documentation): New variable.
10490 (syms_of_doc): Initialize Qfunction_documentation.
10491 (Fdocumentation): If FUNCTION is a symbol with non-nil
10492 `function-documentation' property, return a documentation derived
10493 from that.
10494
bd96bd79
GM
10495 * buffer.c (syms_of_buffer): Add default-cursor-type.
10496 (init_buffer_once): Don't let cursor_type have a local value
10497 in every buffer.
10498
19d1bc27
GM
10499 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10500 on buffer-local value of cursor_type.
10501 (x_draw_bar_cursor): Add parameter WIDTH.
10502
10503 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10504 (init_buffer_once): Set default cursor_type value to t.
10505 Mark cursor_type as local everywhere.
10506 (syms_of_buffer): New per-buffer variable cursor-type.
10507
89e80928
GM
10508 * buffer.h (struct buffer): Remove member local_var_flags,
10509 add local_flags.
10510 (MAX_BUFFER_LOCAL_VARS): New macro.
10511 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10512 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10513 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10514 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10515
52283633 10516 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10517
10518 * category.c (Fset_category_table): Use new macros for per-buffer
10519 variables.
10520
10521 * buffer.c (buffer_permanent_local_flags): Make a char array.
10522 (max_buffer_local_idx): New variable.
10523 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10524 for new handling of per-buffer variables.
10525 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10526 (init_buffer_once): Initialize per-buffer vars differently.
10527 Set max_buffer_local_idx.
10528
10529 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10530 variables.
10531
52283633 10532 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10533
10534 * data.c (do_symval_forwarding, store_symval_forwarding)
10535 (find_symbol_value, set_internal, default_value, Fset_default)
10536 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10537 per-buffer variables.
10538
10539 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10540
9a0dd3dc
GM
105412000-03-24 Gerd Moellmann <gerd@gnu.org>
10542
b68c375f
GM
10543 * xterm.c (x_term_init): Unblock input around call1 of
10544 Qvendor_specific_keysyms.
10545
9a0dd3dc
GM
10546 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10547 (find_defun_start): Consider an open parenthesis in column 0
10548 a defun start only if open_paren_in_column_0_is_defun_start is set.
10549 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10550
7973e637
SM
105512000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10552
10553 * eval.c (Fautoload): Add entry in load-history (if after dump).
10554 * lread.c (load-history): Update docstring.
10555
39210e90
GM
105562000-03-24 Gerd Moellmann <gerd@gnu.org>
10557
10558 * indent.c (Fvertical_motion): Always use the current buffer.
10559 Temporarily change the window's buffer, if necessary.
10560
72db3ab5
GM
105612000-03-23 Gerd Moellmann <gerd@gnu.org>
10562
10563 * xterm.c (fast_find_position): Make sure not to consider rows
10564 not visible in the window.
10565
990b2375
SM
105662000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10567
10568 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10569 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10570
ff4df011
JR
105712000-03-22 Jason Rumney <jasonr@gnu.org>
10572
10573 * w32menu.c (single_submenu): Set help string to NULL if none.
10574 (w32_menu_show): Set help string correctly.
10575 (add-menu-item): Set help string in MIIM_DATA for menu item.
10576 Load SetMenuItemInfoA explicitly.
10577 (w32_menu_display_help): New function.
427ec082 10578
ff4df011
JR
10579 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10580 (QCdata): Moved to xdisp.c.
10581
10582 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10583 (Vw32_charset_to_codepage_alist): Removed.
10584 (Vw32_charset_info_alist): New variable.
52283633
SM
10585 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10586 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10587 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10588 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10589 with TODO comment.
10590 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10591 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10592 Define Vw32_charset_info_alist and w32_charset symbols.
10593
105942000-03-22 Jason Rumney <jasonr@gnu.org>
10595
10596 * makefile.nt (w32bdf.obj): Update dependencies.
10597
10598 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10599
10600 * w32fns.c: Include fontset.h after dispextern.h.
10601 (Fx_create_frame): Do not create fontset.
10602 (w32_load_system_font): Doc fix.
10603 (Fx_close_connection): Free full_name if it is not shared.
10604
10605 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10606 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10607 Callers updated.
ff4df011
JR
10608 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10609 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10610 (w32_font_is_double_byte): New function, needs body.
10611 (x_append_glyph): Set glyph->glyph_not_available_p.
10612 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10613 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10614 character, convert it to a unibyte character.
10615 (struct glyph_string): Delete member `charset'.
10616 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10617 calculating it is found.
10618 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10619 the case that per char metric is not available correctly.
10620 (x_fill_glyph_string): Handle the case that the specific glyph is
10621 not available correctly.
10622 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10623 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10624 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10625 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10626 fontset. Don't call FS_LOAD_FONT.
10627
439d5cb4
KR
106282000-03-22 Ken Raeburn <raeburn@gnu.org>
10629
10630 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10631 (INT_LISPLIKE): New macro.
10632 (NULL_INTERVAL_P): Use it.
52283633
SM
10633 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10634 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10635 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10636
10637 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10638 explicit references to "parent" field of struct interval and
10639 associated unclean type conversions.
52283633
SM
10640 * intervals.c (create_root_interval, root_interval, rotate_right)
10641 (rotate_left, balance_possible_root_interval, split_interval_right)
10642 (split_interval_left, interval_start_pos, find_interval)
10643 (next_interval, previous_interval, update_interval)
10644 (adjust_intervals_for_insertion, delete_node, delete_interval)
10645 (adjust_intervals_for_deletion, merge_interval_right)
10646 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10647 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10648 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10649 Likewise.
10650 * syntax.c (update_syntax_table): Likewise.
10651
10652 * intervals.c (reproduce_tree_obj): New function, like
10653 reproduce_tree but takes a Lisp_Object for the parent. Declare
10654 with prototype.
10655 (graft_intervals_into_buffer): Use it when appropriate.
10656 (reproduce_tree): Declare with prototype.
10657 (balance_possible_root_interval): Check that the parent is a lisp
10658 object before trying to examine its type.
10659
ee1c5b21
GM
106602000-03-22 Gerd Moellmann <gerd@gnu.org>
10661
10662 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10663 as strings only if both are known to be strings.
10664
10665 * s/openbsd.h (LIBS_TERMCAP): Undef.
10666
1fb352e0
SM
106672000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10668
10669 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10670 definitions for non-Emacs compilation.
10671 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10672 outside of `#ifdef emacs'.
10673 (print_partial_compiled_pattern): Update.
10674 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10675 (re_compile_fastmap): Merge handling of charset and charset_not (for
10676 emacs and non-emacs compilation as well).
10677 Similarly for (not)categoryspec and (not)syntaxspec.
10678 Don't use the fastmap when reaching `anychar' since the added
10679 complexity is not justified.
10680 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10681 and (not)syntaxspec. Merge (not)categoryspec.
10682
fdaa1f77
KH
106832000-03-22 Kenichi Handa <handa@etl.go.jp>
10684
52283633
SM
10685 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10686 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10687 --without-x.
fdaa1f77 10688
d152fb46
DL
106892000-03-21 Dave Love <fx@gnu.org>
10690
10691 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10692 doc string.
10693
d2cafc8c
GM
106942000-03-21 Gerd Moellmann <gerd@gnu.org>
10695
10696 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10697 (lface_fully_specified_p): Don't check contents of
10698 LFACE_FONT_INDEX because that attribute is optional.
10699 (realize_x_face): Remove now unwarranted xassert.
10700
9111d4b5
KH
107012000-03-21 Kenichi HANDA <handa@etl.go.jp>
10702
10703 The following changes are to make font selection based on
10704 characters, not charset. In addition, they recover fontset
10705 facilities while utilizing the new font selection mechanism.
10706
6c4bfdc0
KH
10707 * Makefile.in (fontset.o): Depend on dispextern.h.
10708
10709 * alloc.c (mark_face_cache): Don't mark face->registry.
10710
9111d4b5
KH
10711 * dispextern.h (struct glyph): New member glyph_not_available_p.
10712 Use 22 bits for face_id.
10713 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10714 (struct face): Delete member registry, new member ascii_face.
10715 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10716 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10717 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10718 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10719
10720 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10721 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10722 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10723 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10724 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10725 (fs_free_face_fontset, fontset_font_pattern)
10726 (face_suitable_for_char_p, face_for_char)
10727 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10728 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10729 (FS_LOAD_FACE_FONT): New macro.
10730
10731 * fontset.c: All codes rewritten or adjusted for the change of
10732 fontset implementation. Now fontset is represented by char table.
52283633
SM
10733 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10734 Variables removed.
9111d4b5 10735 (my_strcasecmp): Function removed.
52283633 10736 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10737 (AREF, ASIZE): New macros.
52283633
SM
10738 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10739 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10740 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10741 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10742 (fontset_id_valid_p, font_family_registry, fontset_name)
10743 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10744 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10745 New functions.
10746 (fs_load_font): New arg FACE. Caller changed.
10747 (fs_query_fontset): Argument changed. Caller changed.
10748 (Fquery_fontset): call fs_query_fontset.
10749 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10750 Functions removed.
52283633
SM
10751 (clear_fontset_elements, check_registry_encoding)
10752 (check_fontset_name): New functions.
9111d4b5
KH
10753 (syms_of_fontset): Set char-table-extra-slots property of fontset
10754 to 3. Staticpro and initialize Vfontset_table and
10755 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10756
10757 * frame.h (struct frame): Member `fontset_data' removed.
10758 (FRAME_FONTSET_DATA): Macro removed.
10759
10760 * frame.c (make_frame): Don't allocate f->fontset_data.
10761 (Fdelete_frame): Don't free f->fontset_data.
10762
6c4bfdc0
KH
10763 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10764
9111d4b5
KH
10765 * xdisp.c (charset_at_position): Function removed.
10766 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10767 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10768 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10769 Likewise.
10770 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10771 FACE_FOR_CHARSET.
52283633
SM
10772 (get_next_display_element, append_space)
10773 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10774
10775 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10776 Variables removed.
10777 (clear_font_table, frame_update_line_height, load_face_font):
10778 Adjusted for the change of fontset implementation.
10779 (load_face_fontset_font): Function removed.
10780 (pixel_point_size): New function.
10781 (font_list): Argument type changed. Caller changed.
10782 (LFACE_FONT): New macro.
10783 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10784 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10785 Lisp_Object. Determine the font name by actually loading a font
10786 by the specified pattern. Set LFACE_FONT (lface) to the specified
10787 pattern. Even if a font is not found, don't try alternatives.
10788 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10789 (set_font_frame_param): If `font' is specified in lface, use it.
10790 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10791 (lface_same_font_attributes_p): Likewise.
10792 (make_realized_face): Arguent changed. Caller changed. Set
10793 face->ascii_face to face itself.
10794 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10795 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10796 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10797 (free_realized_multibyte_face): New function.
10798 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10799 changed. Caller changed.
10800 (try_font_list): Argument type changed.
10801 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10802 (choose_face_font): Argument changed. Handle fontset properly.
10803 (choose_face_fontset_font): Function removed.
10804 (realize_default_face, realize_named_face): Don't remove the
10805 former face here.
10806 (realize_face): Argument changed. Caller changed. Remove face
52283633 10807 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10808 (realize_x_face): Argument changed. Caller changed. For a
10809 multibyte character, share fontset with base_face. For a single
52283633 10810 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10811 (realize_tty_face): Argument changed. Caller changed.
10812 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10813 (face_at_buffer_position): Don't check multibyte_p for returning
10814 DEFAULT_FACE_ID.
10815 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10816 FACE_SUITABLE_FOR_CHARSET_P.
10817 (syms_of_xfaces): Remove code for Qx_charset_registry and
10818 Vface_default_registry.
10819
6c4bfdc0
KH
10820 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10821 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10822 (x_per_char_metric): Don't try FONT->default_char. Even if
10823 pcm->width is zero, glyph bits may exist.
10824 (x_encode_char): Always initialize char2b->byte1.
10825 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10826 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10827 (x_append_glyph): Set glyph->glyph_not_available_p.
10828 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10829 it->charset. Handle the case that per char metric is not
10830 available. If it->multibyte_p is zero and it->c is a multibyte
10831 character, convert it to a unibyte character.
10832 (struct glyph_string): Delete member `charset'.
10833 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10834 the case that per char metric is not available correctly.
10835 (x_fill_glyph_string): Handle the case that the specific glyph is
10836 not available correctly.
10837 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10838 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10839 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10840 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10841 fontset. Don't call FS_LOAD_FONT.
10842
10843 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10844 (x_create_tip_frame): Likewise.
10845 (Fx_close_connection): Free full_name of font_info.
10846
10847 * fns.c (optimize_sub_char_table): New function.
10848 (Foptimize_char_table): New function.
10849 (syms_of_fns): Defsubr Soptimize_char_table.
10850
b33dd3b0
GM
108512000-03-20 Gerd Moellmann <gerd@gnu.org>
10852
10853 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10854 only if buffer is displayed in some window.
10855
10856 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10857 (try_window_reusing_current_matrix): Don't call scroll run
10858 function if run's current and desired position are the same;
10859 this prevents cursor flickering.
10860
4e8a9132
SM
108612000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10862
10863 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10864
10865 * regex.c (RE_STRING_CHAR): New macro.
10866 (GET_CHAR_AFER_2): Remove.
10867 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10868 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10869 (print_partial_compiled_pattern, re_compile_fastmap)
10870 (re_match_2_internal): Remove on_failure_jump_exclusive.
10871 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10872 optimization only need to work for * (ie. can use of_keep_string_jump).
10873 Remove the special case for .*\n since it is now covered by the general
10874 optimization.
10875 (re_search_2): Don't bother with `room'.
10876 (skip_one_char): New function.
10877 (skip_noops): Simplify since `memory' is not needed any more.
10878 (mutually_exclusive_p): Restructure slightly to use `switch' and
10879 add handling for "all" remaining cases.
10880 (re_match_2_internal): Change on_failure_jump_smart to use
10881 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10882 rather than on_failure_jump_exclusive.
10883
2136fdd4
GM
108842000-03-19 Gerd Moellmann <gerd@gnu.org>
10885
10886 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10887 number of bits per RGB because it's everywhere used as the depth
10888 of the visual.
10889
10890 * term.c (calculate_costs): Remove code dealing with X frames.
10891
18e21ce8 108922000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10893
10894 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10895
d7b511c4
GM
108962000-03-18 Gerd Moellmann <gerd@gnu.org>
10897
10898 * lread.c (read_integer): Unread the last char not consumed.
10899
16b5d424
GM
109002000-03-17 Gerd Moellmann <gerd@gnu.org>
10901
10902 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10903 which are in the process of being deleted.
16b5d424 10904
1fa28578
GM
109052000-03-16 Gerd Moellmann <gerd@gnu.org>
10906
83488cce
GM
10907 * Makefile.in (mostlyclean): Add `*.core'.
10908 (clean): Add `bootstrap-emacs'.
10909
1fa28578
GM
10910 * lread.c (read_integer): New function.
10911 (read1): Support read syntax #o, #x, #b, #r.
10912
99633e97
SM
109132000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10914
1fa28578
GM
10915 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10916 make sure POINTER_TO_OFFSET gives the same value before and after
10917 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10918 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10919 (debug): Now only active if > 0 rather than if != 0.
10920 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10921 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10922 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10923 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10924 (store_op1, store_op2, insert_op1, insert_op2)
10925 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10926 (group_in_compile_stack): Move to after its arg's types are
10927 declared and add a prototype.
99633e97 10928 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10929 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10930 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10931 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10932 indentation of the greedy-op and shy-group code.
99633e97
SM
10933 (at_(beg|end)line_loc_p): Fix argument's types.
10934 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10935 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10936 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10937 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10938 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10939 QUIT unconditionally.
99633e97 10940
699238d9
GM
109412000-03-15 Gerd Moellmann <gerd@gnu.org>
10942
10943 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10944 a sole completion.
10945
10946 * process.c (send_process): Add a hint that the function
10947 can call Lisp code to its comment.
10948
10949 * lread.c (load_dangerous_libraries): New variable.
10950 (Vbytecomp_version_regexp): New variable.
10951 (safe_to_load_p): New function.
10952 (Fload): Handle files not compiled with Emacs specially.
10953 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10954
34e23e5a
GM
109552000-03-14 Gerd Moellmann <gerd@gnu.org>
10956
9c763cca
GM
10957 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10958
10959 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10960 support functions only if HAVE_X11R6_XIM is defined.
10961 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10962
10963 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10964
10965 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10966 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10967 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10968
10969 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10970 (HAVE_X11R6_XIM): Define.
10971
10972 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10973
34e23e5a
GM
10974 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10975 If set, call XSynchronize.
10976
66f0296e
SM
109772000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10978
34e23e5a
GM
10979 * regex.c: Declare a new type `re_char' used throughout the code
10980 for the string char type. It's `const unsigned char' to match the
10981 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10982 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10983 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10984 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10985 code duplication.
66f0296e
SM
10986
10987 * charset.h (GET_CHAR_AFTER_2): Remove.
10988 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10989
854a025c
KR
109902000-03-12 Ken Raeburn <raeburn@gnu.org>
10991
10992 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10993 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10994 of them try to use backquotes.
10995
b9d2c7e2
DL
109962000-03-12 Dave Love <fx@gnu.org>
10997
10998 * unexelf.c: Restore changes of 1999-10-19.
10999 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11000 fix its type and alignment; copy it from current process.
11001
5e5dff44
GM
110022000-03-12 Gerd Moellmann <gerd@gnu.org>
11003
9b2f3c38
GM
11004 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11005 has been found. Fix bug not computing timer's predecessor.
11006
427ec082 11007 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11008 file name.
11009
e1cff360
GM
11010 * window.c (Fsave_window_excursion): Doc fix.
11011
52283633 11012 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11013
e411ce4b
EZ
110142000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11015
11016 * msdos.c (vga_installed): New function, code moved from
11017 dos_set_window_size.
11018 (Qbar, Qcursor_type, outside_cursor): New variables.
11019 (syms_of_msdos): Intern and staticpro them.
11020 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11021 shape used outside Emacs when called for the first time.
11022 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11023 cursor shape used outside Emacs.
11024 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11025 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11026 type has changed.
11027 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11028 parameters specify the cursor. Make qreverse a global
11029 variable (renamed to Qreverse).
11030
80460654
GM
110312000-03-09 Gerd Moellmann <gerd@gnu.org>
11032
11033 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11034
95cd4c40
SM
110352000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11036
11037 This is a big redesign of failure-stack and register handling, prompted
11038 by bugs revealed when trying to add shy-groups. Overall, what happened
11039 is that loops are now structured a little differently, groups can be
11040 shy and the code is a little simpler.
11041
11042 * regex.h: Update the copyright.
11043 (RE_SHY_GROUPS): New value.
11044 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11045 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11046
80460654
GM
11047 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11048 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11049 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11050 for (start|stop)_memory since they now only take one argument (the
11051 second has becomes unnecessary).
52283633 11052 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11053 (print_compiled_pattern): Use %ld to printf long ints and flush to
11054 make debugging a little easier.
95cd4c40
SM
11055 (union fail_stack_elt): Make the integer unsigned.
11056 (struct fail_stack_type): Add a `frame' element.
11057 (INIT_FAIL_STACK): Init `frame' as well.
11058 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11059 (DEBUG_PUSH, DEBUG_POP): Remove.
11060 (NUM_REG_ITEMS): Remove.
11061 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11062 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11063 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11064 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11065 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11066 New macros.
80460654
GM
11067 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11068 address pushed is not the destination of the jump but the source
11069 of it instead.
95cd4c40
SM
11070 (NUM_FAILURE_ITEMS): Remove.
11071 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11072 registers before the actual failure point). Don't hardcode any
11073 meaning for str==NULL anymore.
95cd4c40 11074 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11075 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11076 Remove.
95cd4c40
SM
11077 (REG_UNSET_VALUE): Use NULL (why not?).
11078 (compile_range): Remove declaration since it doesn't exist.
11079 (struct compile_stack_elt_t): Remove inner_group_offset.
11080 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11081 (regex_grow_registers): Remove dead code.
11082 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11083 (regex_compile): Add shy-groups Change loops to use
11084 on_failure_jump_smart&jump instead of
11085 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11086 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11087 variable to me). Use `jump' instead of `jump_past_alt' and don't
11088 bother with push_dummy_failure in alternatives since it is now
11089 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11090 emacs' for (re)allocating the stack.
11091 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11092 from loop when bufp->can_be_null rather than jumping to `done'.
11093 Avoid jumping backwards so as to ensure termination. Use
11094 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11095 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11096 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11097 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11098 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11099 (lowest_active_reg, highest_active_reg)
11100 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11101 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11102 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11103 variables. Push register (in `start_memory') on the stack rather
11104 than storing it in old_reg(start|end). Remove the cycle detection
11105 from `stop_memory', replaced by the use of on_failure_jump_loop
11106 for greedy loops. Add code for the new on_failure_jump_<foo>.
11107 Remove ad-hoc code in `on_failure_jump' to push more registers in
11108 the case of a loop. Take out code from `maybe_pop_jump' into
11109 separate functions and adapt it to the semantics of
11110 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11111 and push_dummy_failure. Remove dummy_failure handling and
11112 handling of `failures to jump to on_failure_jump' (this last one
11113 was already dead code, it seems).
11114 (group_match_null_string_p, alt_match_null_string_p)
11115 (common_op_match_null_string_p): Remove.
95cd4c40 11116
7397acc4
DL
111172000-03-08 Dave Love <fx@gnu.org>
11118
11119 * config.in: Don't depend on __STDC__ for volatile.
11120 Add POINTER_TYPE, PTR, PROTOTYPES.
11121
11122 * hftctl.c, strftime.c: Use PROTOTYPES.
11123 * eval.c (find_handler_clause): Likewise.
11124
11125 * mem-limits.h: Use POINTER_TYPE.
11126
11127 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11128 (memory_warnings): Declare using POINTER_TYPE.
11129
5e91ff9e
GM
111302000-03-08 Gerd Moellmann <gerd@gnu.org>
11131
feab4fba
GM
11132 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11133
52283633 11134 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11135
5e91ff9e
GM
11136 * xfns.c: Remove obsolete code in #if 0.
11137 (Fx_focus_frame): New function.
11138
a735b7e1
KH
111392000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11140
11141 * coding.c (coding_category_name): Add coding-category-utf-8,
11142 coding-category-utf-16-be, coding-category-utf-16-le.
11143 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11144 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11145 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11146 (detect_coding_utf_8): New function.
11147 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11148 UTF_16_LOW_SURROGATE_P): New macros.
11149 (detect_coding_utf_16): New function
11150 (detect_coding_mask): When priorities are specified, skip any
11151 categories that have `nil' coding-system. Fix bug of returning
11152 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11153 returns a mask not set in PRIORITIES.
11154 (detect_eol_type_in_2_octet_form): New function.
11155 (detect_eol): selects detect_eol_type_XXX to call according to
11156 cooding->category_idx.
11157 (detect_coding_system): Remove `nil' coding-system in the result.
11158 (Fupdate_coding_systems_internal): Update all coding-categories.
11159
52283633
SM
11160 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11161 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11162 New macros.
11163 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11164 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11165 (CODING_CATEGORY_IDX_UTF_16_LE)
11166 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11167 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11168 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11169 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11170
9994cc69
GM
111712000-03-07 Gerd Moellmann <gerd@gnu.org>
11172
e9b4e5ff
GM
11173 * doc.c (Fdocumentation_property): If value is not a string,
11174 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11175
f7daf1e1
GM
11176 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11177 close the display with XtCloseDisplay. This caused a bus error
11178 on OpenWindows.
11179
9994cc69
GM
11180 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11181 complete but not unique.
11182
4336c705
GM
111832000-03-06 Gerd Moellmann <gerd@gnu.org>
11184
18bb0684
GM
11185 * process.c (send_process): Remove local variable `procname' that
11186 might become invalid when a GC happens. Instead, access the
11187 process name slot directly.
11188
4336c705
GM
11189 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11190 orig_height if set.
11191
11192 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11193 orig_height if set.
11194
515d0d0e
EZ
111952000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11196
11197 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11198 glyph matrices have been freed.
11199
100b3cbb
GM
112002000-03-05 Gerd Moellmann <gerd@gnu.org>
11201
50df5e5a 11202 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11203 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11204
11205 * xfns.c (QCdata): Moved to xdisp.c.
11206
11207 * xdisp.c (QCdata): Moved here from xfns.c.
11208 (syms_of_xdisp): Initialize QCdata.
11209
11210 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11211
11212 * window.c (coordinates_in_window): Use
11213 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11214 FRAME_INTERNAL_BORDER_WIDTH.
11215
100b3cbb 11216 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11217 it is obviously invalid.
100b3cbb
GM
11218
11219 * xterm.c (x_term_init): Create a colormap if not using the
11220 default visual.
11221
11222 * xterm.h (select_visual): Change prototype.
11223
11224 * xfns.c (select_visual): Rewritten. Recognize user-specified
11225 visual classes.
11226 (visual_classes): New variable.
11227
64d739c4
GM
112282000-03-04 Gerd Moellmann <gerd@gnu.org>
11229
11230 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11231 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11232 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11233 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11234 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11235 XtNcolormap resources.
11236 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11237 (Fx_create_frame): Initialize color members of x_output structure.
11238 (xpm_load): Pass colormap to XPM lib.
11239
11240 * xfaces.c (x_free_colors): Access colormap of frame using
11241 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11242 when default colormap is used.
11243
11244 * xterm.c (x_term_init): Set Colormap member of x_display_info
11245 structure. Copy colormap if resource `privateColormap' is
11246 specified (PseudoColor only).
11247 (x_setup_relief_color): Access colormap of frame using
11248 FRAME_X_COLORMAP.
11249
11250 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11251 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11252
c3cee013
JR
112532000-03-04 Jason Rumney <jasonr@gnu.org>
11254
11255 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11256 other non-platform-specific equivalents.
64d739c4 11257 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11258 specific functions and macros as their w32 equivalents where
11259 non-platform-specifics are not available.
11260 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11261 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11262 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11263 (frame_update_line_height): Use macros to access f->output_data.
11264 (defined_color): Remove FIXME comments; fixed.
11265 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11266 into #ifdef blocks. Add WINDOWSNT blocks.
11267 (Fx_list_fonts): Use macros for accessing font data.
11268 (set_lface_from_font_name): Different default fonts for X and
11269 WINDOWSNT.
11270 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11271 scalable for backward compatibility.
64d739c4 11272 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11273 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11274
64d739c4 11275 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11276 syms_of_w32faces.
11277
11278 * makefile.nt (w32faces.obj): Remove.
11279 (xfaces.obj): Add.
11280
807cc41c
JR
112812000-03-03 Jason Rumney <jasonr@gnu.org>
11282
11283 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11284 correct parameters.
11285
0007072a
KR
112862000-03-03 Ken Raeburn <raeburn@gnu.org>
11287
11288 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11289 standard ELF definitions here if the system header does not.
11290
71a6ba55
GM
112912000-03-03 Gerd Moellmann <gerd@gnu.org>
11292
11293 * xterm.c (PER_CHAR_METRIC): Removed.
11294 (x_per_char_metric_1, x_default_char): New functions.
11295 (x_per_char_metric): If font's default char is invalid, return
11296 metrics of a suitably chosen usable default char.
11297 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11298 char, replace occurrences of unprintable chars with a suitably
11299 chosen usable default char.
71a6ba55 11300
900fa1f1
GM
113012000-03-02 Gerd Moellmann <gerd@gnu.org>
11302
42f55fe0
GM
11303 * xterm.c (note_mouse_highlight): Return quickly if frame's
11304 glyph matrices have been freed.
11305
11306 * dispnew.c (free_glyphs): Block input while freeing matrices.
11307
900fa1f1
GM
11308 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11309
52283633
SM
11310 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11311 Use x_free_colors.
900fa1f1
GM
11312
11313 * dispextern.h (x_free_colors): Add prototype.
11314
11315 * xfaces.c (x_free_colors): New function.
11316 (unload_color, free_face_colors): Use it.
11317
2f950292
EZ
113182000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11319
11320 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11321
11322 * window.c [MSDOS]: Include msdos.h.
11323
54d04320
DL
113242000-03-02 Dave Love <fx@gnu.org>
11325
11326 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11327
11328 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11329 set C_OPTIMIZE_SWITCH for gcc.
11330
0ba93ac4
KH
113312000-03-02 Kenichi Handa <handa@etl.go.jp>
11332
11333 * coding.c (coding_save_composition): Be sure to allocate
11334 composition data area in coding even if there's no composition in
11335 the current run.
11336
a2bc11d4
JR
113372000-03-01 Jason Rumney <jasonr@gnu.org>
11338
11339 * w32term.c: Equivalent changes to those made to xterm.c on
11340 2000-02-25 and 2000-02-24.
11341
11342 * w32fns.c: Equivalent changes to those made to xfns.c on
11343 2000-02-25 and 2000-02-21.
11344
11345 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11346 correct line-end convention is followed.
11347
11348 * w32menu.c [HAVE_BOXES]: Remove #undef.
11349 (single_keymap_panes): Remove code for simulating checkmarks.
11350 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11351 Remove code for drawing simulated checkmarks.
11352 (w32_menu_show): make unibyte help string correctly.
11353 (add_menu_item): draw standard Windows checkmarks. Draw radio
11354 buttons as radio buttons if possible.
11355
72d19d75
GM
113562000-03-01 Gerd Moellmann <gerd@gnu.org>
11357
2df636f4
GM
11358 * sysdep.c (start_of_text): Don't define this function for NetBSD
11359 with ELF.
11360
427ec082 11361 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11362 Don't define.
11363 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11364 (LINKER): Don't undef if __NetBSD__ is defined.
11365
11366 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11367
11368 * fileio.c [__NetBSD__]: Define `unix'.
11369
72d19d75
GM
11370 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11371
ed4d0512
GM
113722000-02-29 Gerd Moellmann <gerd@gnu.org>
11373
50b1039f
GM
11374 * atimer.c (start_atimer): Don't abort when timers are stopped.
11375 (append_atimer_lists): New function.
11376 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11377 arbitrary lists of stopped and running atimers.
11378
ed4d0512
GM
11379 * atimer.c (cancel_atimer): Handle canceling an atimer when
11380 some timers are stopped.
11381
11382 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11383 after canceling it.
11384
11385 * fns.c (maybe_resize_hash_table): Handle case of new size
11386 coming out as being the same as old size.
11387
387023ee
JR
113882000-02-27 Jason Rumney <jasonr@gnu.org>
11389
11390 * makefile.nt: Add atimer.h to dependencies.
11391 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11392 * w32console.c: Only disable window system features for dispextern.h
11393 (initialize_w32_display): Build a display info for the console.
11394 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11395 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11396 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11397 as 2 button mice.
11398 * w32gui.h (struct W32FontStruct): Revert last change after change
11399 to xdisp.c.
11400 * w32menu.c (single_submenu): Set up help string.
11401 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11402 (w32_dialog_show): Set up help string.
11403 * w32term.c (w32_display_info_for_display): Remove unused function.
11404 (w32_draw_bitmap): Use pre-built bitmaps.
11405 (w32_initialize_display_info): New function to initialize parts of
11406 display info that are common to both GUI and console frames.
11407 (w32_term_init): Use w32_initialize_display_info. Do not set
11408 Vw32_num_mouse_buttons here, as it is not called for console
11409 frames. Build bitmaps for indicating truncated lines etc.
11410 (x_delete_display): Destroy pre-built bitmaps.
11411 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11412 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11413
4516715a
DL
114142000-02-27 Dave Love <fx@gnu.org>
11415
11416 * lisp.h: Add a bunch of prototypes.
11417
171ca836
KH
114182000-02-26 Kenichi Handa <handa@etl.go.jp>
11419
11420 * keyboard.c (read_char): Set `usec' correctly.
11421
4013921d
KH
114222000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11423
11424 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11425 `lambda', set reg[RRR] to the map index.
11426 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11427 reg[RRR] to 0. Otherwise, set it to -1.
11428
9244a058
GM
114292000-02-25 Gerd Moellmann <gerd@gnu.org>
11430
2df636f4 11431 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11432
18e21ce8 114332000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11434
f43d79c1
GM
11435 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11436 and contains a `:', prepend `/:'.
11437
11438 * window.c (select_window_1): If selected_window is nil,
11439 don't "swap out" the buffer's point.
11440 (Fset_window_configuration): Set selected_window to nil
11441 before calling Fselect_window.
11442 (unshow_buffer): Don't set point in buffer from window's point
11443 if another more recently selected window also shows the buffer.
11444
bed0c171
GM
114452000-02-25 Gerd Moellmann <gerd@gnu.org>
11446
449c3c52
GM
11447 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11448
f5b58615
GM
11449 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11450 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11451 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11452 New variables.
f5b58615
GM
11453 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11454 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11455 (hide_busy_cursor): New functions.
11456 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11457
11458 * minibuf.c (read_minibuf): Cancel busy-cursor.
11459
11460 * keyboard.c (command_loop_1): Call start_busy_cursor before
11461 Fcommand_execute and cancel_busy_cursor after it.
11462 (timer_check): Remove busy-cursor code.
11463 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11464 cursor timer.
11465
11466 * process.c (wait_reading_process_input): Remove busy-cursor code.
11467
11468 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11469 Fx_hide_busy_cursor.
11470
11471 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11472 Remove prototyoes.
11473 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11474
11475 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11476
11477 * xterm.c (XTread_socket): Remove busy-cursor code.
11478
4eb8436f
GM
11479 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11480 (build_frame_matrix_from_leaf_window): Put code handling
11481 glyph row's not being a slice of a frame row in #if 0.
11482 (sync_window_with_frame_matrix_rows): New function.
11483 (frame_row_to_window): New function.
11484 (mirror_line_dance): Handle copies between windows.
11485
3cb65b0e
GM
11486 * lread.c (Fload): Use `xfree' instead of `free'.
11487 (init_obarray): Use `xmalloc' instead of `malloc'.
11488
bed0c171
GM
11489 * window.c (Fset_window_buffer): Set WINDOW to the window
11490 after decoding.
2add4349
GM
11491 (coordinates_in_window): Take frame's internal border width
11492 into account.
bed0c171 11493
42088c12
GM
114942000-02-24 Gerd Moellmann <gerd@gnu.org>
11495
11496 * xterm.c (x_display_and_set_cursor): Display cursor of
11497 non-selected windows depending on the setting of
11498 cursor_in_non_selected_windows.
11499
11500 * xdisp.c (cursor_in_non_selected_windows): New variable.
11501 (syms_of_xdisp): DEFVAR_BOOL it.
11502
d1e103b2
GM
115032000-02-23 Gerd Moellmann <gerd@gnu.org>
11504
723e779c
GM
11505 * data.c (Fstring_to_number): If number is greater than what
11506 fits into an integer, return a float.
11507
d1e103b2
GM
11508 * eval.c (specbind): Remove references to
11509 keyword_symbols_constant_flag.
11510
11511 * data.c (keyword_symbols_constant_flag): Removed.
11512 (Fmakunbound, set_internal, syms_of_data): Remove references to
11513 keyword_symbols_constant_flag.
11514
11515 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11516
214f877f
KH
115172000-02-23 Kenichi Handa <handa@etl.go.jp>
11518
11519 * syntax.c (multibyte_syntax_as_symbol): New variable.
11520 (syms_of_syntax): Declare it as a Lisp variable.
11521 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11522 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11523 nonzero, treat all multibyte characters as symbol.
52283633 11524 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11525
130adcb7
EZ
115262000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11527
3cb65b0e 11528 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11529 a deleted frame.
130adcb7 11530
17cbbf95
GM
115312000-02-21 Gerd Moellmann <gerd@gnu.org>
11532
11533 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11534
11535 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11536 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11537
beb0bc36
DL
115382000-02-21 Dave Love <fx@gnu.org>
11539
11540 * frame.c (Vmouse_position_function): New variable.
11541 (Fmouse_position): Use it.
11542 (syms_of_frame): Install it.
11543
11544 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11545
1d92afcd
GM
115462000-02-20 Gerd Moellmann <gerd@gnu.org>
11547
11548 * fileio.c (Finsert_file_contents): Unbind the binding of
11549 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11550
11551 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11552 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11553 (specbind, unbind_to): Handle most common case of non-constant
11554 symbol with trivial value specially.
11555
11556 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11557
18e21ce8 115582000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11559
11560 * data.c (Fmake_variable_buffer_local): Doc fix.
11561 Init found_for_buffer to 0.
11562 (Fmake_variable_frame_local): If the variable has already
11563 been buffer-local, set the check_frame field.
11564
1d4311c3
EZ
115652000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11566
11567 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11568 produced for CODING_MODE_LAST_BLOCK requires.
11569
2dc95ddd
DL
115702000-02-18 Dave Love <fx@gnu.org>
11571
11572 * keyboard.c (echo_keystrokes): Remove declaration.
11573 (Vecho_keystrokes) New variable.
11574 (read_char, record_menu_key, read_key_sequence): Use it to allow
11575 use of float value.
11576 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11577
11578 * lread.c: Undef feature selection macros before defining.
11579
f0930f35
GM
115802000-02-18 Gerd Moellmann <gerd@gnu.org>
11581
11582 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11583 for symbols other than the symbol in question.
11584
e3d4de90
DL
115852000-02-17 Dave Love <fx@gnu.org>
11586
11587 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11588
0b378936
GM
115892000-02-17 Gerd Moellmann <gerd@gnu.org>
11590
d621caf7
GM
11591 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11592
0b378936
GM
11593 * alloc.c (enum mem_type): Compile unconditionally.
11594
3b451f74
EZ
115952000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11596
11597 * xfaces.c (tty_defined_color): Don't return faulire indication
11598 for unspecified-fg and unspecified-bg pseudo-colors.
11599
10689a01
GM
116002000-02-17 Gerd Moellmann <gerd@gnu.org>
11601
1216f5e4
GM
11602 * alloc.c (mark_object): Don't mark symbol names in pure space.
11603 (gc_sweep): Don't unmark symbol names in pure space.
11604
11605 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11606 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11607 [GC_MARK_STACK]: New defines.
427ec082 11608 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11609 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11610
11611 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11612
11613 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11614 allocate_buffer instead of xmalloc.
11615
11616 * alloc.c (toplevel): Include setjmp.h.
11617 (PURE_POINTER_P): New define.
11618 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11619 (Vdead) [GC_MARK_STACK]: New variable.
11620 (lisp_malloc): Add parameter TYPE, call mem_insert if
11621 GC_MARK_STACK is defined.
11622 (allocate_buffer): New function.
427ec082 11623 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11624 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11625 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11626 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11627 (MEM_NIL) [GC_MARK_STACK]: New define.
11628 (struct mem_node) [GC_MARK_STACK]: New structure.
11629 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11630 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11631 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11632 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11633 (mark_stack) [GC_MARK_STACK]: New functions.
11634 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11635 (clear_marks): Removed.
11636 (gc_sweep): Set free conses' car, free floats' type, free
11637 symbols' function to Vdead. Use lisp_free to free buffers.
11638 (init_alloc_once): Initialize Vdead.
11639 (survives_gc_p): Return non-zero for pure objects.
11640
11641 * alloc.c: Add comments throughout the file.
11642
2503c8b1
GM
11643 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11644 that unblocks alarms.
11645
8389e1e2
GM
11646 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11647 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11648 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11649
10689a01 11650 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11651
bfc17d18
KH
116522000-02-17 Kenichi Handa <handa@etl.go.jp>
11653
4a09dee0
KH
11654 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11655 avoid infinite error signaling. Allocate sufficient memory for
11656 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11657
2b927d02
SM
116582000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11659
11660 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11661 depends on the previous behavior.
11662
b49cb764
GM
116632000-02-16 Gerd Moellmann <gerd@gnu.org>
11664
11665 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11666
99e95407
GM
116672000-02-15 Gerd Moellmann <gerd@gnu.org>
11668
11669 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11670
11671 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11672 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11673 write(2).
11674
6ffd3cf7
RS
116752000-02-15 Richard M. Stallman <rms@gnu.org>
11676
11677 * data.c (set_internal): Don't make variable buffer-local
11678 if within a let-binding for the same buffer.
11679 (let_shadows_buffer_binding_p): New function.
11680
11681 * eval.c (specbind): For buffer-local value,
11682 record the current buffer also.
11683 (unbind_to): Cope with that change.
11684
cad53475
GM
116852000-02-15 Gerd Moellmann <gerd@gnu.org>
11686
11687 * window.c (Fsave_window_excursion): Doc fix.
11688
1aa963c8
SM
116892000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11690
11691 * syntax.c (back_comment): Make sure we only consider comment-starters
11692 of the relevant style and return -1 in case of a failure to find the
11693 beginning of the comment.
11694 (Fforward_comment): If back_comment fails, go back to the position just
11695 after the comment-end.
11696 (scan_lists): Add comment describing a very minor bug.
11697
b9b84fd3
SM
116982000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11699
11700 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11701 `completion-regexp-list' in the docstring.
11702
3a28db80
DL
117032000-02-14 Dave Love <fx@gnu.org>
11704
11705 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11706
fb4a568d
SM
117072000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11708
11709 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11710 to Emacs' syntax. Also fix the comment about set/not-set meanings
11711 since Emacs syntax is not the value 0 any more.
11712 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11713 since it's now part of RE_SYNTAX_EMACS.
11714
1063ebb5
DL
117152000-02-12 Dave Love <fx@gnu.org>
11716
52283633 11717 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11718
fb07a302
GM
117192000-02-12 Gerd Moellmann <gerd@gnu.org>
11720
11721 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11722
aaf2320c
DL
117232000-02-12 Dave Love <fx@gnu.org>
11724
11725 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11726
11727 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11728 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11729 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11730
11731 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11732
11733 * s/nextstep.h: Don't define HAVE_ALLOCA.
11734
11735 * config.in: Add vfork bits.
11736
eedf8bde
GM
117372000-02-12 Gerd Moellmann <gerd@gnu.org>
11738
11739 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11740 unwind function to undo the effect of stopping atimers.
11741
52283633 11742 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11743
11744 * atimer.c (stopped_atimers): New variable.
11745 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11746 New functions.
11747
11748 * atimer.h (stop_other_atimers, run_all_atimers)
11749 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11750
eedf8bde
GM
11751 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11752
8476c2f8
KR
117532000-02-11 Ken Raeburn <raeburn@gnu.org>
11754
11755 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11756 library may depend on jpeg.
11757 (atimer.o): Depends on atimer.c.
11758
0e85e4a3
KH
117592000-02-11 Kenichi Handa <handa@etl.go.jp>
11760
11761 * insdel.c (del_range_1): Call update_compositions.
11762 (del_range_both): Call update_compositions just once..
11763
97fa0cc8
DL
117642000-02-10 Dave Love <fx@gnu.org>
11765
11766 * xfns.c (create_frame_xic): Fix initialization of automatic
11767 aggregates for pcc.
11768
25566a3c
KH
117692000-02-09 Kenichi Handa <handa@etl.go.jp>
11770
11771 * ccl.c (CCL_MAKE_CHAR): New macro.
11772 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11773 registers by CCL_MAKE_CHAR before calling translate_char.
11774 <CCL_TranslateCharacterConstTbl> Likewise.
11775
69da54ba
DL
117762000-02-08 Dave Love <fx@gnu.org>
11777
11778 * lread.c (__EXTENSIONS__): Define.
11779
f7136ee8
GM
117802000-02-08 Gerd Moellmann <gerd@gnu.org>
11781
11782 * puresize.h (BASE_PURESIZE): Increase to 650000.
11783
7768790b
EZ
117842000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11785
11786 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11787 the help message.
11788
38fd211b
EZ
117892000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11790
11791 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11792 md, mh, mb, mr, and me to the fake termcap entry.
11793
66e4690f
KR
117942000-02-06 Ken Raeburn <raeburn@gnu.org>
11795
11796 * sound.c (sound_cleanup): Don't call device close routine if the
11797 function pointer is null.
11798
a75dfea0
AI
117992000-02-06 Andrew Innes <andrewi@gnu.org>
11800
11801 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11802 around image definitions and prototypes.
11803 (gamma_correct) [WINDOWSNT]: New prototype.
11804
11805 * w32term.c (x_make_frame_visible): Replace call to
11806 input_poll_signal with poll_for_input.
11807
11808 * window.c [WINDOWSNT]: Include w32term.h.
11809
11810 * xdisp.c [WINDOWSNT]: Include w32term.h.
11811
11812 * makefile.nt: Add dependencies on w32gui.h.
11813 (OBJ1): Include atimer.obj.
11814 ($(BLD)\atimer.obj): New dependency rule.
11815
11816 * w32.c (sigmask): New function (does nothing).
11817 (sigunblock): Ditto.
11818
11819 * frame.c [WINDOWSNT]: Include w32term.h.
11820
11821 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11822
11823 * lread.c (syms_of_lread): Fix literal newlines.
11824
11825 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11826 the string constant limit (2048 bytes) in MSVC.
11827 (main): Ditto.
11828
59ddecde
GM
118292000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11830
52283633 11831 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11832 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11833 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11834 dispatch the event.
11835
07590973
DL
118362000-02-04 Dave Love <fx@gnu.org>
11837
11838 * fileio.c: Remove some unused vars.
11839 (_GNU_SOURCE): Define (for euidaccess).
11840
11841 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11842
11843 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11844 gcpro1, gcpro2.
11845 (read_minibuf): Deal with allow_props correctly.
11846
649351f9
EZ
118472000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11848
11849 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11850
66e4690f 118512000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11852
11853 * search.c (compile_pattern): If a cache entry has a nil regexp,
11854 fill in that entry instead of clobbering a previously cached
11855 string regexp.
11856
66e4690f 118572000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11858
11859 * puresize.h (BASE_PURESIZE): Increase to 610000.
11860
d240a249
GM
118612000-02-02 Gerd Moellmann <gerd@gnu.org>
11862
11863 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11864 can GC.
11865
ca91fb26
KH
118662000-02-02 Kenichi Handa <handa@etl.go.jp>
11867
25660570
KH
11868 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11869 instead of incrementing ic directly.
11870 <CCL_WriteExprConst> Likewise.
11871 <ccl_set_expr>: Set ic to jump_address.
11872
ca91fb26
KH
11873 * fileio.c (e_write): Fix the handling of
11874 CODING_FINISH_INSUFFICIENT_SRC.
11875
2ede9689
DL
118762000-02-01 Dave Love <fx@gnu.org>
11877
11878 * editfns.c (Fpropertize): Doc fix.
11879
11880 * process.c (Fstart_process): Doc fix.
11881
11882 * eval.c: Fix various doc strings not to duplicate information
11883 from help-manyarg-func-alist.
11884
52283633 11885 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11886
11887 * doc.c (Vhelp_manyarg_func_alist): New variable.
11888 (Fdocumentation): Use it.
11889 (syms_of_doc): Define it.
11890
b6680a0e
GM
118912000-01-31 Gerd Moellmann <gerd@gnu.org>
11892
2cb750ba
GM
11893 * xterm.c (xim_open_dpy): Remove unused local variable.
11894
52283633 11895 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11896
11897 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11898 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11899
b6680a0e
GM
11900 * fns.c (sweep_weak_table): New function.
11901 (sweep_weak_hash_tables): Use it. Keep on marking until there
11902 is no more change.
11903
994c5afe
GM
119042000-01-30 Gerd Moellmann <gerd@gnu.org>
11905
11906 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11907 that XTread_socket does not crash by trying to call XNoOp on a
11908 closed display.
427ec082 11909
f00276e3
JR
119102000-01-30 Jason Rumney <jasonr@gnu.org>
11911
11912 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11913 Change selected_frame to SELECTED_FRAME ().
11914 (w32_console_mouse_position): Remove #ifndef MULE from around
11915 `insist' parameter.
11916
11917 * makefile.nt: Remove dosfns.obj.
11918
11919 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11920
11921 * w32fns.c (w32_defined_color): Check for valid frame before
11922 applying gamma correction. Eliminate dependency on frame elsewhere.
11923 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11924 (w32_to_x_font): Use resx and resy not height_in and width_in.
11925 (x_to_w32_font): Doc fix.
11926 (xlfd_strip_height): New function to strip and return font height.
11927 (w32_font_match): Compare height separately from rest of xlfd
11928 spec, using xlfd_strip_height.
11929
11930 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11931 width_in. Use w32_defined_color in place of defined_color.
11932
11933 * w32faces.c: Merge more of DOS and X specifics in preparation for
11934 merge with xfaces.c.
11935 (defined_color): Remove FIXME comment.
11936 (tty_color_name): Provide w32-specific function.
11937 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11938
11939 * w32console.c (turn_on_face, turn_off_face): Removed.
11940 (w32_face_attributes): New function.
11941 (Global_variables): Reduce scope where possible.
11942 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11943 fill attribute.
11944 (hl_mode): Don't modify text attributes.
11945 (write_glyphs): Don't do anything if len <= 0. Use
11946 w32_face_attributes to get attributes for drawing. Write
11947 terminating codes using char_attr_normal.
11948 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11949 (update_begin, update_end): Likewise.
11950 (vga_stdcolor_name): New function.
11951 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11952 (Fset_screen_color): Remove char_attr_reverse.
11953
b08e8bb2
GM
119542000-01-29 Gerd Moellmann <gerd@gnu.org>
11955
11956 * xfns.c (xic_set_preeditarea): Take window parameter and
11957 window-relative pixel-positions.
11958
11959 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11960 is its frame's selected window.
11961 (xim_instantiate_callback): Likewise.
11962
11963 * xfns.c (x_create_im): Removed.
11964 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11965 (supported_xim_styles): Renamed from supported_styles.
11966 (best_xim_style): Renamed from best_style.
11967 (create_frame_xic): Renamed from xic_create_frame.
11968 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11969
b08e8bb2
GM
119702000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11971
11972 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11973 our frames, call XFilterEvent with 2nd parameter `None'.
11974 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11975 returning XBufferOverflow.
52283633 11976 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11977 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11978 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11979 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11980 (xim_initialize, xim_close)
11981 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11982 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11983 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11984 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11985
11986 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11987 and `xim_styles'.
11988 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11989 `xic_style' and `xic_xfs'.
11990 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11991 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11992 (FRAME_XIM): Removed.
11993
11994 * xfns.c (supported_styles): New variable.
11995 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11996 (xic_create_xfontset, best_style, xic_create_frame)
11997 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11998 (xic_set_xfontset): New functions.
11999
142e109c
DL
120002000-01-28 Dave Love <fx@gnu.org>
12001
12002 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12003
12004 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12005
b02786f9
GM
120062000-01-28 Gerd Moellmann <gerd@gnu.org>
12007
d060bc9f
GM
12008 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12009 for *scratch* if it already existed.
12010
b02786f9
GM
12011 * emacs.c (USAGE): New macro.
12012 (main): Use it to display usage information.
12013
2c52d7e4
EZ
120142000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12015
12016 Support for the menu-help feature:
12017
52283633 12018 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12019
12020 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12021 part of the line to the termscript file.
12022 (IT_clear_to_end): Clear the entire line, not just its beginning.
12023 (menu_help_message, prev_menu_help_message): New variables.
12024 (IT_menu_make_room): Make room for the help_text member.
12025 (IT_menu_display): New argument disp_help; all callers changed.
12026 If disp_help is non-zero, store the help text of the active menu
12027 item in menu_help_message.
12028 (XMenuAddPane): Initialize the help_text member to NULL.
12029 (XMenuAddSelection): New argument help_text. Store it in the
12030 XMenu structure.
12031 (XMenuActivate): New argument help_callback. If the value of
12032 menu_help_message has changed since the last time, display the
12033 menu help message text while waiting for the mouse to move. Clear
12034 the echo area before exiting.
12035 (XMenuDestroy): Free the help_text member.
12036
ffe0bcd1
GM
120372000-01-27 Gerd Moellmann <gerd@gnu.org>
12038
12039 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12040 XMenuAddSelection. Pass help callback to XMenuActivate.
12041 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12042
50dbd23f
EZ
120432000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12044
12045 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12046 and EMACS_SET_USECS.
12047
f5941bf8
GM
120482000-01-26 Dave Love <fx@gnu.org>
12049
6c67ddee
DL
12050 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12051
f5941bf8
GM
12052 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12053 an error may be signalled.
12054
9e49c990
GM
120552000-01-26 Gerd Moellmann <gerd@gnu.org>
12056
fc3cb460
GM
12057 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12058 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12059
9e49c990
GM
12060 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12061
d0c037d8
GM
120622000-01-25 Gerd Moellmann <gerd@gnu.org>
12063
12064 * charset.c (Fstring): If there is a multibyte char among
12065 the args, always return a multibyte string.
12066
e12489f9
GM
120672000-01-25 Gerd Moellmann <gerd@gnu.org>
12068
12069 * sysdep.c (sys_select): Turn atimers off and on instead of
12070 recording and restoring old alarm handler
12071
12072 * process.c (toplevel): Include atimer.h.
12073 (create_process_1): Rewritten.
12074 (create_process): Use atimers instead of alarm.
12075 (wait_reading_process_input) [hpux]: Turn atimers off instead
12076 of turning off SIGALRM.
12077 (wait_reading_process_input): Turn off atimers instead off
12078 calling stop_polling.
12079
12080 * emacs.c (main): Call init_atimer.
12081
12082 * keyboard.c (toplevel): Include systime.h and atimer.h.
12083 (polling_for_input): Removed because unused.
12084 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12085 (poll_timer): New variable.
12086 (poll_for_input, poll_for_input_1): New functions.
12087 (start_polling, stop_polling): Rewritten.
12088
12089 * keyboard.h (polling_for_input): Removed.
427ec082 12090
e12489f9
GM
12091 * atimer.h, atimer.c: New files.
12092
12093 * Makefile.in (obj): Add atimer.o.
12094 (atimer.o): New target.
12095
12096 * blockinput.h (pending_atimers): Add extern declaration.
12097 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12098
12099 * lisp.h (popup_activated_flag): Add extern declaration.
12100
12101 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12102 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12103 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12104
12105 * xterm.c (toplevel): Include atimer.h.
12106 (toolkit_scroll_bar_interaction): New variable.
12107 (Fxt_process_timeouts): Removed.
12108 (x_process_timeouts): New function.
12109 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12110 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12111 (x_make_frame_visible): Call poll_for_input_1 instead of
12112 input_poll_signal. Don't call alarm.
12113 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12114
1e5279b9
DL
121152000-01-24 Dave Love <fx@gnu.org>
12116
6c67ddee 12117 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12118 Don't use -cckr -- apparently not now necessary.
12119
edf6aeb8
EZ
121202000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12121
12122 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12123 screen boundary.
12124
9badad41
JR
121252000-01-23 Jason Rumney <jasonr@gnu.org>
12126
12127 * w32fns.c (w32_defined_color): Apply gamma correction before
12128 trying to map to the palette.
12129 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12130 to w32_clear_rect.
12131
12132 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12133 here. Callers changed to always pass real device context.
12134 (w32_draw_bitmap): Likewise.
12135 (w32_get_glyph_overhangs): Likewise.
52283633 12136 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12137 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12138 pfnSetScrollInfo and SetScrollRange.
12139 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12140 back into MULE characters after decoding them.
12141 (x_get_glyph_face_and_encoding): Likewise.
12142 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12143 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12144 (x_produce_glyphs): Calculate per char metrics for a character
12145 that we know exists in default font when font_not_found_p is true.
12146
63bd786b
JR
121472000-01-22 Jason Rumney <jasonr@gnu.org>
12148
12149 * makefile.nt (intervals.obj, composite.obj): New modules.
12150 (composite.h): Added as dependency where appropriate.
12151
12152 * w32gui.h (XGCValue): New struct for emulating X GCs.
12153
12154 * w32term.h (XCharStruct): New struct for emulating X.
12155
12156 * w32console.c (turn_on_face, turn_off_face): New functions.
12157 (change_line_highlight): New prototype for new redisplay.
12158 (write_glyphs): Support multibyte text. Support faces.
12159
52283633 12160 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12161
12162 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12163 throughout. struct frame * in place of FRAME_PTR.
12164 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12165 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12166 (w32_get_arg): Renamed from x_get_arg.
12167 (Fx_file_dialog): New function.
12168 (w32_list_fonts): Check cache before asking system.
12169 (Vw32_enable_synthesized_fonts): New variable.
12170 (Vw32_enable_italics): Obsolete, removed.
12171
12172 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12173 Use SELECTED_FRAME macro.
12174
12175 * w32menu.c: Add skeleton support for help strings on menus.
12176 (add_menu_item): Native checkbox and radio support added, but not
12177 yet enabled due to bugs.
12178 (push_menu_item): Add parameters type, selection and help.
12179 Callers updated.
12180 Formatting changes to reduce unnecessary diffs with xmenu.c.
12181
12182 * w32select.c (Fw32_set_clipboard_data): Update call to
12183 find_charset_in_str.
12184
12185 * w32term.c: Complete rewrite for new redisplay based on new
12186 xterm.c with necessary sections merged back in from old w32term.c.
12187
6ffd3cf7 121882000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12189
12190 * data.c (set_internal): Further fix in same criterion.
12191
6ffd3cf7 121922000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12193
12194 * data.c (set_internal): Fix the criteria for whether
12195 to swap out the old cached binding.
12196
60af03f1
DL
121972000-01-19 Dave Love <fx@gnu.org>
12198
12199 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12200
f9be074f
KH
122012000-01-18 Kenichi Handa <handa@etl.go.jp>
12202
12203 * regex.c (re_compile_fastmap): While checking a range table for
12204 `charset', skip flag bits for a character class correctly.
12205
52b8dbf9
GM
122062000-01-17 Gerd Moellmann <gerd@gnu.org>
12207
d36100c9
GM
12208 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12209
52283633 12210 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12211
12212 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12213 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12214
12215 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12216 MENU_ITEMS_ITEM_.*.
12217 (MENU_ITEMS_ITEM_HELP): New enumerator.
12218 (push_menu_item): Add parameter HELP. Record help in menu_items.
12219 (single_menu_item, single_submenu, list_of_items): Call
12220 push_menu_item with new parameter.
12221 (single_submenu): Set help string in widget value.
12222 (menu_highlight_callback): New function.
12223 (set_frame_menubar): Call lw_create_widget with new
12224 parameter list.
12225 (xmenu_show, xdialog_show): Ditto.
12226
3139018f
GM
122272000-01-13 Gerd Moellmann <gerd@gnu.org>
12228
12229 * sound.c (Fplay_sound): Improve doc string.
12230
83c8f461
RS
122312000-01-11 Richard M. Stallman <rms@gnu.org>
12232
12233 * lisp.h (set_internal): Enter the new arg.
12234
12235 * eval.c (specbind): Record buffer-local variables specially,
12236 indicating which buffer's binding was saved.
12237 (unbind_to): Restore buffer-local variables specially
12238 in the proper buffer.
12239
12240 * data.c (set_internal): New arg BUF.
427ec082 12241
83c8f461
RS
12242 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12243 * data.c (Fset): Pass new arg to set_internal.
12244 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12245
1fab1775
GM
122462000-01-11 Gerd Moellmann <gerd@gnu.org>
12247
52283633 12248 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12249
83c8f461 122502000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12251
12252 * minibuf.c (Ftry_completion): Doc fix.
12253
7a85e4df
GM
122542000-01-11 Gerd Moellmann <gerd@gnu.org>
12255
12256 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12257 vector, too.
12258
a970dae4
AS
122592000-01-11 Andreas Schwab <schwab@suse.de>
12260
12261 * coding.c (code_convert_region): Initialize total_skip.
12262
c65d14ee
DL
122632000-01-08 Dave Love <fx@gnu.org>
12264
12265 * eval.c (Fuser_variable_p): Check customizability too.
12266
834938d2
GM
122672000-01-07 Gerd Moellmann <gerd@gnu.org>
12268
12269 * minibuf.c (Fcompleting_read): Doc fix.
12270
e0303cd6
GM
122712000-01-05 Gerd Moellmann <gerd@gnu.org>
12272
8a26744b
GM
12273 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12274 -L /usr/local/lib.
12275
e0303cd6
GM
12276 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12277 Check that input style is supported before trying to create an
12278 IC for it.
12279 (x_window): Call x_create_im.
427ec082 12280
2e471eb5
GM
122812000-01-04 Gerd Moellmann <gerd@gnu.org>
12282
560a7bd2
GM
12283 * xfns.c (current_gif_memory_src): New variable.
12284 (gif_load): Record the address of the current memory source
12285 in current_gif_memory_src.
12286 (gif_read_from_memory): Use current_gif_memory_src.
12287
f9ee84a3
GM
12288 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12289 macros statement form.
12290
d1299cde
GM
12291 * sound.c (struct sound): Renamed from struct sound_file.
12292 (struct sound): Add members `data' and `header_size'.
12293 (enum sound_attr): Add SOUND_DATA.
12294 (current_sound, current_sound_device): Variables renamed from
12295 sound_file and sound_device.
12296 (parse_sound): Parse :data.
12297 (parse_sound): Handle sound data in strings.
12298 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12299 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12300 needed header size.
12301 (wav_play, au_play): Play sounds from string data.
12302
2e471eb5
GM
12303 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12304
12305 * lisp.h: Add prototype for allocate_string_data.
12306
52283633 12307 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12308
12309 * alloc.c (mark_buffer): Remove code in #if 0.
12310 (gc_sweep): Ditto.
12311 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12312 (strings_consed): New variable.
12313 (allocate_string): Set it.
12314 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12315 (Fmemory_use_counts): Return strings_consed. Use Flist.
12316
12317 * alloc.c: General cleanup in comments etc. Remove conditional
12318 compilation for `standalone'.
12319
12320 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12321
12322 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12323 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12324 (DONT_COPY_FLAG): Removed.
12325 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12326 (struct sdata, struct sblock): New
12327 (struct string_block): Rewritten.
12328 (STRINGS_IN_STRING_BLOCK): New macro.
12329 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12330 (large_sblocks, string_blocks, string_free_list): New variables.
12331 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12332 (init_strings): Rewritten.
12333 (allocate_string, allocate_string_data, compact_small_strings)
12334 (free_large_strings, sweep_strings): New functions.
12335 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12336 (struct string_block_head, current_string_block)
12337 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12338 (STRING_PAD): Removed.
12339 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12340 (Fgarbage_collect): Don't set mark bit in large strings.
12341 (mark_object): Mark strings differently. Mark symbol names
12342 differently.
12343 (survives_gc_p): Test marked strings differently.
427ec082 12344 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12345 symbol names.
12346 (compact_strings): Removed.
12347
42608ba8
EZ
123482000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12349
12350 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12351 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12352
e0a09e1a
KH
123532000-01-04 Kenichi Handa <handa@etl.go.jp>
12354
dd9f0750 12355 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12356 in a non-empty buffer.
dd9f0750 12357
3c0f3b15 12358 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12359
44cd3ae5
GM
123602000-01-03 Gerd Moellmann <gerd@gnu.org>
12361
12362 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12363 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12364
12365 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12366
c182a70f
EZ
123672000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12368
12369 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12370 need to test for MSDOS frames.
12371
24480d5b
EZ
123722000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12373
12374 * dosfns.c (unspecified_colors): Remove.
12375 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12376 unspecified_bg.
12377 (msdos_stdcolor_name): Return strings for unspecified fore- and
12378 back-ground colors.
12379
12380 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12381 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12382 (tty_color_name): Return Lisp strings for unspecified fore- and
12383 back-ground colors.
12384 (Finternal_set_lisp_face_attribute): Remove the special treatment
12385 for Qunspecified_{f,b}g.
52283633 12386 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12387
047f434a
GM
123882000-01-03 Gerd Moellmann <gerd@gnu.org>
12389
12390 * xdisp.c (reseat_at_next_visible_line_start): Position before
12391 newline only if ending up on a newline.
12392 (next_element_from_ellipsis): Return success. Handle case of
52283633 12393 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12394 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12395 returns 0.
12396
d684c676
EZ
123972000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12398
12399 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12400 (Fcolor_supported_p): Renamed from face-color-supported-p.
12401
5fe1d139
EZ
124022000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12403
12404 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12405 list of colors renamed to tty-defined-color-alist.
12406 (tty_color_name): Pass the frame to tty-color-by-index.
12407 (realize_tty_face): tty-color-alist is now a function which
12408 accepts the frame as argument.
12409
52283633 12410 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12411
816be8b8
EZ
124122000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12413
12414 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12415 encode_terminal_code.
12416
b635321e
EZ
124172000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12418
12419 * dispnew.c (mode_line_string): Support termcap frames as well.
12420
9b784e96
GM
124212000-01-01 Gerd Moellmann <gerd@gnu.org>
12422
27189709
GM
12423 * syntax.c (Fforward_word): Undo previous change.
12424
12425 * editfns.c (Fconstrain_to_field): Don't constrain if
12426 inhibit-field-text-motion is non-nil.
12427 (Fline_beginning_position): Undo previous change.
12428 (Fline_end_position): Ditto.
12429
12430 * syntax.c (Fforward_word): Notice field boundaries only if
12431 inhibit-field-text-motion is nil.
12432
12433 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12434
12435 * editfns.c (Vinhibit_field_text_motion): New variable.
12436 (inhibit-field-text-motion): New DEFVAR_LISP.
12437 (Fline_beginning_position, Fline_end_position): Notice field
12438 boundaries only if inhibit-field-text-motion is nil.
12439
45158a91
GM
12440 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12441 All calls adjusted.
12442 (x_build_heuristic_mask): Likewise.
12443 (xbm_load_image_from_file): Change error output.
12444 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12445 (gif_load, gs_load, x_kill_gs_process): Ditto.
12446
9b784e96
GM
12447 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12448 color indices when accessing raster pixels.
63cec32f
GM
12449 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12450 one of :file or :data.
12451 (enum pbm_keyword_index): Add PBM_DATA.
12452 (pbm_format): Add :data.
12453 (pbm_image_p): Allow either :file or :data.
12454 (pbm_read_file): New function.
12455 (pbm_scan_number): Rewritten to read from string.
12456 (pbm_load): Support :data.
9b784e96 12457
2cb085db 12458See ChangeLog.8 for earlier changes.
6922b018
KH
12459
12460;; Local Variables:
49b3bd82 12461;; coding: iso-2022-7bit
6922b018 12462;; End: