(Qbuffer_position, Qposition, Qobject): New variables.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
9584e63a
GM
12001-08-30 Gerd Moellmann <gerd@gnu.org>
2
3 * fileio.c (Finsert_file_contents): Don't change the multibyteness
4 of the buffer if REPLACE is non-nil.
5
d38633a3
GM
62001-08-29 Gerd Moellmann <gerd@gnu.org>
7
8 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
9
f4fccc1e
EZ
102001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
11
12 * w32term.c (x_set_glyph_string_background_width)
13 (show_mouse_face): Track the last changes in xterm.c.
14
eaaa65b0
GM
152001-08-28 Gerd Moellmann <gerd@gnu.org>
16
7b0870b2
GM
17 * xterm.c (x_set_glyph_string_background_width): Set the glyph
18 string's background width so that multi-line mouse-face is drawn
19 to the right edge of the window.
20 (show_mouse_face): Set the row's mouse_face_p flag after drawing
21 glyphs.
22
6b6e2422 23 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 24 before inserting/writing glyphs.
6b6e2422 25
eaaa65b0
GM
26 * xdisp.c (display_mode_element): Use string_byte_to_char to
27 determine character positions in strings, use chars_in_text
28 instead of strwidth.
29 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
30 a matrix as parameter; this is easier to use from GDB.
31
9ad62cf8
MB
322001-08-28 Miles Bader <miles@gnu.org>
33
34 * textprop.c (Fprevious_single_char_property_change)
35 (Fnext_single_char_property_change): Doc fixes.
36
32171635
GM
372001-08-27 Gerd Moellmann <gerd@gnu.org>
38
47d57b22
GM
39 * fileio.c (Finsert_file_contents): Allocate, restore, and
40 free composition data in the case of REPLACE not being nil.
41
42 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
43 there exist overlay strings with newlines at POS.
44 (text_outside_line_unchanged_p): Return 0 if changes start at
45 START and overlays exist at START. Likewise for END.
46 (try_window_id): Give up if init_to_row_end returns 0.
47
32171635
GM
48 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
49 unconditionally.
50
e1249666
GM
512001-08-24 Gerd Moellmann <gerd@gnu.org>
52
33954c45
GM
53 * keymap.c (access_keymap): Return the cdr of the binding of
54 a generic character instead of its definition (KEY . BINDING).
55
e1249666
GM
56 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
57 to 0 also in the REPLACE case.
58
fb4c6c96
AC
592001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
60
61 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
62 open to determine whether file is readable (as for DOS_NT).
63
59ecf80b
GM
642001-08-23 Gerd Moellmann <gerd@gnu.org>
65
66 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
67 coding.type is coding_type_no_conversion or coding_type_raw_text,
68 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
69 non-nil instead of just setting enable_multibyte_characters in the
70 buffer to nil.
71
40e33037
GM
722001-08-22 Gerd Moellmann <gerd@gnu.org>
73
374388c3
GM
74 * dispextern.h (struct face_cache): Add member
75 menu_face_changed_p.
76
77 * xfaces.c (menu_face_changed_default): New variable.
78 (menu_face_changed_count): Variable removed.
79 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
80 the menu_face_changed_default flag, otherwise set the FRAME's
81 menu_face_changed_p flag if the `menu' face has been changed.
82 Prevent calling set_font_frame_param if FRAME is t.
83 (make_face_cache): Initialize cache's menu_face_changed_p
84 from menu_face_changed_default.
85 (realize_basic_faces): Look into the frame's face cache to
86 determine if the menu appearance needs updating.
87
40e33037
GM
88 * keymap.c (access_keymap): Fix last change to not consider
89 IDX when it has modifiers.
90
859ea4b8
GM
912001-08-21 Gerd Moellmann <gerd@gnu.org>
92
93 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
94 . BINDING) exists, where GENERIC-CHAR is the generic character of
95 the charset of IDX, return BINDING unless there exists a binding
96 for IDX itself.
97
e8660d73
GM
982001-08-16 Gerd Moellmann <gerd@gnu.org>
99
cca1b1d7
GM
100 * xrdb.c (SYSV): Don't define on Solaris 2.
101 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
102
e8660d73
GM
103 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
104 of the screen line, not text line, containing IT's current
105 position.
106
93aba6fc
GM
1072001-08-15 Gerd Moellmann <gerd@gnu.org>
108
288d4e06
GM
109 * window.c (window_scroll_pixel_based): Don't recenter if
110 PT is partially visible in the window.
111
3452efc2
SM
112 * xterm.c (expose_window_tree, expose_window, expose_line):
113 Return 1 when overwriting mouse-face.
82f053ab
GM
114 (expose_frame): If mouse-face was overwritten, redo it.
115
93aba6fc
GM
116 * xfaces.c (x_update_menu_appearance): Don't call
117 set_frame_menubar, let the next redisplay do it.
118
858a55c1
AI
1192001-08-14 Andrew Innes <andrewi@gnu.org>
120
121 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
122 drawing glyph string.
123
3a990b67
EZ
1242001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
125
126 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
127 running HI-UX/MPP.
128
04386463
GM
1292001-08-14 Gerd Moellmann <gerd@gnu.org>
130
131 * xfaces.c (x_update_menu_appearance): Save and restore value of
132 interrupt_input_blocked.
133
3e6385a4
GM
1342001-08-13 Gerd Moellmann <gerd@gnu.org>
135
b0e619b4
GM
136 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
137 a line start, move back to the line start.
3452efc2 138
0de73d5a
GM
139 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
140 exactly when a mini-buffer is active.
141
3e6385a4
GM
142 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
143 in units of 1/8 character on non window-system frames.
144 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
145
d1b5f629
EZ
1462001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
147
148 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
149 a doc string.
150
eaa2319f
GM
1512001-08-09 Gerd Moellmann <gerd@gnu.org>
152
8e3189f0
GM
153 * keyboard.c (Vpre_help_message): New variable.
154 (syms_of_keyboard): Initialize and staticpro it.
155 (show_help_echo): Record current message before displaying a
156 help-echo, and restore that message when clearing the help.
157
eaa2319f
GM
158 * xfns.c (x_create_im): Remove prototype.
159
160 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
161
162 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 163
eaa2319f
GM
1642001-08-08 Gerd Moellmann <gerd@gnu.org>
165
166 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 167 windows whose height has changed, disable partially visible lines.
eaa2319f 168
17fdcfc8
GM
1692001-08-07 Gerd Moellmann <gerd@gnu.org>
170
22d01aed 171 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 172 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 173
17fdcfc8
GM
174 * xdisp.c (start_display): Don't try to determine the continuation
175 lines width if lines are truncated. It's superfluous and leads to
176 incorrect results if POS is not visible in the window after
177 reseating the iterator at the previous line start.
178
8e3fe78e
GM
1792001-08-06 Gerd Moellmann <gerd@gnu.org>
180
181 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
182
98a8938c
GM
1832001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
184
185 * alloc.c (init_stack): Remove declaration.
186
18f9986a
GM
1872001-08-03 Gerd Moellmann <gerd@gnu.org>
188
5e1f85e0
GM
189 * keyboard.c (read_key_sequence): Check that key is an integer
190 before comparing it with quit_char.
191 (add_command_key): Use larger_vector.
192 (read_char_x_menu_prompt): Instead of converting symbol and
193 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 194 which cannot be confused with valid events.
5e1f85e0
GM
195 (read_char): When reading from Vunread_command_events, check for
196 events of the form (EVENT . disabled) instead of
197 (EVENT . nil).
198
18f9986a
GM
199 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
200 a float, determine the max height from the frame's height.
201
fbc7f2a6
GM
2022001-08-02 Gerd Moellmann <gerd@gnu.org>
203
204 * xdisp.c (redisplay_internal): Take message_cleared_p into
205 account only if minibuf_level == 0.
206
81b1a79d
GM
2072001-08-01 Gerd Moellmann <gerd@gnu.org>
208
e5c60873
GM
209 * xdisp.c (redisplay_internal): Add a check for the last
210 displayed message.
3452efc2 211
6e019995
GM
212 * xdisp.c (message_cleared_p): New variable.
213 (clear_message): Set message_cleared_p when clearing the current
214 message.
215 (redisplay_internal): Look at message_cleared_p to capture
216 the case that the echo area should be cleared.
217
308a74d8
GM
218 * keyboard.c (command_loop_1): Fix spelling of
219 resize_echo_area_exactly.
220
3452efc2 221 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
222
223 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
224
81b1a79d
GM
225 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
226 current matrix when the window gets smaller.
227
ada329e6
EZ
2282001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
229
230 * print.c (strout): Cast the character passed to insert_char to
231 unsigned char, to avoid sign extension when it is promoted to int.
232
ed86208c
GM
2332001-07-31 Gerd Moellmann <gerd@gnu.org>
234
235 * fileio.c (Finsert_file_contents): Don't treat a return value
236 of 0 from emacs_read as an IO error.
237
6594ac22
GM
2382001-07-30 Gerd Moellmann <gerd@gnu.org>
239
cef68af5
GM
240 * keyboard.c (abs): New macro.
241 (double_click_fuzz): New variable.
242 (make_lispy_event): Use it to determine what makes a double-click.
243 (syms_of_keyboard): DEFVAR_INT it.
244
6594ac22
GM
245 * xmenu.c (set_frame_menubar): Take into account that
246 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
247 <raeburn@gnu.org>.
248
75c5350a
GM
2492001-07-27 Gerd Moellmann <gerd@gnu.org>
250
251 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
252
253 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
254 of row's visible height.
255
256 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
257 deal with the first overlay string having an image `display' property.
258 (try_window_reusing_current_matrix, compute_line_metrics):
259 Fix computation of row's visible height for the case that part of the
75c5350a
GM
260 row is invisible above and part of the row is at the same time
261 invisible below the window.
262
ac49effe
GM
2632001-07-26 Gerd Moellmann <gerd@gnu.org>
264
265 * xfns.c (x-show-tip): Doc fix.
3452efc2 266
ac49effe
GM
267 * xfns.c (Vx_max_tooltip_size): New variable.
268 (syms_of_xfns): DEFVAR_LISP it.
269 (Fx_show_tip): Set frame's window_width to the width of the
270 window. Use a maximum tooltip size specified by
271 Vx_max_tooltip_size, if that has valid contents.
272 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 273
8c3b00cb
AI
2742001-07-26 Andrew Innes <andrewi@gnu.org>
275
276 * w32term.c (x_display_list): New variable.
277 (w32_term_init): Set it.
278
279 * w32term.h (x_display_list): New extern.
280
16098288
GM
2812001-07-26 Gerd Moellmann <gerd@gnu.org>
282
283 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
284 is non-nil, instead of when redisplaying_p is non-zero.
285 See comment there.
16098288
GM
286 (mark_window_display_accurate_1): Add an assertion.
287
64c5be50
GM
2882001-07-25 Gerd Moellmann <gerd@gnu.org>
289
e743f599
GM
290 * dispextern.h (struct it): Increase size of ctl_chars to 16.
291
563b384d
GM
292 * xfns.c (Fx_file_dialog): Block/unblock input while processing
293 events so that we get a chance of processing expose events.
294
64c5be50
GM
295 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
296
296808a5
GM
2972001-07-24 Gerd Moellmann <gerd@gnu.org>
298
299 * xfns.c (valid_image_p): Protect better against invalid image
300 specifications. Previous code could signal an error.
301
5247262a
GM
3022001-07-23 Gerd Moellmann <gerd@gnu.org>
303
3452efc2 304 * indent.c (current_column): Fix column computation in the
f1004faf
GM
305 presence of display table entries.
306 (current_column_1, Fmove_to_column, compute_motion): Likewise.
307
dd42b31a
GM
308 * dispnew.c (adjust_glyph_matrix): In the optimization for
309 windows whose height has changed, use the new window height
310 to compute which rows to invalidate.
311
9e5a7f2a
GM
312 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
313 (MAX_10_EXP): New macro.
314 (Fformat): Use it.
315
5247262a
GM
316 * coding.c (code_convert_region): Handle the multibyte case if
317 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
318
177ab8ce
GM
3192001-07-20 Gerd Moellmann <gerd@gnu.org>
320
6e07c0a5
GM
321 * dispextern.h (struct face): Change type of `stipple' to
322 int; it's an ID.
323
177ab8ce
GM
324 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
325
b5b80599
GM
3262001-07-19 Gerd Moellmann <gerd@gnu.org>
327
4e2a256b
GM
328 * dispnew.c (update_window): Don't set the cursor at the end
329 of the update if display update has been paused.
330
3452efc2 331 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 332
c1fd9232
KR
3332001-07-18 Ken Raeburn <raeburn@gnu.org>
334
335 * fns.c (Fset_char_table_default): Check that a charset is defined
336 before checking its dimension.
337
928a85c1
KR
3382001-07-17 Ken Raeburn <raeburn@gnu.org>
339
340 * coding.c (setup_coding_system): Don't do any designation based
341 on reg_bits if charset is not yet defined.
342
fb4c6c96 343 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
344 pointer, using eassert.
345
de11c1ea
GM
3462001-07-17 Gerd Moellmann <gerd@gnu.org>
347
3452efc2
SM
348 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
349 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 350
467f1209
GM
3512001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
352
353 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
354
c3d6be34
GM
3552001-07-16 Gerd Moellmann <gerd@gnu.org>
356
c1d61a7d
GM
357 * fileio.c (unwind_read): Function removed.
358 (read_non_regular, read_non_regular_quit): New functions.
359 (Finsert_file_contents): When reading from non-regular files,
360 arrange to catch a `quit' and terminate the loop. Rearrange
361 code so that a `quit' when reading from a regular file doesn't
362 insert text in the buffer.
363
c3d6be34
GM
364 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
365 Clear faces afterwards.
366 (clear_font_table): Take a x_display_info parameter. Don't free
367 fonts being the default font of any frame on the given display.
368
e06aa1f9
GM
3692001-07-13 Gerd Moellmann <gerd@gnu.org>
370
371 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
372 instead of CHAR_STRING which can signal an error.
373
374 * charset.c (char_to_string_1): Extracted from char_to_string.
375 Return -1 instead of signaling an error.
376 (char_to_string): Use it.
377
378 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
379
176c92e6
SM
3802001-07-12 Stefan Monnier <monnier@cs.yale.edu>
381
382 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
383 is t, don't try to append anything to it.
384
1c56232f
EZ
3852001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
386
387 * dired.c (file_name_completion): Pass dp->d_name to
388 Fstring_match, not elt, which is always nil here.
389
1d2b2268
GM
3902001-07-12 Gerd Moellmann <gerd@gnu.org>
391
392 * xselect.c (x_decline_selection_request): Handle errors
393 caused by receivers that have vanished.
394
395 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
396 ignoring events on foreign windows in #if 0. Always dispatch
397 the event after checking it with x_handle_property_notify.
398
399 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
400 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
401 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
402 (toplevel): Add prototypes for file-local functions.
403 (x_atom_to_symbol): Remove DPYINFO parameter.
404
fe5a0162
SM
4052001-07-11 Stefan Monnier <monnier@cs.yale.edu>
406
407 * w32menu.c (menubar_selection_callback, w32_menu_show):
408 Initialize `entry' to nil.
409 (w32_dialog_show): Remove unused `save_wv' variable.
410 (name_is_separator): Recognize "--:foo" and "--foo-bar".
411
a777242c
GM
4122001-07-11 Gerd Moellmann <gerd@gnu.org>
413
8ee5b6a3
GM
414 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
415
d0e2444e
GM
416 * fileio.c (unwind_read): Print a message when discarding inserted
417 text or switching the buffer to unibyte. Change parameter.
418 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 419
a777242c
GM
420 * fileio.c (unwind_read): New function.
421 (Finsert_file_contents): Record it as unwind-function for
422 the case that reading is interrupted by C-g.
423
ae794295
GM
4242001-07-10 Gerd Moellmann <gerd@gnu.org>
425
fe5a0162 426 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
427 update when scrolling_window returns 0.
428
6b05fae3
GM
429 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
430
431 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 432 for the case that x_decode_color signals an error.
6b05fae3 433
ae794295
GM
434 * xdisp.c (add_to_log): Do nothing if called asynchronously.
435
bb6e8cee
GM
4362001-07-09 Gerd Moellmann <gerd@gnu.org>
437
438 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
439 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
440 around ioctls.
441
36b40a8a
EZ
4422001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
443
24b97d4b
EZ
444 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
445 doc string line for dos-timezone-offset.
446
36b40a8a
EZ
447 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
448 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
449 (syms_of_msdos): Add \n\ at the end of a line in the doc string
450 line for dos-unsupported-char-glyph.
36b40a8a
EZ
451
452 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
453
0967b4b0
GM
4542001-07-05 Gerd Moellmann <gerd@gnu.org>
455
f25cfe53
GM
456 * sound.c: Include Emacs' header files with #include "...".
457
0967b4b0
GM
458 * eval.c (specbind): Additionally record the buffer that was
459 current when a buffer-local or frame-local variable was bound.
460
c347a1c3
GM
4612001-07-04 Gerd Moellmann <gerd@gnu.org>
462
463 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
464 to unibyte characters in unibyte buffers.
465
6332ca8a
GM
4662001-07-03 Gerd Moellmann <gerd@gnu.org>
467
38472d44
GM
468 * eval.c (specbind): If SYMBOL has a frame-local binding, record
469 the frame on the binding stack. Change format of entries for
470 local bindings on the binding stack to '(SYMBOL . WHERE)'.
471 (unbind_to): Handle unbinding a frame-local variable.
472
6332ca8a 473 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 474 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
475 (dump_glyph_row): Print row's continuation_lines_width.
476 (try_window_id): Take the shortcut if ZV is visible in the
477 window, but there are actually no changes at ZV.
478
63d1b174
GM
4792001-07-02 Gerd Moellmann <gerd@gnu.org>
480
4c175203
GM
481 * xterm.h (x_free_dpy_colors): Add prototype.
482
483 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
484 right number of arguments.
485
0b54ce28
GM
486 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
487 ($(lwlibdir)TAGS): New target.
4c175203 488 (TAGS): Fix dependency list.
0b54ce28 489
63d1b174
GM
490 * xterm.c (x_list_fonts): Make sure XFreeFont is called
491 with input blocked.
492
d827466c
GM
4932001-06-30 Gerd Moellmann <gerd@gnu.org>
494
495 * emacs.c (main): Remove extern declaration for sys_nerr, which
496 isn't used and causes a compilation error with GCC 3.0 on
497 FreeBSD 4.3.
498
b5cb1ada
GM
4992001-06-27 Gerd Moellmann <gerd@gnu.org>
500
a5d3ec3f 501 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 502 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
503 (toplevel): Include <signal.h> and syssignal.h.
504
b5cb1ada
GM
505 * sound.c (vox_configure, vox_close): Turn off atimers
506 around ioctls.
507
d9bad487
GM
5082001-06-26 Gerd Moellmann <gerd@gnu.org>
509
fdbb67fe
GM
510 * keyboard.c (read_char) <non_reread>: Record the previous idle
511 start time before calling timer_stop_idle.
512 (read_char) <reread_first>: After processing a help-echo event,
513 restore the previous idle start time.
514
d9bad487
GM
515 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
516 the start of invisible text.
517 (setup_for_ellipsis): New function.
518 (next_overlay_string): After all overlay strings have been
519 processed, display an ellipsis if necessary.
520 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
521 (push_it): Initialize display_ellipsis_p on the iterator's stack.
522
523 * dispextern.h (struct iterator_stack_entry): Add member
524 display_ellipsis_p.
525
2b9c25e0
GM
5262001-06-25 Gerd Moellmann <gerd@gnu.org>
527
80de57df
GM
528 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
529 on the value of the wait-for-wm frame parameter.
530
531 * xterm.h (struct x_output): Add member wait_for_wm.
532
533 * xfns.c (Qwait_for_wm): New variable.
534 (x_frame_parms): Add entry for `wait-for-wm".
535 (x_set_wait_for_wm): New function.
536 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
537 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
538
2b9c25e0
GM
539 * xdisp.c (try_window_id) <all changes below window end>: Don't
540 take this shortcut if ZV is visible in the window.
541 (try_window_id): When checking for window start being in changed
542 text, don't check that the buffer's size has changed.
543
f772775c
RS
5442001-06-23 Richard M. Stallman <rms@gnu.org>
545
546 * minibuf.c (Fcompleting_read): Doc fix.
547
fa9090b8
GM
5482001-06-19 Gerd Moellmann <gerd@gnu.org>
549
550 * composite.c (Ffind_composition_internal): Accept ZV
551 and a string's end position as POS.
552
f6f1beba
GM
5532001-06-18 Gerd Moellmann <gerd@gnu.org>
554
555 * composite.c (Ffind_composition_internal): Check POS
556 for validity.
557
0ae83348
EZ
5582001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
559
560 * editfns.c (Fmessage_box): If the frame is not under a window
561 system, output the message in the echo area.
562
e4cdc335
RS
5632001-06-14 Richard M. Stallman <rms@gnu.org>
564
565 * xdisp.c (try_window_id): When EOB is visible, don't treat
566 insertion at EOB as if it were "off the bottom of the screen."
567
a55a5f3c
AI
5682001-06-11 Andrew Innes <andrewi@gnu.org>
569
570 * w32proc.c (create_child): Add new parameter is_gui_app.
571 (w32_executable_type): Add new parameter is_gui_app.
572 (sys_spawnve): Use it.
573 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
574 SIGQUIT. This matches better how the signals are interpreted by
575 MSVC compiled programs.
576 (syms_of_ntproc): Update docstring.
577
1b85dc1c
SM
5782001-06-02 Stefan Monnier <monnier@cs.yale.edu>
579
580 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
581 well otherwise note_mouse_highlight might optimize away highlighting
582 if we pass over that same overlay again.
583
b75f8eab
EZ
5842001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
585
586 * lread.c (Fload): Document that the argument is run via
587 substitute-in-file-name.
588
94843cc1
GM
5892001-05-31 Gerd Moellmann <gerd@gnu.org>
590
b14659e6
GM
591 * Makefile.in (bootstrap-doc): New target.
592 (bootstrap-emacs): Depend on it.
593
0894672f
GM
594 * fileio.c (Fdo_auto_save): Don't try to create the directory of
595 auto-save-list-file-name when shutting down Emacs, because
596 creating the directory might signal an error, and leaves
597 Emacs in a strange state.
598
94843cc1
GM
599 * term.c: (tty_cursor_hidden): New variable.
600 (update_begin): Don't call tty_hide_cursor. Clean up.
601 (update_end, set_terminal_window, set_scroll_region): Clean up.
602 (ring_bell, reset_terminal_modes): Clean up.
603 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
604 on tty_cursor_hidden.
605 (write_glyphs): Call tty_hide_cursor.
606
db3a49a6
SM
6072001-05-30 Stefan Monnier <monnier@cs.yale.edu>
608
609 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
610
8bd189fb
GM
6112001-05-30 Gerd Moellmann <gerd@gnu.org>
612
6f1be3b9
GM
613 * xfns.c (enum image_value_type): New enumerator
614 IMAGE_STRING_OR_NIL_VALUE.
615 (parse_image_spec): Handle it.
616 (xbm_format, pbm_format): Use it for :foreground and :background.
617 (xbm_load, pbm_load): Check for nil color names.
618
8bd189fb
GM
619 * xterm.c (note_mouse_highlight): If an overlapping overlay
620 exists, but we find that we highlight the same overlay as before,
621 don't do the highlighting again.
622
7bdba03c
GM
6232001-05-29 Gerd Moellmann <gerd@gnu.org>
624
4c329aa8
GM
625 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
626 Protect unibyte strings created by replacing their multibyte
627 equivalents in menu_items.
628
e15e2828
GM
629 * keymap.c (Fsingle_key_description): NUL-terminate the string
630 buffer before calling build_string.
631
7bdba03c
GM
632 * callproc.c (Fcall_process): Deal with decode_coding returning
633 CODING_FINISH_INCONSISTENT_EOL.
634
89c8dc6c
GM
6352001-05-28 Gerd Moellmann <gerd@gnu.org>
636
db3a49a6 637 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
638 an item's name with its key description in case the description
639 is a multibyte string.
640
641 * keymap.c (Fsingle_key_description): Create a multibyte string
642 only if necessary.
643
eb04d6cd
GM
644 * macros.c (Fstart_kbd_macro): Doc fix.
645
8bd6307f
GM
646 * xterm.c (cursor_in_mouse_face_p): New function.
647 (x_draw_stretch_glyph_string): Use it to choose a different GC
648 when drawing a cursor within highlighted text.
649
e26c4089
GM
650 * editfns.c (char_property_eq): Put in #if 0.
651
652 * indent.c (string_display_width): Put in #if 0.
653
654 * lread.c (Fload): Remove unused label.
655
89c8dc6c
GM
656 * termcap.c (speeds): Put in #if 0.
657
9a1211f2
GM
6582001-05-18 Gerd Moellmann <gerd@gnu.org>
659
29148a3f
GM
660 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
661
9a1211f2
GM
662 * xfaces.c (xlfd_point_size): Don't divide pixel size from
663 transformation matrix by 10.
664
09393d07
GM
6652001-05-16 Gerd Moellmann <gerd@gnu.org>
666
667 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
668 only if it's equal to the former foreground pixel color.
db3a49a6 669 (x_set_foreground_color, x_set_background_color)
09393d07
GM
670 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
671
460e6bae
GM
6722001-05-16 Dave Love <fx@gnu.org>
673
674 * insdel.c (signal_before_change, signal_after_change): Consider a
675 local change hook which changes the buffer.
99c78ce8
GM
676
677 * process.c (read_process_output): Don't call signal_after_change
678 and update_compositions after insert_from_string_before_markers.
679
dbcf3c03
GM
6802001-05-16 Gerd Moellmann <gerd@gnu.org>
681
a90b3d3c
GM
682 * xfaces.c (split_font_name): Use the right field when
683 checking for `[...]' syntax.
684
1b7818b4
GM
685 * buffer.c (copy_overlays): New function.
686 (clone_per_buffer_values): Use it.
687
688 * buffer.h (OVERLAY_PLIST): New macro.
689
9bae8781
GM
690 * keymap.c (Fsingle_key_description): Replace a build_string with
691 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
692
dbcf3c03
GM
693 * fontset.c (Ffontset_info): Check that face is non-null
694 before accessing its fields.
695
8a1ae4dd
GM
6962001-05-15 Gerd Moellmann <gerd@gnu.org>
697
18a0a39e
GM
698 * keyboard.c (read_key_sequence): Prevent generating a fake
699 prefix key twice.
700
e335b66a
GM
701 * xfaces.c (split_font_name): Handle `[...]' for the right
702 font name fields.
703
8a1ae4dd
GM
704 * ccl.c (ccl_driver): Don't copy remaining bytes in case
705 of CCL_STAT_INVALID_CMD.
706
3cf80731
SM
7072001-05-14 Stefan Monnier <monnier@cs.yale.edu>
708
33568849
SM
709 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
710 in <var> has no default value yet.
711
3cf80731
SM
712 * xfaces.c (try_alternative_families): First try the FAMILY.
713 And if nothing is found in the end, try again with scalable fonts.
714 (try_font_list): Let try_alternative_families do a bit more of
715 the work. Only use FAMILY if it is not nil.
716 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
717
933b0249
GM
7182001-05-14 Gerd Moellmann <gerd@gnu.org>
719
58e5af83
GM
720 * xterm.c (note_mouse_highlight): Avoid changing the mouse
721 pointer shape when show_mouse_face has already done it.
33568849 722
58e5af83 723 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
724 full-width rows.
725
7b16a6bf
GM
726 * xfaces.c (split_font_name): Make sure to leave the loop
727 with the right value of `i'.
3cf80731 728
933b0249
GM
729 * xfaces.c (split_font_name): Handle matrix transformations
730 in the pixel and point size fields of XLFD font names.
731 (xlfd_point_size): Likewise.
732
dddcbf00
EZ
7332001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
734
3cf80731 735 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
736 (x_to_w32_font): Add prototype.
737
7689ef0b
EZ
738 * regex.c (malloc, realloc, free) [emacs]: Undefine before
739 redefining, to avoid compiler warnings.
740
e7c15bba
EZ
741 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
742
dddcbf00
EZ
743 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
744 (w32_get_bdf_glyph): Cast between unsigned char and char when
745 passing arguments to subroutines, to shut up compiler warnings.
746 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
747 GET_HEX_VAL.
748
749 * xfaces.c: Include keyboard.h before frame.h, not after it.
750
751 * widget.c: Include keyboard.h before frame.h.
752
753 * w32term.h (struct image, struct face): Forward declaration, to
754 avoid compiler warnings.
755
7bd2d083
GM
7562001-05-11 Gerd Moellmann <gerd@gnu.org>
757
47e72862
GM
758 * keyboard.c (read_key_sequence): Don't modify events when
759 generating fake prefix keys (mode-line, scroll-bar, ...) since
760 this prevents proper processing of such events when pushed back
761 into unread-command-events.
762
dd5f324b
GM
763 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
764 actually redrawn. Make the function static.
765 (note_mouse_highlight): Fix a case where the mouse cursor
766 was changed back to the text cursor.
767
768 * xterm.h (clear_mouse_face): Remove prototype.
769
d88a79d4
GM
770 * xdisp.c (try_window_id): Fix the fix and set the right
771 window_end_vpos.
772
773 * xdisp.c (try_window_id): Fix computation of window end in the
774 case that lines were deleted at the end of the window. Add some
775 more debug_method_adds.
0416532f 776
7bd2d083
GM
777 * xfaces.c (try_alternative_families): New function.
778 (try_font_list): Use it. If ATTRS specifies a family, check
779 fonts from that family first.
780 (choose_face_font): Remove code setting the family part of
781 the pattern to nil.
782
23fca891
GM
7832001-05-10 Gerd Moellmann <gerd@gnu.org>
784
ff9aa2ca
GM
785 * xdisp.c (try_window_id): Fix case of all changes before
786 the window start.
7b2654b5 787
23fca891
GM
788 * xdisp.c (try_window_id): Add some xasserts.
789
e9726794
GM
7902001-05-09 Gerd Moellmann <gerd@gnu.org>
791
792 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
793
9e53a675
GM
7942001-05-09 Dave Love <fx@gnu.org>
795
796 * xdisp.c (GIVE_UP): Fix for K&R C.
797
0d487c52
GM
7982001-05-09 Gerd Moellmann <gerd@gnu.org>
799
fe88d421
GM
800 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
801
0d487c52
GM
802 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
803 back to the text cursor shape without need.
804
1e9fc92e
GM
8052001-05-07 Gerd Moellmann <gerd@gnu.org>
806
a2a6232e
GM
807 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
808
809 * dispextern.h (inverse_video): Declare extern.
810
1e9fc92e
GM
811 * keyboard.c (delete_kboard): Handle the case that selected_frame
812 has been deleted in the course of x_connection_closed.
813
12949a7f
EZ
8142001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
815
7b2654b5
SM
816 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
817 Fix the change from 2001-04-30.
12949a7f 818
2fa2f461
GM
8192001-05-03 Gerd Moellmann <gerd@gnu.org>
820
a779d213
GM
821 * xfns.c (file_dialog_unmap_cb): New function.
822 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
823 where a dialog is closed via the window manager.
824
7b2654b5 825 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
826 the window start or all below the window end mostly rewritten.
827 (redisplay_window): Move the tests if try_window_id is
828 applicable to try_window_id.
829 (GIVE_UP): New macro.
830
3356df63
GM
8312001-05-02 Gerd Moellmann <gerd@gnu.org>
832
a39202f6 833 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
834 currently being updated, mark the frame garbaged.
835 Fix computation of rows intersecting the exposed rectangle.
a39202f6 836 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 837
3356df63
GM
838 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
839 again if it has already been drawn.
840
a9d2fd1d
SM
8412001-05-01 Stefan Monnier <monnier@cs.yale.edu>
842
843 * syntax.c (update_syntax_table): Check that oldi has the same
844 properties as old_prop before deciding not to invalidate.
845
c95fc5f1
GM
8462001-04-30 Gerd Moellmann <gerd@gnu.org>
847
a9793e45
GM
848 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
849 read-only text that is so because of text properties.
850
c95fc5f1 851 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 852 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
853 windows that are components of a Lucid menu bar.
854
5a5d9185
GM
8552001-04-27 Gerd Moellmann <gerd@gnu.org>
856
857 * term.c (turn_on_face): Fix reverse video handling on terminals
858 that don't support colors.
859
ba973f7a
GM
8602001-04-26 Gerd Moellmann <gerd@gnu.org>
861
862 * editfns.c (save_excursion_restore): Don't use XBUFFER on
863 a non-buffer.
864
8c56a983
GM
8652001-04-25 Gerd Moellmann <gerd@gnu.org>
866
a728644c
GM
867 * term.c (toggle_highlight): New function.
868 (turn_on_face): Change handling of reverse video.
869
7b2654b5
SM
870 * process.c (wait_reading_process_input):
871 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 872
bfd8410f
GM
873 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
874 of the number of overlays to check.
875
be2488ca
GM
876 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
877
8c56a983
GM
878 * xdisp.c (try_window_id): Fix a case where window_end_pos
879 and window_end_bytepos were not adjusted.
880
522d42f7
GM
8812001-04-23 Gerd Moellmann <gerd@gnu.org>
882
883 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
884 zero instead of -1.
885
78c1afb6
EZ
8862001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
887
a9d2fd1d
SM
888 * process.c (wait_reading_process_input) [!subprocesses]:
889 Don't reference waiting_for_user_input_p, it's not defined in the
890 branch without async subprocesses support.
78c1afb6 891
a2fab450
GM
8922001-04-19 Gerd Moellmann <gerd@gnu.org>
893
a122a38e
GM
894 * keyboard.c (delete_kboard): Prevent a dangling reference
895 from current_kboard to KB, which is freed.
896
a9d2fd1d
SM
897 * process.c (wait_reading_process_input):
898 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
899 read_key_sequence aware of buffer changes from under it.
900
0f8d6dc7
GM
9012001-04-18 Gerd Moellmann <gerd@gnu.org>
902
eeffb293
GM
903 * xfaces.c (Qscalable_fonts_allowed): New variable.
904 (realizing_basic_faces_p): Removed.
2fa2f461
GM
905 (x_face_list_fonts): Special handling for realizing_basic_faces_p
906 removed.
eeffb293 907 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
908 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
909 for scalable-fonts-allowed to t.
eeffb293 910
0f8d6dc7
GM
911 * fileio.c (Finsert_file_contents): If the file size returned from
912 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 913 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 914
eec2d1de
EZ
9152001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
916
917 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
918 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
919 (__memalign_hook): Make the two prototypes consistent.
920
f4f480bd
GM
9212001-04-17 Gerd Moellmann <gerd@gnu.org>
922
923 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
924 matrix of mini-windows.
925
52283633
SM
9262001-04-12 Stefan Monnier <monnier@cs.yale.edu>
927
928 * intervals.c (find_interval): Don't rebalance during signal handling.
929
ec2423c9
GM
9302001-04-11 Gerd Moellmann <gerd@gnu.org>
931
30cb0001 932 * fns.c: Include blockinput.h.
52283633 933
ec2423c9
GM
934 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
935
719d83ad
GM
9362001-04-10 Gerd Moellmann <gerd@gnu.org>
937
60f8d735
GM
938 * fns.c (Fcompare_strings): Fix return values.
939
afffeb57
GM
940 * window.c (window_scroll): Change the meaning of N to mean
941 N screen-fulls or N lines.
942 (window_scroll_pixel_based, window_scroll_line_based)
943 (scroll_command, Fscroll_other_window): Change accordingly.
944
52283633
SM
945 * window.c (window_scroll_pixel_based, Frecenter):
946 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
947 height of the window.
948
949 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
950 instead of using it.last_visible_y for the height of the window.
52283633 951
719d83ad 952 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 953 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
954
955 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
956 able to write to hidden and system files. From Dan Holmsand
957 <dan@eyebee.com>.
719d83ad 958
8ddf3ee1
GM
959 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
960 Holmsand <dan@eyebee.com>.
719d83ad 961
522ed7fb
GM
9622001-04-09 Gerd Moellmann <gerd@gnu.org>
963
9170e5d4
GM
964 * fns.c (Fplist_get, Fplist_put): Add QUITs.
965
522ed7fb
GM
966 * window.c (window_internal_height): Return 1 less if the
967 window has a header line.
968
969 * xdisp.c (try_window_id): When scrolling on a terminal, take
970 the change of window_internal_height into account.
971
ceeb3d7d
EZ
9722001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
973
974 * gmalloc.c (align): If the argument SIZE would overflow
975 __malloc_ptrdiff_t, fail right away.
976
63685b9d
GM
9772001-04-06 Gerd Moellmann <gerd@gnu.org>
978
979 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
980 Make sure the tooltip is completely visible.
981 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
982
983 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
984
985 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
986
3ffb33bb
DL
9872001-04-06 Dave Love <fx@gnu.org>
988
52283633
SM
989 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
990 Fix test of `from'.
3ffb33bb 991
869fb12c
GM
9922001-04-06 Gerd Moellmann <gerd@gnu.org>
993
52283633 994 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 995
869fb12c
GM
996 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
997
441bf856
GM
9982001-04-05 Gerd Moellmann <gerd@gnu.org>
999
4d664b04
GM
1000 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1001
52283633 1002 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1003
30ca89f5
GM
1004 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1005 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1006
1007 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1008 shell widget's position only if it is non-null.
1009
52283633
SM
1010 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1011 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1012
81a81c0f
GM
1013 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1014 FILENAME to bring it in synch with the documentation.
1015
441bf856
GM
1016 * xfaces.c (realizing_basic_faces_p): Renamed from
1017 realize_default_face_p.
1018 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1019 (realize_default_face): Don't set the flag.
1020
702a1e8e
GM
10212001-04-04 Gerd Moellmann <gerd@gnu.org>
1022
1013f4e3
GM
1023 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1024
52283633
SM
1025 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1026
1013f4e3
GM
1027 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1028 the buffer that was used for echoing.
1029
702a1e8e
GM
1030 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1031 (first_font_matching): Removed unused function.
1032 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1033 (may_use_scalable_font_p): Remove parameter FONT; rename
1034 parameter NAME to FONT.
1035 (x_face_list_fonts): Fix missing bounds check.
1036 (realizing_default_face_p): New variable.
1037 (realize_default_face): Set and clear that flag.
1038 (x_face_list_fonts): When called during the realization of the
1039 default face, and no matching fonts are found when ignoring
1040 scalable fonts and fonts matching a regexp from
1041 face-ignored-fonts, try without ignoring fonts.
1042
f9dbcda4
GM
10432001-04-03 Gerd Moellmann <gerd@gnu.org>
1044
ad18ffb1
GM
1045 * xfns.c (postprocess_image): New function.
1046 (lookup_image): Call it for all image types except PostScript.
1047 (x_kill_gs_process): Call postprocess_image.
1048
f9dbcda4
GM
1049 * xterm.c (x_use_underline_position_properties): New variable.
1050 (x_draw_glyph_string): Use it.
1051 (syms_of_xterm): DEFVAR_BOOL it.
1052
651f03b6
GM
10532001-04-02 Gerd Moellmann <gerd@gnu.org>
1054
1055 * xterm.c (x_alloc_nearest_color_1): New function.
1056 (x_alloc_nearest_color): Use it.
1057 (x_color_cells): Take a Display as argument, instead of a frame.
1058 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1059 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1060 (x_initialize): Register cvt_string_to_pixel as resource converter
1061 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1062
73d75a62
GM
10632001-03-30 Gerd Moellmann <gerd@gnu.org>
1064
b2046df8
GM
1065 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1066 (set_iterator_to_next): If a string from a display property ends,
1067 consider the case that this might also be the end of an
1068 overlay string having the display property.
1069
52283633 1070 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1071
87d8eba4
GM
1072 * xdisp.c (reseat_to_string): Undo last change.
1073
73d75a62
GM
1074 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1075 matrix of a window when the header line changes, when
1076 new rows are allocated, or when the width changes.
1077
911a2406
EZ
10782001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1079
52283633 1080 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1081
aea51abe
EZ
10822001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1083
1084 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1085 deprecated.
1086
176bc847
GM
10872001-03-29 Gerd Moellmann <gerd@gnu.org>
1088
ed31fabf
GM
1089 * data.c (Fsubr_interactive_form): New function.
1090 (syms_of_data): Defsubr it.
1091
176bc847
GM
1092 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1093 (live_float_p, live_misc_p): Return 1 only if the offset of the
1094 pointer in its block is >= 0.
1095
e59d0e9d
GM
10962001-03-28 Paul Eggert <eggert@twinsun.com>
1097
1098 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1099 microseconds calcuation. Avoid double-rounding problem.
1100 In doc string, warn that the result is approximate.
1101
f827b862
GM
11022001-03-28 Gerd Moellmann <gerd@gnu.org>
1103
30a3f61c
GM
1104 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1105 bind `inhibit-eval-during-redisplay' to t.
1106
1107 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1108
1109 * xdisp.c (inhibit_eval_during_redisplay)
1110 (Qinhibit_eval_during_redisplay): New variables.
1111 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1112 don't eval, return nil instead.
1113 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1114 Initialize Qinhibit_eval_during_redisplay.
1115
e719f5ae
GM
1116 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1117 the iterator's multibyte_p flag.
1118
deb2613a
GM
1119 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1120 instead of setting it to zero; it's incremented for each frame
1121 where the menu face is changed.
1122
52283633
SM
1123 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1124 change bottom shadow accordingly.
1125
1126 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1127 intersections here.
1128 (expose_window): Do it here instead.
52283633 1129 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1130
f827b862
GM
1131 * bytecode.c (BYTE_CODE_QUIT): New macro.
1132 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1133
4bde0ebb
GM
11342001-03-27 Gerd Moellmann <gerd@gnu.org>
1135
607ec83c
GM
1136 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1137 Give up if matrix starts in an ellipsis.
1138 (init_from_display_pos): Do nothing if POS doesn't specify
1139 a dpvec_index but the iterator has such a position.
1140
0245398f
GM
1141 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1142
aba25348
GM
1143 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1144 x/y position is (0, 0) after destroying the menu bar, restore
1145 its original position.
1146
4bde0ebb
GM
1147 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1148 (init_from_display_pos): Use it.
1149 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1150
8cdb267e
GM
11512001-03-26 Gerd Moellmann <gerd@gnu.org>
1152
1153 * xdisp.c (try_window_id): Undo last change.
1154
9948db79
EZ
11552001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1156
1157 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1158
1159 * buffer.c (syms_of_buffer): Doc fix.
1160
2eddf899
GM
11612001-03-26 Gerd Moellmann <gerd@gnu.org>
1162
1163 * xfaces.c (x_update_menu_appearance): Use local variable
1164 popup_path for setting font resources.
1165
6c145d35
EZ
11662001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1167
6a65b1b5
EZ
1168 * frame.c (Fframe_list): Don't reference tip_frame if
1169 HAVE_WINDOW_SYSTEM is not defined.
1170
6c145d35
EZ
1171 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1172 <wl@gnu.org>.
1173
d74c1900
GM
11742001-03-25 Gerd Moellmann <gerd@gnu.org>
1175
20fbd925
GM
1176 * xdisp.c (init_from_display_pos): Test invisible property
1177 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1178
927c5b3b
GM
1179 * xdisp.c (redisplay_internal) <update one window>: Make sure
1180 last_arrow_position and last_arrow_string are set.
1181
d74c1900
GM
1182 * frame.c (Fframe_list): Don't return a tooltip frame.
1183
091f8878
GM
11842001-03-23 Gerd Moellmann <gerd@gnu.org>
1185
52283633
SM
1186 * xdisp.c (mark_window_display_accurate_1): New function,
1187 extracted from mark_window_display_accurate.
1188 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1189 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1190 (mark_window_display_accurate): Use it.
1191 (redisplay_internal): Use it for the selected window.
1192 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1193 for the selected frame.
1194
ac90c44f
GM
1195 * xdisp.c Use make_number, for readability.
1196 (try_window_id): Disable rows below the window end.
1197 (try_window_reusing_current_matrix): Use cursor_row_p.
1198 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1199 of rows.
1200 (init_from_display_pos): If POS specifies a position in a display
1201 vector, maybe get the iterator set up for that ellipsis.
43c09969 1202
091f8878
GM
1203 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1204
991786dd
EZ
12052001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1206
1207 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1208
6c29b43c
GM
12092001-03-23 Gerd Moellmann <gerd@gnu.org>
1210
1211 * xfaces.c (x_update_menu_appearance): Use a different path
1212 for Lucid popup menus.
1213
d8731202
SM
12142001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1215
1216 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1217
1218 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1219 (string_buffer_position): Use `make_number'.
1220
f61a541b
GM
12212001-03-22 Gerd Moellmann <gerd@gnu.org>
1222
3c9e997b
GM
1223 * xfaces.c (x_update_menu_appearance): Renamed from
1224 x_set_menu_face_resources. Use different resources for popups.
1225
1226 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1227 (GC_CHECK_STRING_BYTES): Don't define.
1228
364cd450
GM
1229 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1230 Removed, together with subroutines.
1231 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1232 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1233
d8731202
SM
1234 * dispextern.h (x_set_menu_resources_from_menu_face):
1235 Remove prototype.
364cd450 1236
d8731202 1237 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1238 Remove calls to x_set_menu_resources_from_menu_face.
1239
d8731202
SM
1240 * xfaces.c (xm_set_menu_resources_from_menu_face):
1241 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1242
1243 * xmenu.c: Include widget.h.
1244 (single_submenu): Return int. Some cleanup.
1245 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1246
140330de
GM
12472001-03-21 Gerd Moellmann <gerd@gnu.org>
1248
1249 * xterm.c (x_update_window_end): Handle overwritten mouse face
1250 also for tool bar windows.
1251 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1252 DRAW is DRAW_IMAGE_RAISED.
1253
1741905c
GM
12542001-03-20 Gerd Moellmann <gerd@gnu.org>
1255
fa88947e
GM
1256 * print.c (syms_of_print): Doc fixes.
1257
1741905c
GM
1258 * fns.c (Fmd5): Doc fix.
1259
ade0bee1
GM
12602001-03-19 Gerd Moellmann <gerd@gnu.org>
1261
357e7376
GM
1262 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1263 Clear area of the frame not occupied by the scroll bar.
1264
c2c097cc
GM
1265 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1266 tip frame's root window buffer to *tip* right after creating
1267 the frame.
1268
ade0bee1
GM
1269 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1270 is an integer don't have to be for space characters.
1271
88c6e37e
GM
12722001-03-16 Gerd Moellmann <gerd@gnu.org>
1273
52283633
SM
1274 * indent.c (current_column, current_column_1, Fmove_to_column)
1275 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1276
c62eed76
KH
12772001-03-15 Kenichi Handa <handa@etl.go.jp>
1278
1279 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1280 drawing glyph string.
1281
c899e7e6
GM
12822001-03-15 Gerd Moellmann <gerd@gnu.org>
1283
d0bbfc99
GM
1284 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1285 (command_loop_1): Undo last change.
1286
03d1a189
GM
1287 * xterm.c (fast_find_position): Return the correct vpos.
1288
c899e7e6 1289 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1290 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1291 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1292 Call store_symval_forwarding with BUF null.
1293 (set_internal): Call store_symval_forwarding with the BUF
1294 parameter passed to set_internal. Formerly, the value was always
1295 set in the current buffer; the buffer recorded in specbind for
1296 this case wasn't used.
1297 (arith_driver): Reindent.
1298
52283633
SM
1299 * buffer.c (swap_out_buffer_local_variables):
1300 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1301
1302 * lisp.h (store_symval_forwarding): Change prototype.
1303
1304 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1305
57ac7c81
GM
13062001-03-14 Gerd Moellmann <gerd@gnu.org>
1307
697617d9
GM
1308 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1309 FOR_DELETION. Avoid resizing the mini-window of the selected
1310 frame if FOR_DELETION is set.
1311 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1312 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1313 signature.
1314
1315 * window.c (Fset_window_configuration): Change call to
1316 do_switch_frame to new format.
1317
1318 * keyboard.c (quit_throw_to_read_char): Change call to
1319 do_switch_frame to new format.
1320
1321 * lisp.h (do_switch_frame): Change prototype.
1322
819dce0f
GM
1323 * frame.c (Fframe_parameters): In the `buffer-list' frame
1324 parameter, store the buffer list of FRAME, not the list of the
1325 selected frame.
1326
57ac7c81
GM
1327 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1328 box just because the glyph row's full_width_p flag is set.
1329
65008712
GM
13302001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1331
1332 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1333 skip the padding blanks inserted in extend_face_to_end_of_line,
1334 before checking for trailing whitespace.
1335
159cf431
GM
13362001-03-13 Gerd Moellmann <gerd@gnu.org>
1337
52283633 1338 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1339 Remove special handling for LessTif/Motif.
1340 (toplevel): Don't include Xm/Xm.h.
1341
52283633
SM
1342 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1343 Remove workaround code for LessTif; it doesn't work anymore.
1344
2564ea1b 1345 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1346 Xm/ScrollBarP.h.
afcdc0a1 1347
52283633
SM
1348 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1349 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1350 contemporary LessTif.
1351
52283633
SM
1352 * xfaces.c (xm_set_menu_resources_from_menu_face):
1353 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1354
159cf431
GM
1355 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1356 removing button grabs.
1357
c6f7429a
KH
13582001-03-13 Kenichi Handa <handa@etl.go.jp>
1359
cb82d767
KH
1360 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1361 and clip-large-size-font as obsolete.
1362
c6f7429a
KH
1363 * lread.c (read_multibyte): Check the validity of multibyte
1364 sequence. If invalid, return the first byte.
1365
760cefb5
GM
13662001-03-12 Gerd Moellmann <gerd@gnu.org>
1367
1368 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1369 before running the command; timer functions or process
1370 filters may have set it.
1371
5141f9d0
EZ
13722001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1373
1374 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1375 Doc fix.
1376
b6a15240
GM
13772001-03-12 Gerd Moellmann <gerd@gnu.org>
1378
1379 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1380 to sprintf.
1381
95522746
GM
13822001-03-09 Gerd Moellmann <gerd@gnu.org>
1383
db14cfc5
GM
1384 * dispextern.h (string_buffer_position): Add prototype.
1385
52283633 1386 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1387 (single_display_prop_string_p): New functions.
1388
1389 * xterm.c (note_mouse_highlight): If there's no help-echo on
1390 a string, look at the buffer text ``under'' it.
1391
1392 * keyboard.c (make_lispy_event): Add string info to the event,
1393 analogous to what's done on mode lines.
1394 (read_key_sequence): For a click on a string, consider `local-map'
1395 and `keymap' of that string.
1396
52283633
SM
1397 * keyboard.c (make_lispy_event, make_lispy_movement):
1398 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1399
1400 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1401
1402 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1403 POS; return void.
1404
95522746
GM
1405 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1406 flags argument to emacs_open; it seems to conflict with O_EXCL.
1407
898a399d
KH
14082001-03-09 Kenichi Handa <handa@etl.go.jp>
1409
28cd4910
KH
1410 * composite.h (struct composition): Change types of members;
1411 glyph_len to unsigned, width to unsigned short.
898a399d 1412
4cdf6a6c
AI
14132001-03-08 Andrew Innes <andrewi@gnu.org>
1414
1415 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1416 menu titles.
1417
129004d3
GM
14182001-03-08 Gerd Moellmann <gerd@gnu.org>
1419
221dd3e7
GM
1420 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1421 instead of nil.
1422
52283633 1423 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1424 help-echo in strings.
1425 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1426 (fast_find_string_pos): New function.
1427
52283633
SM
1428 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1429 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1430
1431 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1432 Handle `mouse-face'.
1433
1434 * dispextern.h (face_at_string_position): Change prototype.
1435
52283633 1436 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1437
129004d3
GM
1438 * keyboard.c (make_lispy_event): Avoid generating drag events
1439 if the mouse hasn't actually moved to another buffer position.
52283633 1440
80c8ab8c
DL
14412001-03-08 Dave Love <fx@gnu.org>
1442
129004d3 1443 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1444
989521fd
GM
14452001-03-08 Gerd Moellmann <gerd@gnu.org>
1446
1447 * process.c (Fset_process_window_size): Fix a typo.
1448
bb5c338d
KH
14492001-03-08 Kenichi Handa <handa@etl.go.jp>
1450
1451 * coding.c (detect_coding_sjis): Do more rigid check.
1452 (detect_coding_big5): Likewise.
1453 (decode_coding_sjis_big5): Likewise.
1454 (Fdetect_coding_region): Call detect_coding_system with tailing
1455 anchor byte `\0' for more rigid detection.
52283633 1456 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1457 (Fdetect_coding_string): Likewise.
1458
8b8f9197
SM
14592001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1460
1461 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1462 a string before extracting its data.
1463
3bdf2660
GM
14642001-03-07 Gerd Moellmann <gerd@gnu.org>
1465
1466 * window.c (Frecenter): Rewrite code handling negative values
1467 of ARG on graphical frames.
1468
14692001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1470
1471 * window.c (displayed_window_lines): If W->start is outside the
1472 accessible portion of the buffer, call start_display with BEGV or
1473 ZV instead of W->start.
1474
471f86b9
GM
14752001-03-07 Gerd Moellmann <gerd@gnu.org>
1476
2ab62c6c
GM
1477 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1478
471f86b9
GM
1479 * process.c (Fset_process_filter): Don't crash if the input
1480 file descriptor of PROCESS is closed.
1481 (Fset_process_window_size): Likewise.
1482
101922c3
GM
14832001-03-06 Kenichi Handa <handa@etl.go.jp>
1484
1485 * xterm.c (XTflash): Make the timeout of select shorter, and call
1486 select repeatedly until the desired time expires.
1487
45d051a7
GM
14882001-03-06 Gerd Moellmann <gerd@gnu.org>
1489
1490 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1491
1492 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1493
1494 * lisp.h (Vwindow_list): Declare extern.
1495
8f372c46
EZ
14962001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1497
1498 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1499
f16a7aa5
GM
15002001-03-06 Gerd Moellmann <gerd@gnu.org>
1501
157ae273
GM
1502 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1503 to detect a case where we have to highlight a different region
1504 despite not having left the currently highlighted region.
1505 Set mouse_face_overlay in the x_display_info.
45d051a7 1506 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1507
1508 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1509
1510 * buffer.c (mouse_face_overlay_overlaps): New function.
1511
1512 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1513 (Qmouse_face): Declare extern.
1514
f16a7aa5
GM
1515 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1516 if face_change_count is non-zero.
1517
827afcac
KH
15182001-03-06 Kenichi Handa <handa@etl.go.jp>
1519
1520 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1521 that the source is unibyte.
1522
14c7242e
DL
15232001-03-05 Dave Love <fx@gnu.org>
1524
827afcac 1525 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1526
c28b847b
GM
15272001-03-05 Gerd Moellmann <gerd@gnu.org>
1528
1529 * minibuf.c (read_minibuf): Clean up the binding stack if
1530 called noninteractively.
1531
b86644f2
KH
15322001-03-05 Kenichi Handa <handa@etl.go.jp>
1533
1534 * coding.c (syms_of_coding): Docstring modified.
1535
203682cc 15362001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1537
1538 * charset.c (char_to_string): If a single byte char has modifier
1539 bits that can't be reflected to the character code, ignore them
45d051a7 1540 instead of signaling an error.
b86644f2 1541
e30bd7b7
EZ
15422001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1543
1544 * s/msdos.h: Update copyright notice.
1545
1546 * dosfns.h: Update copyright notice.
1547
1548 * dosfns.c: Update copyright notice.
1549
1550 * msdos.c: Update copyright notice.
1551
b52b65bd
GM
15522001-03-02 Gerd Moellmann <gerd@gnu.org>
1553
1554 * xterm.c (glyph_rect): New function.
1555 (XTmouse_position): Use it to raise the threshold for mouse
1556 movement event generation.
1557
53c4b1e6
EZ
15582001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1559
1560 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1561 specifies (reverse . t), reverse the initial screen colors.
1562 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1563 but we are reversing the colors, set bg_set, not fg_set.
1564 Likewise for setting background-color and reversing: set fg_set.
1565 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1566 in effect.
1567
1568 * xfaces.c (Finternal_set_lisp_face_attribute)
1569 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1570 parameters alist.
1571
f964b4d7
GM
15722001-03-02 Gerd Moellmann <gerd@gnu.org>
1573
ef53d75e
GM
1574 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1575 to a single slash in the middle of file names.
1576
52283633 1577 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1578 Accept only alphanumeric time zone names.
1579
f964b4d7
GM
1580 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1581 or width area.
1582 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1583 a widget to zero height.
52283633 1584
c3c45f65
GM
15852001-03-01 Gerd Moellmann <gerd@gnu.org>
1586
1587 * window.c (Fwindow_end): Call move_it_past_eol only if
1588 ending up on a partially visible line.
1589
028d739a
DL
15902001-03-01 Dave Love <fx@gnu.org>
1591
1592 * ccl.c (Fccl_execute): Doc fix.
1593
57c5889c
GM
15942001-03-01 Gerd Moellmann <gerd@gnu.org>
1595
35f59f6b
GM
1596 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1597 of the tool bar before calling x_figure_window_size.
1598
f84ff02c
GM
1599 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1600 NULL after destroying it, otherwise XTread_socket can access a
1601 destroyed widget when input is unblocked.
1602
8b8f9197 1603 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1604
57c5889c
GM
1605 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1606 same name as before, although there was a change in fontsets.
1607
224227d1
KR
16082001-02-28 Ken Raeburn <raeburn@gnu.org>
1609
4560730a
KR
1610 * lisp.h (Fframe_parameter): Declare.
1611
224227d1 1612 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1613 Lisp_Object.
224227d1 1614
ece93c02
GM
16152001-02-28 Gerd Moellmann <gerd@gnu.org>
1616
11ef99b9
GM
1617 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1618 NULL instead.
1619
1620 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1621 NULL instead.
1622
ece93c02
GM
1623 * alloc.c (toplevel): Include process.h.
1624 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1625 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1626 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1627 (allocate_vector, allocate_hash_table, allocate_window)
1628 (allocate_frame, allocate_process, allocate_other_vector):
1629 New functions.
ece93c02
GM
1630 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1631 (mark_maybe_pointer): New function.
52283633 1632 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1633 remain and not Lisp_Objects.
1634 (min_heap_address, max_heap_address): New variables.
1635 (mem_find): Return MEM_NIL if START is below min_heap_address or
1636 above max_heap_address.
1637 (mem_insert): Compute min_heap_address and max_heap_address.
1638
1639 * process.c (make_process): Use allocate_process.
1640
1641 * frame.c (make_frame): Use allocate_frame.
1642
1643 * window.c (make_window, make_dummy_parent): Use allocate_window.
1644 (Fcurrent_window_configuration): Use allocate_other_vector.
1645
1646 * lisp.h (allocate_vectorlike): Remove prototype.
1647 (allocate_vector, allocate_other_vector, allocate_frame)
1648 (allocate_window, allocate_process, allocate_hash_table):
1649 Add prototypes.
1650
1651 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1652 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1653
063af457
KH
16542001-02-27 Kenichi Handa <handa@etl.go.jp>
1655
1656 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1657 treat the produced bytes as a valid multibyte sequence.
1658
1659 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1660 (ccl_driver) <CCL_WriteMultibyteChar2>:
1661 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1662 <ccl_finish>: Set ccl->eight_bit_control properly.
1663
1664 * ccl.h (struct ccl_program): New member eight_bit_control.
1665
f58c6494
SM
16662001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1667
1668 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1669 accessible_keymaps_char_table.
1670 (accessible_keymaps_char_table): Obey `is_metized'.
1671 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1672 Lisp_Object.
1673
c596c392
GM
16742001-02-26 Gerd Moellmann <gerd@gnu.org>
1675
1676 * dispnew.c: Check HAVE_TERM_H before including term.h.
1677
425de386
AI
16782001-02-24 Andrew Innes <andrewi@gnu.org>
1679
1680 * makefile.w32-in: Update copyright notice.
1681
2ba11bbd
SM
16822001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1683
1684 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1685
66c56ed1
KH
16862001-02-24 Kenichi Handa <handa@etl.go.jp>
1687
4c1593ce
KH
1688 * Makefile.in (lisp): Add international/utf-8.elc.
1689
66c56ed1
KH
1690 * fontset.c (Fnew_fontset): Fix handling of the case that an
1691 element of FONTLIST is a cons of family and registry.
1692
796ead7e
JR
16932001-02-23 Jason Rumney <jasonr@gnu.org>
1694
1695 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1696 to height unconditionally.
1697
1698 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1699 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1700 (x_insert_glyphs): Call window_box_left to obtain the left
1701 x-coordinate of the area to shift.
1702
1703 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1704 safe_run_hooks.
1705
f6839838
AI
17062001-02-22 Andrew Innes <andrewi@gnu.org>
1707
52283633 1708 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1709 ($(BLD)\dispnew.obj):
1710 ($(BLD)\editfns.obj):
1711 ($(BLD)\fileio.obj):
1712 ($(BLD)\filelock.obj):
1713 ($(BLD)\keyboard.obj):
1714 ($(BLD)\w32proc.obj):
1715 ($(BLD)\process.obj):
1716 ($(BLD)\sysdep.obj): Ditto.
1717
1718 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1719 header files.
52283633
SM
1720 ($(BLD)/dispnew.$(O)):
1721 ($(BLD)/editfns.$(O)):
1722 ($(BLD)/fileio.$(O)):
1723 ($(BLD)/filelock.$(O)):
1724 ($(BLD)/keyboard.$(O)):
1725 ($(BLD)/w32proc.$(O)):
1726 ($(BLD)/process.$(O)):
f6839838
AI
1727 ($(BLD)/sysdep.$(O)): Ditto.
1728
c224f70b
GM
17292001-02-22 Gerd Moellmann <gerd@gnu.org>
1730
51695746
GM
1731 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1732 at the start of the function, check that the \n in it->c is
1733 from the iterator's current position.
52283633 1734
a61b7058
GM
1735 * xdisp.c (handle_single_display_prop): Add parameter
1736 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1737 properties which replace the display of text with something else.
1738 (handle_display_prop): Call handle_single_display_prop with
1739 additional argument saying if we already replaced text display
1740 with something else. Use AREF.
52283633 1741 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1742 (decode_mode_spec_coding): Use AREF and ASIZE.
1743
3473f362
GM
1744 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1745 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1746 * vmstime.h: Files removed.
52283633 1747
2bb58df3
GM
1748 * unexencap.c, unexfx2800.c: Files removed.
1749
c224f70b
GM
1750 * dispnew.c (direct_output_for_insert): Give up if we are showing
1751 a message or just cleared the message because we might need to
1752 resize the echo area window or display an empty echo area.
1753
ffc9ff0c
GM
17542001-02-21 Gerd Moellmann <gerd@gnu.org>
1755
0528abe1
GM
1756 * xdisp.c (redisplay_internal): Do the
1757 mark_window_display_accurate after all windows have been
1758 redisplayed because this call resets flags in buffers which are
1759 needed for proper redisplay.
1760
52283633
SM
1761 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1762 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1763 the old names.
1764
52283633
SM
1765 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1766 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1767
1768 * msdos.h (struct x_output): Rename busy_window to
1769 hourglass_window, busy_p to hourglass_p.
1770
52283633
SM
1771 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1772 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1773
1774 * xfns.c: Rename everything containing *busy_cursor* and similar
1775 to *hourglass*.
1776 (syms_of_w32fns): Rename x-busy-pointer-shape to
1777 x-hourglass-pointer-shape, display-busy-cursor to
1778 display-hourglass, busy-cursor-delay to hourglass-delay.
1779
1780 * w32fns.c: Rename everything containing *busy_cursor* and similar
1781 to *hourglass*.
1782 (syms_of_w32fns): Rename x-busy-pointer-shape to
1783 x-hourglass-pointer-shape, display-busy-cursor to
1784 display-hourglass, busy-cursor-delay to hourglass-delay.
1785
1786 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1787 of its busy_p flag.
1788
1789 * dispextern.h (start_hourglass, cancel_hourglass)
1790 (display_hourglass_p): Renamed from *busy_cursor*.
1791
ab2c5f0a
GM
17922001-02-20 Gerd Moellmann <gerd@gnu.org>
1793
d17e49a8
GM
1794 * keyboard.c (read_char): When an event from unread-command-events
1795 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1796
fa97adf6
GM
1797 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1798 equal to the current buffer.
1799
ab2c5f0a
GM
1800 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1801 nil, otherwise we're left with truncate_lines t when a message
1802 is printed with message-truncate-lines bound to t.
1803
aeac019e
GM
18042001-02-19 Gerd Moellmann <gerd@gnu.org>
1805
c8bc6f65
GM
1806 * window.c (Fmove_to_window_line): Undo last change.
1807 (displayed_window_lines): Call line_bottom_y to determine
1808 the line's bottom position.
1809
1810 * dispextern.h (line_bottom_y): Add prototype.
1811
52283633 1812 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1813 (pos_visible_p): Use it.
1814
980a2d69
GM
1815 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1816 set redisplaying_p to 0 here instead of in Frecursive_edit.
1817 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1818 set redisplaying_p.
1819
52283633 1820 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1821 New variables.
1822 (syms_of_xdisp): Initialize new variables.
1823 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1824 Specbind `inhibit-menubar-update' when updating the menu bar.
1825
65048e97
GM
1826 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1827 safe_run_hooks.
1828
1829 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1830 safe_run_hooks.
1831
a57c4026
GM
1832 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1833 is null.
1834
aeac019e
GM
1835 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1836 to the start of the file.
1837
76846b31
GM
18382001-02-16 Gerd Moellmann <gerd@gnu.org>
1839
f3f053f3 1840 * window.c (set_window_buffer): Fix last change.
52283633 1841
f3f053f3
GM
1842 * window.c (set_window_buffer): Set window's vscroll to 0.
1843
dad75588
GM
1844 * window.c (coordinates_in_window): Increase width of area
1845 where the vertical line can be dragged.
1846
c220b753
GM
1847 * xterm.c (x_set_glyph_string_background_width): Extend the
1848 background face to the end of the drawing area in the text
1849 area, only.
1850
c56b1c1b
GM
1851 * xdisp.c (handle_single_display_prop): Set iterator's position
1852 to where the `display' property starts, like for images.
1853 (dump_glyph): New function.
1854 (dump_glyph_row): Use it. Dump info about marginal areas.
1855
1856 * dispnew.c (direct_output_for_insert): Recognize more cases where
1857 glyphs can be written instead of being inserted.
1858
1859 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1860 the left x-coordinate of the area to shift.
1861
76846b31
GM
1862 * dired.c (directory_files_internal): Set result list to nil
1863 before retrying.
1864
0fc71a77
KH
18652001-02-15 Kenichi Handa <handa@etl.go.jp>
1866
1867 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1868 invalid multibyte sequence, treat *SRC as a character of
1869 eight-bit-graphic.
1870
25078b54
EZ
18712001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1872
1873 * textprop.c (Fset_text_properties): Doc fix.
1874
8399f8a0
GM
18752001-02-15 Gerd Moellmann <gerd@gnu.org>
1876
1877 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1878
9a2a6f73
DL
18792001-02-14 Dave Love <fx@gnu.org>
1880
1881 * coding.c: Doc and message fixes.
1882
bf853fee
AI
18832001-02-14 Andrew Innes <andrewi@gnu.org>
1884
1885 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1886 Emacs frame above the screen size.
1887
78c663d8
GM
18882001-02-14 Gerd Moellmann <gerd@gnu.org>
1889
1890 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1891
7cc9f69f
GM
18922001-02-13 Gerd Moellmann <gerd@gnu.org>
1893
0a411995
GM
1894 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1895 case that TO ends up beyond ZV after running before-change-functions.
1896
5ddc1b75
GM
1897 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1898 the selected window if it is showing the buffer in question.
1899
7cc9f69f
GM
1900 * dired.c (directory_files_internal): Initialize errno.
1901 (toplevel): Include errno.h.
1902
2e6621ca
GM
19032001-02-13 Kenichi Handa <handa@etl.go.jp>
1904
1905 * xfaces.c (best_matching_font): New parameter width_ratio.
1906 Multiply avgwidth by width_ratio.
1907 (choose_face_font): Call best_matching_font with width_ratio
1908 calculated from the column width of C.
1909
60222d69
AI
19102001-02-12 Andrew Innes <andrewi@gnu.org>
1911
1912 The following changes are to draw box lines inside characters area
1913 if line-width is negative.
52283633 1914
60222d69
AI
1915 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1916 face->box_line_width is negative.
1917 (x_produce_stretch_glyph): Likewise.
1918 (x_produce_glyphs): Likewise.
1919 (x_estimate_mode_line_height): Likewise.
1920 (x_draw_glyph_string_background): Likewise.
1921 (x_draw_glyph_string_foreground): Likewise.
1922 (x_draw_composite_glyph_string_foreground): Likewise.
1923 (x_draw_glyph_string_box): Likewise.
1924 (x_draw_image_foreground): Likewise.
1925 (x_draw_image_relief): Likewise.
1926 (x_draw_image_foreground_1): Likewise.
1927 (x_draw_image_glyph_string): Likewise.
1928
9804b846
KH
19292001-02-09 Kenichi Handa <handa@etl.go.jp>
1930
1931 The following changes are to draw box lines inside characters area
1932 if line-width is negative.
52283633 1933
9804b846
KH
1934 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1935 face->box_line_width is negative.
1936 (x_produce_stretch_glyph): Likewise.
1937 (x_produce_glyphs): Likewise.
1938 (x_estimate_mode_line_height): Likewise.
1939 (x_draw_glyph_string_background): Likewise.
1940 (x_draw_glyph_string_foreground): Likewise.
1941 (x_draw_composite_glyph_string_foreground): Likewise.
1942 (x_draw_glyph_string_box): Likewise.
1943 (x_draw_image_foreground): Likewise.
1944 (x_draw_image_relief): Likewise.
1945 (x_draw_image_foreground_1): Likewise.
1946 (x_draw_image_glyph_string): Likewise.
1947
1948 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1949 and :line-width can be negative.
52283633 1950 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1951
49be9f70
JR
19522001-02-09 Jason Rumney <jasonr@gnu.org>
1953
1954 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1955 characters the same as ASCII and latin-1.
1956 (x_display_and_set_cursor): Check for the focus frame's selected
1957 window instead of selected_window.
1958 (x_after_update_window_line): Don't clear if frame's internal
1959 border width is zero.
1960 (x_new_font): Don't change a tooltip's size.
1961 (w32_initialize): Set char_ins_del_ok to 1.
1962
1963 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1964 (x_set_font): If font hasn't changed, avoid recomputing
1965 faces and other things.
52283633
SM
1966 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1967 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1968 (x_create_tip_frame): Prevent changing the tooltip's
1969 background color by specifying a color for the default font
1970 in .Xdefaults.
1971 (Qcancel_timer): New variable.
1972 (syms_of_w32fns): Initialize and staticpro it.
1973 (Fx_hide_tip, Fx_show_tip): Use it.
1974 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1975 the timer.
1976 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1977
1978 * w32.c (init_environment): Duplicate local string before putenv.
1979
555e35d2
SZ
19802001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1981
1982 * charset.c (Fstring): A typo.
1983
19c92c94
KH
19842001-02-09 Kenichi Handa <handa@etl.go.jp>
1985
e47a1c33
KH
1986 * charset.c (Fstring): If all arguments are less than 256, return
1987 a unibyte string.
1988
1989 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1990 return a unibyte string.
1991
19c92c94
KH
1992 * coding.c (code_convert_region): After detecting a coding, if
1993 nothing found, set coding->composing to COMPOSITION_NO.
1994 (decode_coding_string): Likewise.
1995
d8e675f5
SM
19962001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1997
1998 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1999 to avoid overflow.
2000
bd503487
KH
20012001-02-07 Kenichi Handa <handa@etl.go.jp>
2002
2003 * charset.c (parse_str_to_multibyte): New function.
2004
2005 * charset.h (parse_str_to_multibyte): Extern it.
2006
2007 * print.c (print_string): If we are going to print a unibyte
2008 string into a multibyte buffer, convert the string to multibyte by
2009 str_to_multibyte.
2010
a8370d72
AI
20112001-02-06 Andrew Innes <andrewi@gnu.org>
2012
2013 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2014 been created. It seems we can get sent window messages such as
2015 WM_ERASEBKGND before we properly update a frame.
2016
c363a1d6
GM
20172001-02-06 Gerd Moellmann <gerd@gnu.org>
2018
2019 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2020 Avoid some unnecessary cursor positioning.
2021
a08332c0
GM
20222001-02-05 Gerd Moellmann <gerd@gnu.org>
2023
52283633 2024 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2025 (LFACE_AVGWIDTH): New macro.
2026 (LFACEP): Use AREF.
2027 (check_lface_attrs): Check LFACE_AVGWIDTH.
2028 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2029 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2030 (merge_face_vectors): Check LFACE_AVGWIDTH.
2031 (Finternal_make_lisp_face): Use AREF.
2032 (xm_set_menu_resources_from_menu_face)
2033 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2034 (Finternal_lisp_face_empty_p): Use AREF.
2035 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2036 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2037 Compare average widths..
2038 (best_matching_font): Arrange for comparing average widths.
2039
52283633
SM
2040 * dispextern.h (enum lface_attribute_index):
2041 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2042
5cb3c8d4
DL
20432001-02-05 Dave Love <fx@gnu.org>
2044
2045 * puresize.h: Revert last change following loadup.el change.
2046
193fba87
AI
20472001-02-05 Andrew Innes <andrewi@gnu.org>
2048
2049 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2050 invocation of temacs, to work with Windows 2000.
2051 (bootstrap-emacs): Ditto.
2052
e16f52ce
GM
20532001-02-05 Gerd Moellmann <gerd@gnu.org>
2054
7a58ab59
GM
2055 * xterm.c (x_display_and_set_cursor): Check for the focus
2056 frame's selected window instead of selected_window.
2057
e89aaabd
GM
2058 * xdisp.c (try_scrolling): If point is in the line below the
2059 window, make sure to move the iterator at least a canonical
2060 char height down.
2061
52283633 2062 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2063
789ce875
KH
20642001-02-05 Kenichi Handa <handa@etl.go.jp>
2065
52283633
SM
2066 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2067 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2068 (ccl_driver): If the CCL program is terminated because of
2069 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2070 destination instead of throwing them away.
2071
20b28f82
GM
20722001-02-02 Gerd Moellmann <gerd@gnu.org>
2073
79fb38c0
GM
2074 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2075 faces and other things.
2076
20b28f82
GM
2077 * xdisp.c (get_next_display_element): Fix case of empty
2078 display table entry.
2079
5a72551e
EZ
20802001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2081
eb24d0bf
EZ
2082 * editfns.c (Fconstrain_to_field): Doc fix.
2083
6a3f48c7
EZ
2084 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2085 into `thoroughly', to make it consistent with the doc string.
2086
5a72551e
EZ
2087 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2088
01acdb05
GM
20892001-02-01 Gerd Moellmann <gerd@gnu.org>
2090
0353b28f
GM
2091 * search.c (search_buffer): Call set_search_regs with a byte
2092 position, not a character position.
2093
01acdb05
GM
2094 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2095 minibuffer-only,
2096
e86b5133
EZ
20972001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2098
2099 * frame.c (Fmodify_frame_parameters): Doc fix.
2100
7442878f
GM
21012001-01-31 Gerd Moellmann <gerd@gnu.org>
2102
01acdb05
GM
2103 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2104 identifier which is not reserved by Standard C.
52283633 2105
7442878f
GM
2106 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2107
2108 * window.c (enum window_part): New enumeration.
2109 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2110 Qright_bitmap_area.
2111 (coordinates_in_window): Return an enumerator from enum
2112 window_part. Fix handling of right scroll bar.
2113 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2114 `right-fringe' instead of `left-bitmap-area' and
2115 `right-bitmap-area'. Use enumerators from enum window_part
2116 instead of hard-coded integers.
52283633
SM
2117 (check_window_containing, window_from_coordinates):
2118 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2119 (syms_of_window): Replace Qleft_bitmap_area and
2120 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2121
7c132cba
EZ
21222001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2123
2124 * editfns.c (Fformat_time_string): Doc fix.
2125
c359dd9e
SM
21262001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2127
2128 * keymap.c (Fwhere_is_internal): Use the first valid binding
2129 if no ascii binding is found (when firstonly is t).
2130
ce070307
GM
21312001-01-31 Gerd Moellmann <gerd@gnu.org>
2132
b4f30ec5
GM
2133 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2134 instead of Finteractive_p.
2135
2136 * lisp.h (interactive_p): Add prototype.
2137
2138 * eval.c (interactive_p): New function.
2139 (Finteractive_p): Use it.
2140
ce070307
GM
2141 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2142
f57b6e64
DL
21432001-01-31 Dave Love <fx@gnu.org>
2144
d61c7afe
DL
2145 * .gdbinit (hook-run): Define to run xreload.
2146
f57b6e64
DL
2147 * textprop.c (Fset_text_properties): Fix newline in doc string.
2148
eef93f99
GM
21492001-01-30 Gerd Moellmann <gerd@gnu.org>
2150
52283633
SM
2151 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2152 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2153
2154 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2155 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2156 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2157
2158 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2159 height.
2160
d9c1f6f9
DL
21612001-01-30 Dave Love <fx@gnu.org>
2162
2163 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2164 AFTER_POTENTIAL_GC.
2165
e8f044a0
GM
21662001-01-29 Gerd Moellmann <gerd@gnu.org>
2167
52283633
SM
2168 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2169 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2170
8e1db7b3
EZ
21712001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2172
2173 * textprop.c (Fset_text_properties): Doc fix.
2174
4eefd9d2
GM
21752001-01-29 Gerd Moellmann <gerd@gnu.org>
2176
2177 * xdisp.c (forward_to_next_line_start): Remove xassert.
2178
fccb8288
EZ
21792001-01-29 Jason Rumney <jasonr@gnu.org>
2180
4eefd9d2 2181 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2182 returning without releasing it.
2183
76581eab
KH
21842001-01-29 Kenichi Handa <handa@etl.go.jp>
2185
2186 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2187 for '^', '$', and '\0'.
2188
83a96b4d
AC
21892001-01-28 Andrew Choi <akochoi@i-cable.com>
2190
5604ec34
AC
2191 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2192 regex for '^', '$', and '\0'.
2193
83a96b4d
AC
2194 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2195 only if current_sblock has been initialized.
2196
2197 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2198 terminal frame even if it is the only visible frame.
2199
c09a6440
KH
22002001-01-28 Kenichi Handa <handa@etl.go.jp>
2201
2202 * fontset.c (font_family_registry): Even if FONTNAME conform to
2203 XLFD, if it specifies other fields than family and registry,
52283633 2204 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2205 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2206 a signle byte character. Don't set FAMILY part to nil here.
2207 It is handled by the caller choose_face_font.
c09a6440
KH
2208 (Fnew_fontset): Call font_family_registry with FORCE 0.
2209 (Fset_fontset_font): Likewise.
2210
4dcd74e6
GM
22112001-01-27 Gerd Moellmann <gerd@gnu.org>
2212
2213 * xdisp.c (display_line): Don't treat a newline as fitting
2214 on the line.
2215
d2906bf8
GM
22162001-01-26 Gerd Moellmann <gerd@gnu.org>
2217
0130fe1a
GM
2218 * window.c (size_window): Set the window's orig_top to nil when
2219 changing heights, so that a future shrink_mini_window won't
2220 restore a bogus height.
2221
550f0e6a
GM
2222 * frame.c (do_switch_frame): If selected frame has a mini-window,
2223 resize that to exact size.
2224
b7b20fbd
GM
2225 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2226
a47b7816
GM
2227 * xdisp.c (display_line): Simplify check for glyphs fitting
2228 entirely in the line.
2229
d2906bf8
GM
2230 * xfns.c (xic_style): New variable.
2231 (create_frame_xic): Move static variable to global scope for
550f0e6a 2232 the case that `static' gets defined away.
d2906bf8 2233
73df2b1e
KH
22342001-01-26 Kenichi Handa <handa@etl.go.jp>
2235
2236 * coding.c (decode_coding): Set a flag for inhibiting
2237 inconsistent eol.
2238 (code_convert_region): Always set saved_coding_symbol.
2239 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2240 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2241
6613cfc4
GM
22422001-01-25 Gerd Moellmann <gerd@gnu.org>
2243
c5e6e06b
GM
2244 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2245 XClearArea.
2246
2247 * xterm.c (x_after_update_window_line): Don't clear if frame's
2248 internal border width is zero.
2249 (x_clear_area): New function.
2250 (x_after_update_window_line, x_clear_end_of_line)
2251 (x_scroll_bar_create, x_scroll_bar_set_handle)
2252 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2253 instead of XClearArea.
2254
2255 * xterm.h (x_clear_area): Add prototype.
2256
6613cfc4
GM
2257 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2258 which doesn't seem necessary anymore with Lesstif 0.92.
2259
650cc6cc
DL
22602001-01-25 Dave Love <fx@gnu.org>
2261
34ac3367
DL
2262 * puresize.h (BASE_PURESIZE): Up to 720000.
2263
650cc6cc
DL
2264 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2265
5e37dc22
GM
22662001-01-25 Gerd Moellmann <gerd@gnu.org>
2267
e1e441f9
GM
2268 * xdisp.c (echo_area_display): Don't call redisplay_internal
2269 when Emacs is shutting down. We can't run hooks etc. that
2270 would be necessary to do a redisplay.
2271
5e37dc22
GM
2272 * lread.c (read_integer): Use type EMACS_INT instead of int.
2273
0fb94c7f
EZ
22742001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2275
2276 * ccl.c (ccl_driver): Fix last change.
2277
e3778624
KH
22782001-01-25 Kenichi Handa <handa@etl.go.jp>
2279
2280 * ccl.h (sturct ccl_program): New member suppress_error.
2281
bb264518 2282 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2283 insert error message to the output.
2284 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2285
2286 * coding.h (struct coding_system): New member suppress_error.
2287
2288 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2289 (Fset_terminal_coding_system_internal): Set the member
2290 suppress_error to 1.
2291 (Fset_safe_terminal_coding_system_internal): Likewise.
2292
245ed2b1
SM
22932001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2294
2295 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2296 as if it was a `charset'.
2297
f9aaedb6
GM
22982001-01-24 Gerd Moellmann <gerd@gnu.org>
2299
2300 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2301 value in where_is_cache; the next lookup in the cache returns
2302 something bogus if we do.
2303
c3902c3e
EZ
23042001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2305
2306 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2307 if HAVE_WINDOW_SYSTEM isn't defined.
2308
3497f73e
GM
23092001-01-24 Gerd Moellmann <gerd@gnu.org>
2310
e7e41584
GM
2311 * fns.c (sweep_weak_table): Fix code taking items out of
2312 the hash collision chain. Some cleanup.
2313
3497f73e
GM
2314 * xterm.c (x_new_font): Don't change a tooltip's size.
2315
2316 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2317 background color by specifying a color for the default font
2318 in .Xdefaults.
2319
3d48e687
KH
23202001-01-24 Kenichi Handa <handa@etl.go.jp>
2321
96531b20
KH
2322 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2323 a workaround for SunOS 4's cc.
2324 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2325 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2326 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2327 statement.
3d48e687 2328
a30629d2
GM
23292001-01-23 Gerd Moellmann <gerd@gnu.org>
2330
2331 * xterm.c (x_set_window_size_1): New function extracted from
2332 x_set_window_size.
2333 (x_set_window_size): Use it.
2334 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2335 doesn't have a widget, like tooltips.
2336
5a43decf
EZ
23372001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2338
52283633 2339 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2340
b0e98867
KH
23412001-01-23 Kenichi Handa <handa@etl.go.jp>
2342
2343 * fns.c (Fset_char_table_default): Fix to make sub char-table
2344 correctly.
2345
50606b4c
GM
23462001-01-22 Gerd Moellmann <gerd@gnu.org>
2347
cb2ddc53 2348 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2349 a desired tool bar string, even if there are no tool bar items.
2350
57c28064
GM
2351 * xdisp.c (Ftool_bar_lines_needed): New function.
2352 (syms_of_xdisp): Defsubr it.
2353
50606b4c
GM
2354 * editfns.c (Fformat): Don't extend text properties from arguments
2355 to padding chars in the result.
2356
2f169c38
EZ
23572001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2358
2359 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2360
0f32f023
AI
23612001-01-20 Andrew Innes <andrewi@gnu.org>
2362
52283633 2363 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2364 (w32_initialize): Don't set term hooks that aren't actually needed
2365 in windowed mode.
2366
2367 * xfaces.c (realize_default_face):
2368 (realize_face):
2369 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2370
2371 * xdisp.c (handle_single_display_prop): Remove references to
2372 FRAME_W32_CONSOLE_P.
2373
52283633 2374 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2375
2376 * frame.h (output_method): Remove output_w32_console method.
2377 (FRAME_W32_CONSOLE_P): Remove macro.
2378
2379 * frame.c (Qw32_console): Remove variable.
2380 (Fframep): Remove references to it.
2381 (syms_of_frame): Ditto.
2382 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2383
2384 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2385 redefinition.
2386
7173eada
KH
23872001-01-20 Kenichi Handa <handa@etl.go.jp>
2388
2389 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2390
755b45ce
AI
23912001-01-19 Andrew Innes <andrewi@gnu.org>
2392
2393 * w32.c (init_environment): Add a version-independent site-lisp
2394 directory to EMACSLOADPATH, after the version dependent one.
2395
0a949811
GM
23962001-01-19 Gerd Moellmann <gerd@gnu.org>
2397
8501998a
GM
2398 * editfns.c (Fbuffer_substring): Doc fix.
2399
52283633
SM
2400 * xdisp.c (message_dolog, message2, message2_nolog):
2401 Rename parameter LEN to NBYTES.
0a949811 2402
e6ebcbbe
KH
24032001-01-19 Kenichi Handa <handa@etl.go.jp>
2404
200ecca2
KH
2405 * charset.c (strwidth): Use c_string_width.
2406 (c_string_width): New function.
2407 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2408 Caller changed.
2409
2410 * charset.h (c_string_width, lisp_string_width): Extern them.
2411
52283633 2412 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2413
e6ebcbbe
KH
2414 * indent.c (check_composition): Check validity of composition.
2415
200ecca2
KH
2416 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2417 characters by calling c_string_width.
2418 (x_consider_frame_title): Get byte length of frame tile string
2419 correctly.
2420 (display_mode_element): Pay attention to width of non-ASCII
2421 characters by calling strwidth.
2422
8692ca92
GM
24232001-01-18 Gerd Moellmann <gerd@gnu.org>
2424
8962e303
GM
2425 * xfns.c (Qcancel_timer): New variable.
2426 (syms_of_xfns): Initialize and staticpro it.
2427 (Fx_hide_tip, Fx_show_tip): Use it.
2428 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2429 the timer.
2430 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2431
91523be9
GM
2432 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2433
2434 * window.h (WINDOW_LIVE_P): New macro.
2435
b0b7ed0e
GM
2436 * window.c (window_size_fixed): New variable.
2437 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2438 the doc string.
2439
06bccf8e
GM
2440 * eval.c (specbind): If binding a per-buffer variable which
2441 doesn't have a buffer-local value in the current buffer, change
2442 the global value by changing the value of the symbol bound in all
2443 buffers not having their own value, to make it consistent with
2444 what happens with other buffer-local variables.
2445
8692ca92
GM
2446 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2447
2448 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2449 when searching for a newline.
2450
bb3a3b50
KH
24512001-01-18 Kenichi Handa <handa@etl.go.jp>
2452
2453 * xdisp.c (display_string): Fix previous change.
2454
c2cc16fa
JR
24552001-01-18 Jason Rumney <jasonr@gnu.org>
2456
2457 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2458 GLYPH_DEBUG is defined.
2459 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2460 true for images with `:ascent 100'.
2461 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2462 meantime, use face MOUSE_FACE_ID.
2463 If first glyph isn't a character glyph, use the ASCII NUL
2464 character to determine the face.
2465 (expose_area): Do not treat left margin specially.
2466 (note_mode_line_highlight): If no local_map, check global keymap.
2467 (note_mouse_highlight): Initialize overlay.
52283633 2468 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2469 (show_scroll_bars): Remove unused function.
2470 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2471 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2472 Clip to row.
52283633 2473 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2474 (x_free_frame_resources): Unload relief colors.
2475
9c11f79e
GM
24762001-01-17 Gerd Moellmann <gerd@gnu.org>
2477
3aec8722 2478 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2479 get_next_display_element when the newline is already found.
2480 This may change the iterator's position, when its current position is
3aec8722
GM
2481 equal to the iterator's stop_charpos.
2482
f3ffc2c3
GM
2483 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2484 zero, use this method only at the end of a line.
2485
52283633 2486 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2487 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2488 if SCALABLE_FONTS_P is set.
52283633 2489
d26d6fd9
GM
2490 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2491 so that scalable fonts are included.
2492
9c11f79e
GM
2493 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2494 In the cache, use a key containing the information if scalable
2495 fonts are included.
2496 (x_load_font): Adapt to change of keys in the font cache.
2497
24982001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2499
d26d6fd9
GM
2500 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2501 XListFonts to take advantage of font caching.
2502
9c11f79e
GM
2503 * xterm.c (x_list_fonts): Ensure caching font information when
2504 called for a null frame, which is the case frequently when Emacs
2505 starts.
2506
51446987
GM
25072001-01-17 Gerd Moellmann <gerd@gnu.org>
2508
f864120f
GM
2509 * xfns.c (QCconversion): Replaces QCalgorithm.
2510
2511 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2512
2513 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2514 of :algorithm.
52283633 2515
e37d1417
GM
2516 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2517 not everything could be displayed.
2518
51446987
GM
2519 * line.h, x-list-font.c: Files removed because unused.
2520
9ad4f3e5
AI
25212001-01-17 Andrew Innes <andrewi@gnu.org>
2522
2523 * dired.c (directory_files_internal): Convert result from readdir
2524 to a unibyte string initially, to avoid possible misinterpretation
2525 of some bytes as the internal form of Emacs characters.
2526
2eda09b5
KH
25272001-01-17 Kenichi Handa <handa@etl.go.jp>
2528
2529 * fns.c (concat): Be sure to avoid putting the same `composition'
2530 property on the adjacent regions.
2531
826f3788
GM
25322001-01-16 Gerd Moellmann <gerd@gnu.org>
2533
52283633 2534 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2535 (Fscroll_right, Fscroll_left): Set it here instead, if called
2536 interactively.
2537
d57b83b3
GM
2538 * buffer.c (Fset_buffer_modified_p): Set buffer's
2539 prevent_redisplay_optimizations_p flag.
2540
826f3788 2541 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2542 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2543 with additional arg.
2544
2545 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2546 Change prototype.
826f3788 2547
826f3788
GM
2548 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2549 FROM_WHERE, for debugging.
2550
261d788b
KH
25512001-01-16 Kenichi Handa <handa@etl.go.jp>
2552
2553 * ccl.c (Fregister_ccl_program): Handle the return value of
2554 resolve_symbol_ccl_program correctly.
52283633 2555 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2556
bccee4f2
GM
25572001-01-15 Gerd Moellmann <gerd@gnu.org>
2558
e4ded23c
GM
2559 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2560 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2561
2562 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2563 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2564 the display; we didn't open it.
2565
bccee4f2
GM
2566 * dispnew.c (save_or_restore_current_matrices): Function removed.
2567 (save_current_matrix, restore_current_matrix): New functions.
2568 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2569 restore the frame's current matrix. Due to the glyph pointer
2570 setup done in adjust_glyph_matrix, there is no easy way to make
2571 saving the current matrix in the desired matrix generally correct,
2572 so don't try it.
2573
ebeccffa
KH
25742001-01-15 Kenichi Handa <handa@etl.go.jp>
2575
2576 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2577 truncation glyphs.
2578 (display_line): Optimize for wide characters.
e4ded23c 2579 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2580 partially. On ttys, produce more than one truncation glyph for
2581 multi-column characters that don't fit on the line.
2582
64388126
KH
25832001-01-13 Kenichi Handa <handa@etl.go.jp>
2584
52283633
SM
2585 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2586 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2587
8edb0a6f
JR
25882001-01-13 Jason Rumney <jasonr@gnu.org>
2589
2590 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2591 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2592 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2593 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2594
52283633
SM
2595 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2596 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2597 (x_draw_image_glyph_string): Adapt to change of image margins.
2598
2599 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2600 variables.
2601
2602 * w32bdf.c (search_file_line, get_cached_font_char)
2603 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2604
2605 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2606
2607 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2608 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2609 (Fw32_send_sys_command): Remove unused variables.
2610 (w32_msg_pump): Add parentheses.
2611
2612 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2613 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2614 Add parentheses.
2615
4956d1ef
GM
26162001-01-12 Gerd Moellmann <gerd@gnu.org>
2617
b30623be
GM
2618 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2619 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2620 being a pair of margins.
2621 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2622 to DEFVAR_LISP. Extend doc.
2623
2624 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2625 margins.
2626 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2627 pair of integers `(X . Y)', use X for the horizontal and Y for the
2628 vertical margin.
2629 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2630 (parse_image_spec): Check it.
52283633
SM
2631 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2632 (tiff_format, gif_format, gs_format):
2633 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2634
52283633
SM
2635 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2636 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2637 (x_draw_image_glyph_string): Adapt to the change of image margins.
2638
2639 * dispextern.h (struct image): Replace member `margin' with
2640 `hmargin' and `vmargin'.
2641
4554cc79
GM
2642 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2643 and GLYPHS.
2644
2645 * dispnew.c (update_text_area): Put code which decrements the
2646 stop position when the row's face extends to the end of the
3bffc665 2647 line in #if 0.
4554cc79 2648
3cccce8d
GM
2649 * xfns.c (x_set_mouse_color): Fix color allocation.
2650
4956d1ef
GM
2651 * keyboard.c: Call get_local_map with new argument list.
2652
2653 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2654
2655 * intervals.h (enum map_property): Removed.
2656 (get_local_map): Change prototype.
2657
2658 * keymap.c: Call get_local_map with new argument list.
2659 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2660
2c2ff7f2
GM
26612001-01-11 Gerd Moellmann <gerd@gnu.org>
2662
a23887b9
GM
2663 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2664 of the size needed for the tool bar string. For the last image,
2665 use a `display' property that reaches to the end of the string.
2666
a7ee2d2e
GM
2667 * xselect.c (selection_request_dpyinfo): New variable.
2668 (x_handle_selection_request): Set it.
2669 (x_selection_request_lisp_error): Don't call
2670 x_decline_selection_request if selection request's display has
2671 been closed.
2672
52283633
SM
2673 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2674 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2675
457b792c
GM
26762001-01-10 Dave Love <fx@gnu.org>
2677
2678 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2679 ${SOME_MACHINE_LISP}, not ${lisp}.
2680
c1efd260
GM
26812001-01-10 Gerd Moellmann <gerd@gnu.org>
2682
52283633
SM
2683 * xdisp.c (display_line): On ttys, produce more than one truncation
2684 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2685
ac95a621
GM
2686 * xselect.c (x_reply_selection_request): Add a comment.
2687
c1efd260
GM
2688 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2689 XkbGetNames instead of XkbGetKeyboard.
2690
1bfb1345
DL
26912001-01-10 Dave Love <fx@gnu.org>
2692
2693 * sysdep.c (random): Revert the declaration.
2694
38119822
GM
26952001-01-09 Gerd Moellmann <gerd@gnu.org>
2696
52283633
SM
2697 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2698 Call function string_bytes.
35f464a7
GM
2699 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2700
2701 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2702 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2703 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2704 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2705 the current sblock.
2706 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2707 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2708 after sweeping strings, and at the end.
2709 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2710
38119822
GM
2711 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2712 ensure that pop_message is called.
2713
2714 * keyboard.c (Fexecute_extended_command): Use a
2715 record_unwind_protect to ensure that pop_message is called.
2716
2717 * lisp.h (push_message_unwind): Add prototype.
2718
2719 * xdisp.c (push_message_unwind): New function.
2720
2721 * fileio.c (do_auto_save_unwind): Do the pop_message here
2722 instead of in Fdo_auto_save.
2723 (Fdo_auto_save): Don't call pop_message.
2724
f47a9ec4
KR
27252001-01-08 Ken Raeburn <raeburn@gnu.org>
2726
2727 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2728 in inner block.
2729
a758f97d
GM
27302001-01-08 Gerd Moellmann <gerd@gnu.org>
2731
6d0afc03
GM
2732 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2733 when increasing window's vscroll.
2734
a758f97d
GM
2735 * macros.c (Qkbd_macro_termination_hook): New variable.
2736 (syms_of_macros): Initialize and staticpro it.
2737 (pop_kbd_macro): Run kbd-macro-termination-hook.
2738
2739 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2740
1bfb1345 27412001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2742
2743 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2744 arglist, for documentation's sake.
2745
0dac6924
AI
27462001-01-06 Andrew Innes <andrewi@gnu.org>
2747
2748 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2749 of *.pdb.
2750
8182406a
AI
27512001-01-05 Andrew Innes <andrewi@gnu.org>
2752
2753 * term.c (update_end): Don't check updating_frame; for some reason
2754 this can be 0 sometimes, such as after dismissing a popup menu,
2755 and isn't necessary given the explicit frame argument.
2756
3828218c
GM
27572001-01-05 Gerd Moellmann <gerd@gnu.org>
2758
2759 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2760 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2761
2f5ded21
GM
27622001-01-04 Gerd Moellmann <gerd@gnu.org>
2763
52283633 2764 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2765
2766 * xfns.c (x_create_tip_frame): Preserve the value of
2767 face_change_count around the creation of the tip frame.
52283633 2768
2f5ded21
GM
2769 * xfns.c (last_show_tip_args): New variable.
2770 (compute_tip_xy): New function.
2771 (Fx_show_tip): Reuse an existing tip frame, if possible.
2772 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2773
dfad65fa
DL
27742001-01-04 Dave Love <fx@gnu.org>
2775
64d4ec0f
DL
2776 * editfns.c (Fformat): Doc fix.
2777
dfad65fa
DL
2778 * systime.h (set_file_times): Prototype.
2779
2780 * widget.h (EmacsFrameSetCharSize_): Prototype.
2781
2782 * sysdep.c (random, srandom): Declare explicitly.
2783
2784 * dispextern.h (move_it_vertically_backward): Declare.
2785
85fe3b5e
GM
27862001-01-04 Gerd Moellmann <gerd@gnu.org>
2787
0f2ac578
GM
2788 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2789 like in Fx_create_frame.
2790
482cca61
GM
2791 * xfaces.c (set_font_frame_param): Don't do anything for
2792 non-graphical frames.
2793
85fe3b5e
GM
2794 * window.c (Fdelete_other_windows): Set window's window_end_valid
2795 to nil when changing the window's start. Don't change the
2796 window's start when its top position hasn't changed. If we do,
2797 this will set the window's optional_new_start, which act's like a
2798 force_start during redisplay with C-x 1 M-> under particular
2799 circumstances (see report from Per Starback to emacs-pretest-bug
2800 from 2000-12-13.).
2801
3e99d3b4
GM
28022001-01-03 Gerd Moellmann <gerd@gnu.org>
2803
a77dc1ec
GM
2804 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2805 short cut at the start of the function. Add an assertion.
2806 (reseat_at_next_visible_line_start): Add an assertion.
2807
2f3cad6c
GM
2808 * window.c (Frecenter): When changing the window start, set the
2809 window's window_end_valid to nil.
2810 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2811
2812 * dispextern.h (move_it_past_eol): Add prototype.
2813
2814 * xdisp.c (move_it_past_eol): New function.
2815
3e99d3b4
GM
2816 * window.c (Fwindow_end): Doc fix.
2817
28182001-01-03 Dave Love <fx@gnu.org>
2819
52283633 2820 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2821
bafb434c
GM
28222001-01-03 Gerd Moellmann <gerd@gnu.org>
2823
2824 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2825 the enabled_p flag of the glyph row at window_end_vpos to 0.
2826 (handle_single_display_prop): Fix last change.
2827
5297fb00
RS
28282001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2829
2830 * window.c (Frecenter): Doc fix.
2831
13d6a61c
AI
28322001-01-02 Andrew Innes <andrewi@gnu.org>
2833
2834 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2835
2836 * frame.h (output_method): Add output_w32_console method.
2837 (FRAME_W32_CONSOLE_P): New macro.
2838
2839 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2840 use output_w32_console method.
2841 (Qw32_console): New Lisp_Object.
2842 (Fframep): Return it.
2843 (syms_of_frame): Init it.
52283633 2844 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2845
2846 * xfaces.c (realize_default_face): Set face foreground and
2847 background to unspecified for w32_console frames.
2848 (realize_face): Realize face cache for w32_console frames.
2849 (realize_tty_face): Accept w32_console frames.
2850
52283633 2851 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2852 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2853 necessary, even if running interactively.
2854
2855 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2856 w32_console frames.
2857
52283633
SM
2858 * w32term.c (x_update_begin):
2859 (x_update_end):
2860 (x_clear_frame):
2861 (x_ins_del_lines):
2862 (x_change_line_highlight):
2863 (x_delete_glyphs):
2864 (w32_ring_bell):
2865 (x_update_begin):
2866 (x_update_end):
2867 (w32_reassert_line_highlight):
2868 (w32_frame_rehighlight):
13d6a61c
AI
2869 (w32_frame_raise_lower): Do nothing if not w32 frame.
2870
2871 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2872
2873 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2874 system doesn't tell us directly.
2875 (Fx_display_visual_class): Implement properly.
2876
d6bb0c0d
GM
28772001-01-02 Gerd Moellmann <gerd@gnu.org>
2878
2879 * window.c (Frecenter): Handle centering in graphical frames
2880 specially. Centering on the basis of line counts doesn't work
2881 reliably with variable-height lines.
52283633 2882
315f5865
EZ
28832001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2884
2885 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2886 and al[].
2887
52283633 2888 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2889 (update_compositions): Remove unused variable `hook'.
2890
2891 * intervals.c (get_local_map): Remove unused variable `tem'.
2892
2893 * doprnt.c (doprnt1): Remove unused variable `size'.
2894
2895 * fns.c (Flength): Remove unused variable `tail'.
2896 (Fdelete): Remove unused variable `size'.
2897
2898 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2899 and `gcpro2'.
2900
52283633 2901 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2902
2903 * data.c (find_symbol_value): Remove extra 3rd argument in the
2904 call to swap_in_symval_forwarding.
2905
52283633 2906 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2907
2908 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2909 (trivial_regexp_p): Remove unused variable `c'.
2910 (boyer_moore): Remove unused variable `k'.
2911
2912 * indent.c (current_column): Remove unused variable `stopchar'.
2913 (Fcompute_motion): Remove unused variable `contin'.
2914
2915 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2916
2917 * dired.c (directory_files_internal): Fix a typo in a comment.
2918 Remove an unused variable `handler'.
52283633 2919 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2920 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2921 on BSD4_2.
2922
52283633 2923 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2924
2925 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2926 and `buf'.
2927 (Fmarker_insertion_type): Remove unused variable `buf'.
2928
2929 * insdel.c (make_gap): Remove unused variable `result'.
2930
52283633 2931 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2932 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2933 (menu_bar_items): Remove unused function-scope variable `tem'.
2934
2935 * fontset.c (fontset_ref): Remove unused variable `i'.
2936 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2937 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2938 (make_fontset_for_ascii_face): Remove unused variable `name'.
2939 (fs_load_font): Remove unused variable `font_idx'.
52283633 2940 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2941 (list_fontsets): Remove unused variable `tail'.
2942 (Fnew_fontset): Remove unused variables `family' and `registry'.
2943 (accumulate_font_info): Remove unused variable `tmp'.
2944 (Ffontset_font): Remove unused variable `id'.
2945 (syms_of_fontset): Remove unused variable `i'.
2946
2947 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2948 to x_term_init.
2949 (lookup_image): Remove unused variable `file'.
2950 (xbm_load): Remove unused variables `bitmap_data', `height', and
2951 `width'. Remove function-local variable `i', leave the
2952 block-local one.
2953 (gif_load): Remove unused variable `inc'.
2954
52283633 2955 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2956 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2957 leave only the one in the inner block.
2958
2959 * xfaces.c (face_fontset, realize_default_face): Remove unused
2960 variable `fontset'.
2961 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2962
2963 * term.c (encode_terminal_code): Remove unused variable `c'.
2964
2965 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2966 char *' instead of `char *'.
2967
2968 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2969 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2970 (Fchar_category_set): Remove unused variables `val', `charset',
2971 `c1' and `c2'.
2972
52283633
SM
2973 * coding.c (detect_coding_iso2022, setup_coding_system):
2974 Remove unused variable `i'.
315f5865
EZ
2975 (detect_coding_mask): Remove unused variable `idx'.
2976 (detect_coding): Remove unused variable `i'.
2977 (ccl_coding_driver): Remove unused variable `result'.
2978 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2979 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2980 (encode_coding_string): Remove unused variables `gcpro1' and
2981 `saved_coding_symbol'.
2982 (Ffind_coding_systems_region_internal): Remove function-local
2983 variable args[], leave only the block-local one.
2984 (code_convert_region1): Remove unused variable `len'.
2985
2986 * charset.c (char_printable_p): Remove unused variable `chars'.
2987 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2988 (str_to_multibyte): Remove unused variable `c'.
2989
2990 * window.c (size_window): Remove block-local variable `min_size'.
2991
2992 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2993 `header_line_height'.
2994 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2995 enum display_element_type.
2996
1a8a9daf
GM
29972001-01-02 Gerd Moellmann <gerd@gnu.org>
2998
6dde6abc 2999 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3000 statements that call X. Save away the error message in a local copy.
3001
1883b2c6
GM
3002 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3003 the start.
3004
a13be207
GM
3005 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3006 in or at the start of invisible text.
3007
1a8a9daf
GM
3008 * dispnew.c (update_window): Don't check_current_matrix_flags.
3009
3608c0f9
JR
30102001-01-01 Jason Rumney <jasonr@gnu.org>
3011
3012 * w32fns.c (x_figure_window_size): Do not allow new_height and
3013 new_width of frame to override specified values.
3014
abb1acc4
KH
30152000-12-30 Kenichi Handa <handa@etl.go.jp>
3016
52283633 3017 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3018
762a68ec
GM
30192000-12-29 Gerd Moellmann <gerd@gnu.org>
3020
52283633 3021 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3022 (update_window) [GLYPH_DEBUG]: Call it.
3023 (scrolling_window): Prevent including current rows which are below
3024 what's displayed in the window.
3025
3026 * xdisp.c (try_window_reusing_current_matrix)
3027 <new start <= old start>: Disable rows in the current matrix
3028 which are below the window after scrolling.
52283633 3029
762a68ec
GM
3030 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3031 is zero. It's not worth the complexity.
3032 (invisible_text_between_p): Put in #if 0 because unused.
3033
2d5912c1
GM
30342000-12-28 Gerd Moellmann <gerd@gnu.org>
3035
46f6a258
GM
3036 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3037 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3038
89f93679
GM
3039 * keyboard.c (echo_char): If C is an integer, always call
3040 push_key_description. Former code could signal an invalid
3041 character error.
3042
3043 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3044 If set, print multibyte text.
3045 (Fsingle_key_description): Call push_key_description with
3046 FORCE_MULTIBYTE set.
3047 (describe_buffer_bindings): Likewise.
3048
3049 * lisp.h (push_key_description): Add prototype.
3050
c06017fb
GM
3051 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3052 around the call to redisplay_internal.
3053
f1d2ce7f
GM
3054 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3055
2d5912c1
GM
3056 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3057
9371f831
KH
30582000-12-28 Kenichi Handa <handa@etl.go.jp>
3059
3060 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3061 (ccl_driver): New local variable `extra_bytes'.
3062
3063 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3064
52283633
SM
3065 * coding.c (setup_coding_system):
3066 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3067 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3068
0c80628a
KH
30692000-12-28 Kenichi Handa <handa@etl.go.jp>
3070
3071 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3072 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3073 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3074 (decode_composition_emacs_mule): New function.
3075 (decode_coding_emacs_mule): Decode composition sequence by calling
3076 decode_composition_emacs_mule.
3077 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3078 (encode_coding_emacs_mule): Changed from macro to function.
3079 If a text contains compositions, encode them correctly.
0c80628a
KH
3080 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3081 that decoding and encoding are required.
3082
3e32cc27
GM
30832000-12-27 Gerd Moellmann <gerd@gnu.org>
3084
5e25feee
GM
3085 * xfaces.c (PT_PER_INCH): New macro.
3086 (xlfd_point_size): Compute real point size from font's pixel size.
3087 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3088 instead of 72.
3089
892d8fcd
GM
3090 * .gdbinit: Comment out the line pointing to the Lesstif source
3091 directory.
3092
12c8b416
GM
3093 * window.c (Frecenter): Use displayed_window_lines instead
3094 of window_internal_height.
3095
6061fbf0
GM
3096 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3097 instead of x-toolkit-scroll-bars-p.
3098 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3099
3100 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3101 instead of x-toolkit-scroll-bars-p.
3102 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3103
3e32cc27
GM
3104 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3105 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3106 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3107 New variables.
3108 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3109 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3110 (build_frame_matrix_from_leaf_window): Remove unused code.
3111 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3112 redisplay history.
3113 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3114 (update_window) [GLYPH_DEBUG]: Likewise.
3115 (syms_of_display): Defsubr dump-redisplay-history.
3116
31798cfe
GM
31172000-12-23 Gerd Moellmann <gerd@gnu.org>
3118
f717c2ba
GM
3119 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3120 the end of the prompt. Set echo_after_prompt to the offset
3121 of echoptr in echobuf.
3122
aeb2b8fc
GM
3123 * xdisp.c (init_from_display_pos): Pop until the iterator's
3124 stack is empty; there may be frames for stretch or images
3125 on the stack.
3126
31798cfe
GM
3127 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3128 (save_or_restore_current_matrix): New function for the same
3129 purpose, but more efficient.
3130 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3131
f8156156
EZ
31322000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3133
3134 * xdisp.c (syms_of_xdisp): Fix last change.
3135
bdd6d4e8
GM
31362000-12-23 Gerd Moellmann <gerd@gnu.org>
3137
3138 * xdisp.c (syms_of_xdisp): Doc fix.
3139
3140 * xdisp.c (redisplay_window): Remove label restore_buffers;
3141 use finish_scroll_bars instead to make sure that scroll bars
3142 are redeemed. If we don't do this, flickering can result from
3143 scroll bars being destroyed and recreated.
3144
9436cdf9
JR
31452000-12-22 Jason Rumney <jasonr@gnu.org>
3146
3147 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3148 in the wrong colors when the foreground is not black.
3149 (expose_window): Don't redraw the window that's currently being
3150 updated.
3151
951f9df5
GM
31522000-12-22 Gerd Moellmann <gerd@gnu.org>
3153
856ff7a7
GM
3154 * window.c (size_window): When setting the window's too_small_ok
3155 flag, compare old size with minimum size depending on WIDTH_P,
3156 don't compare with window_min_width.
52283633 3157
951f9df5
GM
3158 * window.c (delete_window): Simplify somewhat.
3159 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3160 freeing window matrices. The flag windows_or_buffers_changed is
3161 set, so the next redisplay will consider all windows; this should
3162 suffice.
3163
886bc933
KH
31642000-12-22 Kenichi Handa <handa@etl.go.jp>
3165
3166 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3167
3168 * ccl.h (struct ccl_program): New member cr_consumed.
3169
3170 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3171 (CCL_READ_CHAR): Handle EOL conversion here.
3172 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3173
177f4e88
GM
31742000-12-21 Gerd Moellmann <gerd@gnu.org>
3175
52283633 3176 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3177
3178 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3179 otherwise tabs of different size compare equal.
3180
3181 * callint.c (Fcall_interactively): Prevent a compiler warning.
3182
3183 * print.c (print_unwind): Return nil.
3184 (PRINTDECLARE): Initialize all local variables.
3185 (print_preprocess): Add a default case.
3186
8e15274f
GM
3187 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3188
3189 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3190
52283633 3191 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3192 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3193
3194 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3195
3196 * dispnew.c (ensure_frame_matrix): Removed.
3197 (save_frame_matrix, restore_frame_matrix): New functions.
3198 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3199
3200 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3201 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3202
99012074
AI
32032000-12-21 Andrew Innes <andrewi@gnu.org>
3204
3205 * w32term.c (x_update_begin): Regenerate the palette here, rather
3206 than for each window.
3207
3208 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3209 palette is NULL, since this corrupts memory! Also get
3210 display_info reference from frame.
3211
29ef7d2d
JR
32122000-12-21 Jason Rumney <jasonr@gnu.org>
3213
3214 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3215
3216 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3217 to avoid returning without releasing it.
3e27fa1f 3218
3f9d67a6
KH
32192000-12-21 Kenichi Handa <handa@etl.go.jp>
3220
587fc3f9
KH
3221 * keymap.c (push_key_description): Don't convert eight-bit-control
3222 and eight-bit-graphic to multibyte character.
3223
3f9d67a6
KH
3224 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3225 generic character and CODE1 is nil, return the smallest character
3226 in CHARSET.
3227
774ba8c9
DL
32282000-12-20 Dave Love <fx@gnu.org>
3229
3230 * s/osf5-0.h (NSIG): Don't redefine.
3231
88416888
SM
32322000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3233
3234 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3235 excluding menu-bar and tool-bar.
3236 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3237 (menu_item_p): Remove.
3238 (where_is_internal_1): Don't ignore menu-items.
3239
a6426c6f
GM
32402000-12-20 Gerd Moellmann <gerd@gnu.org>
3241
03ff8aab
GM
3242 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3243 into account.
3244
3245 * window.c (make_window): Initialize window's min_hscroll.
3246 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3247 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3248 to zero.
3249 (struct saved_window): New member min_hscroll.
3250 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3251 (Fset_window_configuration): Set window's min_hscroll.
3252 (save_window_save): Save window's min_hscroll.
3253 (compare_window_configurations): Compare min_hscroll values.
3254
3255 * window.h (struct window): New member min_hscroll.
3256
3257 * keyboard.c (echo_prompt): Prevent a compiler warning.
3258
8de4aaf8
GM
3259 * xdisp.c (try_cursor_movement): Fix last change. The real
3260 condition is that PT is at the end of the row, and should
3261 be displayed at the start of the next row.
52283633 3262
3f7e3031
GM
3263 * xdisp.c (try_cursor_movement): If we end on a partially
3264 visible line, end we already decided to scroll, return -1.
3265
a6426c6f
GM
3266 * dispextern.h (ensure_frame_matrix): Add prototype.
3267
3268 * window.c (delete_window, Fsplit_window)
3269 (Fset_window_configuration): Call ensure_frame_matrix.
3270
52283633
SM
3271 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3272 New functions.
a6426c6f
GM
3273 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3274 completed, call fake_current_matrices instead of marking frame
3275 garbaged.
3276
57fa2774
JR
32772000-12-20 Jason Rumney <jasonr@gnu.org>
3278
3279 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3280
d925df90
EZ
32812000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3282
3283 * fns.c (Frequire): Doc fix.
3284
7b93a85b
GM
32852000-12-19 Gerd Moellmann <gerd@gnu.org>
3286
52283633 3287 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3288
c74e645b
GM
3289 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3290 currently displaying a message.
3291
7b93a85b
GM
3292 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3293 xterm.h.
3294 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3295
90d97e64
AI
32962000-12-18 Andrew Innes <andrewi@gnu.org>
3297
3298 * w32.c (w32_strerror): New function.
3299
3300 * w32.h (w32_strerror): New extern.
3301
3302 * w32fns.c (Fw32_shell_execute): Use it.
3303
91c9e6ce
GM
33042000-12-18 Gerd Moellmann <gerd@gnu.org>
3305
3306 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3307
6f4745e2
EZ
33082000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3309
3310 * msdos.c (IT_set_face): Obey inverse_video.
3311
c9e088ce
KH
33122000-12-18 Kenichi Handa <handa@etl.go.jp>
3313
3314 * dired.c (directory_files_internal): Always return decoded filenames.
3315
c3695f5f
GM
33162000-12-18 Gerd Moellmann <gerd@gnu.org>
3317
52d8e4ff
GM
3318 * xterm.c (x_connection_closed): Prevent being called recursively
3319 because of an error condition in XtCloseDisplay.
52283633 3320
62be9979
GM
3321 * xdisp.c (init_iterator): If noninteractive, and the frame's
3322 face cache is null, make one.
3323
52283633 3324 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3325
c3695f5f
GM
3326 * process.c (wait_reading_process_input): Check for pending
3327 input when running timers.
3328
78555fbe
EZ
33292000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3330
52283633 3331 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3332
b2b36264
KH
33332000-12-18 Kenichi Handa <handa@etl.go.jp>
3334
3335 * process.c (read_process_output): Don't run a filter if the code
3336 decoder produces nothing but carryover.
3337
9c543fbf
AI
33382000-12-17 Andrew Innes <andrewi@gnu.org>
3339
3340 * w32.c (sys_rename): Only check errno against EEXIST, and not
3341 EACCES, when determining whether rename failed because the target
3342 exists. This was resulting in indefinite looping on Windows 9x if
3343 the source file was locked by another process.
3344
3345 * w32fns.c (Ffile_system_info): New function.
3346 (syms_of_w32fns): Defsubr it.
3347
10c2b5a8
GM
33482000-12-17 Gerd Moellmann <gerd@gnu.org>
3349
b0228ace
GM
3350 * window.c (coordinates_in_window): Fix computation for
3351 position on vertical line between mode lines.
3352
10c2b5a8
GM
3353 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3354 Don't alter tip_frame or tip_window.
3355 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3356 was deleted.
3357
c844a81a
GM
3358 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3359 Don't alter tip_frame or tip_window.
3360 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3361 was deleted.
3362
6c825f8e
EZ
33632000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3364
3365 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3366 be consistent with the doc string. Reported by NAKAJIMA Mikio
3367 <minakaji@osaka.email.ne.jp>.
3368
af4bb4c8
KH
33692000-12-16 Kenichi Handa <handa@etl.go.jp>
3370
3371 * xfaces.c (Vface_ignored_fonts): New variable.
3372 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3373 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3374
8062e53a
GM
33752000-12-15 Gerd Moellmann <gerd@gnu.org>
3376
e87b8809
GM
3377 * dispnew.c (update_window): Detect pending input every nth line
3378 updated, i.e. do it depending on real work done, and not on the
3379 vpos of the line.
3380
3381 * xterm.c (expose_window): Don't redraw the window that's
3382 currently being updated.
3383
a6768cc5
GM
3384 * window.c (Fset_window_point): Remove test for
3385 cursor_in_non_selected_windows.
3386
4ea7fdca
GM
3387 * lread.c (read1): Recognize end of file after `\\'.
3388
8062e53a
GM
3389 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3390 not unwind_create_frame.
3391
bb7959c1
GM
33922000-12-15 Dave Love <fx@gnu.org>
3393
3394 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3395 bcopy & al.
3396
3397 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3398
ced04c42
KH
33992000-12-15 Kenichi Handa <handa@etl.go.jp>
3400
c5443913
KH
3401 * coding.c (setup_coding_system): Clear all members of the struct
3402 coding_system at first.
bc137305
KH
3403 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3404 argument.
3405 (code_convert_region): Don't override coding->src_multibyte and
3406 coding->dst_multibyte.
c5443913 3407
ced04c42
KH
3408 * fns.c (Fmd5): Docstring improved.
3409
c2d7f289
MB
34102000-12-15 Miles Bader <miles@gnu.org>
3411
3412 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3413 are actually marked as mode-lines; otherwise use
3414 estimate_mode_line_height.
3415
9d7d9263
GM
34162000-12-14 Gerd Moellmann <gerd@gnu.org>
3417
3418 * editfns.c (Fformat): Prevent a buffer overrun when the format
3419 specifies a precision.
3420
7cf0153a
EZ
34212000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3422
3423 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3424 argument is outside the range [2..3].
3425
1de0f662
AI
34262000-12-14 Andrew Innes <andrewi@gnu.org>
3427
3428 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3429 nothing to do. Bind inhibit-quit.
3430 (tip_frame): Make it a Lisp_Object.
3431 (x_create_tip_frame): Set tip_frame after it has been added to
3432 Vframe_list.
3433 (Fx_show_tip): Don't set tip_frame here.
52283633 3434 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3435 (unwind_create_frame, unwind_create_tip_frame): New functions.
3436 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3437 while a frame is only partially constructed.
3438
3439 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3440 (x_free_frame_resources): New function.
3441 (x_destroy_window): Use it.
3442
02387dcc
GM
34432000-12-14 Gerd Moellmann <gerd@gnu.org>
3444
3445 * xfns.c (Fx_backspace_delete_keys_p): New function.
3446 (syms_of_xfns): Defsubr it.
3447
3448 * config.in (HAVE_XKBGETKEYBOARD): Add.
3449
0544ef49
KH
34502000-12-14 Kenichi Handa <handa@etl.go.jp>
3451
98d62747
KH
3452 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3453 Always store string in multibyte representation in echobuf.
3454 (echo_char): Always store string in multibyte representation in
3455 echobuf.
3456 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3457 (read_key_sequence): Adjusted for the change of echo_prompt.
3458
a20193cd
KH
3459 * fns.c (Fmd5): Docstring improved.
3460
191b83b6
KH
3461 * lisp.h (detect_coding_system): Prototype adjusted.
3462
0544ef49
KH
3463 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3464 (detect_coding_emacs_mule, detect_coding_iso2022,)
3465 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3466 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3467 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3468 (detect_coding_mask, detect_coding_system): New argument
3469 MULTIBYTEP. Callers changed.
1da1bb05
KH
3470 (decode_coding_string): Set coding->src_multibyte and
3471 coding->dst_multibyte before calling detect_coding and detect_eol.
3472 Update them after some coding system is detected.
52283633 3473
d5b3eb1b
SM
34742000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3475
3476 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3477
3478 * keyboard.c (menu_bar_items, tool_bar_items):
3479 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3480
f7f8bb69
GM
34812000-12-13 Gerd Moellmann <gerd@gnu.org>
3482
52283633 3483 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3484 New variables.
3485 (unwind_create_frame, unwind_create_tip_frame): New functions.
3486 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3487 while a frame is only partially constructed.
3488
3489 * xterm.h (x_free_frame_resources): Declare.
3490
3491 * xterm.c (x_free_frame_resources): New function.
3492 (x_destroy_window): Use it.
3493
e10da507
GM
3494 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3495 don't interrupt the update for pending input initially, i.e.
3496 update at least some lines.
3497
3498 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3499
d5b3eb1b 3500 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3501
3502 * xfns.c (gray_bitmap_bits): Declare `char *'.
3503
90aa2856
GM
35042000-12-12 Gerd Moellmann <gerd@gnu.org>
3505
3506 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3507 lines start with a relief line.
3508
a308c9cd
DL
35092000-12-12 Dave Love <fx@gnu.org>
3510
3511 * window.c (Fdisplay_buffer): Doc fix.
3512 (Fwindow_list): Remove unused var.
3513
3514 * buffer.h (mmap_set_vars): Declare.
3515
3516 * window.h (Fset_window_point): Declare.
3517
d575011f
EZ
35182000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3519
bf6282d2 3520 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3521 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3522 variable `area'. When looking for a row under (X,Y), give up if some
3523 of the previous rows is not enabled.
d575011f 3524
ecf4d726
GM
35252000-12-12 Gerd Moellmann <gerd@gnu.org>
3526
2ebf6139
GM
3527 * window.c (Fset_window_point): If displaying cursors in windows
3528 other than the selected window, make sure redisplay updates
3529 other windows to show the new value of point in the window.
3530
3531 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3532
bfdb75ee
GM
3533 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3534 the buffer is the sole visible buffer when in the mini-buffer.
3535
52283633 3536 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3537 Bind `inhibit-read-only' to t.
3538 (unwind_with_echo_area_buffer): Use AREF.
3539
c0006262
GM
3540 * xfns.c (Fx_hide_tip): Simplified.
3541
52283633
SM
3542 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3543 instead of `1'.
e9a59cad 3544
ecf4d726
GM
3545 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3546
e5959a9a
GM
35472000-12-11 Gerd Moellmann <gerd@gnu.org>
3548
a3642e49 3549 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3550
44b5a125
GM
3551 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3552 nothing to do. Bind inhibit-quit.
3553 (tip_frame): Make it a Lisp_Object.
3554 (x_create_tip_frame): Set tip_frame after it has been added to
3555 Vframe_list.
3556 (Fx_show_tip): Don't set tip_frame here.
3557
3558 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3559
3560 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3561 Lisp_Object.
3562
3563 * dispextern.h: Change external declaration of tip_frame.
3564
d990421f
GM
3565 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3566 return an empty string.
3567
4db87380
GM
3568 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3569 of the window's update_mode_line flag, since the former is set by
3570 force-mode-line-update, not the latter. This makes
3571 column-number-mode slightly faster.
52283633 3572
e5959a9a
GM
3573 * xdisp.c (try_window_id) <all changes above window start>:
3574 Set the cursor.
3575
169fe44e
GM
35762000-12-11 Paul Eggert <eggert@twinsun.com>
3577
3578 * config.in (HAVE_FTELLO): Remove.
3579 (HAVE_FSEEKO): Add.
3580 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3581 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3582 HAVE_FTELLO.
3583 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3584 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3585
59ec59ae
MB
35862000-12-11 Miles Bader <miles@gnu.org>
3587
3588 * window.c (displayed_window_lines): Don't round up when
3589 converting empty space at bottom to lines.
ff904dd6
MB
3590 Handle non-newline-terminated final lines properly.
3591 (Fwindow_text_height): New function (used to be in lisp).
3592 (syms_of_window): Initialize it.
59ec59ae 3593
42ebfa31
SM
35942000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3595
3596 * syntax.c (scan_lists): Check that the right quote char has the
3597 right Sstring syntax when jumping over strings.
3598 (init_syntax_once): Use Smax rather than 13.
3599
5cdb3cf3
MB
36002000-12-09 Miles Bader <miles@gnu.org>
3601
3602 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3603 with PARTIALLY, inverting the sense.
3604 (window_scroll_pixel_based): Scroll partially visible lines into
3605 place if we hit the beginning or end of the buffer.
a12167c5
MB
3606 (displayed_window_lines): Don't include partially visible lines.
3607 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3608
842b2a94
GM
36092000-12-08 Gerd Moellmann <gerd@gnu.org>
3610
3611 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3612
3613 * tparam.c (tparam1): Change the way buffers are reallocated to be
3614 portable and less obfuscated.
3615
3616 * termcap.c (tgetent): Change the way buffers are reallocated to
3617 be portable and less obfuscated.
3618
3619 * macros.c (store_kbd_macro_char): Change the way buffers are
3620 reallocated to be portable and less obfuscated.
3621
3622 * lread.c (read1): Change the way buffers are reallocated to be
3623 portable and less obfuscated.
3624
3625 * doc.c (Fsubstitute_command_keys): Change the way buffers
3626 are reallocated so that it is portable.
3627
137cad7c
EZ
36282000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3629
3630 * dosfns.c (Ffile_system_info): New function.
3631 (syms_of_dosfns): Defsubr it.
3632
5c7f629c
SM
36332000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3634
3635 * alloc.c (gc_sweep): Add comment.
3636
959e647d
GM
36372000-12-07 Gerd Moellmann <gerd@gnu.org>
3638
52283633
SM
3639 * sound.c (vox_configure): Change order of ioctls.
3640 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3641 Ignore errors when changing volume.
3642 (vox_close): Don't reset the device.
3643
926b7e5e
GM
3644 * process.c (read_process_output): Make sure the process marker's
3645 position is valid when the process buffer is changed in
3646 after-change functions. W3 does that.
52283633 3647
959e647d
GM
3648 * xfns.c (x_free_gcs): New function.
3649
3650 * xterm.h (x_free_gcs): Add prototype.
3651
3652 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3653 freeing GCs here.
3654
3655 * xterm.c (x_destroy_window): Call x_free_gcs so that
3656 resources of non-toolkit X windows will be freed.
3657
478ea067
AI
36582000-12-07 Andrew Innes <andrewi@gnu.org>
3659
3660 * w32fns.c (xlfd_charset_of_font): Fix last change.
3661
fbee3231
DL
36622000-12-06 Dave Love <fx@gnu.org>
3663
67292061
DL
3664 * md5.h (__P): Don't define -- it comes from config.h.
3665
fbee3231
DL
3666 * strftime.c: Change some #if foo to #ifdef foo.
3667
4ee87dbb
AI
36682000-12-06 Andrew Innes <andrewi@gnu.org>
3669
3670 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3671
52283633 3672 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3673 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3674 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3675
9765b4a4
GM
36762000-12-06 Gerd Moellmann <gerd@gnu.org>
3677
d285b373
GM
3678 * alloc.c (gc_sweep): Prevent symbols read during loadup
3679 from being freed.
3680
384333ee
GM
3681 * xdisp.c (underlying_face_id): New function.
3682 (handle_face_prop, face_before_or_after_it_pos): Use it
3683 to determine the face ``under'' a string. Let strings inherit
3684 the face of the buffer under them.
3685
3686 * xfaces.c (face_at_string_position): Update function comment.
52283633 3687
d4b72d58
GM
3688 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3689 matrix if the window's left position has changed; we need to
3690 redraw it in this case.
3691
3692 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3693
e1d05387
GM
3694 * window.c (coordinates_in_window): Check mouse on mode-line or
3695 header-line first.
3696
eb1b0c74
GM
3697 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3698 advertized by the function documentation.
3699
d94d636f
GM
3700 * window.c (syms_of_window): Doc fix.
3701
3887b449
GM
3702 * sound.c (vox_configure): Set volume for left and right channel.
3703 (sound_cleanup): Return nil.
3704
efc8f57a
GM
3705 * xdisp.c (move_it_by_lines): Fix paren typo.
3706
9765b4a4
GM
3707 * xterm.c (x_load_font): Don't use the font's max_bounds for
3708 computing the height of the font. If max_bounds' ascent or
3709 descent are greater than the font's ascent or descent, this means
3710 glyphs overlap, which should be handled now by redisplay.
3711
6529ed87
GM
3712 * window.c (Veven_window_heights): New variable.
3713 (syms_of_window): DEFVAR_LISP it.
3714 (Fdisplay_buffer): Check Veven_window_heights before evening the
3715 window heights.
52283633 3716
0eb2ecde
MB
37172000-12-06 Miles Bader <miles@gnu.org>
3718
3719 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3720 update `default-frame-alist' instead of setting no frame parameters.
3721
03d7a167
KH
37222000-12-06 Kenichi Handa <handa@etl.go.jp>
3723
3724 * composite.c (update_compositions): Fix typo (use the correct
3725 variable).
3726
5f8803c2
JR
37272000-12-05 Jason Rumney <jasonr@gnu.org>
3728
3729 * md5.h: Remove underscores from function declarations.
3730 (__attribute__, __alignof__) [!__GNUC__]: Define.
3731
3732 * md5.c: Delay include of md5.h until after namespace cleaning.
3733
c28a075b
JR
3734 * makefile.w32-in (fns.o): Depend on md5.h
3735 (md5.o): New target.
3736 (sunfns.o): Remove.
3737
3738 * makefile.nt: Likewise.
3739
ff3c7056
JR
37402000-12-05 Jason Rumney <jasonr@altavista.net>
3741
3742 * w32term.c (expose_area): Complete last change.
3743
0c21eeeb
KR
37442000-12-05 Ken Raeburn <raeburn@gnu.org>
3745
3746 * minibuf.c: Include intervals.h.
3747
f201d732
JR
37482000-12-05 Jason Rumney <jasonr@gnu.org>
3749
3750 * w32term.c (x_produce_glyphs): If a font for a component of
3751 a composition is not found, use 1 pixel dot ascent and 0 dot
3752 descent value to avoid displaying terribly tall empty boxes.
3753 (expose_area): Pass x-coordinate relative to the exposed
3754 area to x_draw_glyphs instead of a window-relative coordinate.
3755
21999ab9
GM
37562000-12-05 Gerd Moellmann <gerd@gnu.org>
3757
4d2036e4
GM
3758 * xdisp.c (next_element_from_ellipsis): Save face before selective
3759 display in saved_face_id, and set face_before_selective_p.
3760 (reseat_1): Reset face_before_selective_p.
3761 (append_space, extend_face_to_end_of_line): If iterator's
3762 face_before_selective_p is set, use the face from saved_face_id.
3763 (extend_face_to_end_of_line): For tty frames, make sure to
3764 use the right face id when producing spaces at the end of
3765 the line.
3766
3767 * dispextern.h (struct it): Add face_before_selective_p.
3768
52be17cc
GM
3769 * keyboard.c (record_char): Don't record identical help-echo
3770 events in recent_keys.
3771
8a4f36cc
GM
3772 * xterm.c [USE_X_TOOLKIT]: Close the display.
3773 (xim_close_dpy): Handle case that the display has been closed.
3774
57d6e381
GM
3775 * xterm.c (x_destroy_window): Reset the frame's X window after
3776 destroying it.
3777
21999ab9
GM
3778 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3779 variable window_width.
3780 (line_draw_cost): Fix code skipping over spaces at the end of the
3781 line when must_write_spaces is not set.
3782 (scrolling_window): Fix code inserting runs in list of all runs.
3783
91372bb7
KH
37842000-12-05 Kenichi Handa <handa@etl.go.jp>
3785
3786 * coding.c (setup_coding_system): Be sure to initialize
3787 coding->category_idx.
3788
6c083b4c
GM
37892000-12-04 Gerd Moellmann <gerd@gnu.org>
3790
0c68ce6f 3791 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3792
6452929e
GM
3793 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3794 area to x_draw_glyphs instead of a window-relative coordinate.
3795
d7f31e22
GM
3796 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3797 error in the message.
3798
ae18aa3b
GM
3799 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3800 timer after having read a key. It's not good for code reading
3801 several keys in a loop, like an input method.
3802
caa15ef7
GM
3803 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3804 record undo information for format-decode.
3805
3806 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3807 current buffer is read-only, not if it isn't.
3808
6c083b4c
GM
3809 * keyboard.c (record_char): Record `help-echo' input events
3810 in recent_keys only if they display some help. Don't record
3811 `help-echo' events as macro char.
3812
caa15ef7
GM
38132000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3814
3815 * editfns.c (save_excursion_restore): Don't move point
3816 in another window if it is showing the wrong buffer.
3817 Avoid the call to Fwindow_live_p, for speed.
3818
5a13529b
KH
38192000-12-04 Kenichi Handa <handa@etl.go.jp>
3820
e225faa7
KH
3821 * xfaces.c (struct font_name): New member registry_priority.
3822 (split_font_name): Initialize the above member to zero.
3823 (concat_font_list): New function.
3824 (font_list): Include fonts of all alternative registries.
3825 (FONT_POINT_SIZE_QUANTUM): New macro.
3826 (better_font_p): Ignore point size difference less than
3827 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3828
e89648b4
KH
3829 * xterm.c (x_produce_glyphs): If a font for a component of
3830 a composition is not found, use 1 pixel dot ascent and 0 dot
3831 descent value to avoid displaying terribly tall empty boxes.
3832
5a13529b
KH
3833 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3834
d7935eb6
KR
38352000-12-03 Ken Raeburn <raeburn@gnu.org>
3836
3837 * coding.h (code_convert_string1): Declare.
3838
3839 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3840
52283633 3841 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3842
0dd5e255
JR
38432000-12-02 Jason Rumney <jasonr@gnu.org>
3844
3845 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3846 correctly for single byte character case.
3847 (w32_per_char_metric): Do not try to make any assumptions about
3848 the metrics of BDF fonts.
250cfece 3849 (x_estimate_mode_line_height): If `mode-line' face
52283633 3850 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3851 (note_mouse_highlight): Change the cursor shape on the vertical
3852 border between windows [not enabled].
3853
3854 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3855
3856 * w32fns.c (Fx_create_frame): Reintroduce the call to
3857 face-set-after-frame-defaults.
3858 (Vx_window_horizontal_drag_shape): New variable.
3859 (syms_of_xfns): DEFVAR_LISP it.
3860 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3861 enabled].
0dd5e255 3862
b5d8d2ca
GM
38632000-12-02 Simon Josefsson <simon@josefsson.org>
3864
3865 * fns.c (Fmd5): Use a different logic to decide the coding system
3866 to use.
3867
3868 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3869
fbb87147
EZ
38702000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3871
52283633 3872 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3873
447e9da0
GM
38742000-12-01 Gerd Moellmann <gerd@gnu.org>
3875
7708ced0
GM
3876 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3877 height for YNegative.
3878 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3879 height; also see comment there.
3880
447e9da0
GM
3881 * window.c (coordinates_in_window): Handle computations for
3882 positions on the vertical bar and fringes differently for
3883 window-system frames. Consider some pixels near the vertical bar
3884 as on the bar if the frame doesn't have vertical scroll bars.
3885 Associate positions between mode or header lines with the
3886 right window, the left one.
3887
86d1db20
JR
38882000-12-01 Jason Rumney <jasonr@gnu.org>
3889
3890 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3891
3892 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3893 invalid frame.
3894
a1d58e5b
GM
38952000-12-01 Gerd Moellmann <gerd@gnu.org>
3896
52283633 3897 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3898 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3899 (save_window_save, Fset_window_configuration): Save/restore
3900 window's orig_top and orig_height.
3901
89c609af
JR
39022000-12-01 Jason Rumney <jasonr@gnu.org>
3903
4d177746 3904 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3905
89c609af
JR
3906 * w32fns.c (x_set_cursor_color): Fix last change.
3907
eccc05db
GM
39082000-11-30 Gerd Moellmann <gerd@gnu.org>
3909
31b6671b
GM
3910 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3911 sure that the next redisplay displays the minibuffer, so that
3912 the cursor will be replaced with what the minibuffer wants.
3913
eccc05db
GM
3914 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3915 #ifndef instead of using #if.
3916 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3917 USE_TOOLKIT_SCROLL_BARS is defined.
3918
162de750
JR
39192000-11-30 Jason Rumney <jasonr@gnu.org>
3920
3921 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3922 x_display_cursor.
3923
693c4692
GM
39242000-11-30 Gerd Moellmann <gerd@gnu.org>
3925
3926 * fns.c (Fmd5): Doc fix.
3927
b5d8d2ca 39282000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3929
3930 * fns.c (Fmd5): New function.
3931 (syms_of_fns): Defsubr md5.
3932
3933 * Makefile.in (obj): Add md5.o
3934
b02cd40b
GM
39352000-11-30 Gerd Moellmann <gerd@gnu.org>
3936
edfb795e
GM
3937 * md5.h, md5.c: New files, taken from glibc.
3938
df3aedcf
GM
3939 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3940
b02cd40b 3941 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3942 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3943
8b5176cd
SM
39442000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3945
3946 * eval.c (Frun_hooks): Allow 0 arguments.
3947
346598f1
GM
39482000-11-29 Gerd Moellmann <gerd@gnu.org>
3949
f9396e03
GM
3950 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3951 is over the menu bar widget, say it's not on the frame.
3952
4a967a9b
GM
3953 * xfns.c (Fx_create_frame): Reintroduce the call to
3954 face-set-after-frame-defaults.
3955
346598f1
GM
3956 * eval.c (Fsignal): Reset handling_signal.
3957
222456a1
JR
39582000-11-28 Jason Rumney <jasonr@gnu.org>
3959
3960 * w32menu.c (add_menu_item): Reset menu item text when changing
3961 type to radio button.
3962
8049ddc0
GM
39632000-11-28 Gerd Moellmann <gerd@gnu.org>
3964
346598f1 3965 * xselect.c: Update copyright.
f4f4ee4d 3966
bebe4a2c
GM
3967 * window.c (coordinates_in_window): If on a mode or header line,
3968 but sufficiently close to its start, return ``on vertical
3969 border''. This gives us a way to drag windows horizontally when
3970 using toolkit scroll bars.
3971
3972 * xterm.c (note_mouse_highlight): Change the cursor shape
3973 on the vertical border between windows.
3974
3975 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3976
3977 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3978 (syms_of_xfns): DEFVAR_LISP it.
3979 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3980
8d2c2642
GM
3981 * textprop.c (text_read_only): New function.
3982 (verify_interval_modification): Use it instead of signaling
3983 `text-read-only'. This makes it easier to catch this error
52283633 3984 with a breakpoint.:
8d2c2642 3985
52283633 3986 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3987 not end of line, which includes CR.
3988
5a2bae6c
KH
39892000-11-28 Kenichi Handa <handa@etl.go.jp>
3990
3991 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3992 include no-conversion.
3993
ae31f84d
JR
39942000-11-27 Jason Rumney <jasonr@gnu.org>
3995
3996 * w32fns.c (w32_load_system_font): Always mark font as double byte
3997 if codepage is unicode.
3998
67f1cf4c
GM
39992000-11-27 Gerd Moellmann <gerd@gnu.org>
4000
4a74d071 4001 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4002 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4003
902ae620
GM
4004 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4005 `vertical-line', `mode-line' and `header-line' events.
4006
4007 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4008 of a character, a TAB for instance. This is easier than to set
4009 up the iterator exactly, and it's not a frequent case, so the
4010 additional effort wouldn't really pay off.
4011
c1e279c2
AC
40122000-11-26 Andrew Choi <akochoi@i-cable.com>
4013
67f1cf4c 4014 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4015 init_window_once.
4016
a609568a
JR
40172000-11-25 Jason Rumney <jasonr@gnu.org>
4018
52283633
SM
4019 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4020 Args to window_from_coordinates should be pixel coordinates.
48b21762 4021
a609568a
JR
4022 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4023 redisplay handles them properly.
4024
a658d039
MB
40252000-11-25 Miles Bader <miles@gnu.org>
4026
4027 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4028
d3416cca
JR
40292000-11-24 Jason Rumney <jasonr@gnu.org>
4030
4031 * w32.c (init_environment): Set LANG environment variable based on
4032 locale settings, if not set.
4033
4034 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4035 making tool bar smaller. When clearing the frame, also
4036 clear current matrices. Clear frame when tool bar disappears.
4037 Don't use more lines for the tool-bar than is available.
4038 (x_change_window_heights): New function.
4039
ba193890
GM
40402000-11-24 Gerd Moellmann <gerd@gnu.org>
4041
2be8f184
GM
4042 * xdisp.c (init_from_display_pos): If POS says we're already after
4043 an overlay string ending at POS, make sure to pop the iterator
4044 because it will be in front of that overlay string. When POS is
4045 ZV, we've thereby also ``processed'' overlay strings at ZV.
4046
ba193890
GM
4047 * xfaces.c (lface_from_face_name): Function comment fix.
4048
1862a24e
MB
40492000-11-24 Miles Bader <miles@gnu.org>
4050
4051 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4052 apply `mode-line-inverse-video' -- zero means force display using
4053 the default face, non-zero means display using the specialized face.
4054 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4055
f07fa1b8
KH
40562000-11-23 Kenichi Handa <handa@etl.go.jp>
4057
4058 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4059 hard coded `4'.
4060
2bcdf662
EZ
40612000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4062
4063 * coding.c (decode_coding_emacs_mule): Fix the case of
4064 CODING_EOL_LF, which used uninitialized value of c.
4065
ba8299ff
SM
40662000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4067
4068 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4069
f4117c4d
GM
40702000-11-22 Gerd Moellmann <gerd@gnu.org>
4071
03e757c1
GM
4072 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4073 buffer object.
4074
f4117c4d
GM
4075 * frame.h (struct frame): Replace desired_tool_bar_items,
4076 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4077 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4078
4079 * frame.c (make_frame): Change initialization of tool bar
4080 items accordingly.
4081
4082 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4083 Change references to members deleted from struct frame to use the
f4117c4d
GM
4084 new ones.
4085
4086 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4087 references to members deleted from struct frame to use the new ones.
f4117c4d 4088
52283633 4089 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4090
4091 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4092
4093 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4094 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4095 from struct frame to use the new ones.
4096
f8e2f3f2
MB
40972000-11-23 Miles Bader <miles@gnu.org>
4098
4099 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4100 the face's inverse-video attribute, rather than overriding it.
4101
60e8e0a5
GM
41022000-11-22 Gerd Moellmann <gerd@gnu.org>
4103
4104 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4105 making tool bar smaller.
4106
92dd1b29
DL
41072000-11-22 Dave Love <fx@gnu.org>
4108
4109 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4110
e672fdce
MB
41112000-11-22 Miles Bader <miles@gnu.org>
4112
3a17d6cc
MB
4113 * keyboard.c (Vminibuffer_message_timeout): New variable.
4114 (command_loop_1): Use it to determine message timeout.
4115 (syms_of_keyboard): Initialize it.
4116
60e8e0a5 4117 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4118
e9655d81
KH
41192000-11-22 Kenichi Handa <handa@etl.go.jp>
4120
4121 * sysdep.c: Move the code for declaring h_errno after #include
4122 <netdb.h>.
4123
77270fac
GM
41242000-11-21 Gerd Moellmann <gerd@gnu.org>
4125
cd913aae
GM
4126 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4127 the menu bar when the tooltip is unmapped.
4128
77270fac
GM
4129 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4130 sole visible buffer when we're currently in the mini-buffer, and
4131 give up if so.
52283633 4132
556635d6
JR
41332000-11-21 Jason Rumney <jasonr@gnu.org>
4134
4135 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4136 put on the clipboard.
4137 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4138 copy of what Emacs last put there. If they are the same, do not
52283633 4139 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4140
5b7bde64
MB
41412000-11-22 Miles Bader <miles@gnu.org>
4142
4143 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4144 (syms_of_minibuf): Initialize it.
4145 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4146 to prompt, don't make read-only.
4147
ff23e1dd
GM
41482000-11-21 Gerd Moellmann <gerd@gnu.org>
4149
52283633
SM
4150 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4151 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4152
7aaf4388
GM
4153 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4154
f5f47add 4155 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4156
ff23e1dd
GM
4157 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4158
37c35586
KH
41592000-11-21 Kenichi Handa <handa@etl.go.jp>
4160
4161 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4162 ... #endif scope.
4163
ff9ab414
GM
41642000-11-20 Gerd Moellmann <gerd@gnu.org>
4165
52283633 4166 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4167 screen supports it.
4168
29a01b72
GM
4169 * s/gnu-linux.h: Don't use `#cpu'.
4170
09dfdf85
GM
4171 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4172 not defined in mman.h.
4173
52283633 4174 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4175 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4176 and store an index in the XClientMessageEvent. Storing a
4177 Lisp_Object or pointer can fail on a 64 bit system, since X only
4178 transfers 32 bits.
52283633
SM
4179 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4180
81459ac9
DL
41812000-11-20 Dave Love <fx@gnu.org>
4182
4183 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4184
56c13ae6
GM
41852000-11-20 Gerd Moellmann <gerd@gnu.org>
4186
4187 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4188
495a6df3
KH
41892000-11-20 Kenichi Handa <handa@etl.go.jp>
4190
2bcf3714
KH
4191 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4192 by WIDTH.
4193
495a6df3
KH
4194 * alloc.c (make_string): Fix previous change. Be sure to make
4195 unibyte string correctly.
4196
6d950f4c
GM
41972000-11-19 Gerd Moellmann <gerd@gnu.org>
4198
39b39373
GM
4199 * window.c (Fwindow_list): Change parameter list to be XEmacs
4200 compatible.
4201 (window_list_1): New function.
4202 (window_loop): Use it instead of Fwindow_list.
4203
b95b34e5
GM
4204 * sysdep.c (emacs_ospeed): New variable.
4205 (toplevel): Don't declare ospeed extern.
4206 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4207
4208 * termcap.c (ospeed): Remove.
4209 (tputs) [!emacs]: Remove unused code.
4210 (tgetent): Avoid a compiler warning.
4211
e83dc917
GM
4212 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4213 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4214 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4215
4216 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4217 removed.
4218 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4219 Take the X display as additional argument.
4220 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4221 `Widget' is a pointer type that's not easily stored in Lisp_Object
4222 form in a portable way.
52283633 4223
6d950f4c
GM
4224 * dispnew.c (update_text_area): Fix last change.
4225
e47306e6
GM
42262000-11-18 Gerd Moellmann <gerd@gnu.org>
4227
fb3cd89b
GM
4228 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4229
4230 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4231 clear current matrices.
4232
edaa9aed
GM
4233 * buffer.c (mmap_enlarge): Don't print a message on stderr
4234 if mapping new memory at the end of the existing region fails.
4235
e47306e6
GM
4236 * dispnew.c (update_text_area): Don't skip over equal glyphs
4237 when the last current glyph overlaps the glyph to its right.
4238
509633e3
MB
42392000-11-18 Miles Bader <miles@gnu.org>
4240
4241 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4242 lines that *end* with "..." too (that's the most common case!).
4243
d392e9c5
GM
42442000-11-18 Gerd Moellmann <gerd@gnu.org>
4245
67988445
GM
4246 * xdisp.c (resize_mini_window): Temporarily change to the
4247 mini-window's buffer if necessary.
1bfdbe43 4248
d392e9c5
GM
4249 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4250 the tooltip obscures less text under it.
4251
42522000-11-17 Gerd Moellmann <gerd@gnu.org>
4253
4254 * puresize.h (BASE_PURESIZE): Increase to 700000.
4255
92bb977f
JR
42562000-11-18 Jason Rumney <jasonr@gnu.org>
4257
4258 * w32term.c (w32_draw_bitmap): Use face to set colors.
4259
26fbf20b
DL
42602000-11-17 Dave Love <fx@gnu.org>
4261
4262 * lread.c (Fload): Fix #ifdef for pcc.
4263
100b593b
GM
42642000-11-17 Gerd Moellmann <gerd@gnu.org>
4265
4266 * xdisp.c (pos_visible_p): Compute the default character height
4267 differently.
4268
a288d0d1
GM
42692000-11-16 Gerd Moellmann <gerd@gnu.org>
4270
cac94de6 4271 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4272 knowing the line's height; use the default font's height in that case.
cac94de6 4273
a288d0d1
GM
4274 * xfaces.c (weight_table): Add `demi' with the same meaning as
4275 `demibold'.
4276
981fb6f6
KH
42772000-11-16 Kenichi Handa <handa@etl.go.jp>
4278
2cca872d 4279 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4280 (clear_glyph_row): Delete local static variable null_row.
4281
e5fa381b
JR
42822000-11-15 Jason Rumney <jasonr@gnu.org>
4283
4284 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4285 (w32_alloc_lighter_color): Use new brightness calculations from
4286 xterm.c. Scale delta to be in the range expected by W32.
4287 (w32_draw_relief_rect): Use frame relief colors.
4288
8e42f043
GM
42892000-11-15 Gerd Moellmann <gerd@gnu.org>
4290
6d133d1f
GM
4291 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4292 (Qinhibit_default_face_x_resources): New variable.
4293 (syms_of_frame): Initialize it.
4294 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4295
4296 * xdisp.c (pos_visible_p): Improve function comment.
4297
4298 * lisp.h (BINDING_STACK_SIZE): New macro.
4299
8e42f043
GM
4300 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4301 reading the directory if readdir returns null and errno is EAGAIN
4302 or EINTR.
4303
e8c87124
SM
43042000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4305
4306 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4307 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4308 Set amount_to_scroll to max of dx and scroll_step so that
4309 scroll-conservatively doesn't defeat scroll-step>1.
4310 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4311 scroll-conservatively for line-at-a-time scrolling.
4312
5f0c971d
GM
43132000-11-14 Gerd Moellmann <gerd@gnu.org>
4314
4315 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4316 extra argument.
4317
4318 * xdisp.c (current_mode_line_height, current_header_line_height):
4319 New variables.
4320 (init_xdisp): Initialize them.
4321 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4322 and use exact mode line heights if it is set.
4323
4324 * lisp.h (pos_visible_p): Change prototype.
4325
4326 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4327 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4328 and current_header_line_height first.
52283633
SM
4329 (current_mode_line_height, current_header_line_height):
4330 Declare extern.
5f0c971d 4331
d7361edf
MB
43322000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4333
4334 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4335 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4336 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4337
ee5e440a
MB
43382000-11-14 Miles Bader <miles@gnu.org>
4339
4340 * xterm.c (x_alloc_lighter_color): Include an additive component
4341 too for dark colors, because FACTOR isn't enough.
4342 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4343 New macros.
4344
5ca020fc
GM
43452000-11-13 Gerd Moellmann <gerd@gnu.org>
4346
4347 * keyboard.c (show_help_echo): Call message3_nolog with number of
4348 bytes in the help string as 2nd parameter, instead of the number
4349 of characters.
4350
9d348294
MB
43512000-11-13 Miles Bader <miles@gnu.org>
4352
4353 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4354 (Fload): Use new openp return protocol.
4355 Don't try to use Vload_source_file_function to load .elc files.
4356 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4357 openp return protocol.
4358 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4359
1729bb9a
KH
43602000-11-11 Kenichi Handa <handa@etl.go.jp>
4361
4e677396
KH
4362 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4363
4364 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4365 Defined these macros.
4366 (NLIST_STRUCT): Avoid re-defining it.
4367
1729bb9a
KH
4368 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4369 -I/usr/contrib/X11R6/include.
4370 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4371
a82fe213
JR
43722000-11-10 Jason Rumney <jasonr@gnu.org>
4373
4374 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4375
4376 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4377 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4378
4379 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4380 (Qw32_charset_vietnamese): New symbol.
4381 (xlfd_charset_of_font): New function.
4382 (w32_load_system_font): Use it.
4383 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4384 when Vw32_charset_info_alist is nil to ensure default face always
4385 has font. Use Fcar and Fcdr for safety.
4386 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4387 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4388 pseudo-codepages for special cases.
4389 (w32_to_x_font): New parameter to allow charset portion to be
4390 specified where there is many to one mapping. Callers changed.
4391 (w32_list_fonts): Avoid listing fonts that won't display.
4392
52d89894
GM
43932000-11-10 Gerd Moellmann <gerd@gnu.org>
4394
4395 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4396 (font_list_1): Renamed from font_list.
4397 (font_list): New function, trying alternative registries from
4398 Vface_alternative_font_registry_alist.
4399 (Finternal_set_alternative_font_registry_alist): New function.
4400 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4401 Vface_alternative_font_registry_alist.
4402 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4403
651cd3da
KR
44042000-11-09 Ken Raeburn <raeburn@gnu.org>
4405
4406 * lisp.h (Flooking_at): Declare.
4407
388ac098
GM
44082000-11-09 Gerd Moellmann <gerd@gnu.org>
4409
778fbc46 4410 * dired.c (directory_files_internal): Fix a braino.
52283633 4411
388ac098
GM
4412 * dired.c (directory_files_internal): Add missing GCPRO's.
4413 Some cleanup.
4414
ecaedde1
GM
44152000-11-08 Gerd Moellmann <gerd@gnu.org>
4416
f7eb32aa
GM
4417 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4418 (resize_mini_window): Return quickly if Vresize_mini_window is
4419 nil. Don't return if Vmax_mini_window_height is nil.
4420
4421 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4422 (syms_of_xdisp): Initialize them.
4423 (resize_mini_window): Act according to the setting of
4424 Vresize_mini_window.
4425 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4426
ecaedde1
GM
4427 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4428 scroll bar widget after configuring it, so that it will appear at
4429 the right position from the start.
4430 (XTredeem_scroll_bar): Cleaned up.
4431
3747ef2c
KH
44322000-11-08 Kenichi Handa <handa@etl.go.jp>
4433
4434 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4435 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4436 division by two.
4437
4438 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4439
03391420
DL
44402000-11-07 Dave Love <fx@gnu.org>
4441
7758f1c1 4442 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4443
4444 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4445
b5de343d
GM
44462000-11-07 Gerd Moellmann <gerd@gnu.org>
4447
acad3c0b
GM
4448 * window.c (Fset_window_configuration): Don't try to preserve
4449 point in the current buffer, if that buffer is displayed in more
4450 than one window.
4451
b5de343d
GM
4452 * xfaces.c (lookup_named_face): If default face isn't realized,
4453 try to realize it. Return -1 if not successful.
4454 (Fx_list_fonts): Handle case that face cannot be determined.
4455 (Fface_font): Likewise.
4456
cdb1fe49
GM
44572000-11-06 Gerd Moellmann <gerd@gnu.org>
4458
4459 * window.c (displayed_window_lines): Detect partially
4460 visible lines at the bottom correctly.
4461
d3a67486
SM
44622000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4463
4464 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4465 when ensuring we don't do visit in indirect buffer.
4466
ff8dd5d5
KH
44672000-11-06 Kenichi Handa <handa@etl.go.jp>
4468
4469 * composite.h (compose_chars_in_text): Add prototype.
4470
4471 * composite.c (Vcomposition_function_table): New variable.
4472 (Qcomposition_function_table): New variable.
4473 (run_composition_function): Call
4474 Vcompose_chars_after_function with three arguments.
4475 (compose_chars_in_text): New function.
4476 (syms_of_composite): Modified the doc-string of
4477 Vcompose_chars_after_function. Declare composition-function-table
4478 as a lisp variable, and initialize it.
4479
4480 * xfns.c (x_encode_text): Suppress producing escape sequences for
4481 composition.
4482
4483 * xselect.c: Include composite.h.
4484 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4485
d1145f85
AI
44862000-11-05 Andrew Innes <andrewi@gnu.org>
4487
4488 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4489
4490 * sysdep.c (read_input_waiting): Remove extraneous argument to
4491 read_socket_hook.
4492
4493 * w32fns.c (Fx_server_version): Include w32_build_number in the
4494 return list.
4495
4496 * w32heap.c (w32_build_number): New variable.
4497 (cache_system_info): Set it.
4498
4499 * w32heap.h (w32_build_number): Add extern.
4500
4501 * emacs.c (syms_of_emacs): Update docstring for
4502 system-configuration, to reflect the actual usage on MS-Windows.
4503
e85ee976
GM
45042000-10-31 Gerd Moellmann <gerd@gnu.org>
4505
26dcb81b
GM
4506 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4507 process idle timers while waiting for another event.
4508
52283633 4509 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4510 the default face are colored.
4511
e85ee976
GM
4512 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4513 window height hasn't changed.
4514
01b220b6
JR
45152000-10-31 Jason Rumney <jasonr@gnu.org>
4516
4517 * w32term.c (x_produce_glyphs): Handle composite characters.
4518 (x_draw_glyph_string_foreground)
4519 (x_draw_composite_glyph_string_foreground): Restore old font.
4520
4e6b7204
MB
45212000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4522
4523 * minibuf.c (read_minibuf): Reset the undo history just before
4524 starting the recursive-edit.
4525
d4358b37
GM
45262000-10-30 Gerd Moellmann <gerd@gnu.org>
4527
563f68f1
GM
4528 * xfaces.c (menu_face_change_count): New variable.
4529 (Finternal_set_lisp_face_attribute): Increment it for changes
4530 of the `menu' face.
4531 (realize_basic_faces): Reflect changes in the `menu' faces
4532 in menu bars.
4533
82e274d1
GM
4534 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4535 dy obtained from the iterator's y-position after moving from
4536 scroll_margin_pos to PT; see comment there.
52283633 4537
0dbf9fd2
GM
4538 * xdisp.c (safe_eval_handler): Call add_to_log.
4539
906b3b14
GM
4540 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4541 is not a symbol or string.
4542
d4358b37
GM
4543 * xdisp.c (echo_area_display): Don't perform a display update from
4544 inside redisplay. The update will happen anyway at the end of
4545 redisplay, and it can confuse redisplay (GC messages while
4546 redisplaying, for instance.)
4547
70c825df
SM
45482000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4549
cf9b4b0b
SM
4550 * xrdb.c (x_load_resources): Use the class name in the defaults.
4551
70c825df
SM
4552 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4553 (regex_compile): Catch bogus \(\1\).
4554
a1d34b1e
GM
45552000-10-30 Gerd Moellmann <gerd@gnu.org>
4556
cae71efe
GM
4557 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4558 RGB values.
52283633 4559
35efe0a1
GM
4560 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4561 we have a color cache, check that the cached color equals the
4562 allocated color. If not, clear the color cache.
4563
1d3baf74
GM
4564 * window.c (displayed_window_lines): Change buffers if necessary.
4565 Fix computation of displayed lines.
4566
a1d34b1e
GM
4567 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4568 update_menu_bindings to DEFVAR_BOOL.
4569
70737ea9
KH
45702000-10-30 Kenichi Handa <handa@etl.go.jp>
4571
70c825df 4572 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4573
fa0cb51d
KH
4574 * puresize.h (BASE_PURESIZE): Increase to 680000.
4575
70737ea9
KH
4576 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4577
0e4c08e8
JR
45782000-10-29 Jason Rumney <jasonr@gnu.org>
4579
4580 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4581
4582 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4583 (w32_cache_char_metrics): Handle possibility that 'x' does not
4584 exist in a BDF font.
4585 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4586
4587 * w32bdf.h (bdffont): Add nchars.
4588
4589 * w32bdf.c (set_bdf_font_info): Set it.
4590 (w32_BDF_TextOut): Swap byte order of double byte characters.
4591 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4592
45b84006
EZ
45932000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4594
4595 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4596 don't override the colors in frame's param_alist, unless they are
4597 unspecified.
4598
4599 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4600 reverse the effect of the highlight flag.
4601
caf9deee
KR
46022000-10-27 Ken Raeburn <raeburn@gnu.org>
4603
4604 * window.h (Fwindow_live_p): Declare.
4605
ae0b9b46
KR
4606 * undo.c (record_delete): Check that last_undo_buffer is really a
4607 buffer before applying XBUFFER to it.
4608
4609 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4610 Faref.
4611
02067692
SM
46122000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4613
4614 * lisp.h (KEYMAPP): New macro.
4615 (get_keymap): Remove.
4616 (get_keymap_1): Rename get_keymap.
4617
4618 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4619
4620 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4621
4622 * xmenu.c (single_submenu): Use KEYMAPP.
4623 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4624 Use KEYMAPP rather than Fkeymapp.
4625
4626 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4627
4628 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4629 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4630 Use KEYMAPP rather than Fkeymapp.
4631 (single_submenu): Use KEYMAPP.
4632 (w32_menu_show, w32_dialog_show): Use TRUE.
4633
4634 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4635
4636 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4637 (Fkeymapp): Use KEYMAPP.
4638 (get_keymap): Rename from get_keymap_1. Remove old def.
4639 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4640 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4641 (Fminor_mode_key_binding): Don't raise an error if the binding
4642 is not a keymap.
4643 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4644 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4645
4646 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4647 Allow Vspecial_event_map to be autoloaded.
4648 (menu_bar_items): Fetch the keymap rather than using keymapp.
4649 (menu_bar_one_keymap): No need to follow func-indirect any more.
4650 (parse_menu_item): get_keymap_1 -> get_keymap.
4651 (tool_bar_items): Fetch the keymap rather than using keymapp.
4652 (read_key_sequence): Use KEYMAPP.
4653
4654 * intervals.c (get_local_map): Use get_keymap rather than following
4655 function-indirections explicitly.
4656
4657 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4658
f9d80af3
JR
46592000-10-27 Jason Rumney <jasonr@gnu.org>
4660
4661 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4662 point, as Windows has oversized fonts.
4663
4664 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4665
a3ba27da
GM
46662000-10-27 Gerd Moellmann <gerd@gnu.org>
4667
4668 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4669 (freehook, reallochook): Handle null pointer arguments.
4670 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4671
aa3b80cc
SM
46722000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4673
4674 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4675 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4676 Giving in to popular pressure to shut up the compiler with casts.
4677
e24e84cc
GM
46782000-10-27 Gerd Moellmann <gerd@gnu.org>
4679
4680 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4681 signed value, and use a default value computed from the font's
4682 maximum descent.
4683
05ea7ef2
MB
46842000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4685
4686 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4687 that specify a negative underline position can still use underlines.
4688
4689 * window.c (Fpos_visible_in_window_p): Make POS default to
4690 WINDOW's point, not the current buffer's point.
4691
0b95284b
DL
46922000-10-26 Dave Love <fx@gnu.org>
4693
4694 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4695 when it's necessary.
4696
6c5b90af
GM
46972000-10-26 Gerd Moellmann <gerd@gnu.org>
4698
8b6d9dc9
GM
4699 * window.c (size_window): Compute size difference from sum of old
4700 child window sizes instead of from parent's size.
4701
6bc92b2e
GM
4702 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4703 Handle obscured lines at the top of the window.
4704
4705 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4706 down after the last error condition check.
4707
6c5b90af
GM
4708 * frame.c (Fdelete_frame): Run delete-frame-hook.
4709
42f92d4d
KH
47102000-10-26 Kenichi Handa <handa@etl.go.jp>
4711
4712 * coding.c (decode_coding): Fix previous change (check also
4713 CODING_MODE_LAST_BLOCK).
4714
d97151cb
SM
47152000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4716
e7efc503
SM
4717 * regex.c: More `unsigned char' -> `re_char' changes.
4718 Also change several `int' into `re_wchar_t'.
4719 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4720 (PUSH_FAILURE_POINTER): Don't cast any more.
4721 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4722 We want GCC to complain, since this piece of code makes
4723 re_match non-reentrant, which *should* be fixed.
4724 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4725 (EXTEND_BUFFER): Use RETALLOC.
4726 (SET_LIST_BIT): Don't cast.
4727 (re_wchar_t): New type.
4728 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4729 that those two functions will always properly return.
4730 (IMMEDIATE_QUIT_CHECK): Cast to void.
4731 (analyse_first): Use recursion rather than an explicit stack.
4732 (re_compile_fastmap): Can't fail anymore.
4733 (re_search_2): Don't check re_compile_fastmap for failure.
4734 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4735 Now also sets the new value (passed in a new argument).
4736 (re_match_2_internal): Use it.
4737 Also, use a new var `reg' of type size_t when looping through regs
4738 rather than reuse the inappropriate `mcnt'.
4739
d97151cb
SM
4740 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4741 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4742 (where_is_internal): Renamed from Fwhere_is_internal.
4743 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4744 (Fwhere_is_internal): New function wrapping where_is_internal.
4745 (where_is_internal_1): Handle the case where we're filling the cache.
4746 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4747
d5789b65
MB
47482000-10-25 Miles Bader <miles@gnu.org>
4749
4750 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4751
4ecda532
GM
47522000-10-25 Gerd Moellmann <gerd@gnu.org>
4753
4754 * window.c (pos_fully_visible_p): Removed.
4755 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4756 if position is visible and/or fully visible.
4757
4758 * lisp.h (pos_visible_p): Add prototype.
4759
4760 * xdisp.c (pos_visible_p): New function.
4761
68c3a137
KH
47622000-10-25 Kenichi Handa <handa@etl.go.jp>
4763
4764 * process.c (send_process): If OBJECT is t, it means that the data
4765 is from C string, but we should encode it. Before calling
4766 setup_raw_text_coding_system, be sure to flush out data by the
4767 previous coding system.
4768
7ae1c032
MB
47692000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4770
ff4dcd4b
MB
4771 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4772 assignment of startpos to prev when startpos == pos.
4773
7ae1c032
MB
4774 * editfns.c (find_field): Set the field stickiness correctly from
4775 overlay fields. Use renamed `text_property_stickiness'.
4776 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4777 Only check text properties, not overlays.
7ae1c032
MB
4778 * textprop.c (get_char_property_and_overlay): New function.
4779 (Fget_char_property): Use it.
4780 * intervals.h (get_char_property_and_overlay): Add declaration.
4781
49801145
SM
47822000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4783
4784 * keymap.c: Use AREF, ASET and ASIZE macros.
4785 (Fmake_sparse_keymap): Docstring fix.
4786 (synkey): Remove.
4787 (shadow_lookup): Move up.
4788 Handle the case where lookup-key returns an integer.
4789 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4790 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4791 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4792 Simplify/rewrite the keymap-finding code.
4793 Add check for command shadowing, using shadow_lookup.
4794
39e776cd
SM
47952000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4796
4797 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4798 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4799 a symbol.
4800
2488aba5
AI
48012000-10-24 Andrew Innes <andrewi@gnu.org>
4802
4803 * dired.c (directory_files_internal_unwind): New function.
4804 (directory_files_internal): Use it to ensure closedir is called
4805 even if expand-file-name or file-attributes throw, eg. because of
4806 a user interrupt. Also enable immediate_quit while calling
4807 re_search, so that matching can be interrupted as well.
4808
b94fdf61
AI
48092000-10-24 Andrew Innes <andrewi@gnu.org>
4810
4811 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4812 NT-Emacs only.
4813 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4814 so that re_search functions only quit when callers expect them to.
4815
48162000-10-24 Kenichi Handa <handa@etl.go.jp>
4817
4818 * regex.c (regex_compile): Change the way of handling a range from
4819 a char less than 256 to a char not less than 256.
4820
1946f901
GM
48212000-10-24 Gerd Moellmann <gerd@gnu.org>
4822
7ae2f10f
GM
4823 * window.c (size_window): Prevent setting window's width or
4824 height to a negative value (esp. with XSETFASTINT).
4825
5dcab13e
GM
4826 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4827 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4828 (protect_malloc_state) [GC_MALLOC_CHECK &&
4829 GC_PROTECT_MALLOC_STATE]: New function.
4830 (PROTECT_MALLOC_STATE): New macro.
4831 (__malloc_initialize, morecore, _malloc_internal)
4832 (_free_internal) _realloc_internal): Use it to make _heapinfo
4833 read-only outside of gmalloc.
4834
63e1b552
GM
4835 * keymap.c: Update copyright.
4836
1946f901
GM
4837 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4838 a symbol.
4839
4fa09beb
GM
48402000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4841
4842 * filelock.c (unlock_all_files): Use unlock_file to expand each
4843 buffer's file_truename before trying remove its lock file.
4844
23afac01
EZ
48452000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4846
4847 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4848 or CRLF, decode EOLs.
4849
04448b95
KH
48502000-10-24 Kenichi Handa <handa@etl.go.jp>
4851
4852 * window.c (Fdisplay_buffer): Fix doc.
4853
3090a5a5
JR
48542000-10-23 Jason Rumney <jasonr@gnu.org>
4855
4856 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4857 ASCII font of default fontset on Windows.
4858
4859 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4860 xterm.c comment below).
4861
4862 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4863
a83fee2c
GM
48642000-10-23 Gerd Moellmann <gerd@gnu.org>
4865
4866 * xterm.c (x_connection_closed): Reset handling_signal.
4867
52283633 4868 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4869
6ffdb539
MB
48702000-10-23 Miles Bader <miles@gnu.org>
4871
4872 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4873 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4874 maintain old behavior.
4875 * minibuf.c (Fminibuffer_complete): Likewise.
4876
7f1c969b
MB
48772000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4878
4879 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4880 that when a font can't be exactly centered, it errs up rather than
4881 down.
4882
23afac01 48832000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4884
52283633 4885 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4886
1a578e9b
AC
48872000-10-23 Andrew Choi <akochoi@i-cable.com>
4888
4889 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4890
4891 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4892 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4893
4894 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4895 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4896 syms_of_search, x_term_init, and init_keyboard before calling
4897 init_window_once. Also, call syms_of_xmenu.
4898
4899 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4900 default fontset to Monaco.
4901
4902 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4903 NewMacWindow and DisposeMacWindow.
4904 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4905 instead of calling NewMacWindow and setting fields of
4906 f->output_data.mac directly. Call init_frame_faces.
4907 (Fdelete_frame) [macintosh]: Remove unused code.
4908 (Fmodify_frame_parameters) [macintosh]: Call
4909 x_set_frame_parameters instead of mac_set_frame_parameters.
4910
4911 * frame.h [macintosh]: Define menu_bar_lines field in struct
4912 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4913
4914 * keyboard.c [macintosh]: Include macterm.h.
4915 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4916 and menu_bar_activate_event type events as for X and NT.
4917 (make_lispy_event) [macintosh]: Construct lisp events of type
4918 MENU_BAR_EVENT as for X and NT.
4919
4920 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4921 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4922 (sys_subshell) [macintosh]: Remove definition entirely.
4923 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4924 Vwindow_system_version here. Remove initialization of
4925 Vx_bitmap_file_path.
4926 (read_input_waiting): Correct the number of parameters passed to
4927 read_socket_hook.
4928 Move all Macintosh functions to mac/mac.c.
4929
4930 * term.c [macintosh]: Include macterm.h.
4931
4932 * window.c [macintosh]: Include macterm.h.
4933
4934 * xdisp.c [macintosh]: Include macterm.h. Declare
4935 set_frame_menubar and pending_menu_activation.
4936 (echo_area_display) [macintosh]: Do not return if terminal frame
4937 is the selected frame.
4938 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4939 Allow only the selected frame to set menu bar.
4940 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4941 calling FRAME_EXTERNAL_MENU_BAR (f).
4942 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4943
4944 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4945 and check_x. Declare XCreateGC. Define x_create_gc and
4946 x_free_gc. Initialize font_sort_order.
4947 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4948 but call x_list_fonts instead of w32_list_fonts.
4949 (Finternal_face_x_get_resource) [macintosh]: Do not call
4950 display_x_get_resource.
4951 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4952 (realize_x_face) [macintosh]: Load the font if it is specified in
4953 ATTRS.
52283633 4954 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4955
1ffbabe3
SM
49562000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4957
4958 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4959 is nil: since we go to the end of submap anyway, we'd end up
4960 setting nil to nil.
4961 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4962 doesn't obey autoload.
4963
bed43f1d
EZ
49642000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4965
1ffbabe3 4966 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4967
ea4233a7
JR
49682000-10-21 Jason Rumney <jasonr@gnu.org>
4969
4970 * w32term.c (w32_cache_char_metrics): Double check that font is
4971 really fixed pitch before trusting tmPitchAndFamily.
4972
f3d3c491
AI
49732000-10-21 Andrew Innes <andrewi@gnu.org>
4974
4975 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4976
4977 * w32term.h: Extern decl for w32_cache_char_metrics.
4978
4979 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4980
4981 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4982 (w32_unload_font): Free per_char array if present.
4983
4984 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4985 cached information in emulated XFontStruct to handle common cases
4986 quickly. Do not allocate XCharStruct for return.
4987 (w32_native_per_char_metric): New function.
4988 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4989 allocating one.
4990 (x_produce_glyphs): Don't get an HDC. Change calls to
4991 w32_per_char_metric to match arg change above. Remove calls to
4992 free results.
4993 (w32_get_glyph_overhangs): Ditto.
4994 (w32_cache_char_metrics): New function.
4995
4996 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4997 ($(BLD)/casefiddle.$(O)): Remove compile command.
4998 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4999 ($(BLD)/dispnew.obj):
5000 ($(BLD)/keyboard.obj):
5001 ($(BLD)/w32inevt.obj):
5002 ($(BLD)/w32bdf.obj):
5003 ($(BLD)/alloc.obj):
5004 ($(BLD)/buffer.obj):
5005 ($(BLD)/editfns.obj):
5006 ($(BLD)/emacs.obj):
5007 ($(BLD)/fileio.obj):
5008 ($(BLD)/fns.obj):
5009 ($(BLD)/indent.obj):
5010 ($(BLD)/insdel.obj):
5011 ($(BLD)/intervals.obj):
5012 ($(BLD)/minibuf.obj):
5013 ($(BLD)/print.obj):
5014 ($(BLD)/scroll.obj):
5015 ($(BLD)/sysdep.obj):
5016 ($(BLD)/textprop.obj):
5017 ($(BLD)/widget.obj):
f3d3c491
AI
5018 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5019 ($(BLD)/term.obj): Add dependency on dispextern.h.
5020
52283633
SM
5021 * makefile.nt ($(BLD)\dispnew.obj):
5022 ($(BLD)\keyboard.obj):
5023 ($(BLD)\w32inevt.obj):
5024 ($(BLD)\w32bdf.obj):
5025 ($(BLD)\alloc.obj):
5026 ($(BLD)\buffer.obj):
5027 ($(BLD)\editfns.obj):
5028 ($(BLD)\emacs.obj):
5029 ($(BLD)\fileio.obj):
5030 ($(BLD)\fns.obj):
5031 ($(BLD)\indent.obj):
5032 ($(BLD)\insdel.obj):
5033 ($(BLD)\intervals.obj):
5034 ($(BLD)\minibuf.obj):
5035 ($(BLD)\print.obj):
5036 ($(BLD)\scroll.obj):
5037 ($(BLD)\sysdep.obj):
5038 ($(BLD)\textprop.obj):
5039 ($(BLD)\widget.obj):
f3d3c491
AI
5040 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5041 ($(BLD)\term.obj): Add dependency on dispextern.h
5042
18ad4821
EZ
50432000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5044
5045 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5046 with an additional argument of Qt.
5047
de54681a
MB
50482000-10-21 Miles Bader <miles@gnu.org>
5049
5050 * window.c (pos_fully_visible_in_window_p): New function.
5051 (Fpos_visible_in_window_p): Add FULLY argument.
5052 Use pos_fully_visible_in_window_p.
5053 (window_scroll_pixel_based, window_scroll_line_based): Update
5054 calls to Fpos_visible_in_window_p.
5055 * lisp.h (Fpos_visible_in_window_p): Update prototype
5056
13c844fb
GM
50572000-10-20 Gerd Moellmann <gerd@gnu.org>
5058
5059 * alloc.c (toplevel): Conditionalize compilation of mem_*
5060 functions differently.
52283633 5061
d9506268
JR
50622000-10-20 Jason Rumney <jasonr@gnu.org>
5063
5064 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5065 mem_init where it used to be. mem_z etc not defined otherwise.
5066
8094989b
GM
50672000-10-20 Gerd Moellmann <gerd@gnu.org>
5068
5069 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5070 GC_MALLOC_CHECK.
5071 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5072 structure definition and related variabled to the top of the file.
5073 Include this code when GC_MALLOC_CHECK is defined.
5074 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5075 register/unregister allocated region.
5076 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5077 which isn't allocated.
5078 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5079 something which is already in use.
5080 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5081 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5082 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5083 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5084
5085 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5086 _malloc_internal instead of malloc.
5087 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5088 of free.
5089
ea456eb4
AI
50902000-10-20 Andrew Innes <andrewi@gnu.org>
5091
5092 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5093 Windows.
5094 (my_strftime) <macro>: Don't use macro arg list when redefining as
5095 _strftime_copytm.
5096 (my_strftime) <function>: Supply 0 as ut argument.
5097
e64c3a75
JR
50982000-10-19 Jason Rumney <jasonr@altavista.net>
5099
5100 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5101 including dispextern.h, as it stops faces from working.
5102
5103 * w32fns.c (Fx_create_frame): Don't bother calling
5104 face-set-after-frame-default since the caller does it for us
5105 anyway. Clean up calls to x_get_arg to be consistent with X.
5106
5107 * w32term.c (x_produce_glyphs): Handle
5108 unibyte_display_via_language_environment correctly.
5109 (w32_draw_box_rect): Fix the calculation of width and height.
5110
5111 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5112 as it has stopped working.
5113 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5114 menu-bar.
5115
17401c97
GM
51162000-10-19 Gerd Moellmann <gerd@gnu.org>
5117
5118 * eval.c (skip_debugger): Prevent a compiler warning.
5119 (Fcondition_case): Likewise.
5120 (Fbacktrace_frame): Use a null interactive spec.
5121
773272d8
KH
51222000-10-19 Kenichi Handa <handa@etl.go.jp>
5123
5124 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5125
a42943e9
GM
51262000-10-18 Gerd Moellmann <gerd@gnu.org>
5127
e50517d9
GM
5128 * strftime.c: Sync with glibc, file version 1.78.
5129 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5130 should no longer be used according to ISO 8601.
5131
9035a35a
GM
5132 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5133 no map for meta_prefix_char, don't try to use it as a keymap.
5134 Instead, if T_OK is non-zero, look up a default binding, if any,
5135 otherwise, if T_OK is zero, return nil.
5136
a42943e9
GM
5137 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5138 (x_to_xcolors, png_load): Use x_query_color.
5139
52283633
SM
5140 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5141 New functions.
a42943e9
GM
5142 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5143 which can be slow.
5144 (x_copy_color, x_alloc_lighter_color): Likewise.
5145
5146 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5147 (x_query_color, x_query_colors): Add prototype.
5148
5149 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5150 check_string_bytes only if not noninteractive, increase count to 50.
5151
00de2987
MB
51522000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5153
5154 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5155 markers correctly.
5156
54918e2b
GM
51572000-10-17 Gerd Moellmann <gerd@gnu.org>
5158
1f0b3fd2
GM
5159 * alloc.c (pure_bytes_used): Renamed from pureptr.
5160 (ALIGN): New macro.
5161 (pure_alloc): New function.
5162 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5163 Use it.
5164 (Fpurecopy): Use PURE_POINTER_P.
5165
68c5d1db
GM
5166 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5167 PT has moved backward.
52283633 5168
9a038881
GM
5169 * xdisp.c (cursor_row_p): Take continued lines into account.
5170
361b097f
GM
5171 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5172 string's size_byte.
5173 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5174 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5175 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5176 string allocated.
5177
54918e2b
GM
5178 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5179 of selective display off while searching for the next line start.
5180
03ed0806
KH
51812000-10-17 Kenichi Handa <handa@etl.go.jp>
5182
5183 * Makefile.in (term.o): Depend on dispextern.h.
5184
7e05cdaf
SM
51852000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5186
5187 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5188
a6801fd1
GM
51892000-10-16 Gerd Moellmann <gerd@gnu.org>
5190
483de32b
GM
5191 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5192 the iterator at the beginning, so that they can be set later on,
5193 for instance in reseat_at_next_visible_line_start, without being
5194 overwritten.
5195
a6801fd1
GM
5196 * xfns.c (pbm_format): Add :foreground and :background keywords.
5197 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5198 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5199
dbf1fcc1
EZ
52002000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5201
5202 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5203
52283633 5204 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5205
5206 * msdos.c (IT_set_face): Compare highlighted face with the default
5207 face, and invert colors if these faces' colors are identical.
5208 (Fmsdos_remember_default_colors): Don't swap foreground and
5209 background colors in initial_colors[].
5210 (IT_set_frame_parameters): Don't swap frame's foreground and
5211 background pixels. If ALIST includes "(reverse . t)", swap
5212 foreground-color and background-color properties in frame's
5213 param_alist. If the original frame's param_alist doesn't specify
5214 the colors, store unspecified-fg and unspecified-bg, reversed if
5215 required.
5216
5217 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5218 the colors are unspecified and reversed, reverse fore- and back-
5219 ground in the returned value.
5220 (Fframe_parameter): Ditto.
5221
b41fe2c3 52222000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5223
3a6b59d9
GM
5224 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5225 get_last_unchanged_at_beg_row.
5226 (find_first_unchanged_at_end_row): Renamed from
5227 get_first_unchanged_at_end_row.
5228 (find_first_unchanged_at_end_row): Convert assertions to
5229 unconditional tests which abort. When looking for a row in
5230 unchanged text, don't go further back than first_text_row.
5231
b41fe2c3
GM
5232 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5233 Don't add in the last line's height when deciding if the new
5234 position is below the scroll margin.
9d1af64f 5235
b41fe2c3 52362000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5237
5238 * editfns.c (Fconstrain_to_field): Check carefully for field
5239 boundaries if either OLD_POS or NEW_POS has a non-nil field
5240 property, even if they're the same.
5241
c412cb7b
KH
52422000-10-16 Kenichi Handa <handa@etl.go.jp>
5243
5244 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5245 height for XFillRectangle.
5246
5586f3eb
SM
52472000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5248
5249 * syntax.c (Fstring_to_syntax): New function extracted from
5250 Fmodify_syntax_entry.
5251 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5252 (skip_chars, Fforward_comment): Remove unused variables.
5253 (syms_of_syntax): Add defsubr for string-to-syntax.
5254 (describe_syntax): Add code for comment and string fences.
5255
db785038
SM
52562000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5257
5258 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5259 Do the meta->esc mapping. Call get_keyelt before returning.
5260 Start scanning from the second element (the first is always `keymap')
5261 to make it easier to detect when we reach a parent map.
5262 Handle the case of inheriting from a symbol whose function is a map.
5263 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5264 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5265 (get_keyelt, Flookup_key): Update call to access_keymap.
5266 Remove the meta->esc mappings.
5267 (define_as_prefix): Delete old disabled code.
5268 (menu_item_p): New function.
5269 (where_is_internal_1): Skip over the few remaining menu items.
5270 * lisp.h (access_keymap): Update prototype.
5271 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5272 Update call to access_keymap.
5273 (follow_key, read_key_sequence): Update calls to access_keymap.
5274 Remove the meta->esc mappings.
5275
cafafe0b
GM
52762000-10-13 Gerd Moellmann <gerd@gnu.org>
5277
a2e2a7f6
GM
5278 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5279 with additional argument.
5280
cafafe0b
GM
5281 * xdisp.c (cursor_row_p): New function.
5282 (try_cursor_movement, display_line): Use it.
52283633 5283
cafafe0b
GM
5284 * xdisp.c (append_space): Also save/restore iterator's current
5285 character and its length.
5286
5287 * xdisp.c (init_from_display_pos): Add an assertion.
5288 (handle_stop): Don't set iterator's add_overlay_start.
5289 (handle_invisible_prop): Likewise.
5290 (load_overlay_strings): If text under an overlay is invisible,
5291 take both before- and after-strings into account when the iterator
5292 is positioned either at the start or at the end of the overlay.
5293 (forward_to_next_line_start): Rewritten.
5294 (reseat_at_next_visible_line_start): Rewritten.
5295 (set_iterator_to_next): Add parameter RESEAT_P.
5296
5297 * dispextern.h (struct it): Remove member add_overlay_start.
5298 (set_iterator_to_next): Change prototype.
5299
c744452b
KH
53002000-10-13 Kenichi Handa <handa@etl.go.jp>
5301
5302 * coding.c (code_convert_region): Be sure to initialize
5303 coding->category_idx.
e4a3f4e1
KH
5304 (decode_coding_string): Set coding->src_multibyte and
5305 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5306 (encode_coding_string): Set coding->src_multibyte and
5307 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5308
321fd26f
SM
53092000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5310
5311 * xfns.c (Fx_create_frame): Don't bother calling
5312 face-set-after-frame-default since the caller does it for us anyway.
5313
76832439
EZ
53142000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5315
5316 * window.c (coordinates_in_window): Fix detection of vertical line
5317 on character terminals.
5318
2483cf58
GM
53192000-10-12 Gerd Moellmann <gerd@gnu.org>
5320
5321 * editfns.c (save_excursion_save): Additionally record the
5322 selected window.
5323 (save_excursion_restore): If buffer was visible in a window, and a
5324 different window was selected, and the old selected window is
5325 still live, restore point in that window.
5326
eb991b25
KH
53272000-10-12 Kenichi Handa <handa@etl.go.jp>
5328
8a0eba09
KH
5329 * xterm.c (x_produce_glyphs): Handle
5330 unibyte_display_via_language_environment correctly.
5331
20401fcc
KH
5332 * regex.c (regex_compile): Change the way of handling a range from
5333 unibyte char to multibyte char.
5334
5335 * syntax.c (skip_chars): Change the way of handling a range from
5336 unibyte char to multibyte char.
5337
eb991b25
KH
5338 * process.c (read_process_output): Cancel previous change.
5339
365dd325
EZ
53402000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5341
c1b096cb
EZ
5342 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5343
365dd325
EZ
5344 * charset.c (Ffind_charset_string): Doc fix.
5345 (Ffind_charset_region): Doc fix.
5346
eb483c2b
KH
53472000-10-11 Kenichi Handa <handa@mule.m17n.org>
5348
5349 * process.c (read_process_output): Fix previous change. Adjust
5350 multibyteness of text to insert in a buffer by
52283633 5351 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5352
b40bfb99
AS
53532000-10-10 Andreas Schwab <schwab@suse.de>
5354
5355 * alloc.c (mark_object): Remove all workarounds installed on
5356 1993-08-08.
5357
caff31d4
KH
53582000-10-10 Kenichi Handa <handa@etl.go.jp>
5359
52283633 5360 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5361 (base64_encode_1): Make it work for a text of multibyte form.
5362 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5363 case. Don't call str_to_multibyte because base64_decode_1
5364 produces correct multibyte form for eight-bit codes.
52283633 5365 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5366 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5367 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5368 codes.
5369
5370 * charset.h (CHAR_STRING): Optimized for single byte characters.
5371
cba026ef
AS
53722000-10-09 Andreas Schwab <schwab@suse.de>
5373
5374 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5375 -1 after socket is closed, to fall through to error processing.
5376
1e21fe48
EZ
53772000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5378
5379 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5380 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5381 background-color, change also the colors of the default face for
5382 this frame.
5383
a640322e
EZ
53842000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5385
5386 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5387 them extern (they are defined on xfaces.c).
5388 (syms_of_msdos): Don't intern and don't staticpro
5389 Qbackground_color and Qforeground_color.
5390
a115794c
EZ
53912000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5392
5393 * frame.c (Fframe_parameter): For non-windowed frames, if
5394 f->param_alist says foreground or background color is unspecified,
5395 call tty_color_name to return the color name computed from the
5396 frame's current colors.
5397
f5533b63
DL
53982000-10-06 Dave Love <fx@gnu.org>
5399
5400 * terminfo.c (ospeed): Don't declare.
5401
5402 * sysdep.c: Don't include string.h.
5403 (h_errno): Declare conditional also on TRY_AGAIN.
5404
5405 * charset.c (Ffind_charset_string): Doc fix.
5406
52283633 5407 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5408 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5409 error messages.
5410
2b06561a
DL
54112000-10-05 Dave Love <fx@gnu.org>
5412
5413 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5414 position like menu-bar.
5415
ca839c85
GM
54162000-10-05 Gerd Moellmann <gerd@gnu.org>
5417
5418 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5419
5420 * xdisp.c (handle_single_display_prop): Use safe_call1.
5421 (safe_call): Renamed from call_function.
5422 (safe_call1): New function.
5423 (handle_fontified_prop): Use safe_call1 instead of call1.
5424 (safe_eval): Renamed from eval_form.
5425 (safe_eval_handler): Renamed from eval_handler.
5426 (handle_single_display_prop, display_mode_element): Use safe_eval
5427 instead of eval_form.
5428
5429 * xfaces.c (merge_face_heights): Use safe_call instead of
5430 call_function.
5431
5432 * keyboard.c (show_help_echo): Use safe_call instead of
5433 call_function; use safe_eval instead of eval_form.
5434
5435 * lisp.h (safe_call): Renamed from call_function.
5436 (safe_eval): Renamed from eval_form.
5437 (safe_call1): Add prototype.
5438
a3489ece
MB
54392000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5440
5441 * xfns.c (image_ascent): Rearrange ascent calculation for the
5442 has-a-font case.
5443
35810b6f
SM
54442000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5445
5446 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5447 (where_is_internal_1): Don't bother ignoring menu-items any more.
5448
3dc78168
GM
54492000-10-04 Gerd Moellmann <gerd@gnu.org>
5450
5451 * keyboard.c (update_menu_bindings): New variable.
5452 (parse_menu_item): Use AREF. If update_menu_bindings
5453 is 0, don't update menu bindings.
5454 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5455
1efc2bb9
EZ
54562000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5457
5458 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5459 to `mark_object'.
5460
3f679f55
SM
54612000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5462
5463 * syntax.c (forw_comment): Match nestedness of ender/starter.
5464 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5465 (prev_char_comstart_first): Remove.
5466 (back_comment): Check two-char comment markers more carefully
5467 to better handle overlapping cases like *//* or /* */* */ ...
5468 Match nestedness of ender/starter.
5469
2021ab61
DL
54702000-10-02 Dave Love <fx@gnu.org>
5471
5472 * config.in (HAVE_GAI_STRERROR): Add undef.
5473
5474 * process.c (Fopen_network_stream): Use it.
5475
5476 * m/alpha.h (NO_REMAP): Don't define.
5477
64e6cc18
GM
54782000-10-02 Gerd Moellmann <gerd@gnu.org>
5479
5480 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5481 return with a string converted to an integer or vice versa when
5482 Vmocklisp_arguments is t.
5483 (Fsignal): Likewise. The function can return for `quit'.
5484 (struct gcpro): Declare member `var' to point to a volatile
5485 Lisp_Object.
5486
5487 * eval.c (error): Prevent compiler warning.
5488
b1904cd9
SM
54892000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5490
5491 * keymap.c (keymap_memberp): New function.
5492 (Fset_keymap_parent): Use it.
5493 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5494 Use keymap_memberp to avoid creating cycles.
5495 (access_keymap): Use KEYMAPP.
5496
71c9ec51
GM
54972000-09-30 Gerd Moellmann <gerd@gnu.org>
5498
5499 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5500 gai_strerror. Make sure xerrno is set if connect fails. Improve
5501 error recovery.
71c9ec51 5502
c70c6b58
JR
55032000-09-29 Jason Rumney <jasonr@gnu.org>
5504
5505 * w32term.c (w32_char_font_type, w32_encode_char)
5506 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5507 (w32_bdf_per_char_metric): New function.
5508 (w32_per_char_metric): Use it.
5509 (x_draw_glyph_string_background): Always draw background for BDF
5510 glyphs.
5511
5512 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5513 GDI object which is a scarce resource.
5514
5515 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5516 (get_quoted_string): Fix limit on memchr search.
5517 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5518 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5519 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5520 (get_cached_font_char, cache_char_offset): Use macro
5521 BDF_CODEPOINT_RANGE_COVER_P.
5522 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5523 (clear_cached_bitmap_slots): New function.
5524 (GET_HEX_VALUE): G-Z, g-z are not hex.
5525 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5526 (get_bitmap_with_cache): Use new cache implementation.
5527 (create_offscreen_bitmap): New function.
5528 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5529
5530 * w32term.c (x_produce_glyphs): If the distance from the current
5531 position to the next tab stop is less than a canonical character
5532 width, use the tab stop after that.
5533 (x_draw_glyphs): Handle case START and END are out of bounds more
5534 carefully.
5535 (x_clear_mouse_face): Block/unblock input.
5536 (x_display_and_set_cursor): Don't show a hollow box cursor for
5537 buffers whose cursor_type is nil.
5538
fe01239f
GM
55392000-09-29 Gerd Moellmann <gerd@gnu.org>
5540
52283633 5541 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5542
5543 * dispextern.h (updating_frame): Declare extern.
5544
e7c52f1f
AS
55452000-09-29 Andreas Schwab <schwab@suse.de>
5546
5547 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5548
de6e1f7c
GM
55492000-09-29 Gerd Moellmann <gerd@gnu.org>
5550
25126faa
GM
5551 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5552 use its function definition.
5553 (tool_bar_items): Likewise.
5554
de6e1f7c 5555 * lisp.h (fatal): Declare NO_RETURN.
52283633 5556
454ee39b
KH
55572000-09-29 Kenichi Handa <handa@etl.go.jp>
5558
5559 * keymap.c: Remove the line "#undef NULL".
5560
96301c5f
GM
55612000-09-28 Gerd Moellmann <gerd@gnu.org>
5562
52283633 5563 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5564
efffeeb4
DL
55652000-09-28 Dave Love <fx@gnu.org>
5566
ecb8b666
DL
5567 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5568
dc3cd20f
DL
5569 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5570
5571 * .gdbinit (xreload): Note its need on GNU/Linux.
5572
efffeeb4
DL
5573 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5574 r_alloc, r_alloc_free.
5575
8610d903
KH
55762000-09-28 Kenichi Handa <handa@etl.go.jp>
5577
5578 * syntax.c (skip_chars): Handle negation correctly.
5579
8901d1ac
GM
55802000-09-27 Gerd Moellmann <gerd@gnu.org>
5581
6f22f1ad
GM
5582 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5583 with non-zero FORCE_P argument.
5584
52283633 5585 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5586 Add assertions.
5587
5588 * xdisp.c (window_box_height): Add an assertion.
5589
5590 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5591 tool-bar than is available.
5592 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5593
36f1966f
DL
55942000-09-27 Dave Love <fx@gnu.org>
5595
efffeeb4 5596 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5597
31d929e5
GM
55982000-09-26 Gerd Moellmann <gerd@gnu.org>
5599
c98863bf
GM
5600 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5601 instead of BITS_PER_INT.
5602 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5603 EMACS_UINT, respectively.
5604 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5605
5606 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5607
5608 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5609
77072ab1
GM
5610 * window.c (freeze_window_starts): Construct last argument for
5611 foreach_window differently.
5612
5613 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5614
5615 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5616 EMACS_UINT instead of `int' and `unsigned int'.
5617 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5618
5619 * frame.h (struct frame): Make the `nothing' member of union
5620 output_data an EMACS_INT.
5621
52283633 5622 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5623 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5624 size in the sdata structure.
5625 (SDATA_NBYTES, SDATA_DATA): New macros.
5626 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5627 differently for the different layout of the sdata structure.
5628 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5629 in sdata.
5630 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5631 Check that size recorded in the string size and size recorded in
5632 the sdata structure agree.
5633
3e60b029
DL
56342000-09-25 Dave Love <fx@gnu.org>
5635
5636 * buffer.c: Include stdio.h.
5637
5638 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5639
3e60b029
DL
5640 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5641
5642 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5643 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5644 (__malloc_extra_blocks): Declare as __malloc_size_t.
5645
8ff16b4e
GM
56462000-09-25 Gerd Moellmann <gerd@gnu.org>
5647
755a2ccd
GM
5648 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5649
d8b4516f
GM
5650 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5651 (read_char): If help-echo is showing, preserve the echo area
5652 when redisplaying.
5653
5654 * xdisp.c (help_echo_showing_p): New variable.
5655 (set_message): Reset it to 0.
5656 (init_xdisp): Initialize help_echo_showing_p.
5657
5658 * dispextern.h (help_echo_showing_p): Declare extern.
5659
5660 * config.in: Fix typo in __GNUC_MINOR__.
5661
5662 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5663
b11af2dd
GM
5664 * s/freebsd.h (POSIX_SIGNALS): Define.
5665
8ff16b4e
GM
5666 * xterm.c (x_clear_mouse_face): Block/unblock input.
5667
844eb643
DL
56682000-09-24 Dave Love <fx@gnu.org>
5669
5670 * fns.c (base64_encode_1): Fix last change.
5671
b30ab1b3
GM
56722000-09-22 Gerd Moellmann <gerd@gnu.org>
5673
5674 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5675
5676 * xdisp.c (try_window_reusing_current_matrix): More fixes
5677 for the case window has a header-line.
5678
c6cbe5f0
DL
56792000-09-22 Dave Love <fx@gnu.org>
5680
4c7c1f3f
DL
5681 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5682 a doc string.
5683
5684 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5685
c6cbe5f0
DL
5686 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5687
550a625e
GM
56882000-09-21 Gerd Moellmann <gerd@gnu.org>
5689
4c7c1f3f 5690 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5691 for GCC >= 2.5.
5692
52283633
SM
5693 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5694 Declare NO_RETURN.
fca99116 5695
80d26f99
GM
5696 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5697 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5698 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5699 warnings.
52283633 5700
80d26f99
GM
5701 * marker.c (byte_char_debug_check): Return void.
5702
623a0aae
GM
5703 * xfns.c (Fx_create_frame): Set default frame parameter value
5704 for tool-bar-lines to 1.
5705
5706 * dispnew.c (scrolling_window): Compare y-positions of rows
5707 equal at the start. Some simplification.
5708
5709 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5710 reused rows' y-position in the case window has a header-line, and
5711 new window start is greater than old window start.
5712
42ac0ae5
GM
5713 * process.c (process_sent_to): New variable.
5714 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5715 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5716 Declare more parameters volatile.
5717
550a625e
GM
5718 * lread.c (Vrecursive_load_depth_limit): New variable.
5719 (Fload): Check recursive loads whose recursion depth exceeds
5720 Vrecursive_load_depth_limit.
5721 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5722
8320414c
GM
57232000-09-20 Gerd Moellmann <gerd@gnu.org>
5724
f46c275e
GM
5725 * fileio.c (Fread_file_name): Doc fix.
5726
5727 * editfns.c (Fmessage_or_box): Doc fix.
5728
5729 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5730
b7e11c5b 5731 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5732
8320414c
GM
5733 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5734 symbols are specified, add color translations to the cache.
52283633 5735 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5736 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5737 xpm_cache_color.
5738 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5739 structures to xpm_init_color_cache.
5740
da1608d9
GM
57412000-09-19 Gerd Moellmann <gerd@gnu.org>
5742
52283633 5743 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5744
6badfa25
AI
57452000-09-19 Andrew Innes <andrewi@gnu.org>
5746
5747 * makefile.nt (bootstrap-emacs): Don't change directory.
5748
3a5f42bb
KH
57492000-09-19 Kenichi Handa <handa@etl.go.jp>
5750
1b7649bd
KH
5751 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5752
3a5f42bb
KH
5753 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5754 If output buffer is too small, signal an appropriated error.
5755
9f83cf0b
DL
57562000-09-18 Dave Love <fx@gnu.org>
5757
52283633 5758 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5759 (current_active_maps): Remove redundant get_local_map call.
5760
28c7826c
GM
57612000-09-18 Gerd Moellmann <gerd@gnu.org>
5762
5cefa566
GM
5763 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5764 cursor for buffers whose cursor_type is nil.
52283633 5765
6fed3546
GM
5766 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5767 a feature to implement that is already implemented.
5768 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5769 warnings.
5770
5771 * xfns.c (x_clear_image_1): New function.
5772 (x_clear_image): Use it.
52283633 5773 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5774
05b1f851
GM
5775 * dispnew.c (update_window): Move test for invisible lines
5776 at the top to update_window_line.
5777 (update_window_line): Handle invisible lines here.
5778
f4779de9
GM
5779 * xfns.c (clear_image_cache): Clear current matrices of all
5780 frames sharing an image cache. Block input while freeing
5781 images. Fix timestamp comparison.
5782 (x_clear_image): Also free the mask.
5783
28c7826c
GM
5784 * xfns.c (lookup_image): Block input while loading the image so
5785 that we won't get interrupted in a state where the image isn't yet
5786 set up completely.
5787 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5788 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5789 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5790 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5791
b7412313
GM
57922000-09-16 Gerd Moellmann <gerd@gnu.org>
5793
5794 * dispnew.c (update_window): Make sure to make desired rows
5795 current even if they are completely invisible at the top
5796 of a window.
5797
47e351a3
GM
57982000-09-15 Gerd Moellmann <gerd@gnu.org>
5799
7f8f1edc
GM
5800 * xfns.c (lookup_image): Build mask before applying an algorithm.
5801 Recognize algorithm `disabled'.
5802 (cross_disabled_images): New variable.
5803 (COLOR_INTENSITY): New macro.
5804 (x_detect_edges): Use COLOR_INTENSITY.
5805 (x_disable_image): New function.
5806 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5807
5808 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5809 disabled state, don't apply an image transformation algorithm if
5810 the user specified an image for the disabled state. Use
28c7826c 5811 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5812 user hasn't specified an image.
5813
ebb8f116
GM
5814 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5815 allocation functions with the XPM lib.
5816 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5817 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5818 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5819 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5820 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5821 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5822 functions, if possible, because these handle color allocation
5823 failure more gracefully.
5824 (Fimage_mask_p): New function.
5825
47e351a3
GM
5826 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5827 (Qedge_detection, Qheuristic): New symbols.
5828 (syms_of_xfns): Initialize new symbols.
5829 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5830 `algorithm (edge-detection ...)'.
5831 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5832 (tiff_format, gif_format, gs_format): Add `:mask'.
5833 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5834 (GIF_MASK, GS_MASK): New enumerators.
5835 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5836 (emboss_matrix, laplace_matrix): New variables.
5837 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5838 (x_edge_detection): New functions.
5839 (x_laplace): Rewritten in terms of x_detect_edges.
5840 (x_build_heuristic_mask): If image has a mask, free it.
5841
fe83b953
AI
58422000-09-14 Andrew Innes <andrewi@gnu.org>
5843
5844 * makefile.w32-in: Revert to Unix line endings.
5845
3021e816
AI
58462000-09-14 Andrew Innes <andrewi@gnu.org>
5847
5848 * makefile.w32-in: Standardize indentation somewhat.
5849 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5850 cater for differences between shells.
5851
5852 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5853
2a32b5ea
GM
58542000-09-14 Gerd Moellmann <gerd@gnu.org>
5855
5856 * xterm.c (x_produce_glyphs): If the distance from the current
5857 position to the next tab stop is less than a canonical character
5858 width, use the tab stop after that.
5859
b4331e96
DL
58602000-09-14 Dave Love <fx@gnu.org>
5861
5862 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5863
ef9e4345
GM
58642000-09-14 Gerd Moellmann <gerd@gnu.org>
5865
085536c2
GM
5866 * xdisp.c (handle_fontified_prop): While running fontification
5867 functions, bind `fontification-functions' and
5868 `after-change-functions' to nil.
5869
ef9e4345
GM
5870 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5871 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5872
5873 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5874
5875 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5876 USE_MMAP_FOR_BUFFERS.
5877
5878 * insdel.c (make_gap): Use enlarge_buffer_text.
5879
5880 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5881 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5882 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5883 from former r_alloc_* functions in ralloc.c.
52283633 5884 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5885 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5886 (mmap_init) [REL_ALLOC_MMAP]: New function.
5887 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5888 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5889 BUFFER_FREE.
5890
5891 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5892 (enlarge_buffer_text): Add prototype.
5893
5894 * ralloc.c: Remove everything having to do with the use of mmap.
5895
f8608968
GM
58962000-09-13 Gerd Moellmann <gerd@gnu.org>
5897
2a494b2d
GM
5898 * sound.c (Fplay_sound): Doc fix.
5899
8c907a56
GM
5900 * keyboard.c: Avoid some more compiler warnings.
5901 (parse_tool_bar_item): Ignore cached key bindings.
5902
f8608968
GM
5903 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5904 and allocation of Lisp data.
5905
6ab70e9a
GM
59062000-09-12 Gerd Moellmann <gerd@gnu.org>
5907
d12d0a9b
GM
5908 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5909 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5910 defaults first.
5911
6ab70e9a
GM
5912 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5913
63c36c3c
KH
59142000-09-12 Miyashita Hisashi <himi@meadowy.org>
5915
5916 * ccl.c: Comment fixed.
5917 (MAX_MAP_SET_LEVEL): Increased to 30.
5918 (PUSH_MAPPING_STACK): Enclose with do-while block.
5919 (POP_MAPPING_STACK): Likewise.
5920 (stack_idx_of_map_multiple): New variable.
5921 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5922 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5923 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5924 (ccl_driver) <CCL_MapSingle>: Likewise.
5925 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5926 with the case where looking up process reaches to the end of
5927 map-set, and call CCL programs as the above change.
5928
7ee3bd7b
GM
59292000-09-11 Gerd Moellmann <gerd@gnu.org>
5930
8ec8a5ec
GM
5931 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5932 that might be clobbered by longjmp.
5933 (check_x_display_info, x_decode_color, create_frame_xic)
5934 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5935 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5936
f74b0705
GM
5937 * lread.c (init_lread): Set Vloads_in_progress to nil.
5938 (Fload): Show list of recursively loaded files, when signaling an
5939 error.
5940
7ee3bd7b
GM
5941 * lread.c (Vloads_in_progress): New variable.
5942 (record_load_unwind): New function.
5943 (Fload): Check for recursive loads.
5944 (syms_of_lread): Initialize Vloads_in_progress.
5945 (read_integer, read1): Avoid some compiler warnings.
5946
5947 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5948 compiler warnings.
5949
974e1e5b
MB
59502000-09-11 Miles Bader <miles@gnu.org>
5951
5952 * editfns.c (Fbuffer_string): Doc fix.
5953
9824c4e3
GM
59542000-09-10 Gerd Moellmann <gerd@gnu.org>
5955
5956 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5957
6a72fdd1
KR
59582000-09-09 Ken Raeburn <raeburn@gnu.org>
5959
5960 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5961 whether to include other header files.
5962
28e6fb66
GM
59632000-09-09 Gerd Moellmann <gerd@gnu.org>
5964
52283633 5965 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5966 by Fmemq as a boolean.
28e6fb66 5967
7f8b6551
SM
59682000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5969
5970 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5971
a8710abf
GM
59722000-09-08 Gerd Moellmann <gerd@gnu.org>
5973
d1a02881
GM
5974 * ralloc.c (mmap_fd): Remove initializer which can make it
5975 read-only in a dumped Emacs.
5976 (mmap_fd_1): New variable.
5977 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5978 restore it from there.
5979 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5980 unconditionally so that mmap_fd can be initialized there.
5981 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5982 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5983 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5984
c454aac1
GM
5985 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5986
5987 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5988 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5989
fc653ef2
GM
5990 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5991
3015eec0
GM
5992 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5993 inheritance.
5994
bfe0ee88
GM
5995 * xdisp.c (try_window_id): When trying to locate cursor in
5996 unchanged rows at the top, handle the case that we can't find it.
5997
a8710abf
GM
5998 * xterm.c (x_draw_glyphs): Handle case START and END are out
5999 of bounds more carefully.
6000
6b7d4ae4
DL
60012000-09-08 Dave Love <fx@gnu.org>
6002
423193c5
DL
6003 * s/sol2.h (REL_ALLOC_MMAP): Define.
6004 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6005
6006 * ralloc.c: Don't include string.h (redundant).
6007 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6008 [!MAP_ANON]: Include fcntl.h.
6009 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6010 (r_alloc, r_re_alloc, r_alloc_free)
6011 (mmap_enlarge, mmap_set_vars): Use it.
6012 (r_alloc_init_fd): New function.
6013 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6014 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6015 malloc type.
6016
6017 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6018 Remove vm-limit.o.
6019
6b7d4ae4
DL
6020 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6021 change to __NetBSD__.
6022
44d31981
KH
60232000-09-08 Kenichi Handa <handa@etl.go.jp>
6024
6025 * search.c (compile_pattern): Check the multibyteness of cached
6026 string and PATTERN.
6027
aad40737
MB
60282000-09-08 Miles Bader <miles@gnu.org>
6029
6030 * xfaces.c (default_face_vector): Function removed.
6031 (Finternal_merge_in_global_face): Restore old global/local
6032 attribute override order. Use inline loop instead of calling
6033 default_face_vector.
6034
91a211b5
GM
60352000-09-07 Gerd Moellmann <gerd@gnu.org>
6036
6037 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6038 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6039 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6040 where necessary, in case POINTER_TYPE is `void'.
6041
03419440
EZ
60422000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6043
6044 * frame.c (make_terminal_frame): Initialize frame foreground and
6045 background colors to unspecified, for the initial instance of an
6046 MSDOS frame.
6047
f46f845b
GM
60482000-09-07 Gerd Moellmann <gerd@gnu.org>
6049
24f76fbf
GM
6050 * ralloc.c (mmap_find): Fix overlap computation.
6051 (mmap_enlarge): Compute nbytes before trying to find an
6052 overlapping region.
6053
f46f845b
GM
6054 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6055 instead of `!='.
6056
6057 * lread.c (syms_of_lread): Change value of regexp
6058 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6059
6060 * xmenu.c (xdialog_show): When looking up the selection in
6061 menu_items, take `quote' boundaries into account; this corresponds
6062 to a nil ITEM in x-popup-dialog.
6063
3c014385
KH
60642000-09-07 Kenichi Handa <handa@etl.go.jp>
6065
fd6f711b
KH
6066 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6067 not 0x81.
6068 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6069
3c014385 6070 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6071 encoding, not decoding. Fix the handling of latin-jisx0201.
6072 Check for the charset katakana-jisx0201 too.
3c014385 6073 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6074 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6075
0da3ecef
GM
60762000-09-07 Gerd Moellmann <gerd@gnu.org>
6077
ab0ee409
GM
6078 * xfaces.c (Vparam_value_alist): New variable.
6079 (syms_of_xfaces): Initialize it.
6080 (Finternal_set_lisp_face_attribute): Avoid more consing.
6081
6082 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6083 specially.
6084 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6085 (Qbackground_mode): New variable.
6086 (syms_of_frame_1): Initialize Qbackground_mode.
6087
6088 * lisp.h (Qdisplay): Declare extern.
1091dd67 6089
0da3ecef
GM
6090 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6091 change face on all frames, and change the default for new frames.
6092
b14654b9
DL
60932000-09-07 Dave Love <fx@gnu.org>
6094
6095 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6096
d24fd56f
KH
60972000-09-07 Kenichi Handa <handa@etl.go.jp>
6098
794f3670
KH
6099 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6100
0fddd0dc
KH
6101 * charset.c: Include composite.h
6102 (lisp_string_width): New function.
6103 (Fstring_width): Call lisp_string_width instead of strwidth.
6104
6105 * Makefile.in (charset.o): Depends on composite.h.
6106
d24fd56f
KH
6107 * process.c (read_process_output): Before inserting the decoded
6108 text in the buffer, adjust the multibyteness.
6109
fa0b693c
GM
61102000-09-06 Gerd Moellmann <gerd@gnu.org>
6111
52283633 6112 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6113 buffer's text buffer is null, map new memory.
6114
0a58f946
GM
6115 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6116 POINTER_TYPE and size_t.
6117 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6118 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6119 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6120 [REL_ALLOC_MMAP]: New macros.
6121 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6122 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6123 [REL_ALLOC_MMAP]: New functions.
6124
6125 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6126 before and after unexec.
6127
6128 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6129 text buffers if necessary.
6130
6131 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6132 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6133 in prototypes.
6134
fa0b693c
GM
6135 * config.in (HAVE_MMAP): Add #undef.
6136
877055f6
GM
61372000-09-05 Gerd Moellmann <gerd@gnu.org>
6138
08ba3862
GM
6139 * frame.c (Qdisplay_type): New variable.
6140 (syms_of_frame_1): Initialize it.
6141 (Fframe_parameter): New function that avoids consing.
6142 (syms_of_frame): Defsubr it.
6143
66ffe51c
GM
6144 * buffer.c (Fother_buffer): Consider buffers as invisible when
6145 they are displayed in a window on an invisible frame.
6146
877055f6
GM
6147 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6148 get-largest-window always return nil.
6149
bb970e67
GM
61502000-09-04 Gerd Moellmann <gerd@gnu.org>
6151
6152 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6153 variable; recognize Emacs 19 elc files.
6154
7a3d0e0e
MB
61552000-09-04 Miles Bader <miles@gnu.org>
6156
6157 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6158 before initially popping up the menu, so the menu doesn't flash
52283633 6159 when the face settings are significantly different from the defaults.
7a3d0e0e 6160
14473664
SM
61612000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6162
6163 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6164 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6165 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6166 (BIT_UNIBYTE): Remove.
6167 (re_match_2_internal): Delete corresponding code and streamline the
6168 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6169 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6170 (re_wctype_t): New type.
6171 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6172 (regex_compile): Use them and fix handling of overly long char classes.
6173
c1174479
AI
61742000-09-03 Andrew Innes <andrewi@gnu.org>
6175
f8803e97
AI
6176 * makefile.w32-in: Change to DOS line endings.
6177
c1174479
AI
6178 * s/ms-w32.h (ORDINARY_LINK): New define.
6179
6180 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6181 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6182
6183 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6184 (distclean): Delete them here instead.
6185
44ef7cf6
AI
6186 * w32proc.c (compare_env): Convert to uppercase for comparison,
6187 not lowercase, to match how the native Windows shell works.
6188
49b3bd82
JR
61892000-09-03 Jason Rumney <jasonr@gnu.org>
6190
6191 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6192 CVS changes the line-ends when checking in/out on DOS/Windows.
6193
6194 * makefile.nt (emacs): Do not change directory to run temacs, as
6195 the load-path is set relative to current directory.
6196
a3d35a39
MB
61972000-09-03 Miles Bader <miles@gnu.org>
6198
6199 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6200
d276b0cf
GM
62012000-09-02 Gerd Moellmann <gerd@gnu.org>
6202
715e84c9
GM
6203 * xdisp.c (redisplay_mode_lines): New function.
6204 (display_mode_lines): Return number of mode lines displayed.
6205 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6206 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6207
8892f40b
GM
6208 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6209 string.h and strings.h.
6210 (index) [HAVE_INDEX]: Add prototype.
6211
d276b0cf
GM
6212 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6213 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6214
6215 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6216 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6217
38404229
GM
62182000-09-01 Gerd Moellmann <gerd@gnu.org>
6219
6220 * lread.c (read1): Accept `?' as symbol constituent, for
6221 compatiblity with XEmacs.
6222
c0f9ea08
SM
62232000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6224
6225 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6226 (struct re_pattern_buffer): Remove newline_anchor.
6227 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6228 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6229 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6230 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6231 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6232 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6233 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6234 Get rid of references to newline_anchor.
6235 (regcomp): Allocate and precompute a fastmap.
6236
8c0f83fe
GM
62372000-08-31 Gerd Moellmann <gerd@gnu.org>
6238
6239 * lread.c (openp): GCPRO local variable `filename'.
6240
4bb91c68
SM
62412000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6242
6243 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6244
6245 * regex.c: Merge some changes from GNU libc. Add prototypes.
6246 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6247 Use memcmp and memcpy instead of bcopy and bcmp.
6248 (init_syntax_once): Use ISALNUM.
6249 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6250 (REG_UNSET_VALUE): Remove. Use NULL instead.
6251 (REG_UNSET, re_match_2_internal): Use NULL.
6252 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6253 New macros.
6254 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6255 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6256 (regex_compile): In handle_interval, return an error rather than try to
6257 unfetch the interval if we can't find the closing brace.
6258 Obey the RE_NO_GNU_OPS syntax bit.
6259 (TOLOWER): New macro.
6260 (regcomp): Use it.
6261 (regexec): Allocate regs.start and regs.end as one block.
6262
5226a931
GM
62632000-08-30 Gerd Moellmann <gerd@gnu.org>
6264
868dd24b
GM
6265 * xdisp.c (echo_area_display): Check display_completed instead
6266 of calling detect_input_pending.
6267
6268 * dispnew.c (update_frame): Only set display_completed here; move
6269 the update_begin and update_end calls here from update_frame_1.
6270 (update_frame_1): Don't set display_completed here, don't call
6271 update_begin/update_end.
6272
5226a931
GM
6273 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6274 instead of store_frame_param.
6275
2a8bd25f
GM
62762000-08-29 Gerd Moellmann <gerd@gnu.org>
6277
6278 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6279 desired window matrix hasn't been displayed, use the current row
6280 instead. Make sure that only those frame rows are updated for
6281 which there exists a corresponding enabled desired row.
52283633 6282
ba3478d9
MB
62832000-08-29 Miles Bader <miles@gnu.org>
6284
6285 * xfaces.c (default_face_vector): New function.
6286 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6287
87d0f685
GM
62882000-08-29 Gerd Moellmann <gerd@gnu.org>
6289
6290 * lread.c (openp): Prevent temporary string passed to
6291 Ffile_readable_p from being garbage collected.
6292
6fa86045
DL
62932000-08-28 Dave Love <fx@gnu.org>
6294
6295 * keymap.c (store_in_keymap): Add `static' to declaration.
6296
bb17930d
GM
62972000-08-28 Gerd Moellmann <gerd@gnu.org>
6298
6299 * emacs.c, callint.c, doc.c, editfns.c
6300 (toplevel) [HAVE_STRING_H]: Include string.h.
6301 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6302 (index): Remove prototypes which might conflict with non-standard
6303 definitions of index/strchr.
6304
6305 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6306 (rindex): Define only if !HAVE_RINDEX.
6307
6308 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6309
6310 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6311
87188200
MB
63122000-08-28 Miles Bader <miles@gnu.org>
6313
6314 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6315 made inconsistent by a font-related attribute in FROM.
6316 (merge_face_inheritance): Add function comment.
6317
41a68aef
KH
63182000-08-28 Kenichi Handa <handa@etl.go.jp>
6319
6320 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6321 the 4th arg (PREV_EVENT) Qt to suppress input method.
6322
f7c436c1
SM
63232000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6324
0b32bf0e
SM
6325 * regex.c: Indent cpp directives and remove parens after `defined'.
6326 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6327 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6328 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6329 (re_compile_pattern): Use size_t for length.
6330 (init_syntax_once): Move to a better place.
6331 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6332 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6333
f7c436c1
SM
6334 * syntax.c (back_comment): Detect cases where a comment-starter is
6335 actually inside another comment as in: /* a // b */ c // d \n.
6336 Make it clear that `comstart_pos' is unused for nested comments.
6337
6338 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6339 (KEYMAPP): New macro.
6340 (Fkeymap_parent, Fset_keymap_parent): Use it.
6341 (fix_submap_inheritance): Mark it static.
6342 (define_as_prefix, describe_buffer_bindings, describe_command)
6343 (describe_translation, describe_map): Complete prototypes.
6344
6345 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6346
6347 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6348 to better match the key-lookup behavior.
6349
6288c62f
GM
63502000-08-27 Gerd Moellmann <gerd@gnu.org>
6351
6352 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6353 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6354
e931344e
EZ
63552000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6356
6357 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6358 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6359 (xterm.o): Depend on coding.h
6360
d10dfeef
KH
63612000-08-26 Kenichi Handa <handa@etl.go.jp>
6362
6363 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6364 the corresponding '#endif'.
6365
2d73e8d3
MB
63662000-08-26 Miles Bader <miles@gnu.org>
6367
6368 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6369 * xfaces.c (QCinherit): New variable.
6370 (syms_of_xfaces): Initialize it.
6371 (LFACE_INHERIT): New macro.
6372 (Finternal_get_lisp_face_attribute)
52283633 6373 (merge_face_vector_with_property)
2d73e8d3
MB
6374 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6375 (check_lface_attrs): Allow new types of face height. Check
6376 inherit attribute.
6377 (CYCLE_CHECK): New macro.
6378 (merge_face_inheritance): New function.
6379 (merge_face_vectors): Merge inherited faces too. Add F and
6380 CYCLE_CHECK arguments.
6381 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6382 (lookup_named_face, lookup_derived_face, realize_named_face)
6383 (face_at_string_position, face_at_buffer_position): Supply
6384 new F and CYCLE_CHECK arguments to merge_face_vectors.
6385 (merge_face_heights): New function.
52283633 6386 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6387 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6388 handle relative face heights.
6389 (lface_same_font_attributes_p): Compare heights using EQ.
6390
6ce974d4
KH
63912000-08-26 Kenichi Handa <handa@etl.go.jp>
6392
6393 * charset.c (char_to_string): Check the character validity.
52283633 6394 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6395
dc1e502d
SM
63962000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6397
6398 * regex.c (PUSH_FAILURE_COUNT): New macro.
6399 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6400 Handle popping of a register's or a counter's data.
6401 (POP_FAILURE_POINT): Use the new name.
6402 (re_match_2_internal): Push counter data on the stack for succeed_n,
6403 jump_n and set_number_at and remove misleading dead code in succeed_n.
6404
bd9d0f3f
GM
64052000-08-25 Gerd Moellmann <gerd@gnu.org>
6406
6407 * xdisp.c (redisplay_internal): If considering all windows on all
6408 frames, update the display for each frame as soon as possible,
6409 instead of first building all desired matrices for all frames, and
6410 then updating them all.
6411 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6412
aa5b8e15
GM
64132000-08-24 Gerd Moellmann <gerd@gnu.org>
6414
17494071
GM
6415 * bytecode.c (mark_byte_stack): Add a comment.
6416
52283633
SM
6417 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6418 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6419 a graphical frame.
6420
c543db81
KH
64212000-08-24 Kenichi Handa <handa@etl.go.jp>
6422
d246d5f5
KH
6423 * minibuf.c (do_completion): Always use compare-string, not
6424 string-equal because the latter doesn't pay attention to
6425 multibyteness of strings.
6426
c543db81
KH
6427 * process.c (create_process): Don't setup raw-text coding here.
6428 (Fopen_network_stream): Don't set coding->src_multibyte and
6429 coding->dst_multibyte here.
6430 (read_process_output): For process filter, return unibyte string
6431 if default-enable-multibyte-characters is nil.
6432 (send_process): If OBJECT is multibyte text, be sure to encoded it
6433 by the specified coding system for the process. Otherwise, setup
6434 raw-text coding.
52283633 6435 (init_process): Don't initialize default-process-coding-system here.
c543db81 6436
9b47cfe0
EZ
64372000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6438
6439 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6440 <scroll-down-aggressively>: Likewise.
6441
f5a36960
KH
64422000-08-23 Kenichi Handa <handa@etl.go.jp>
6443
6444 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6445 zero. Set coding->produced_char correctly.
6446
69a7ffa7
AI
64472000-08-22 Andrew Innes <andrewi@gnu.org>
6448
6449 * makefile.w32-in: New file.
6450
6451 * unexw32.c (unexec): Ignore old_name, and use the actual location
6452 of the current executable instead. Base new_name on this.
6453
6454 * w32proc.c (create_child): Remove reference to security
6455 descriptor, which isn't needed and doesn't compile with mingw32.
6456
6457 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6458 up dllimport attributes.
6459 (x_update_window_end): Update prototype.
6460
6461 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6462 extern, which screws up dllimport attributes.
6463
6464 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6465 up dllimport attributes.
6466
6467 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6468 screws up dllimport attributes.
6469
6470 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6471 up dllimport attributes.
6472 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6473 screws up dllimport attributes.
6474
6475 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6476 up dllimport attributes.
6477
6478 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6479 screws up dllimport attributes.
6480
6481 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6482 screws up dllimport attributes.
6483
6484 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6485 up dllimport attributes.
6486
6487 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6488 unnecessary extern, which screws up dllimport attributes.
6489 (main): Ditto.
6490
6491 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6492 up dllimport attributes.
6493
6494 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6495 unnecessary extern, which screws up dllimport attributes.
6496
6497 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6498 screws up dllimport attributes.
6499
6500 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6501 up dllimport attributes.
6502
6503 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6504
52283633
SM
6505 * w32bdf.c (search_file_line):
6506 (set_bdf_font_info):
6507 (seek_char):
6508 (w32_get_bdf_glyph):
69a7ffa7
AI
6509 (w32_BDF_to_x_font): Fix compile warnings.
6510
52283633 6511 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6512
6513 * w32select.c: Include keyboard.h before frame.h.
6514
6515 * w32fns.c (max): Define macro.
6516 (JOHAB_CHARSET): Define if not known.
6517 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6518 (Fx_show_tip): Synch with X version.
6519
6520 * w32xfns.c: Include keyboard.h before frame.h.
6521
6522 * w32fns.c: Include keyboard.h before frame.h.
6523
6524 * w32term.c: Include keyboard.h before frame.h.
6525
6526 * fontset.c: Include keyboard.h before frame.h.
6527
6528 * w32inevt.c: Include keyboard.h before frame.h.
6529 (MOUSE_MOVED): Define if not known.
6530
6531 * minibuf.c: Include keyboard.h before frame.h.
6532
6533 * keyboard.c: Include keyboard.h before frame.h.
6534
6535 * indent.c: Include keyboard.h before frame.h.
6536
6537 * dispnew.c: Include keyboard.h before frame.h.
6538
6539 * buffer.c: Include keyboard.h before frame.h.
6540
6541 * alloc.c: Include keyboard.h before frame.h.
6542
6543 * print.c: Include keyboard.h before frame.h.
6544
6545 * process.c: Include keyboard.h before frame.h.
6546
6547 * scroll.c: Include keyboard.h before frame.h.
6548
6549 * sysdep.c: Include keyboard.h before frame.h.
6550
6551 * term.c: Include keyboard.h before frame.h.
6552
6553 * window.c: Include keyboard.h before frame.h.
6554
6555 * xdisp.c: Include keyboard.h before frame.h.
6556 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6557
6558 * frame.c: Include keyboard.h before frame.h.
6559
6560 * w32heap.h: Undefine min, max.
6561
6562 * w32gui.h: Undefine min, max.
6563
6564 * unexw32.c: Change PUCHAR to PCHAR.
6565 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6566 (relocate_offset):
6567 (get_section_info):
69a7ffa7
AI
6568 (copy_executable_and_dump_data): Remove unnecessary static defs.
6569 (copy_executable_and_dump_data): Fix compile warnings.
6570
6571 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6572
6573 * w32console.c (min): Define macro.
6574 (clear_frame, write_glyphs): Fix compile warning.
6575
52283633 6576 * w32proc.c (compare_env):
69a7ffa7
AI
6577 (find_child_console): Fix compile warning.
6578
6579 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6580 sys_errlist instead of _sys_errlist.
6581 (get_emacs_configuration_options): New function.
6582
6583 * s/ms-w32.h (sys_nerr): Provide default definition.
6584 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6585 name with _ prepended.
6586 (NSIG): Define if not known.
6587 (get_emacs_configuration): Provide extern declaration.
6588 (get_emacs_configuration_options): Provide extern declaration.
6589 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6590
6591 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6592 (map_w32_filename):
69a7ffa7
AI
6593 (read_unc_volume): Fix compile warning.
6594
6595 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6596 definitions from being used.
6597
6598 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6599
52283633 6600 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6601 (open_unc_volume): Make arg const.
6602
6603 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6604 (read_input_waiting): Remove excess parameter.
6605
6606 * w32.c (init_environment): Call _access.
6607 (check_windows_init_file): Call _close.
6608 (init_user_info): Call _putenv.
6609 (init_environment): Call _putenv and _strdup.
6610 (init_ntproc): Reset volume info cache on startup.
6611
6612 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6613 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6614 cannot override the CRT malloc.
6615
6616 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6617 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6618
6619 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6620 unless we are linking with a static CRT.
6621 (RVA_TO_PTR): Cast result to unsigned char*.
6622
6623 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6624 (add_volume_info): Use xstrdup.
6625
25060080
SM
66262000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6627
6628 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6629 (do_completion, Fminibuffer_complete_word): Use it.
6630 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6631 var so it can take non-boolean values.
6632
6917e6bb
GM
66332000-08-21 Gerd Moellmann <gerd@gnu.org>
6634
acb7cc89 6635 * editfns.c (find_field): Formatting changes.
52283633 6636 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6637 changed to prototypes, some new protypes added, some functions
6638 made static.
6639
6640 * lisp.h (set_time_zone_rule): Add prototype.
6641 (use_dialog_box): External declaration.
6642
0bbfdc25
GM
6643 * keyboard.c (gen_help_event): Add parameter SIZE.
6644 (kbd_buffer_events_waiting): Slightly rewritten.
6645 (clear_event): New function.
6646 (kbd_buffer_get_event): Use it, and clear the input_events of
6647 HELP_EVENTs.
6648 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6649 don't fill the newly created array with nils.
6650 (toplevel): Convert some old-style function forward declarations
6651 to prototypes.
6652
6653 * keyboard.h (gen_help_event): Change prototype.
6654
6655 * xterm.c (XTread_socket): Change calls to gen_help_event.
6656
6657 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6658
6917e6bb
GM
6659 * eval.c (Fmacroexpand): Doc fix.
6660
e5cd3d11
JR
66612000-08-20 Jason Rumney <jasonr@gnu.org>
6662
6663 * w32term.h (x_display_info_for_display): Remove as this function
6664 does not exist on W32.
6665
6666 * w32term.c (help_echo_window): New variable.
6667 (syms_of_w32term): staticpro it.
6668 (note_mode_line_highlight): Set it.
6669 (XTextExtents16): Removed as there is no equivalent on W32.
6670 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6671 the X way of doing this will not work for W32.
6672 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6673 (x_draw_image_foreground): Avoid drawing outside of the clip area
6674 when image doesn't have a mask.
6675 (note_mouse_highlight): Process overlays in the right order of
6676 priority. Set help_echo_window.
6677 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6678 because that's more visible for large images.
6679
6680 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6681 name to single_keymap_panes.
6682 (w32_menu_show): Set wv->title when dealing with titles.
6683 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6684
6e69ab8c
MB
66852000-08-21 Miles Bader <miles@gnu.org>
6686
6687 * minibuf.c (do_completion): Try again if we rewrite the input
6688 string, but no completion was done, so that any completion message
6689 will be correct.
6690
511bd4eb
GM
66912000-08-20 Gerd Moellmann <gerd@gnu.org>
6692
6693 * xfaces.c (lface_equal_p): Compare strings differently.
6694 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6695 (realize_tty_face): Use them.
6696 (syms_of_xfaces): Initialize new variables.
6697 (map_tty_color): New function, extracted from realize_tty_face.
6698 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6699 foreground or background color, store the new color name in the
6700 realized face; previous code trying to do this had no effect.
6701 (realize_tty_face): Use map_tty_color.
6702 (Fclear_face_cache): Set face_change_count and ensure thorough
6703 redisplay.
6704
1433385f
GM
67052000-08-19 Gerd Moellmann <gerd@gnu.org>
6706
511bd4eb
GM
6707 * undo.c (record_first_change, record_marker_adjustment): Don't
6708 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6709
419ac0a2
KH
67102000-08-18 Kenichi Handa <handa@etl.go.jp>
6711
6712 * coding.c (decode_coding_string): Set members consumed,
6713 consumed_char, produced, produced_char of *coding correctly. If
6714 decode_coding doesn't consume any byte, don't try anymore.
6715 (encode_coding_string): Likewise.
6716
7eb9e30d
GM
67172000-08-18 Gerd Moellmann <gerd@gnu.org>
6718
511bd4eb
GM
6719 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6720 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6721
6722 * xdisp.c (redisplay_internal): Compare windows for equality with
6723 EQ, instead of applying XWINDOW to something that might not
6724 be a window.
52283633 6725
dd34a735
KH
67262000-08-18 Kenichi Handa <handa@etl.go.jp>
6727
6728 * fontset.c (Finternal_char_font): Search only the selected frame
6729 for a window of the current buffer.
6730
385ff9e3
GM
67312000-08-18 Gerd Moellmann <gerd@gnu.org>
6732
511bd4eb 6733 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6734 Lisp_Objects.
6735
385ff9e3
GM
6736 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6737 second half of a HELP_EVENT is found at the start of kbd_buffer.
6738
d6abb4c7
MB
67392000-08-18 Miles Bader <miles@gnu.org>
6740
4618074a
MB
6741 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6742
d6abb4c7
MB
6743 * editfns.c (save_restriction_save): Rewrite to use markers.
6744 (save_restriction_restore): Rewrite to understand new form of data
6745 saved by save_restriction_save.
6746 (Fsave_restriction): Remove cautionary note in doc-string.
6747
a7b28523
GM
67482000-08-17 Gerd Moellmann <gerd@gnu.org>
6749
6750 * fileio.c (build_annotations): Add a comment explaining the
6751 return value of format-annotate-function. Replace a spurious call
6752 to Flength with a CONSP test. Call format-annotate-function with
6753 a fifth arg specifying how many times the function is been called
6754 in a row, to let it choose temporary buffers appropriately.
6755
03c9ed77
DL
67562000-08-17 Dave Love <fx@gnu.org>
6757
6758 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6759 declare make_temp_name twice.
6760
52283633 6761 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6762 (unreadpure): Give it an arg.
6763
6764 * unexalpha.c: Prototype fatal_unexec, mark_x,
6765 update_dynamic_symbols. Declare unexec as void.
6766
6767 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6768 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6769
6770 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6771 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6772
6773 * alloca.c: Use #error.
6774 [POINTER_TYPE]: Use it.
6775
6776 * eval.c (Fdefvar): Doc fix.
6777
6778 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6779 INITIALIZE_INTERVAL.
6780
6781 * buffer.h: Avoid DECLARE_INTERVALS.
6782
6783 * config.in: Add size_t.
6784
aae41d97
EZ
67852000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6786
6787 * w16select.c (set_clipboard_data): If there's not enough memory
6788 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6789 expects. In case of other failures, return 3.
6790 (system_error_msg): New error message.
6791 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6792 system_error_msg.
6793
65aa5e85
GM
67942000-08-16 Gerd Moellmann <gerd@gnu.org>
6795
6796 * term.c (write_glyphs): Also turn off inverse video after turning
6797 off other appearances in case TS_exit_attribute_mode is not equal
6798 to TS_end_standout_mode.
6799 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6800 with the same face.
6801 (turn_off_face): Reset standout_mode only if
6802 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6803 is equal to TS_end_standout_mode.
6804
ece23901
KH
68052000-08-16 Kenichi Handa <handa@etl.go.jp>
6806
9d7bcb2e
KH
6807 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6808 sequence at the end of the source block.
6809
ece23901
KH
6810 * ccl.c (Fccl_program_p): Docstring modified.
6811 (Fccl_execute): Likewise.
6812 (Fccl_execute_on_string): Likewise.
6813
5e30eaa2
EZ
68142000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6815
6816 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6817
290602fd
KH
68182000-08-16 Kenichi Handa <handa@etl.go.jp>
6819
6820 The following changes are mainly to fix bugs of
6821 encode/decode-coding-string failing if encoding/decoding return
6822 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6823 variable conversion_buffer.
6824
6825 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6826 decrement dst_end to avoid buffer overflow in the later call of
6827 string_as_multibyte
6828
6829 * coding.h (conversion_buffer_size, conversion_buffer)
6830 (get_conversion_buffer): Extern deleted.
6831
6832 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6833 (conversion_buffer, conversion_buffer_size): Variables deleted.
6834 (get_conversion_buffer): Function deleted.
6835 (struct conversion_buffer): New structure.
6836 (MAX_ALLOCA): New macro.
6837 (allocate_conversion_buffer): New macro.
6838 (extend_conversion_buffer, free_conversion_buffer): New functions.
6839 (ccl_coding_driver): Set coding->result.
6840 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6841 this is the last block of source.
6842 (encode_coding): Likewise. Handle the source block as the last
6843 one only when the whole source text is consumed.
6844 (decode_coding_string): Handle the case that the output buffer is
6845 too small to decode the whole source text. Use
6846 allocate_conversion_buffer, extend_conversion_buffer and
6847 free_conversion_buffer, not get_conversion_buffer.
6848 (encode_coding_string): Likewise.
6849 (init_coding): Function deleted.
52283633 6850 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6851
6852 * emacs.c (main): Don't call init_coding.
6853
52283633 6854 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6855
6856 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6857 (insert_glyphs): Likewise.
6858
6859 * w32console.c (write_glyphs): Use a locally declared
6860 conversion_buffer.
6861
b9f80d41
EZ
68622000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6863
6864 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6865 member of display_info is NULL.
6866
32dc52f7
GM
68672000-08-15 Gerd Moellmann <gerd@gnu.org>
6868
52283633 6869 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6870
32dc52f7 6871 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6872 appearances with capability `me'.
32dc52f7
GM
6873 (write_glyphs): Switch on inverse video before each face change.
6874
4eb22d33
DL
68752000-08-14 Dave Love <fx@gnu.org>
6876
6877 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6878 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6879 (lisp_free): Declare and make static.
6880
6881 * window.c: Fix embedded comment.
6882 (syms_of_window): Fix doc string.
6883
90cbf47e
GM
68842000-08-14 Gerd Moellmann <gerd@gnu.org>
6885
52283633 6886 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6887 make sure to print `C-' before `M-', like in the manual.
6888
440fc135
GM
68892000-08-11 Gerd Moellmann <gerd@gnu.org>
6890
6891 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6892 since they aren't relocated anymore.
52283633 6893 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6894
6895 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6896 partially visible line which is smaller than the window's height.
440fc135 6897
6e264fad
KH
68982000-08-11 Kenichi Handa <handa@etl.go.jp>
6899
6900 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6901 the multibyte form of eight-bit-control characters.
6e264fad
KH
6902 (Fccl_execute_on_string): Initialize ccl->multibyte.
6903
6904 * ccl.h (struct ccl_program): New member multibyte.
6905
6906 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6907
c371f69a
KH
69082000-08-11 Kenichi Handa <handa@etl.go.jp>
6909
6910 * regex.c (regex_compile) <normal_char>: Pay attention to
6911 multibyteness.
6912 (analyse_first) <exactn>: Setup fastmap correctly for
6913 eight-bit-control characters.
6914
69152000-08-11 Kenichi Handa <handa@etl.go.jp>
6916
52283633 6917 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6918
6919 * keyboard.c (make_lispy_event): Handle the new event type
6920 multibyte_char_keystroke.
6921
6922 * xterm.c: Include coding.h.
6923 (XTread_socket): Work around a bug of XmbLookupString. If the
6924 input is from XIM, decode it according to the current locale. In
6925 that case, generate multibyte_char_keystroke events.
6926
b8ddbe71
KH
69272000-08-11 Kenichi Handa <handa@etl.go.jp>
6928
6929 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6930 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6931
47589c8c
GM
69322000-08-10 Gerd Moellmann <gerd@gnu.org>
6933
6934 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6935 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6936 (move_it_in_display_line_to): Record iterator's ascent and descent
6937 before producing glyphs, and restore them when we know the glyph
6938 doesn't fit on the line.
6939 (move_it_to): Restructured so that it's easier to debug. If
6940 moving to a vpos, and not moving to an x or character position,
6941 stop as soon as the specified vpos is reached; don't move further
6942 into that line because that might change the computed line height.
6943 (try_cursor_movement): New function, extracted from the cursor
6944 movement branch of redisplay_window. If ending on a partially
6945 visible line, don't try to scroll if the cursor line is taller
6946 than the window.
6947 (redisplay_window): Use try_cursor_movement.
6948
6949 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6950 because that function doesn't cope with variable-height lines.
6951
6952 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6953 box cursor because that's better visible for large images.
52283633 6954
c51bacd6
MB
69552000-08-10 Miles Bader <miles@gnu.org>
6956
6957 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6958
bea56df7
GM
69592000-08-10 Gerd Moellmann <gerd@gnu.org>
6960
6961 * xdisp.c (Vmessages_buffer_name): New variable.
6962 (message_dolog): Use it.
6963 (syms_of_xdisp): Initialize it.
6964
99cd7364
EZ
69652000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6966
52283633 6967 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6968 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6969 redundant now that keyboard.h is included.
6970
7d093d56
EZ
69712000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6972
6973 * keyboard.c (kbd_buffer_events_waiting): New function.
6974
6975 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6976
6977 * msdos.c: Include keyboard.h.
6978 (XMenuActivate): Empty no_event events from the event buffer. If
6979 no events are left after that, call clear_input_pending.
6980 (mouse_clear_clicks): New function, code moved from mouse_init.
6981 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6982 mouse driver to ``forget'' any past clicks.
6983
6984 * Makefile.in (msdos.o): Depend on keyboard.h.
6985
41e757a6
GM
69862000-08-09 Gerd Moellmann <gerd@gnu.org>
6987
8e7bd231
GM
6988 * lisp.h (input_pending): External declaration.
6989
6990 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6991
8e7bd231
GM
6992 * xdisp.c (echo_area_display): Display thoroughly if input is
6993 pending. Bind redisplay-dont-pause to t during the redisplay.
6994 in case input is pending.
6995
6996 * dispnew.c (Qredisplay_dont_pause): New variable.
6997 (syms_of_display): Initialize and staticpro it.
6998 (update_frame_1): Don't interrupt the display for pending input if
6999 redisplay_dont_pause is set.
52283633 7000
43028b7e
GM
7001 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7002
41e757a6
GM
7003 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7004
2f2174fa
KH
70052000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7006
7007 * callproc.c (Fcall_process): Terminate the unwind-protect around
7008 the post-read-conversion of coding system.
7009
0a6fd67e
MB
7010 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7011 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7012 * buffer.h (overlays_at): Update prototype.
7013 * xdisp.c (next_overlay_change): Update call to overlays_at.
7014 * xfaces.c (face_at_buffer_position): Likewise.
7015 * textprop.c (Fget_char_property): Likewise.
7016 * xterm.c (note_mouse_highlight): Likewise.
7017
0c80756e
MB
7018 * minibuf.c (do_completion): Don't consider a simple change of
7019 case as `completion'.
7020
975f250a
KR
70212000-08-08 Ken Raeburn <raeburn@gnu.org>
7022
52283633 7023 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7024 * undo.c (record_delete): Make sure last_point_position_buffer is
7025 a buffer before comparing pointers.
7026
7027 * coding.h (decode_coding_string): Declare.
7028
7029 * intervals.h (Fprevious_single_char_property_change): Declare.
7030
7031 * textprop.c (Fprevious_single_char_property_change): Don't do
7032 arithmetic directly on lisp objects.
7033
52283633 7034 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7035
7036 * keyboard.h (menu_item_eval_property): Declare.
7037
7038 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7039 reuse as buffer name, instead of recreating (and discarding) every
7040 time a message is logged.
7041 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7042 (current_message_1, truncate_message_1, set_message_1)
7043 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7044 (current_message, truncate_echo_area, display_echo_area)
7045 (resize_echo_area_axactly): Changed calls.
b347b3fd 7046
975f250a 7047 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7048 Lisp object.
975f250a 7049 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7050 must be an integer, not a Lisp object.
975f250a 7051
46dc9912
KH
70522000-08-08 Kenichi Handa <handa@etl.go.jp>
7053
7054 * charset.c (Fchar_width): Doc fix.
7055
9f6d1a6c
GM
70562000-08-08 Gerd Moellmann <gerd@gnu.org>
7057
7058 * charset.c (Fstring_width): Doc fix.
7059
ff3d9573
GM
70602000-08-07 Gerd Moellmann <gerd@gnu.org>
7061
41e757a6 7062 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7063 line, clear ascent and descent members of the iterator structure;
7064 the height of the continued line does not affect the height of the
7065 continuation line.
7066 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7067 line taller than the window.
7068 (redisplay_window) <forced window start>: Handle case that the
7069 middle of the window is not found in any row.
7070 (dump_glyph_row): Show more information.
7071 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7072 first text line in a glyph matrix.
7073
7074 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7075 of the clip area when image doesn't have a mask.
7076
70fc58b3
GM
7077 * fns.c (sweep_weak_table): Fix survival conditions for
7078 key-or-value and key-and-value weakness.
7079
7080 * .gdbinit (xhashtable): New command.
7081
ac0e96ee
GM
7082 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7083 tables out of the list of all weak hash tables.
7084
ff3d9573
GM
7085 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7086 a new buffer is created, make sure echo_area_buffer[] references
7087 the new buffer.
7088
e0d8827b
EZ
70892000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7090
7091 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7092 the doc string.
7093
c6f35378
KH
70942000-08-07 Kenichi Handa <handa@etl.go.jp>
7095
7096 * syntax.c (skip_chars): Fix previous change. Make the handling
7097 of unibyte string consistent with that of regex search.
7098
1fd4c450
GM
70992000-08-05 Gerd Moellmann <gerd@gnu.org>
7100
e49aa397
GM
7101 * xmenu.c (popup_get_selection): Use xfree instead of free.
7102
7103 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7104
7105 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7106
7107 * callproc.c (child_setup): Use xfree instead of free.
7108
7109 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7110 instead of malloc.
7111 (run_mac_command, closedir): Use `xfree' instead of `free'.
7112
7113 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7114
7115 * eval.c (error): Use xfree instead of free.
7116
1fd4c450
GM
7117 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7118
7119 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7120 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7121
82d497fc
KH
71222000-08-05 Kenichi Handa <handa@etl.go.jp>
7123
7124 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7125 conversion.
7126
59f953a2
NF
71272000-08-04 Noah Friedman <friedman@splode.com>
7128
7129 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7130 docstring.
7131
688351f2
GM
71322000-08-04 Gerd Moellmann <gerd@gnu.org>
7133
7134 * syntax.c (skip_chars): Fix typo in error message.
7135
2dad51cc
AS
71362000-08-04 Andreas Schwab <schwab@suse.de>
7137
7138 * m/ia64.h: Moved from s/ia64.h.
7139
99bb2c60
KH
71402000-08-04 Kenichi Handa <handa@etl.go.jp>
7141
082a1df2
KH
7142 * process.c (read_process_output): Big simplification. Handle
7143 composition and post-read-conversion of coding system correctly.
7144 (send_process): Handle composition correctly.
7145
7146 * callproc.c (Fcall_process): Handle post-read-conversion of
7147 coding system if any.
7148
99bb2c60
KH
7149 * coding.c (decode_coding_iso2022): More strict check for handling
7150 single shifting.
082a1df2
KH
7151 (coding_restore_composition): Pay attention to the case that
7152 cmp_data is not set properly (because of invalid code in the
7153 source text).
7154 (run_pre_post_conversion_on_str): Include text properties in the
7155 resulting string.
7156 (decode_coding_string): Set members of coding correctly.
99bb2c60 7157
f4988be7
GM
71582000-08-03 Gerd Moellmann <gerd@gnu.org>
7159
7160 * s/ia64.h: New file.
7161
7162 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7163 Use NULL instead of 0 at the end of variable argument list of
7164 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7165 sizeof (int) < sizeof (void *).
7166
7167 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7168 of variable argument lists of XtVaGetValues and XtVaSetValues.
7169
7170 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7171 variable argument lists of XtVaGetValues and XtVaSetValues.
7172
ead53494
GM
71732000-08-02 Gerd Moellmann <gerd@gnu.org>
7174
7175 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7176 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7177
7178 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7179 prototype.
7180
7181 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7182 in call to Fsingle_key_description.
7183
7184 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7185 Callers changed.
7186
71872000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7188
7189 * window.c (display_buffer_reuse_frames): New variable.
7190 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7191 frames displaying BUFFER.
52283633 7192 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7193
10b0f752
MB
71942000-08-01 Miles Bader <miles@gnu.org>
7195
7196 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7197 when to constrain NEW_POS (they were pretty screwed up before).
7198
16425c4a
EZ
71992000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7200
7201 * msdos.c (run_msdos_command): Save and restore the master
7202 environment, for the case that child_setup signals an error.
7203 When mirroring slashes in DOS shell commands, don't fail when
7204 argv[2] has embedded blanks.
da288c14
EZ
7205 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7206 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7207 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7208
7209 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7210 using alloca; free it after run_msdos_command returns.
7211
27f73852
DL
72122000-07-27 Dave Love <fx@gnu.org>
7213
52283633
SM
7214 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7215 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7216
7217 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7218
c0261b5e
EZ
72192000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7220
7221 * editfns.c (lisp_time_argument): Fix last change.
7222
b548072f
GM
72232000-07-27 Gerd Moellmann <gerd@gnu.org>
7224
3ab82477
GM
7225 * fns.c (Fdelete): Make it work on vectors and strings in addition
7226 to lists.
7227
b548072f
GM
7228 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7229 (syms_of_fns): Initialize new variables.
52283633 7230 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7231 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7232 weakness, with t meaning the same as `key-and-value'.
7233
91ae8751
KH
72342000-07-27 Kenichi Handa <handa@etl.go.jp>
7235
7236 * coding.h (struct coding_system): Member safe_charset deleted.
7237
7238 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7239 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7240 New variables.
91ae8751
KH
7241 (coding_safe_chars): New function.
7242 (CODING_SAFE_CHAR_P): New macro.
7243 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7244 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7245 (detect_coding_iso2022): New local variable safe_chars.
7246 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7247 safe_charsets member of the coding system.
7248 (decode_coding_iso2022): New local variable safe_chars.
7249 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7250 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7251 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7252 (ENCODE_UNSAFE_CHARACTER): New macro.
7253 (encode_coding_iso2022): New local variable safe_chars. Check
7254 unsafe chars.
7255 (setup_coding_system): Delete the code to initialize
7256 coding->safe_charses
7257 (intersection, find_safe_codings): New functions.
7258 (Ffind_coding_systems_region_internal): New function.
7259 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7260 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7261 variable and initialize it.
7262
7263 * fns.c (char_table_ref_and_index): New function.
7264
7265 * lisp.h (char_table_ref_and_index): Add prototype.
7266
34a7a267
SS
72672000-07-26 Sam Steingold <sds@gnu.org>
7268
7269 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7270 (Ffloat_time): New built-in Lisp function.
34a7a267 7271
a95cb10a
GM
72722000-07-26 Gerd Moellmann <gerd@gnu.org>
7273
3353ef5a
GM
7274 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7275 for the character code.
7276
7277 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7278 GNU/Linux.
7279
a95cb10a
GM
7280 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7281 if called for a popup menu.
7282 (xmenu_show): Store help string in widget values.
7283
b4a12321
DL
72842000-07-26 Dave Love <fx@gnu.org>
7285
7286 * syswait.h: Move some definitions.
7287 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7288 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7289 perspicuous definitions.
7290 (WTERMSIG): Fix bit pattern used.
7291
13f5ad37
KH
72922000-07-26 Kenichi Handa <handa@etl.go.jp>
7293
7294 * print.c (print_object): If vector printing is truncated, print
7295 "..." to indicate it as well as the case of list printing.
7296
070fe99c
GM
72972000-07-25 Gerd Moellmann <gerd@gnu.org>
7298
969065c3
GM
7299 * xdisp.c (next_element_from_display_vector): Improve comments.
7300
7301 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7302 for the character code, and the rest for the face id as in 20.x.
7303 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7304
7305 * window.c (window_display_table): Cleaned up.
7306
070fe99c
GM
7307 * syntax.c (Fforward_word): Add last arg nil in call of
7308 Fconstrain_to_field.
7309
bad77ef7
EZ
73102000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7311
969065c3 7312 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7313 identical but for the letter-case, don't call
7314 barf_or_query_if_file_exists.
bad77ef7 7315
c28da489
MB
73162000-07-25 Miles Bader <miles@gnu.org>
7317
7318 * editfns.c (find_field): Honor special `boundary' fields.
7319 (Qboundary): New variables.
7320 (syms_of_editfns): Initialize Qboundary.
7321 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7322 Use scan_buffer instead of find_before_next_newline, because it
7323 allows us to detect the boundary case where there's a newline at
7324 the search limit.
7325 * lisp.h (Fconstrain_to_field): Update external declaration.
7326
e3c31fd5
GM
73272000-07-24 Gerd Moellmann <gerd@gnu.org>
7328
7329 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7330 if that is nil.
c28da489 7331
c66c29a2
DL
73322000-07-24 Dave Love <fx@gnu.org>
7333
7334 * s/sunos4-0.h, s/sol2.h:
7335 (LIBS_TERMCAP): Move from m/sparc.h.
7336
7337 * m/sparc.h (TERMINFO): Moved to system files (probably only
7338 relevant for sunos4 judging by its vintage).
7339 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7340 __arch64__.
7341
fbe0a958
EZ
73422000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7343
7344 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7345 name to single_keymap_panes.
7346
7d88e5c9
AS
73472000-07-24 Andreas Schwab <schwab@suse.de>
7348
7349 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7350
e024b101
GM
73512000-07-24 Gerd Moellmann <gerd@gnu.org>
7352
7353 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7354 parameters instead of using int parameters. Expect FN to accept
7355 EMACS_INT parameters.
7356 (display_echo_area, resize_echo_area_axactly, current_message)
7357 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7358 with new argument list.
7359 (resize_mini_window_1): New callback function.
7360 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7361 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7362
25c1a9ce
KH
73632000-07-24 Kenichi Handa <handa@etl.go.jp>
7364
7365 * fontset.c (fontset_ref): Remove INLINE declaration.
7366 (fontset_ref_via_base): Likewise.
7367 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7368 to downcase.
7369
7f987ac0
EZ
73702000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7371
7372 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7373 correct order of priority. If help echo was found in an overlay,
7374 use that overlay as the object in which the help echo was found.
7375
e2db3069
MB
73762000-07-22 Miles Bader <miles@gnu.org>
7377
7378 * textprop.c (Fprevious_single_char_property_change): The initial
7379 property value should be from the position preceding POSITION, not
7380 following it.
7381
5e3203e4
EZ
73822000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7383
7384 * coding.c (syms_of_coding): Doc fix for
7385 inhibit-iso-escape-detection.
7386
62145073
GM
73872000-07-21 Gerd Moellmann <gerd@gnu.org>
7388
c20aeb83
GM
7389 * xterm.c (note_mouse_highlight): Process overlays in the right
7390 order of priority.
34a7a267 7391
743934db
GM
7392 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7393
7394 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7395 overlay, use that overlay as the object in which the help was found.
743934db 7396
d1dc7e43 7397 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7398
62145073
GM
7399 * window.c (foreach_window): Instead of a fake variable argument
7400 list, take one USER_DATA argument.
7401 (foreach_window_1): Likewise, and call callback functions with two
7402 args, the window and USER_DATA.
7403 (struct check_window_data): New struct.
7404 (check_window_containing): Use it.
7405 (window_from_coordinates): Set up a struct check_window_data for
7406 foreach_window.
7407 (add_window_to_list, freeze_window_start): Change parameters
7408 according to new calling convention.
7409
7410 * window.h (foreach_window): Change prototype.
7411
7412 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7413
74142000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7415
7416 * xmenu.c (menu_help_callback): Call show_help_echo with
7417 additional arguments OBJECT and POS.
7418
11270583
KH
74192000-07-21 Kenichi Handa <handa@etl.go.jp>
7420
07b14857
KH
7421 * data.c (Faset): Allow storing any multibyte character in a
7422 string. Convert unibyte string to multibyte if necessary.
7423
11270583
KH
7424 * xfns.c (x_encode_text): New function.
7425 (x_set_name): Use x_encode_text.
7426 (x_set_title): Likewise.
7427
7428 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7429
7430 * xterm.h (x_encode_text): Add prototype.
7431
bc75b4fd
DL
74322000-07-20 Dave Love <fx@gnu.org>
7433
7434 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7435 xfree, not free.
7436
48c14970
EZ
74372000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7438
7439 * msdos.c (help_echo_window): New variable.
7440 (syms_of_msdos): Initialize and staticpro it.
7441 (IT_note_mode_line_highlight): Set help_echo_window.
7442 (IT_note_mouse_highlight): Ditto.
7443 (dos_rawgetc): Store help_echo_window in the second event produced
7444 for HELP_EVENTs.
7445
7446 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7447 Record the object that generated the help echo and the position of
7448 that object in help_echo_object and help_echo_pos. Record that
7449 some glyphs in a row are displayed in mouse-face.
7450 (IT_update_begin): Don't clear mouse highlight unless one of the
7451 enabled glyph rows is marked as being displayed in mouse-face.
7452 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7453 and position recorded in help_echo_object and help_echo_pos to the
7454 event queue.
7455 (IT_menu_display): Accept a new argument PN: the pane number of
7456 the current menu pane. Record the pane number and the item
7457 number of the item which has associated help string.
7458 (XMenuActivate): Update the prototype for help_callback in
7459 function declaration. Call IT_menu_display with the current menu
7460 pane number as an additional argument. Call help_callback with
7461 two additional arguments: the pane number and the item number of
7462 the menu item associated with the help text.
7463 (help_echo_object, help_echo_pos): New variables.
7464 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7465
7466 * msdos.h (XMenuActivate): Update prototype.
7467
4279296d
GM
74682000-07-19 Gerd Moellmann <gerd@gnu.org>
7469
47db06aa
GM
7470 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7471 Add some more prototypes.
7472
7473 * xterm.c, xterm.h: Add some more prototypes.
7474
7475 * lisp.h (Fnext_single_char_property_change): Add prototype.
7476
7477 * dispnew.c (direct_output_for_insert): Remove confusing
7478 outer local variable mouse_face_overwritten_p.
7479 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7480
4279296d
GM
7481 * alloc.c (allocate_string_data): Don't copy old string contents.
7482
670acd62
KH
74832000-07-19 Kenichi Handa <handa@etl.go.jp>
7484
7485 * coding.c (code_convert_region): Delete text properties before
7486 shrinking the conversion region.
7487
7cea38bc
GM
74882000-07-18 Gerd Moellmann <gerd@gnu.org>
7489
dc1cac59
GM
7490 * dispnew.c (update_text_area): Write the whole row if it
7491 has mouse-face in it.
7492
85a8aca9
GM
7493 * xfaces.c (face-alternative-font-family-alist): Remove
7494 DEFVAR_LISP; staticpro instead.
7495
34a7a267 7496 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7497 new arguments.
7498
7499 * keyboard.c (show_help_echo): Add parameter WINDOW.
7500 (read_char): Call show_help_echo with window extracted from Lisp
7501 help event.
7502 (gen_help_event): Add parameter WINDOW.
7503
7504 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7505
7506 * xterm.c (help_echo_window): New variable.
52283633 7507 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7508 (XTread_socket): Pass help_echo_window to gen_help_event.
7509 (syms_of_xterm): Initialize and staticpro help_echo_window.
7510
f8276b77
DL
75112000-07-18 Dave Love <fx@gnu.org>
7512
52283633 7513 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7514
088831a6
GM
75152000-07-18 Gerd Moellmann <gerd@gnu.org>
7516
3d6cd763
GM
7517 * alloc.c (allocate_string_data): If string had already data
7518 assigned, copy old contents to new string data.
7519
7520 * coding.c (syms_of_coding): Fix typo in spelling of variable
7521 `inhibit-iso-escape-detection'.
7522
088831a6
GM
7523 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7524
7525 * Makefile.in: Add dependencies on dispextern.h.
7526 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7527 `free'; both can conflict with system header files.
7528
bc8a8d55
KH
75292000-07-18 Kenichi Handa <handa@etl.go.jp>
7530
7531 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7532 undefined.
7533
069f5950
DL
75342000-07-18 Dave Love <fx@gnu.org>
7535
7536 * window.c (Fwindow_list): Declare arg `window'.
7537
aa96c820
KH
75382000-07-18 Kenichi Handa <handa@etl.go.jp>
7539
7540 * coding.c (setup_coding_system): Don't override the explicitly
7541 specified designations.
7542
06be8d32
MB
75432000-07-15 Miles Bader <miles@gnu.org>
7544
7545 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7546 from `text_property_eq' and `text_property_stickiness', respectively.
7547 (find_field, Fconstrain_to_field, char_property_eq)
7548 (char_property_stickiness): Changed to call char-property functions
7549 instead of text-property-only ones.
7550
7551 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7552 `next_single_char_property_change'). Do more error checking, and
7553 cleanup limit behavior.
7554 (Fprevious_single_char_property_change): New function.
7555 (syms_of_textprop): Initialize new subrs.
7556
7557 * xdisp.c (display_prop_end, invisible_text_between_p):
7558 Call Fnext_single_char_property_change instead of
7559 next_single_char_property_change.
7560
3fddcdc3
JR
75612000-07-15 Jason Rumney <jasonr@gnu.org>
7562
7563 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7564 after menu is finished with.
7565 (add_menu_item): Only consider wv->title as a menu title.
7566 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7567
7568 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7569 null title.
7570 (FONT_REGEXP): Remove unused macro, and its sub-components.
7571 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7572
7573 * w32term.c (help_echo_object, help_echo_pos): New variables.
7574 (note_mode_line_highlight): Store additional information about the
7575 help-echo in help_echo_object and help_echo_pos. Check both
7576 `local-map' and `keymap' properties for changing the cursor
7577 (note_mouse_highlight): Store additional information about the
7578 help-echo in help_echo_object and help_echo_pos.
7579 (note_tool_bar_highlight): Set help_echo_object to nil and
7580 help_echo_pos to -1.
7581 (w32_read_socket): Use gen_help_event instead of filling
7582 input_events manually.
7583 (syms_of_w32term): Staticpro help_echo_object.
7584 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7585 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7586 (x_clear_mouse_face): New function.
7587 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7588 (x_update_window_begin): No need to turn off the mouse
7589 highlight here.
7590 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7591 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7592 (x_fill_stretch_glyph_string): Consume runs of stretch
7593 glyphs instead of a single one.
7594 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7595 with new argument list.
7596 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7597 (x_append_glyph, x_append_composite_glyph)
7598 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7599 changes in struct glyph starting 1999-12-27. See comments for
7600 xterm.c on 2000-07-05.
7601
178c5d9c
SS
76022000-07-14 Sam Steingold <sds@gnu.org>
7603
7604 * xfaces.c (realize_x_face): Fix the last patch:
7605 check `default_face' before dereferencing.
7606
6fe533f6
DL
76072000-07-14 Dave Love <fx@gnu.org>
7608
069f5950 7609 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7610
dd7b81cf
KH
76112000-07-14 Kenichi Handa <handa@etl.go.jp>
7612
0693904a 7613 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7614 default_face's fontset, not using the default fontset.
0693904a 7615
dd7b81cf
KH
7616 * coding.c (inhibit_iso_escape_detection): New variable.
7617 (syms_of_coding): Make it a Lisp variable.
7618 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7619 nonzero, ignore ISO2022's escape sequence.
7620
d5aa31d8
GM
76212000-07-14 Gerd Moellmann <gerd@gnu.org>
7622
e5acf0ca
GM
7623 * alloca.c (malloc) [emacs]: Define as xmalloc.
7624
bd23a692
GM
7625 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7626 use that instead of the mouse position. Add parameters DX and DY.
7627
7628 * dispextern.h (Fx_show_tip): Adjust number of parameters
7629 in prototype.
7630
9662da0b
GM
7631 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7632 if HELP is a function, call it with OBJECT and POS as parameters
7633 to get the help to display.
7634 (gen_help_event, kbd_buffer_store_help_event): New functions.
7635 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7636 (read_char): Call show_help_echo with new parameters.
7637
178c5d9c 7638 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7639 Add prototypes.
7640
7641 * xterm.c (help_echo_object, help_echo_pos): New variables.
7642 (note_mode_line_highlight): Store additional information about the
7643 help-echo in help_echo_object and help_echo_pos. Check both
7644 `local-map' and `keymap' properties for changing the cursor
7645 (note_mouse_highlight): Store additional information about the
7646 help-echo in help_echo_object and help_echo_pos.
7647 (note_tool_bar_highlight): Set help_echo_object to nil and
7648 help_echo_pos to -1.
7649 (XTread_socket): Use gen_help_event instead of filling
7650 input_events manually.
7651 (syms_of_xterm): Staticpro help_echo_object.
7652
7653 * xmenu.c (menu_highlight_callback): Use
7654 kbd_buffer_store_help_event instead of setting up and input_event
7655 structure manually.
7656
7657 * xdisp.c (eval_form): GCPRO argument sexpr.
7658 (call_function): New function.
7659 (handle_single_display_prop): Use call_function and FUNCTIONP
7660 instead of checking whether if font_height is a symbol and
7661 using eval_form.
7662
7663 * eval.c (internal_condition_case_2): New function.
7664
7665 * lisp.h (FUNCTIONP): New macro.
7666 (internal_condition_case_2, call_function): Add prototypes.
7667
d5aa31d8
GM
7668 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7669 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7670 Always set `arg' member of input_events.
7671 (construct_menu_click): Unused function removed.
7672
7673 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7674
7675 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7676 (construct_drag_n_drop, x_scroll_bar_handle_click)
7677 (w32_read_socket): Always set `arg' member of input_events.
7678
7679 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7680
7681 * lisp.h (eval_form): Add prototype.
7682
7683 * xdisp.c (eval_form): Make it externally visible.
7684
0f1a9b23
GM
76852000-07-13 Gerd Moellmann <gerd@gnu.org>
7686
7687 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7688 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7689 consing. For prefix events, store the frame in the `arg' slot of
7690 the event, otherwise store the key there.
7691 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7692 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7693
7694 * xmenu.c (menu_highlight_callback): Store help string in the
7695 `arg' member of the input event; don't cons.
7696 (menubar_selection_callback): Use the `arg' slot of input events
7697 to queue additional information, instead of consing.
7698
7699 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7700
7701 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7702 TOOL_BAR_EVENTs.
7703 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7704
7705 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7706 input events to queue additional information, instead of consing.
7707
7708 * keyboard.c (kbd_buffer_gcpro): Renamed from
7709 kbd_buffer_frame_or_window. Now used for all Lisp objects
7710 referenced from the input queue.
7711 (kbd_buffer_store_event): Always use structure assignment for
7712 copying input events. Record all Lisp objects referenced from
7713 events in kbd_buffer_gcpro.
7714 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7715 differently from input events. Test for prefix menu_bar_events
7716 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7717 event in kbd_buffer_gcpro to nil.
7718 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7719 frame_or_window is equal to its arg member as prefix events.
7720 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7721 used by an input event to nil.
7722 (init_keyboard): Use two times the size of the input queue
7723 for kbd_buffer_gcpro.
7724 (syms_of_keyboard): Likewise.
7725
52283633
SM
7726 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7727 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7728
7729 * termhooks.h (struct input_event): Add member `arg'.
7730 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7731 (USER_SIGNAL_EVENT): Renamed from user_signal.
7732
7733 * xfaces.c (ASET): Remove definition.
7734
7735 * lisp.h (AREF, ASET, ASIZE): New macros.
7736
7737 * fontset.c (AREF, ASIZE): Remove definitions.
7738
7739 * fns.c (AREF): Remove definition.
178c5d9c 7740
0f1a9b23
GM
7741 * composite.c (AREF): Remove definition.
7742
712eaef2
GM
77432000-07-12 Gerd Moellmann <gerd@gnu.org>
7744
d8ee7803
GM
7745 * dispnew.c (redraw_overlapped_rows): Add missing local.
7746 (scrolling_window): Remove debug code.
7747
712eaef2
GM
7748 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7749 Before scrolling, turn off a mouse-highlight in the window
7750 being scrolled.
7751
7752 * xterm.c (x_update_window_end): Add parameter
7753 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7754 redisplay in XTframe_up_to_date.
7755 (x_clear_mouse_face): New function.
7756 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7757
7758 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7759 current glyph row.
7760 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7761 it when any row is written to that contains glyphs highlighted in
7762 mouse-face.
7763 (update_window): Call the window update end hook with new
7764 parameter MOUSE_FACE_OVERWRITTEN_P.
7765 (direct_output_for_insert): Give up if row contains mouse-face.
7766
7767 * dispextern.h (struct redisplay_interface): Add parameter
7768 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7769 (clear_mouse_face): New function pointer member.
7770
02010917
SM
77712000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7772
7773 * syntax.c (back_comment): Use one switch rather than a few `if's.
7774 Obey open_paren_in_column_0_is_defun_start.
7775 When reverting to the `slow' method, try to nicely handle the case
7776 of nested comments by checking that the comment-starter we found
7777 does indeed match the comment-ender.
7778 (scan_sexps_forward, scan_sexps_forward):
7779 Ignore excessive opening parenthesis rather than throwing an error.
7780
d76c03ea
GM
77812000-07-11 Gerd Moellmann <gerd@gnu.org>
7782
7783 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7784 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7785
7786 * dispnew.c (direct_output_forward_char): Give up if currently
7787 displaying a message instead of the minibuffer contents.
7788
7789 * xterm.c (x_update_window_begin): No need to turn off the mouse
7790 highlight here.
7791 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7792 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7793
7794 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7795 compare the mouse_face_p flags of both rows.
7796
7797 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7798
d55ead18
EZ
77992000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7800
7801 * keyboard.c (show_help_echo): Accept additional parameter
7802 ok_to_overwrite_keystroke_echo.
7803 (read_char): Call show_help_echo with a zero
7804 ok_to_overwrite_keystroke_echo argument.
52283633 7805 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7806 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7807 ok_to_overwrite_keystroke_echo argument.
7808 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7809 non-zero ok_to_overwrite_keystroke_echo argument.
7810
df75b1a3
GM
78112000-07-10 Gerd Moellmann <gerd@gnu.org>
7812
4b92c49a
GM
7813 * xdisp.c (try_window_id): If changes are all below what is
7814 displayed in the window, and point is in the window, we still
7815 might have to find point on the display.
7816
7817 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7818 glyphs instead of a single one.
7819 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7820 with new argument list.
7821 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7822
df75b1a3
GM
7823 * keymap.c (get_keymap_1): Add comment that this function can GC.
7824 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7825 comment that functions can GC.
7826 (Fset_keymap_parent): GCPRO arg KEYMAP.
7827
4314cf3e
EZ
78282000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7829
7830 * msdos.c (XMenuActivate): After exiting the menu, restore the
7831 echo area message and erase it.
7832
ab49ce15
KH
78332000-07-10 Kenichi Handa <handa@etl.go.jp>
7834
7835 * fontset.c (Ffontset_info): Make the return value more compatible
7836 with that of Emacs 20.
7837
090a072f
GM
78382000-07-07 Gerd Moellmann <gerd@gnu.org>
7839
7840 * eval.c (Fsignal): Handle case that backtrace_list is null.
7841
f92de4a6
KH
78422000-07-07 Kenichi Handa <handa@etl.go.jp>
7843
7844 * ccl.c (Fccl_execute): Typo fixed.
7845
dd8888a1
GM
78462000-07-06 Gerd Moellmann <gerd@gnu.org>
7847
e5c81191 7848 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7849
dd8888a1
GM
7850 * window.c (Fwindow_list): Reverse list at the end.
7851 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7852 means allow windows on OWINDOW's frame, only.
7853 (window_loop): Simplified; use Fwindow_list.
7854
7855 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7856
485266d0
GM
78572000-07-05 Gerd Moellmann <gerd@gnu.org>
7858
7859 * xterm.c (XTread_socket): Increment handling_signal at the start,
7860 decrement it at the end.
7861
7862 * eval.c (handling_signal): New variable.
7863 (Fsignal): Abort if handling_signal is non-zero.
7864
7865 * lisp.h (handling_signal): External declaration.
178c5d9c 7866
485266d0
GM
7867 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7868
80fcd514
KR
78692000-07-05 Ken Raeburn <raeburn@gnu.org>
7870
7871 Sound support for NetBSD through "Linux emulation" support:
7872 * config.in (HAVE_SOUNDCARD_H): Undef.
7873 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7874 * Makefile.in (LIBSOUND): New variable.
7875 (LIBES): Include it.
52283633
SM
7876 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7877 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7878 (vox_open): Use DEFAULT_SOUND_DEVICE.
7879 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7880
d5c5cddd
GM
78812000-07-05 Gerd Moellmann <gerd@gnu.org>
7882
7883 * print.c (print_error_message): If Vsignaling_function is set,
7884 show it in *Messages*.
7885
7886 * lisp.h (Vsignaling_function): External declaration.
7887
7888 * eval.c (Vsignaling_function): New variable.
7889 (Fsignal): Compute it.
7890 (syms_of_eval): Staticpro it.
7891
65171e3a
DL
78922000-07-05 Dave Love <fx@gnu.org>
7893
7894 * syswait.h: Use the autoconf recommended approach. Old code
7895 #if'd out in case we need to revert.
7896
178c5d9c 7897 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7898
e2c46326
AI
78992000-07-05 Andrew Innes <andrewi@gnu.org>
7900
7901 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7902 when non-NULL instead of __morecore, to take account of buffer
7903 memory. This also solves a problem with spurious memory warnings
7904 on Windows.
7905
7906 * ralloc.c: Make real_morecore non-static.
7907
7908 * eval.c (internal_condition_case): Comment out abort if
7909 interrupt_input_blocked is not zero.
7910
7911 * makefile.nt: Add support for `bootstrap' and related targets.
7912 Include minimal debug info in emacs.exe in release build.
7913 Remove all dependencies on lisp.h, and fixup some others.
7914
7915 * w32.c (init_environment): Install code from 20.7 for providing
7916 default values for environment variables, based on the
7917 executable's own location.
52283633 7918 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7919 (sys_socket): Install socket inheritance bug fix from 20.7.
7920
7921 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7922 here via blockinput.h).
7923
a027a91b
SM
79242000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7925
e4b31601
SM
7926 * w32menu.c (w32_menu_display_help):
7927 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7928
7929 * keyboard.h (show_help_echo): Declare.
7930
7931 * keyboard.c (show_help_echo): New function, extracted from read_char.
7932 Feval its `msg' argument if it's a cons cell.
7933 (read_char): Use it.
4cf8d9d5 7934 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7935
178c5d9c 7936 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7937 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7938 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7939 (dos_rawgetc):
7940 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7941 (note_tool_bar_highlight, w32_read_socket):
7942 Do not gratuitously ignore non-string `help-echo' properties.
7943
88d75730
GM
79442000-07-05 Gerd Moellmann <gerd@gnu.org>
7945
969f7e79
GM
7946 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7947
71201b00
GM
7948 * window.c (delete_all_subwindows): Reset Vwindow_list.
7949
88d75730
GM
7950 * xterm.c (x_append_glyph, x_append_composite_glyph)
7951 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7952 changes in struct glyph starting 1999-12-27. Some bit-fields of
7953 struct glyph were not set, which made glyphs unequal when compared
7954 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7955 effects were the result. This also depended on the contents of
7956 memory returned by xmalloc. If flickering happens again, activate
7957 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7958 gone with that, chances are that it is caused by something similar.
88d75730
GM
7959
7960 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7961
88d75730
GM
7962 * dispextern.h: Add some comments.
7963
7964 * window.c (add_window_to_list): Add parameter LIST.
7965 (window_list): Order list so that, for each frame, windows are
7966 in canonical order, and so that frames appear in the list in
7967 the order given by Vframe_list.
7968 (next_window): Reverse the handling of NEXT_P.
7969
53654733
GM
79702000-07-04 Gerd Moellmann <gerd@gnu.org>
7971
87efd256
GM
7972 * window.c (Vwindow_list): New variable.
7973 (make_window, delete_window): Set Vwindow_list to nil.
7974 (check_window_containing): New function.
7975 (window_from_coordinates): Rewritten.
7976 (add_window_to_list, window_list, candidate_window_p)
7977 (decode_next_window_args, next_window): New functions.
52283633 7978 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7979 (Fwindow_list): New function.
7980 (Fother_window): Cleaned up.
7981 (foreach_window): Add a longer "variable argument list". Let
7982 callback function return 0 to indicate that cycling over windows
7983 should stop.
7984 (foreach_window_1): Likewise.
7985 (freeze_window_start): Return int.
7986 (init_window): New function.
7987 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7988
7989 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7990 input_event with bzero.
7991 (main): Call init_window.
7992
53654733
GM
7993 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7994 a menu filter.
7995
4a8c194f
KH
79962000-07-04 Kenichi Handa <handa@etl.go.jp>
7997
7998 * composite.h (make_composition_value_copy): Extern it.
7999
8000 * composite.c (make_composition_value_copy): New function.
8001
8002 * editfns.c (Fformat): While copying text properties, make each
8003 composition property value a copy.
8004
8005 * fns.c (concat): While copying text properties, make each
8006 composition property value a copy.
8007
831a6cb0
GM
80082000-07-03 Gerd Moellmann <gerd@gnu.org>
8009
2f516940
GM
8010 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8011
178c5d9c 8012 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8013 marked already.
8014
831a6cb0
GM
8015 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8016 include those frames as candidates which have their focus
8017 redirected to the minibuffer frame.
8018
d9c4f922
SM
80192000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8020
8021 * fns.c (Fputhash): Return `value' rather than nil.
8022
3780bc22
GM
80232000-06-30 Gerd Moellmann <gerd@gnu.org>
8024
97d176db
GM
8025 * frame.c (next_frame): Don't check focus redirection in case
8026 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8027 unless their focus is redirected, which contradicts the
8028 specification of next-frame, and leads to infinite loops in
8029 certain situations when cycling through windows with next-window.
8030
dca9961d
KH
80312000-06-30 Kenichi Handa <handa@etl.go.jp>
8032
8033 * coding.c (code_convert_region): Even if the length of text is
8034 zero, try to convert it if coding->type is coding_type_ccl.
8035 (decode_coding_string, encode_coding_string): Likewise.
8036
d5483ab1
GM
80372000-06-28 Gerd Moellmann <gerd@gnu.org>
8038
af5c25e1 8039 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8040 the display if windows_or_buffers_changed.
af5c25e1
GM
8041
8042 * dispnew.c (struct row_entry): New structure.
8043 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8044 (row_table_size, old_lines, new_lines, old_lines_size)
8045 (new_lines_size, run_pool, runs_size, runs): New variables.
8046 (add_row_entry): New function.
8047 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8048 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8049 holding them in local variables. Use a larger hash table whose
8050 size depends on glyph matrix sizes. Don't use bzero to clear the
8051 hash table; instead, clear used slots only.
8052
8053 * fns.c (next_almost_prime): Make it externally visible.
8054
8055 * lisp.h (next_almost_prime): Add prototype.
8056
d5483ab1
GM
8057 * s/isc4-0.h (sigunblock): Define.
8058
8059 * s/sco5.h (sigunblock): Define.
8060
93e40f40
DL
80612000-06-27 Dave Love <fx@gnu.org>
8062
8063 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8064 (moved to osf5-0.h).
8065 [!NOT_C_CODE]: Protect string.h stuff.
8066
8067 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8068 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8069
3c4b7685
GM
80702000-06-27 Gerd Moellmann <gerd@gnu.org>
8071
97d176db 8072 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8073 below the last line from the needed window height.
8074
32cad0aa
SM
80752000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8076
8077 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8078 (Fwidget_get): Use it.
8079 (syms_of_fns): Defsubr it.
8080
2c69ced2
GM
80812000-06-26 Gerd Moellmann <gerd@gnu.org>
8082
178c5d9c 8083 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8084 display info for XIM.
8085 (xim_open_dpy): Likewise.
8086 (xim_close_dpy): Don't free the display info's XIM.
8087
8088 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8089
8090 * config.in (USE_XIM): New define.
8091
3fc720e4
GM
8092 * keymap.c (get_keyelt): For menu-items containing a `:filter
8093 FILTER', apply FILTER to the menu-item's definition to get the
8094 real definition to use.
8095
8096 * lisp.h (QCfilter): External declaration.
8097
2c69ced2
GM
8098 * xfns.c (Fimage_size): New function.
8099 (syms_of_xfns): Defsubr it.
8100
f978b2a2
AS
81012000-06-26 Andreas Schwab <schwab@suse.de>
8102
8103 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8104 Fstring_as_unibyte.
8105
94cc7892
DL
81062000-06-25 Dave Love <fx@gnu.org>
8107
52283633 8108 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8109
8110 * Makefile.in (blockinput.h): Depend on atimer.h.
8111 (atimer.h): Depend on systime.h.
8112
52283633 8113 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8114
52283633 8115 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8116
8117 * lisp.h (swap_in_global_binding): Declare.
8118
b8c24556
KR
81192000-06-24 Ken Raeburn <raeburn@gnu.org>
8120
8121 * process.c (Fopen_network_stream): Turn off atimers for duration
8122 of call to connect. (Patch from Gerd.)
8123
8cf8560b
DL
81242000-06-23 Dave Love <fx@gnu.org>
8125
511c7541
DL
8126 * ralloc.c: Maybe include unistd.h
8127
8cf8560b
DL
8128 * emacs.c (setgrp): Undefine before defining.
8129 (malloc_warning, set_time_zone_rule, index): Prototype.
8130
8131 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8132 HAVE_STRUCT_TIMEZONE.
8133
8134 * s/osf1.h: Move string.h hack here from alpha.h and make it
8135 conditional.
8136 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8137 _XOPEN_SOURCE.
8138 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8139 (SOCKLEN_TYPE): Don't define.
8140
8141 * m/alpha.h: Remove string.h hack.
8142
8143 * s/osf5-0.h: New file.
8144
8145 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8146 include time.h, done by systime.h.
8147 [__FreeBSD__]: Remove redundant includes.
8148
3fc720e4 8149 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8150 (delete_temp_file): Return Qnil to avoid warning.
8151
8152 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8153
8154 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8155 HAVE_X_WINDOWS.
8156
8157 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8158
8159 * composite.h (compose_text): Declare.
8160
8161 * xterm.c: Don't include sys/types.h unconditionally. Don't
8162 protect its inclusion with !USG (following xmenu.c).
8163
ea055732
GM
81642000-06-23 Gerd Moellmann <gerd@gnu.org>
8165
8166 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8167 in x_create_frame.
8168
74b01b80
EZ
81692000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8170
8171 * coding.c (decode_eol_post_ccl): Special handling for undecided
8172 and inconsistent EOL types.
8173
64f3a166
GM
81742000-06-22 Gerd Moellmann <gerd@gnu.org>
8175
16cf31f7
GM
8176 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8177 trough color and main window's background color.
8178
52283633 8179 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8180
8181 * xterm.h (Xt_app_con): External declaration.
8182
8183 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8184
486a103d
GM
8185 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8186
64f3a166
GM
8187 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8188 (handle_invisible_prop): Record the start of invisible text in
8189 it->add_overlay_start.
8190 (struct overlay_entry): Add member `overlay'.
8191 (handle_overlay_change): Simplify.
8192 (next_overlay_string): After having processed overlay strings at the
8193 end of the buffer, record that fact in
8194 it->overlay_strings_at_end_processed_p.
8195 (compare_overlay_entries): If before- and after-strings come
8196 from the same overlay, let before-strings come first.
8197 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8198 (load_overlay_strings): Take it->add_overlay_start into account
8199 when adding overlay strings.
8200
8201 * dispextern.h (struct it): Add member add_overlay_start.
8202
bb746ea6
DL
82032000-06-22 Dave Love <fx@gnu.org>
8204
8205 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8206
8207 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8208
a8f573f3
KH
82092000-06-22 Kenichi Handa <handa@etl.go.jp>
8210
8211 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8212 is greater than 0.
8213
9f2bbc92
DL
82142000-06-21 Dave Love <fx@gnu.org>
8215
178c5d9c 8216 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8217
3ee5041c
SM
82182000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8219
8220 * syntax.c (back_comment): Simplify string-parity counting (with
8221 the added benefit of handling multiple string-styles as long as
8222 they are not intertwined).
8223 Jump to the slow code as soon as a comment starter is found in
8224 a "string_lossage" position. Fixes the case: " /* " /* " */.
8225
4c343001
DL
82262000-06-21 Dave Love <fx@gnu.org>
8227
8228 * Makefile.in: Use GETLOADAVG_LIBS.
8229
8230 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8231 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8232
e6365855
SM
82332000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8234
8235 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8236 (Fforward_comment, scan_lists):
8237 Check the comstyle of single-char comment-starters.
8238 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8239 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8240 Check the comstyle of single-char comment-starters.
8241 Clarify control-flow around the Scomment case.
e6365855 8242
5700d2cc
DL
82432000-06-20 Dave Love <fx@gnu.org>
8244
d355bd8a
SM
8245 * fns.c (make_hash_table, maybe_resize_hash_table):
8246 Cast arg of next_almost_prime.
5700d2cc 8247
178c5d9c 8248 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8249
8250 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8251 and unistd.h.
8252
4a27bdfb
GM
82532000-06-20 Gerd Moellmann <gerd@gnu.org>
8254
a61d762c 8255 * keyboard.c (adjust_point_for_property): Check if display
52283633 8256 property should be treated as intangible by looking at its value.
a61d762c 8257
178c5d9c 8258 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8259 (display_prop_intangible_p): New functions.
8260
8261 * dispextern.h (display_prop_intangible_p): Add prototype.
8262
8263 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8264
4a27bdfb
GM
8265 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8266 argument to sigprocmask.
8267
8268 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8269 argument to sigprocmask.
8270
8271 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8272 sigprocmask_set, and pass a pointer to it to sigprocmask.
8273
8274 * sysdep.c (sigprocmask_set): New variable.
8275
8276 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8277 report_file_error.
8278
427ec082
SS
82792000-06-20 Sam Steingold <sds@gnu.org>
8280
8281 * xrdb.c: Don't declare xmalloc, xrealloc.
8282
8972fe79 82832000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8284
8285 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8286 (re_comp): Cast gettext return value to avoid complaints when
8287 !HAVE_LIBINTL.
8288
074b6efe
DL
82892000-06-20 Dave Love <fx@gnu.org>
8290
52283633 8291 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8292
5700d2cc 8293 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8294
d355bd8a 8295 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8296
8297 * m/alpha.h: Don't declare xmalloc, xrealloc.
8298
0af4f205
DL
8299 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8300
8301 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8302
8303 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8304
8305 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8306 HAVE_GETWD.
8307
074b6efe
DL
8308 * keyboard.h (poll_for_input_1): Declare.
8309
8310 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8311
8312 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8313
8314 * doprnt.c: Don't declare xmalloc, xrealloc.
8315
8316 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8317 (getenv, ctime, getwd): Removed.
8318 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8319
8320 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8321 x_set_tool_bar_lines.
8322
8323 * config.in: Add HAVE_GETWD. Move some definitions above
8324 machine/system includes.
8325
68a5e97b
KH
83262000-06-20 Kenichi Handa <handa@etl.go.jp>
8327
95417e1e
KH
8328 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8329
68a5e97b
KH
8330 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8331 contain information about ENCODING.
8332
8333 * fontset.c (FONTSET_ASCII): Use the first element of char table
8334 for an ASCII font, not defalt slot.
8335 (fontset_ref_via_base): If FONTSET doesn't contain information for
8336 C, try the default fontset.
8337 (make_fontset): Don't copy the default fontset.
8338 (fontset_font_pattern): Likewise.
8339 (accumulate_font_info): If ELT is nil, use the corresponding
8340 element in the default fontset.
8341
3b4fa1b2
DL
83422000-06-19 Dave Love <fx@gnu.org>
8343
943e731c
DL
8344 * syntax.c (Fparse_partial_sexp): Doc fix.
8345
8346 * regex.h: Test PROTOTYPES as well as __STDC__.
8347
3b4fa1b2
DL
8348 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8349 errno, strerror. Put text after #endif in comment.
8350
52283633 8351 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8352
8353 * xterm.c (x_frame_of_widget): Likewise.
8354
cdf0357b
GM
83552000-06-19 Gerd Moellmann <gerd@gnu.org>
8356
8357 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8358 to Vfundamental_mode_abbrev_table.
8359
8360 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8361 bogus objects are marked. This slows down GC by ~80 percent, but
8362 it might be worth trying when debugging GC-related problems.
8363 This feature requires conservative stack marking to be enabled.
8364
8365 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8366 returns XLookupChars, reset `modifiers' to zero.
8367
998e9f8c
DL
83682000-06-19 Dave Love <fx@gnu.org>
8369
8370 * mktime.c: Unprotoized.
8371
18e21ce8 83722000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8373
8374 * data.c (set_internal): If variable is frame-local,
8375 store the new value immediately into the frame parameter alist.
8376
140c4ac6
KR
83772000-06-19 Ken Raeburn <raeburn@gnu.org>
8378
14358466
KR
8379 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8380 in the custom handler pointer.
8381
140c4ac6
KR
8382 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8383 value, or checks for CHAR_META can fail when Lisp_Object is a
8384 union type.
8385 * keymap.c (get_keyelt): Likewise.
8386
10d7bf84
KH
83872000-06-19 Kenichi Handa <handa@etl.go.jp>
8388
8389 * ccl.h (struct ccl_program): New member eol_type.
8390 (struct ccl_spec): New member cr_carryover.
8391
8392 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8393 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8394
8395 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8396 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8397 (decode_eol_post_ccl): New function.
8398 (decode_coding): Don't detect EOL format here for CCL based coding
8399 systems.
8400 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8401 decode_eol_post_ccl after running the CCL program.
8402 (code_convert_region): Don't detect EOL format here for CCL based
8403 coding systems.
8404 (decode_coding_string): Likewise.
8405
52e386c2
KR
84062000-06-18 Ken Raeburn <raeburn@gnu.org>
8407
8408 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8409 when treating it as an integer.
8410
8411 * coding.h (encode_coding_string): Declare.
8412
8413 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8414 it as an integer.
8415
8416 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8417 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8418 to be passed to get_local_map.
8419
8420 * sound.c (Fplay_sound): Don't call make_number on
8421 Frun_hook_with_args count argument.
8422
8423 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8424 for lisp objects in X event structure data field, when lisp
8425 objects are represented with unions.
8426 (x_scroll_bar_to_input_event): Ditto.
8427
b357b9d4
KR
84282000-06-16 Ken Raeburn <raeburn@gnu.org>
8429
8430 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8431 termination of string. Fix sense of test whether
8432 Vline_number_display_limit is an integer.
b357b9d4 8433
a871441d
GM
84342000-06-16 Gerd Moellmann <gerd@gnu.org>
8435
a9021acd
GM
8436 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8437 only if HAVE_X_WINDOWS.
8438
6344985d
GM
8439 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8440 of titles.
8441
427ec082 8442 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8443 out of bounds.
8444
228b083e
EZ
84452000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8446
8447 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8448 of its headers.
8449
c25b53a2
KH
84502000-06-15 Kenichi Handa <handa@etl.go.jp>
8451
8452 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8453 start of the while loop.
8454
a6981b11
GM
84552000-06-15 Gerd Moellmann <gerd@gnu.org>
8456
e9924e52
GM
8457 * atimer.c (alarm_signal_handler): Add forward declaration.
8458
a6981b11
GM
8459 * data.c (set_internal): Remove debug code.
8460
25fa6deb
GM
84612000-06-14 Gerd Moellmann <gerd@gnu.org>
8462
dce6b995
GM
8463 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8464
9f817ea4
GM
8465 * unexec.c (toplevel) [COFF]: Include coff.h.
8466
8467 * s/lynxos.h: New file.
8468
8469 * keymap.c (Fsingle_key_description): Enclose function key and
8470 event symbol names in angle brackets.
8471
8a4e3c0c
GM
8472 * xdisp.c (setup_echo_area_for_printing): Call
8473 message_log_maybe_newline if message_buf_print is not set.
8474
8475 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8476 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8477 function does something useful even when message_buf_print is
8478 already set.
8479
52283633
SM
8480 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8481 New variables.
25fa6deb
GM
8482 (ensure_echo_area_buffers): Initialize echo buffer's
8483 truncate lines setting to nil.
8484 (with_echo_area_buffer): Don't set the echo buffer's truncate
8485 lines setting here.
8a4e3c0c 8486 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8487 of message_truncate_lines.
8488 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8489 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8490 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8491
8492 * keyboard.c (read_char): Bind message-truncate-lines to t
8493 while displaying a help-echo.
8494
8495 * lisp.h (Qmessage_truncate_lines): External declaration.
8496
163dcff3
GM
84972000-06-13 Gerd Moellmann <gerd@gnu.org>
8498
1681ead6
GM
8499 * xdisp.c (Vline_number_display_limit): Renamed from
8500 line_number_display_limit.
8501 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8502 Extend documentation string. Initialize
8503 Vline_number_display_limit to nil meaning no limit.
8504 (decode_mode_spec): Use Vline_number_display_limit with its new
8505 meaning.
8506
163dcff3
GM
8507 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8508
18e21ce8 85092000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8510
8511 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8512
163dcff3
GM
8513 * xfns.c (x_set_frame_parameters): Comment fix.
8514
8515 * frame.c (store_frame_param): Call swap_in_global_binding if the
8516 variable's current binding was chosen based on this frame.
8517
8518 * data.c (swap_in_global_binding): New function.
8519
a704139d
EZ
85202000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8521
8522 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8523 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8524
9b6610db
EZ
85252000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8526
8527 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8528
c68833d2
JR
85292000-06-12 Jason Rumney <jasonr@gnu.org>
8530
8531 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8532
8533 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8534
8535 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8536
8537 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8538
ed1056b3
GM
85392000-06-12 Gerd Moellmann <gerd@gnu.org>
8540
8541 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8542 (syms_of_xfaces): Defsubr Sdump_colors.
8543 (x_free_colors): Don't treat b&w specially on default visual.
8544 (x_free_dpy_colors): New function.
8545 (free_face_colors): Don't check visual class; it's done
8546 in x_free_colors.
8547
8548 * xterm.c (x_frame_of_widget): New function.
8549 (x_alloc_nearest_color_for_widget): Use it.
8550 (x_copy_dpy_color): New function.
8551 (x_destroy_window): Free various colors.
8552
5050a2ef
KH
85532000-06-12 Kenichi Handa <handa@etl.go.jp>
8554
8555 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8556
8557 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8558
8559 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8560
8561 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8562
8563 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8564
fb1b041d
DL
85652000-06-11 Dave Love <fx@gnu.org>
8566
8567 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8568
ff96b5f4
EZ
85692000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8570
8571 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8572
db8eeecd
GM
85732000-06-11 Gerd Moellmann <gerd@gnu.org>
8574
ed1056b3 8575 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8576 to `XEvent *'.
8577
49b71c5f
KH
85782000-06-10 Kenichi Handa <handa@etl.go.jp>
8579
c479bd55
KH
8580 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8581 (regex_compile): Fix the code for handling the case of single byte
8582 char and multibyte char being mixed in a range within [...].
8583
ff6a65c2
KH
8584 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8585 and dst_multibyte members of coding.
8586
49b71c5f
KH
8587 * charset.c (update_charset_table): Update the table
8588 bytes_by_char_head.
8589 (init_charset_once): Initialize elements of bytes_by_char_head to
8590 1 except for leading codes for private charases.
8591
8592 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8593 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8594
9e80b57d
KR
85952000-06-09 Ken Raeburn <raeburn@gnu.org>
8596
8597 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8598 access the data it doesn't point to.
8599
f83fe4b4
GM
86002000-06-08 Gerd Moellmann <gerd@gnu.org>
8601
8602 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8603 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8604 event queue. This is necessary because Emacs otherwise won't
8605 perform a switch-frame to a new frame until some other event, for
8606 example a keystroke event, forces it to do so. This has various
8607 effects, one visible being that the cursor of a frame created with
8608 C-x 5 2 or switched to with a window manager key binding like
8609 A-TAB stays hollow because selected_window isn't on the newly
8610 focused frame until the switch-frame is performed.
8611
8612 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8613 generating a switch-frame event if necessary.
8614
8615 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8616
8617 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8618 it's an integer.
8619
0890801b
KH
86202000-06-08 Kenichi Handa <handa@etl.go.jp>
8621
52283633 8622 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8623
173cbca8
GM
86242000-06-07 Gerd Moellmann <gerd@gnu.org>
8625
3091c2a6
GM
8626 * window.c (displayed_window_lines): Take empty lines at
8627 the bottom of a window into account.
427ec082 8628
f38952fe
GM
8629 * window.c (displayed_window_lines): New function.
8630 (Fmove_to_window_line): Use displayed_window_lines to determine
8631 the number of lines to move, instead of using the window's height.
8632
8633 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8634 to stop reading, even if the form read sets point to a different
8635 value when evaluated.
8636
427ec082 8637 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8638 put the cursor.
8639
6ba6c818
KH
86402000-06-07 Kenichi Handa <handa@etl.go.jp>
8641
8642 * fileio.c (e_write): Free composition data if stored in
8643 coding->cmp_data.
8644
5f1aea9a
GM
86452000-06-06 Gerd Moellmann <gerd@gnu.org>
8646
666852af
GM
8647 * xdisp.c (display_line): Set row's and iterator's
8648 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8649 Set cursor even if row ends in the middle of a character.
8650 (dump_glyph_row): Print values of new flags.
8651 (redisplay_window) <cursor movement in unchanged window>: When
8652 point has been moved forward, and PT is at the end of the cursor
8653 row, don't place the cursor in the next row if the cursor row ends
8654 in the middle of a character or at ZV.
8655
8656 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8657 (struct glyph_row): Add starts_in_middle_of_char_p and
8658 ends_in_middle_of_char_p.
8659 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8660 ends_in_middle_of_char_p flag.
8661 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8662
d13f3e2e
GM
8663 * term.c (append_glyph): Revert change of 2000-06-06.
8664
8665 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8666 padding glyph not fitting on line as whole character not
8667 fitting on line.
8668
5f1aea9a
GM
8669 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8670 this isn't true for images with `:ascent 100'.
8671
10cda9b0
KH
86722000-06-06 Kenichi Handa <handa@etl.go.jp>
8673
ed00559d
KH
8674 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8675 as modified if it is originally unmodified.
8676
10cda9b0
KH
8677 * term.c (encode_terminal_code): Change the way to check if
8678 terminal coding does any conversion.
8679 (append_glyph): Set glyph->pixel_width correctly.
8680
8681 * xdisp.c (display_line): While checking line continuation, pay
8682 attention to a padding glyph.
8683
1969fae2
GM
86842000-06-05 Gerd Moellmann <gerd@gnu.org>
8685
8686 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8687
162ccef4
DL
86882000-06-05 Dave Love <fx@gnu.org>
8689
f19f32dd
DL
8690 * xdisp.c: Include fontset.h.
8691
8692 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8693
8694 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8695
8696 * dispnew.c: Conditionally include term.h.
8697
8698 * coding.h: Declare code_convert_string_norecord.
8699
8700 * frame.h (struct frame): Use volatile unconditionally.
8701
8702 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8703
8704 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8705
8706 * systime.h: Protect against multiple inclusion.
8707 (timezone) [USG5_4]: Define as time_t.
8708
8709 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8710 (Foptimize_char_table, make_temp_name): Declare.
8711
8712 * Makefile.in (xdisp.o): Depend on fontset.h.
8713
8714 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8715
8716 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8717 (Foptimize_char_table, make_temp_name): Declare.
8718
427ec082 8719 * s/irix4-0.h:
162ccef4
DL
8720 * s/irix5-0.h:
8721 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8722
2082fe81
DL
87232000-06-02 Dave Love <fx@gnu.org>
8724
8725 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8726
dcf671d2
GM
87272000-06-02 Gerd Moellmann <gerd@gnu.org>
8728
8729 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8730 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8731 be freed.
8732
8733 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8734 glyph, use the ASCII NUL character to determine the face.
8735
d42122a3
DL
87362000-06-02 Dave Love <fx@gnu.org>
8737
8738 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8739 (VFORK_RETURN_TYPE): Remove.
427ec082 8740
d42122a3
DL
8741 * config.in: Add NO_MATHERR.
8742
dd432f16
DL
87432000-06-01 Dave Love <fx@gnu.org>
8744
90aa4ea8
DL
8745 * cmds.c (internal_self_insert): Don't check
8746 Vbefore_change_function, Vafter_change_function.
8747
8748 * insdel.c (signal_before_change, signal_after_change): Likewise.
8749
8750 * buffer.c (Vbefore_change_function, Vafter_change_function):
8751 Variables and their initializations deleted.
8752
2330c9d4
DL
8753 * callint.c (Fcall_interactively): Doc fix.
8754
dd432f16
DL
8755 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8756
bf9e8804
DL
87572000-05-31 Dave Love <fx@gnu.org>
8758
8759 * textprop.c: Revert last change -- duplicated.
8760
3694b4ab
GM
87612000-05-31 Gerd Moellmann <gerd@gnu.org>
8762
8763 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8764 in #if 0.
8765
8766 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8767
f14156cd
JR
87682000-05-31 Jason Rumney <jasonr@gnu.org>
8769
8119aab8
JR
8770 * search.c (Fre_search_forward, Fre_search_backward)
8771 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8772
f14156cd
JR
8773 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8774
4aab9be3
JR
87752000-05-30 Jason Rumney <jasonr@gnu.org>
8776
8777 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8778 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8779
52283633 8780 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8781
8782 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8783 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8784 expand a nil default_filename.
8785
8786 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8787 pointer to glyph_to_pixel_coords, not a frame.
8788
8789 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8790 coding.h to dependencies.
8791
8792 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8793
8794 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8795 window pointer to be consistent with w32term.c and xterm.c.
8796
8797 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8798 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8799 (Qline_spacing, Qcenter): New variables.
8800 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8801 (x_set_line_spacing): New function.
52283633 8802 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8803 (x_specified_cursor_type): New function.
8804 (x_set_cursor_type): Use it.
8805 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8806 and icon strings.
8807 (validate_x_resource_name, x_get_resource_string): Measure lengths
8808 of external strings in bytes.
8809 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8810 GetTextExtentPoint32 with NULL title.
8811 (Fx_create_frame): Initialize Qline_spacing.
8812 (w32_load_system_font): Initialize font->double_byte_p.
8813 (x_to_w32_charset): Use Vw32_charset_info_alist.
8814 (Image, busy cursor, tooltip functions): Merged changes from
8815 xfns.c. Not yet functional on Windows.
8816
8817 * w32gui.h (W32FontStruct): Add double_byte_p member.
8818
8819 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8820 (emacs_button_translation): Use it.
8821 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8822 in `mask' to be set.
8823
8824 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8825 menu strings.
8826
8827 * w32term.c: Format and doc changes to bring closer to xterm.c.
8828 (w32_char_font_type): New enum.
8829 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8830 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8831 (w32_encode_char): New function.
8832 (x_encode_char): Removed.
8833 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8834 x_encode_char and w32_font_is_double_byte.
8835 (x_produce_image_glyph): Use image_ascent.
8836 (x_produce_glyphs): Use new version of w32_per_char_metric and
8837 handle NULL return value. Allow extra line spacing.
8838 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8839 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8840 w32_font_type member of glyph instead.
8841 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8842 (fast_find_position): Make sure not to consider rows not visible
8843 in the window.
8844 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8845 w32_menu_display_help with input blocked, as it can abort.
8846 (x_display_and_set_cursor): Choose cursor depending
8847 on buffer-local value of cursor_type.
8848 (x_draw_bar_cursor): Add parameter WIDTH.
8849
8850 * w32term.h (CP_DEFAULT): Define.
8851 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8852
10fc3187
GM
88532000-05-30 Gerd Moellmann <gerd@gnu.org>
8854
8855 * search.c (Fre_search_forward, Fre_search_backward)
8856 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8857
d0555360
KH
88582000-05-30 Kenichi Handa <handa@etl.go.jp>
8859
8860 * coding.c (detect_coding_iso2022): Fix code for checking
8861 CODING_CATEGORY_MASK_ISO_8_2.
8862
f1ad044f
SM
88632000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8864
8865 * regex.c (PREFETCH_NOLIMIT): New function.
8866 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8867
84ec3b4b
GM
88682000-05-29 Gerd Moellmann <gerd@gnu.org>
8869
66254a13
GM
8870 * syntax.c (find_defun_start): Move test for
8871 open_paren_in_column_0_is_defun_start outside of the loop.
8872
49e70dec
GM
8873 * xdisp.c (redisplay_window): Really switch buffers when
8874 displaying mode lines, and temporarily set selected_frame to the
8875 frame of the window that's redisplayed.
8876
84ec3b4b
GM
8877 * xfaces.c (free_realized_faces): Block/unblock input.
8878 (free_realized_multibyte_face): Ditto.
8879
869a3a14
DL
88802000-05-29 Dave Love <fx@gnu.org>
8881
8882 * textprop.c (Qkeymap): New variable.
8883 (syms_of_textprop): Intern it.
8884
8885 * keymap.c: Include intervals.h.
8886 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8887
8888 * Makefile.in (keymap.o): Depend on intervals.h.
8889
8890 * keyboard.c (menu_bar_items, tool_bar_items)
8891 (Fexecute_extended_command): Deal with `keymap' property.
8892 (read_key_sequence): Track map from `keymap' property as well as
8893 `local_map'.
8894
8895 * intervals.c (get_local_map): Extra arg to allow looking for
8896 `keymap' too.
8897
8898 * intervals.h (map_property): New enum.
8899 (get_local_map): Extra arg using it.
8900 (Qkeymap): Declare.
8901
84ec3b4b 8902 * lisp.h (get_local_map): Don't declare here.
869a3a14 8903
89d0c844
KH
89042000-05-29 Kenichi Handa <handa@etl.go.jp>
8905
8906 * Makefile.in (callproc.o): Depend on composite.h.
8907
8908 * callproc.c: Include composite.h.
8909 (Fcall_process): Handle composition correctly.
8910
8911 * coding.h (coding_allocate_composition_data): Extern it.
8912 (coding_restore_composition): Likewise.
8913
8914 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8915 yet allocated, finish decoding with result
8916 CODING_FINISH_INSUFFICIENT_CMP.
8917 (coding_allocate_composition_data): Make it non-static.
8918 (coding_restore_composition): Likewise.
8919
797a084a
EZ
89202000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8921
8922 * charset.c (syms_of_charset): Revert last change.
8923
cf872af5
EZ
89242000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8925
8926 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8927 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8928 Handa.
cf872af5 8929
5b1ae051
EZ
89302000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8931
8932 * charset.c (syms_of_charset): Set width of character sets
8933 eight-bit-control and eight-bit-graphic to 1 column.
8934
34ec9ebe
GM
89352000-05-26 Gerd Moellmann <gerd@gnu.org>
8936
8937 * config.in (HAVE_SPEED_T): New define.
8938
8939 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8940 `extern speed_t'.
8941
dd854dc2
DL
89422000-05-26 Dave Love <fx@gnu.org>
8943
8944 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8945
8946 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8947 (Fsubr_arity): New function.
8948 (syms_of_data): Install them.
8949
ba9f8f95
KH
89502000-05-26 Kenichi Handa <handa@etl.go.jp>
8951
0f3e0672
KH
8952 * charset.c (init_charset_once): Set the table bytes_by_char_head
8953 correctly.
8954
cebefb44
KH
8955 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8956 the default fontset to what Emacs uses by default.
0f3e0672
KH
8957 (check_registry_encoding): This function deleted.
8958 (Fset_fontset_font): Remove the adhoc condition for the default
8959 fontset. Allow cons in FONTNAME.
cebefb44 8960
0f3e0672
KH
8961 * fns.c (map_char_table): Ignore char-table entries for
8962 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8963
7a18af49
KR
89642000-05-25 Ken Raeburn <raeburn@gnu.org>
8965
8966 * emacs.c (main): Initialize keyboard syms before initializing
8967 window code, so face names are available.
8968
d2af47df
SM
89692000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8970
8971 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8972 of an anchor at the beginning of a shy-group.
8973
fc6a6a4e
GM
89742000-05-25 Gerd Moellmann <gerd@gnu.org>
8975
8976 * xdisp.c (handle_invisible_prop): Don't try to skip over
8977 invisible text if end of text is already reached.
8978
005f0d35
DL
89792000-05-25 Dave Love <fx@gnu.org>
8980
02513cdd
DL
8981 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8982
005f0d35
DL
8983 * coding.c (encode_eol): Add null statement after label.
8984
89f6ca4e
EZ
89852000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8986
8987 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8988 2000-05-20.
8989
a4e1759e
KH
89902000-05-25 Kenichi Handa <handa@etl.go.jp>
8991
8992 * ccl.c (ccl_driver): Fix previous change.
8993
eacfd7fe
KH
89942000-05-25 Kenichi Handa <handa@etl.go.jp>
8995
46ab33a9
KH
8996 * coding.c (run_pre_post_conversion_on_str): Set point to the
8997 beginning of buffer before calling coding->post_read_conversion.
8998 (decode_coding_string): Give correct args to
8999 run_pre_post_conversion_on_str.
9000 (encode_coding_string): Likewise.
9001
eacfd7fe
KH
9002 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9003 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9004 eight-bit-graphic correctly.
9005
f8569325
DL
90062000-05-24 Kenichi HANDA <handa@etl.go.jp>
9007
9008 * fileio.c (Finsert_file_contents): Even if a file is not found,
9009 execute codes for setting up coding system. Call
9010 after-insert-file-functions unconditionally.
9011
04545643
GM
90122000-05-24 Gerd Moellmann <gerd@gnu.org>
9013
9014 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9015 BSD_PGRPS are not defined.
9016
747d90ea
KH
90172000-05-24 Kenichi Handa <handa@etl.go.jp>
9018
9019 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9020 DESCRIPTION.
9021 (syms_of_charset): Avoid building same strings.
9022
716e3b88
GM
90232000-05-23 Gerd Moellmann <gerd@gnu.org>
9024
9025 * lread.c (Fload): Add a comment about the meaning of
9026 Vuser_init_file being t.
9027
9028 * puresize.h (BASE_PURESIZE): Increase to 675000.
9029
9030 * s/gnu-linux.h (setpgrp): Don't define it here because this
9031 prevents compilation on GNU/Linux systems with glib 2.2.
9032
9033 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9034 as setpgid.
427ec082 9035
9aeb39fa
EZ
90362000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9037
9038 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9039 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9040 version.
9041 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9042
29ced61b
KH
90432000-05-23 Kenichi Handa <handa@etl.go.jp>
9044
52283633 9045 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9046
3d80f24d
KH
9047 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9048
52283633 9049 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9050
29ced61b
KH
9051 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9052
d7e00792
KH
90532000-05-22 Kenichi Handa <handa@etl.go.jp>
9054
c9d80d38
KH
9055 * keyboard.c (read_char): Allow character codes 128..255 to be
9056 handled by input-method-function.
9057
d7e00792
KH
9058 * insdel.c (adjust_markers_for_replace): Fix previous change.
9059 (adjust_after_replace): If PREV_TEXT is nil, call
9060 adjust_markers_for_insert, not adjust_markers_for_replace.
9061
087121cc 90622000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9063
087121cc
GM
9064 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9065 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9066 [HAVE_GRANDPT]: Define.
9067 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9068
9069 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9070 like SYSV_PTYS.
9071
9072 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9073
9074 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9075
c9671f81
KH
90762000-05-20 Kenichi Handa <handa@etl.go.jp>
9077
9078 The following changes are to handle 8-bit characters in a
9079 multibyte buffer/string without facing with byte combining
9080 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9081 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9082
9083 * Makefile.in (fns.o): Depend on charset.h.
9084
9085 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9086 convert it to unibyte.
9087 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9088
9089 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9090 apparent char boundary.
9091 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9092 0x80..0x9F to/from multibyte form.
9093
9094 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9095 to unibyte.
9096
9097 * callproc.c (Fcall_process): Always encode an argument string if
9098 it is multibyte. Setup src_multibyte and dst_multibyte members of
9099 process_coding properly.
ce75fd23 9100
c9671f81
KH
9101 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9102 SPLIT_NON_ASCII_CHAR.
9103
9104 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9105 as is.
9106 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9107
52283633 9108 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9109 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9110 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9111 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9112 and eight-bit-graphic.
9113 (char_to_string): Likewise. Signal an error for too large
9114 character code.
9115 (char_printable_p): Return 0 for 8-bit characters.
9116 (update_charset_table): Update iso_charset_table only when a final
9117 character is non-negative.
9118 (find_charset_in_text): Renamed from find_charset_in_str.
9119 Arguments and return value changed. Callers changed.
9120 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9121 be -1 if CHARSET is used only internally.
9122 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9123 eight-bit-graphic.
9124 (Fcharset_after): Simplified.
9125 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9126 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9127 (multibyte_chars_in_text): Simplified by assuming there's no
9128 invalid multibyte sequence.
52283633
SM
9129 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9130 (str_as_unibyte): New functions.
9131 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9132 (init_charset_once): Initialization for
9133 LEADING_CODE_8_BIT_CONTROL.
9134 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9135 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9136 eight-bit-control and eight-bit-graphic.
9137
52283633
SM
9138 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9139 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9140 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9141 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9142 (CHARSET_REVERSE_CHARSET): Likewise.
9143 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9144 eight-bit-graphic.
9145 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9146 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9147 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9148 encounter an invalid multibyte sequence.
9149 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9150 sequence is always valid.
9151 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9152 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9153 (CHAR_STRING): For 8-bit characters, call char_to_string.
9154 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9155 multibyte sequence is always valid.
9156 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9157 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9158 (str_as_unibyte): Extern them.
c9671f81 9159 (BCOPY_SHORT): Fix a bug.
52283633 9160 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9161 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9162 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9163 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9164
bd4bde7f 9165 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9166 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9167 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9168 (EMIT_BYTES): New macros.
9169 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9170 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9171 macros deleted.
9172 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9173 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9174 check the validity of multibyte sequence.
9175 (decode_coding_emacs_mule): New function.
9176 (encode_coding_emacs_mule): New macro.
9177 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9178 the source.
9179 (DECODE_ISO_CHARACTER): Just return a character code.
9180 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9181 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9182 EMIT_CHAR to produced decoded characters. Exit the loop only by
9183 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9184 block here.
9185 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9186 only position codes for an invalid character.
9187 (encode_designation_at_bol): Return new destination pointer. 5th
9188 arg DSTP is changed to DST.
9189 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9190 from the source by ONE_MORE_CHAR. Don't handle the case of last
9191 block here.
9192 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9193 macros deleted.
52283633
SM
9194 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9195 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9196 TWO_MORE_BYTES to fetch a byte from the source.
9197 (encode_eol): Pay attention to coding->src_multibyte.
9198 (detect_coding, detect_eol): Preserve members src_multibyte and
9199 dst_multibyte.
9200 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9201 (encoding_buffer_size): Set magnification to 3 for all coding
9202 systems that require encoding.
9203 (ccl_coding_driver): For decoding, be sure that the result is
9204 valid multibyte sequence.
9205 (decode_coding): Initialize coding->errors and coding->result.
9206 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9207 and raw-text, always call decode_eol. Handle the case of last
9208 block here. If not coding->dst_multibyte, convert the resulting
9209 sequence to unibyte.
9210 (encode_coding): Initialize coding->errors and coding->result.
9211 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9212 and raw-text, always call encode_eol. Handle the case of last
9213 block here.
9214 (shrink_decoding_region, shrink_encoding_region): Detect cases
9215 that we can't skip data more rigidly.
9216 (code_convert_region): Setup src_multibyte and dst_multibyte
9217 members of coding. For decoding, if the buffer is multibyte,
9218 convert the source sequence to unibyte in advance. For encoding,
9219 if the buffer is multibyte, convert the resulting sequence to
9220 multibyte afterward.
9221 (run_pre_post_conversion_on_str): New function.
9222 (code_convert_string): Deleted and divided into the following two.
9223 (decode_coding_string, encode_coding_string): New functions.
9224 (code_convert_string1, code_convert_string_norecord): Call one of
9225 above.
9226 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9227 MAKE_NON_ASCII_CHAR.
52283633
SM
9228 (Fset_terminal_coding_system_internal)
9229 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9230 and dst_multibyte members.
9231 (init_coding_once): Initialize iso_code_class with new enum
9232 ISO_control_0 and ISO_control_1.
9233
9234 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9235 devided into ISO_control_0 and ISO_control_1.
9236 (struct coding_system): New members src_multibyte, dst_multibyte,
9237 errors, and result. Delete member fake_multibyte.
9238 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9239 nonzero.
9240 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9241 nonzero.
9242
9243 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9244 (Faset): Likewise.
9245
9246 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9247 multibyte form.
9248 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9249 combining occurs.
9250 (Ftranspose_region): Delete codes for handling byte combining.
9251
9252 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9253 dst_multibyte members of coding. On handling REPLACE on unibyte
9254 buffer, convert the result of decode_coding to unibyte. On
9255 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9256 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9257 multibyteness of the source (buffer or string).
9258
9259 * fns.c (concat): Handle 8-bit characters correctly.
9260 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9261 unibyte in the result.
9262 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9263 valid multibyte form in the result.
9264 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9265 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9266 return -1, signal an error.
9267 (base64_encode_1): New arg MULTIBYTE. Get each character by
9268 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9269 character is found, return -1.
9270 (Fbase64_decode_region): Delete codes for handling byte-combining.
9271 Treat each decoded byte as a unibyte character.
9272 (Fbase64_decode_string): Return unibyte string.
9273 (Fcompare_strings, concat, string_byte_to_char): Use
9274 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9275 FETCH_STRING_CHAR_ADVANCE.
9276 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9277 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9278
9279 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9280 SPLIT_NON_ASCII_CHAR.
9281 (fontset_ref_via_base, fontset_set): Likewise
9282
9283 * insdel.c (adjust_markers_for_record_delete): Deleted.
9284 (adjust_markers_for_insert): Argument changed. Caller changed.
9285 (adjust_markers_for_replace): Likewise.
52283633
SM
9286 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9287 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9288 (copy_text): Delete unused local varialbe c_save. For converting
9289 to multibyte, be sure to make all 8-bit characters in valid
9290 multibyte form.
9291 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9292 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9293 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9294 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9295 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9296 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9297 handling byte combining.
9298 (adjust_before_replace): Deleted.
427ec082 9299
c9671f81
KH
9300 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9301 SPLIT_NON_ASCII_CHAR.
9302 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9303 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9304 (Fkey_description): Likewise.
9305
9306 * lread.c (read1): On reading multibyte string, be sure to make
9307 all 8-bit chararacters in valid multibyte form.
9308 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9309
9310 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9311 unconditionally.
9312
9313 * process.c (Fstart_process): GCPRO current_dir before calling
9314 Ffind_operation_coding_system. Encode arguments here.
9315 (create_process): Don't encode arguments here. Setup
9316 src_multibyte and dst_multibyte members of struct coding.
9317 (read_process_output): Setup src_multibyte and dst_multibyte
9318 members of struct coding. If the output is to multibyte buffer,
9319 always decode the output of the process. Adjust the
52283633 9320 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9321 (send_process): Setup coding->src_multibyte according to the
9322 multibyteness of the source.
9323
52283633 9324 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9325 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9326 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9327
52283633 9328 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9329
9330 * w16select.c (Fw16_set_clipboard_data): Setup members
9331 src_multibyte and dst_multibyte of coding. Adjusted for the
9332 change for find_charset_in_str.
9333 (Fw16_get_clipboard_data): Likewise.
9334
9335 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9336 dst_multibyte of coding.
9337 (x_to_w32_font): Likewise.
9338
9339 * w32select.c (Fw32_set_clipboard_data): Setup members
9340 src_multibyte and dst_multibyte of coding. Adjusted for the
9341 change for find_charset_in_str.
9342 (Fw32_get_clipboard_data): Likewise.
9343
9344 * xdisp.c (get_next_display_element): Handle 8-bit characters
9345 correctly.
52283633
SM
9346 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9347 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9348
9349 * xselect.c (selection_data_to_lisp_data): Setup members
9350 src_multibyte and dst_multibyte of coding. Adjusted for the
9351 change for find_charset_in_str.
9352 (lisp_data_to_selection_data): Likewise.
9353
5f64c9e0
GM
93542000-05-19 Gerd Moellmann <gerd@gnu.org>
9355
52283633 9356 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9357
5f64c9e0
GM
9358 * dispextern.h (Vimage_types): Add extern declaration.
9359
9360 * xdisp.c (Vimage_types): Moved here from xfns.c.
9361 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9362
9363 * xfns.c (Vimages_types): Moved to xdisp.c.
9364 (syms_of_xfns): Move `image-types' to xdisp.c.
9365
9366 * w32fns.c (Vimage_types): Removed.
9367 (syms_of_w32fns): Remove `image-types'.
9368
813086ea
KH
93692000-05-18 Kenichi Handa <handa@etl.go.jp>
9370
9371 * fns.c (map_char_table): Pay attention to character number of
9372 charset. Check the validity of charset at the first level. For
9373 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9374 the default value.
9375
9376 * fontset.c: Include "buffer.h".
9377 (fs_load_font): If the face has fontset, record the face ID in
9378 that fontset.
9379 (Finternal_char_font): New function.
9380 (accumulate_font_info): New function.
9381 (Ffontset_info): Rewritten for the new fontset implementation.
9382 (syms_of_fontset): Register Vdefault_fontset in the first element
9383 of Vfontset_table. Include Vdefault_fontset in
9384 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9385 function.
9386
bdaebbf0
DL
93872000-05-16 Dave Love <fx@gnu.org>
9388
9389 * m/iris5d.h: Deleted -- unused.
9390
cb613bb8
GM
93912000-05-16 Gerd Moellmann <gerd@gnu.org>
9392
b15f3b77
GM
9393 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9394 `invalid' instead of `illegal'.
9395
9396 * indent.c (Fmove_to_column): When ending within a tab, insert
9397 spaces first so that markers at the end of the tab get adjusted.
9398
835c1b36
GM
9399 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9400 buffer list that wasn't selected in that frame.
9401
cb613bb8
GM
9402 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9403 is needed on mescaline, use a 2 char prefix, and call
9404 make_temp_name with second arg non-zero.
9405
9406 * fileio.c (make_temp_name): New function, extracted from
9407 Fmake_temp_name.
9408 (Fmake_temp_name): Use it.
9409
f685bea9
EZ
94102000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9411
52283633 9412 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9413
a1b8d58b
GM
94142000-05-15 Gerd Moellmann <gerd@gnu.org>
9415
9416 * Makefile.in (lisp): Add env.elc.
9417
9418 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9419
a265079f
GM
94202000-05-12 Gerd Moellmann <gerd@gnu.org>
9421
9422 * search.c (Freplace_match): Handle case of `\N' in the
9423 replacement when there's no group N.
9424
da4496b6
GM
94252000-05-11 Gerd Moellmann <gerd@gnu.org>
9426
0ace421a
GM
9427 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9428 of the message to message_dolog.
9429
1172eb8d
GM
9430 * keyboard.c (read_char): Don't clear current message for help
9431 events; let the code handling help events handle this. Change
9432 code detecting help events that should be ignored.
9433
da4496b6
GM
9434 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9435 we're interating over a string.
9436
0623e40f
DL
94372000-05-09 Dave Love <fx@gnu.org>
9438
9439 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9440 that offset before writing. Move gcpro region past call of
9441 Ffile_regular_p.
9442
bae2503b
DL
94432000-05-04 Dave Love <fx@gnu.org>
9444
9445 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9446
ec82fb2f
GM
94472000-05-04 Gerd Moellmann <gerd@gnu.org>
9448
9449 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9450 of inserted characters when BUF equals the current buffer, and PT
9451 is in front of or equal to FROM.
9452
cbf18892
GM
94532000-05-03 Gerd Moellmann <gerd@gnu.org>
9454
4ff40dd0
GM
9455 * xdisp.c (handle_single_display_prop): If display property value
9456 is invalid, or something not supported on the frame, restore
9457 iterator's position to what it was initially. Make sure to return
9458 0 for invalid and unsupported property values.
9459
cbf18892
GM
9460 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9461 that x_per_char_metric returns null.
9462
1b0672c3
GM
94632000-05-02 Gerd Moellmann <gerd@gnu.org>
9464
576da55d
GM
9465 * xterm.h (struct face): Add forward declaration.
9466 (struct image): Ditto.
9467 (image_ascent): Add prototype.
9468
9469 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9470 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9471 image_ascent instead of using IMAGE_ASCENT.
9472
9473 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9474 (IMAGE_ASCENT): Removed.
9475
9476 * xfns.c (Qcenter): New variable.
9477 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9478 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9479 (image_ascent): New function.
9480 (lookup_image): Recognize `:ascent center'.
9481 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9482 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9483 (xbm_load): Don't set image's ascent here.
9484 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9485 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9486 check ascent values here.
9487 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9488 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9489 (syms_of_xfns): Initialize Qcenter.
9490
1b0672c3
GM
9491 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9492 to the limits, increase the limits.
9493
0d7811ed
KH
94942000-05-01 Kenichi Handa <handa@etl.go.jp>
9495
9496 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9497 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9498
a943a5ca
GM
94992000-04-28 Gerd Moellmann <gerd@gnu.org>
9500
9501 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9502 taller than the window.
9503
5dba1e29
KH
95042000-04-28 Kenichi Handa <handa@etl.go.jp>
9505
9506 * xfaces.c (realize_x_face): Fix the argument of the second
9507 xassert. BASE_FACE may not be a face for ASCII.
9508
353964e3
GM
95092000-04-27 Gerd Moellmann <gerd@gnu.org>
9510
c76e04a8
GM
9511 * print.c (print_object): Treat print-length < 0 as nil.
9512
9513 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9514
9515 * s/freebsd.h (TERMCAP_OBJ): Removed.
9516 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9517
9518 * lread.c (read1): Don't treat period followed by certain
9519 characters as symbol start.
9520
9521 * xfns.c (slurp_file): New function.
9522 (xbm_image_p): Handle case of in-memory XBM files.
9523 (xbm_scan): Rewritten to work on memory buffers instead of files.
9524 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9525 Work on memory buffers instead of files. If DATA is null test
9526 if buffer looks like an in-memory XBM file.
9527 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9528 memory buffers instead of files.
9529 (xbm_file_p): New function.
9530 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9531
353964e3
GM
9532 * lread.c (end_of_file_error): New function.
9533 (read1): Call it instead of signaling `end-of-file' directly.
9534
427ec082 9535 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9536 with Fprinc instead of Fprin1.
9537
24d744ac
KR
95382000-04-26 Ken Raeburn <raeburn@gnu.org>
9539
9540 * window.c (freeze_window_start): Check that minibuffer scroll
9541 window isn't nil before extracting the window structure pointer
9542 from it.
9543
9544 * undo.c (record_delete): If we hit the end of the undo list, stop
9545 picking elements apart.
9546
7464346d
GM
95472000-04-26 Gerd Moellmann <gerd@gnu.org>
9548
9549 * xdisp.c (display_line): If lines are continued, restore
9550 iterator's ascent/descent information to the values before the
9551 first glyph not fitting on the line.
9552
612839b6
GM
95532000-04-25 Gerd Moellmann <gerd@gnu.org>
9554
9555 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9556 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9557
9558 * dispnew.c (increment_matrix_positions): Renamed from
9559 increment_glyph_matrix_buffer_positions.
9560 (increment_row_positions): Renamed from
9561 increment_glyph_row_buffer_positions.
9562
9563 * dispextern.h: Change names of renamed functions from dispnew.c
9564 in prototypes.
9565
cc181e95
GM
95662000-04-24 Gerd Moellmann <gerd@gnu.org>
9567
abfcc168
GM
9568 * fileio.c (Fdo_auto_save): Create directories for auto-save
9569 list file if necessary.
9570
cc181e95
GM
9571 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9572 from buffer or frame.
9573 (automatic_hscrolling_p): New variable.
9574 (hscroll_windows): Scroll windows horizontally only if automatic
9575 hscrolling is allowed.
9576 (syms_of_xdisp): New variable `automatic-hscrolling'.
9577
9578 * frame.h (struct frame): Add member extra_line_spacing.
9579
9580 * xfns.c (x_set_line_spacing): New function.
9581 (Fx_create_frame): Set line spacing from resources.
9582 (Qline_spacing): New variable.
9583 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9584
cc181e95
GM
9585 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9586
9587 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9588 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9589 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9590 extra_line_spacing from default value.
9591 (init_buffer_once): Initialize default value of extra_line_spacing.
9592
9593 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9594 and extra3.
9595
9596 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9597 prompt_width. Add extra line spacing.
9598
9599 * term.c (produce_glyphs): Remove reference to struct it's
9600 prompt_width.
9601
9602 * dispextern.h (struct it): Remove member prompt_width, add
9603 extra_line_spacing.
9604
58827478
GM
96052000-04-22 Gerd Moellmann <gerd@gnu.org>
9606
9607 * dispnew.c (update_frame_line): When writing a whole line, make
9608 sure cursor is in the right row afterwards, otherwise a use of
9609 capability `ch' in cmgoto might leave the cursor in the row below.
9610
25a87f42
GM
96112000-04-21 Gerd Moellmann <gerd@gnu.org>
9612
9613 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9614
9615 * keyboard.c (timer_check): Fix typo in comment.
9616
54edf5c2
KH
96172000-04-21 Kenichi Handa <handa@etl.go.jp>
9618
9619 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9620 name change: ch -> character.
9621
3a64eef5
GM
96222000-04-20 Gerd Moellmann <gerd@gnu.org>
9623
9624 * keyboard.c (echo_message_buffer): New variable.
9625 (echo_now): Set echo_message_buffer to the echo area buffer used
9626 to display the echo.
9627 (cancel_echoing): Reset echo_message_buffer to nil.
9628 (read_char): Code rewritten that handles canceling an echo or
9629 echoing a dash, respectively.
9630
9631 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9632 directory doesn't exist.
9633
6142fdcb
DL
96342000-04-19 Dave Love <fx@gnu.org>
9635
9636 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9637 (concat): Don't allow numeric args.
9638 (Fconcat): Doc change.
6142fdcb 9639
ac6b5352
SM
96402000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9641
9642 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9643 instead define end_match(1|2) more carefully.
9644 Use GET_CHAR_BEFORE_2 for `begline'.
9645
cb9215e4
GM
96462000-04-19 Gerd Moellmann <gerd@gnu.org>
9647
5e3dac3f
GM
9648 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9649 on 64-bit systems where NULL is defined as `0'.
9650
9651 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9652 the `variable argument list' to make it work on Alpha.
9653
cb9215e4
GM
9654 * m/alpha.h (_LP64) [!_LP64]: Define.
9655 (ORDINARY_LINK): Define for NetBSD.
9656
9657 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9658
f532dca0
DL
96592000-04-19 Dave Love <fx@gnu.org>
9660
c750667e
DL
9661 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9662 change.
9663
9664 * Makefile.in (LIBS): Don't use.
9665 (GETLOADAVG_OBJ): Define again.
9666 (otherobj): Add GETLOADAVG_OBJ.
9667
f532dca0
DL
9668 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9669
1c7e22fd
GM
96702000-04-18 Gerd Moellmann <gerd@gnu.org>
9671
f6d3257b
GM
9672 * lread.c (read_filtered_event): Cancel and start busy cursor.
9673
427ec082 9674 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9675 that the per-character metrics may be null.
9676
e10f64e7
GM
96772000-04-17 Gerd Moellmann <gerd@gnu.org>
9678
0daee095
GM
9679 * buffer.c (clone_per_buffer_values): New function.
9680 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9681 clone_per_buffer_values if CLONE is not nil.
9682
e10f64e7
GM
9683 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9684
38687d43
DL
96852000-04-16 Dave Love <fx@gnu.org>
9686
9687 * Makefile.in: Remove obsolete localcpp stuff.
9688 (GETLOADAVG_OBJ): Don't define.
9689 (obj): Move LIBOBJS...
9690 (otherobj): ... to here.
9691 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9692 whitespace-only lines after the continuation (Irix).
9693
c21c7262
GM
96942000-04-14 Gerd Moellmann <gerd@gnu.org>
9695
9696 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9697
9698 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9699
314767c0
DL
97002000-04-14 Dave Love <fx@gnu.org>
9701
9702 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9703 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9704 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9705 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9706 NLIST_STRUCT.
9707
9708 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9709 autoconfiscated HAVE_GETLOADAVG.
9710
9711 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9712 BROKEN_MKTIME.
9713
a2522dca
GM
97142000-04-14 Gerd Moellmann <gerd@gnu.org>
9715
9716 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9717 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9718
33744b5d
DL
97192000-04-14 Dave Love <fx@gnu.org>
9720
c21c7262 9721 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9722 (INTERVAL_SRC): Convert to make variable.
9723 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9724 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9725 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9726 add LIBOBJS.
9727 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9728 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9729 (shortlisp): Add facemenu, float-sup, frame.
9730 (SOME_MACHINE_LISP): Remove them from here.
9731 (LIBES): Change unused LDLIBS to autoconf LIBS.
9732
9733 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9734
9d3d5916
KH
97352000-04-14 Kenichi Handa <handa@etl.go.jp>
9736
9737 * composite.c (update_compositions): If FROM and TO are not in a
9738 valid range, do nothing.
9739
198e3c7a
GM
97402000-04-13 Gerd Moellmann <gerd@gnu.org>
9741
52283633 9742 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9743
52283633 9744 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9745
9746 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9747 as TERMCAP_OBJ.
9748
055a28c9
EZ
97492000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9750
9751 * fileio.c (a_write): Remove redundant semi-colons.
9752 (e_write): Return -1 if failed to write all the data.
9753 This fixes the changes made at 1999-12-15.
9754
f5c75033
DL
97552000-04-12 Dave Love <fx@gnu.org>
9756
9757 * fns.c (mapcar1): Test for null vals to support mapc.
9758 (Fmapc): New function.
9759
0c3cfc51
EZ
97602000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9761
9762 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9763 (IT_frame_up_to_date): Support the buffer local value of
9764 cursor-type, if defined.
9765
33465a31
DL
97662000-04-10 Dave Love <fx@gnu.org>
9767
9768 * editfns.c (preceding-char, following-char): Doc fix.
9769
6ed56568
KR
97702000-04-10 Ken Raeburn <raeburn@gnu.org>
9771
9772 * Makefile.in (temacs): Revert 2000-03-12 change.
9773
7cf80d4e
JR
97742000-04-10 Jason Rumney <jasonr@gnu.org>
9775
9776 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9777
34f3f342
GM
97782000-04-10 Gerd Moellmann <gerd@gnu.org>
9779
1a1b1895
GM
9780 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9781 area buffer, if it's not set up yet.
9782
34f3f342
GM
9783 * indent.c (compute_motion): Set immediate_quit.
9784
be0dbdab
GM
97852000-04-09 Gerd Moellmann <gerd@gnu.org>
9786
52283633 9787 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9788 (realize_tty_face): Suppress boldness if colors are the inverse of
9789 the default colors, and tty_suppress_bold_inverse_default_colors_p
9790 is set.
9791 (Ftty_suppress_bold_inverse_default_colors): New function.
9792 (syms_of_xfaces): Defsubr it.
9793
be0dbdab
GM
9794 * buffer.c (Frestore_buffer_modified_p): New function.
9795 (syms_of_buffer): Defsubr it.
9796
e8413c3b
KR
97972000-04-08 Ken Raeburn <raeburn@gnu.org>
9798
87f67317
KR
9799 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9800 charset id (int) argument, not a charset (Lisp_Object).
9801
e8413c3b
KR
9802 * coding.h (code_convert_string): Declare.
9803 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9804 object, as the fourth argument to code_convert_string.
9805
52283633 9806 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9807 (Fset_fontset_font): Use EQ to compare lisp objects.
9808
7c752c80
KR
98092000-04-05 Ken Raeburn <raeburn@gnu.org>
9810
c0333abc
KR
9811 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9812 a pointer that looks like a lisp object.
9813 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9814 zero, instead see whether it's an integer object, since they can't
9815 have intervals.
9816 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9817
52283633
SM
9818 * dispnew.c (allocate_matrices_for_frame_redisplay)
9819 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9820 to convert between (unsigned) int values and lisp integers.
9821 * keyboard.c (read_key_sequence): Likewise.
9822 * lread.c (substitute_object_recurse): Likewise.
9823 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9824 * minibuf.c (do_completion, Fminibuffer_complete_word)
9825 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9826 * term.c (produce_special_glyphs): Likewise.
9827
9828 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9829 * print.c (print_preprocess, print_object): Likewise.
9830
9831 * search.c (compile_pattern): Use NILP when checking for nil.
9832
74e49b38
KR
9833 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9834 __OPTIMIZE__]: Provide a GNU C macro version that handles
9835 lisp-object unions.
9836 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9837 field, to better cope with ENABLE_CHECKING and calls that modify a
9838 Lisp_Object using its old value.
9839
685e5ed2
GM
98402000-04-04 Gerd Moellmann <gerd@gnu.org>
9841
c407c570
GM
9842 * window.c (compare_window_configurations): Signal an error
9843 if parameters C1 or C2 aren't window configurations.
9844
685e5ed2
GM
9845 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9846 AFTER_POTENTIAL_GC calls around calls to functions that can
9847 signal an error and thus invoke the debugger.
9848
587a49ab
GM
98492000-04-03 Gerd Moellmann <gerd@gnu.org>
9850
62f20204
GM
9851 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9852 an error if decoding fails.
9853
587a49ab
GM
9854 * keyboard.c (lispy_mouse_names): Variable removed.
9855 (Vlispy_mouse_stem): New variable.
9856 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9857 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9858 for any mouse button number. Increase size of mouse_syms and
9859 button_down_location as needed. Call modify_event_symbol with
9860 different arguments.
9861 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9862 Call modify_event_symbol with different arguments.
9863 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9864 for any button number. Call modify_event_symbol with different
9865 arguments.
9866 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9867 Accept a string for NAME_ALIST_OR_STEM.
9868
9869 * lisp.h (larger_vector): Add prototype.
9870
9871 * fns.c (larger_vector): Make externally visible.
9872
9873 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9874
2d1675e4
SM
98752000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9876
9877 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9878 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9879 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9880 we are between str1 and str2.
9881 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9882 (PATFETCH): Use `TRANSLATE'.
9883 (PATFETCH_RAW): Fetch multibyte char if applicable.
9884 (PATUNFETCH): Remove.
9885 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9886 When writing a char, write it directly into the pattern buffer rather
9887 than going needlessly through a temp char-array.
9888 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9889 multibyte magic and remove the useless `#ifdef emacs'.
9890 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9891 buffer.
9892
9893 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9894 conditional on `emacs'.
9895
9896 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9897
cc2d8c6b
KR
98982000-04-01 Ken Raeburn <raeburn@gnu.org>
9899
9900 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9901 non-union-type versions of XMARK and friends here, because XMARK
9902 and friends won't work on an integer field if NO_UNION_TYPE is not
9903 defined.
52283633 9904 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9905
52283633 9906 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9907 (syms_of_composite): Delete local var NARGS, pass an int as first
9908 argument to Fmake_hash_table.
9909
2387b382
KR
9910 * editfns.c (text_property_stickiness): Use NILP to test
9911 Lisp_Object boolean value.
9912 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9913 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9914 problems reading from and changing the same lisp value in an
9915 XSETSTRING call.
9916
27660e89
GM
99172000-04-01 Gerd Moellmann <gerd@gnu.org>
9918
9919 * term.c (TN_no_color_video): New variable.
9920 (term_init): Intitialize TN_no_color_video.
9921 (enum no_color_bit): New enumeration.
9922 (MAY_USE_WITH_COLORS_P): New macro.
9923 (turn_on_face): Use it to determine if attributes may be used
9924 combined with colors.
9925
3578db3c
KR
99262000-04-01 Ken Raeburn <raeburn@gnu.org>
9927
9928 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9929 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9930 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9931 proper accessor macros.
9932 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9933 (grow_mini_window): Fix typo getting int value of root->height.
9934
6fc556fd
KR
9935 * xdisp.c (compute_string_pos): Fix order of arguments to
9936 string_pos_nchars_ahead.
9937 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9938 count arg to variable-arg routines like Frun_hook_with_args and
9939 Fformat.
587a49ab
GM
9940 (back_to_previous_visible_line_start)
9941 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9942 fixed-arg routines like Fget_char_property and Fmake_string.
9943 (reconsider_clip_changes): Use XINT when comparing integer lisp
9944 objects, or passing them as int arguments.
587a49ab
GM
9945 (mark_window_display_accurate, insert_left_trunc_glyphs)
9946 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9947 storing or passing integer values as lisp objects.
9948 (set_cursor_from_row, highlight_trailing_whitespace): Use
9949 INTEGERP, not implicit test against zero, for glyph object.
9950 (try_window_id): Don't use make_number when we want an int value.
9951
9952 * xfaces.c (xlfd_symbolic_value): Make last argument a
9953 Lisp_Object, to be consistent with callers.
9954 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9955 (lface_hash): Apply XFASTINT to lisp values before folding in.
9956
9957 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9958 fill in window width and height. Pass an int, not a lisp object,
9959 as first arg to Finsert.
9960
6e7b2457
GM
99612000-04-01 Gerd Moellmann <gerd@gnu.org>
9962
610d841e
GM
9963 * xfaces.c (realize_basic_faces): Block input while realizing
9964 the faces.
9965
6e7b2457
GM
9966 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9967
9968 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9969
aa110c0c
GM
99702000-03-31 Gerd Moellmann <gerd@gnu.org>
9971
9972 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9973 or ASCII, handle case that per-char metric is null.
aa110c0c 9974
8801a864
KR
99752000-03-30 Ken Raeburn <raeburn@gnu.org>
9976
c6129d7e
KR
9977 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9978
52283633
SM
9979 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9980 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9981 pointer, using eassert.
9982 * frame.h (XFRAME): Likewise.
9983
52283633
SM
9984 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9985 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9986 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9987 * data.c (set_internal): Likewise.
52283633
SM
9988 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9989 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9990 * fileio.c (auto_save_1): Likewise.
9991 * insdel.c (check_markers): Likewise.
9992 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9993 * undo.c (record_insert): Likewise.
9994 * vmsproc.c (child_sig): Likewise.
9995 * window.c (unshow_buffer, window_loop): Likewise.
9996 * xterm.c (x_erase_phys_cursor): Likewise.
9997
8e7af858
GM
99982000-03-30 Gerd Moellmann <gerd@gnu.org>
9999
10000 * xfns.c (free_image_cache): Free the cache structure itself
10001 last, after all its members have been freed.
10002
10003 * lisp.h (xstrdup): Add prototype.
10004
10005 * alloc.c (xstrdup): Moved here from xfaces.c.
10006 (allocating_for_lisp): Variable removed.
52283633 10007 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10008
10009 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10010 of Fsymbol_value.
10011 (xstrdup): Moved to alloc.c.
10012
e0b8c689
KR
100132000-03-29 Ken Raeburn <raeburn@gnu.org>
10014
b96f9fb7
KR
10015 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10016
10017 * emacs.c (main): Fix sense of no-loadup test.
10018
e0b8c689
KR
10019 * config.in (ENABLE_CHECKING): Undef.
10020
10021 * lisp.h (struct interval): Replace "parent" field with a union of
10022 interval pointer and Lisp_Object; add new bitfield to use as
10023 discriminant. Change other flag fields to bitfields.
10024 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10025 is defined and the supplied test fails, print a message and abort.
10026 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10027
10028 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10029 pointers; abort if the value looks like a lisp object.
52283633
SM
10030 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10031 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10032 Modify for new interval parent definition.
10033
52283633
SM
10034 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10035 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10036 addressable lisp object in the interval structure.
10037 (die): New function.
10038 (suppress_checking): New variable.
10039
10040 * intervals.c (interval_start_pos): Just return 0 if there's no
10041 parent object.
10042
f83c5440
GM
100432000-03-29 Gerd Moellmann <gerd@gnu.org>
10044
10045 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10046 and earlier Emacs versions.
10047
10048 * keyboard.c (Ftop_level): Cancel busy-cursor.
10049
10050 * eval.c (call_debugger): Cancel busy-cursor.
10051
fdce64ff
KH
100522000-03-29 Kenichi Handa <handa@etl.go.jp>
10053
10054 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10055 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10056
f6a3f532
SM
100572000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10058
10059 * regex.c (analyse_first): New function obtained by ripping out most
10060 of re_compile_fastmap and generalizing it a little bit so that it
10061 can also just return whether a given (sub)pattern can match the empty
10062 string or not.
10063 (regex_compile): Use `analyse_first' to decide whether the loop-check
10064 needs to be done or not for *, +, *? and +? (the loop check is costly
10065 for non-greedy repetition).
10066 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10067
e9b309ac
DL
100682000-03-28 Dave Love <fx@gnu.org>
10069
52283633 10070 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10071
e9b309ac
DL
10072 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10073
ed0767d8
SM
100742000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10075
10076 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10077 an expression.
10078 (enum re_opcode_t): Update description of succeed_n.
10079 (PATFETCH): Always define.
10080 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10081 operators, char classes, shy-groups and intervals).
10082 Optimize special cases of intervals so as to only use succeed_n and
10083 jump_n when really needed.
10084 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10085 that we don't have to handle the special cases any more.
10086 Simplify on_failure_jump handling as well.
10087
e11e7e46
JR
100882000-03-28 Jason Rumney <jasonr@gnu.org>
10089
10090 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10091
88faab89
GM
100922000-03-27 Gerd Moellmann <gerd@gnu.org>
10093
182ff242
GM
10094 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10095
10096 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10097
182ff242
GM
10098 * alloc.c (mark_maybe_object): New function.
10099 (mark_memory): Use it.
10100 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10101 (setjmp_tested_p, longjmp_done): New variables.
10102 (test_setjmp): New function.
10103 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10104 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10105
c1005d06
GM
10106 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10107 to DEC_TEXT_POS and INC_TEXT_POS.
10108
10109 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10110 with parameter MULTIBYTE_P.
10111
52283633 10112 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10113
7439e5b9 10114 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10115 buffers because it looks for multibyte character byte sequences
10116 which don't exist in unibyte text.
7439e5b9 10117
d9c545da
GM
10118 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10119
11fd416e 10120 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10121 [DEBUG_X_COLORS]: New functions.
10122 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10123
10124 * xfns.c (x_set_cursor_color): Get color reference counts right.
10125
10126 * xterm.c (x_copy_color): New function.
10127 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10128
10129 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10130 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10131 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10132 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10133 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10134 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10135 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10136 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10137 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10138 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10139
11fd416e
GM
10140 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10141 names for handling per-buffer variables.
d9c545da
GM
10142
10143 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10144 instead of MAX_BUFFER_LOCAL_VARS.
10145 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10146
10147 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10148
88faab89
GM
10149 * xfns.c (x_specified_cursor_type): New function.
10150 (x_set_cursor_type): Use it.
10151
10152 * buffer.h (struct buffer): Add cursor_type.
10153
d80f42b7
SM
101542000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10155
10156 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10157 (print_partial_compiled_pattern, re_compile_fastmap):
10158 Handle new opcode.
d80f42b7
SM
10159 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10160 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10161 executing it as well as when popping it off the stack to find infinite
10162 loops in non-greedy repetition operators.
10163
89e80928
GM
101642000-03-26 Gerd Moellmann <gerd@gnu.org>
10165
3d4ff2dd
GM
10166 * doc.c (Qfunction_documentation): New variable.
10167 (syms_of_doc): Initialize Qfunction_documentation.
10168 (Fdocumentation): If FUNCTION is a symbol with non-nil
10169 `function-documentation' property, return a documentation derived
10170 from that.
10171
bd96bd79
GM
10172 * buffer.c (syms_of_buffer): Add default-cursor-type.
10173 (init_buffer_once): Don't let cursor_type have a local value
10174 in every buffer.
10175
19d1bc27
GM
10176 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10177 on buffer-local value of cursor_type.
10178 (x_draw_bar_cursor): Add parameter WIDTH.
10179
10180 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10181 (init_buffer_once): Set default cursor_type value to t.
10182 Mark cursor_type as local everywhere.
10183 (syms_of_buffer): New per-buffer variable cursor-type.
10184
89e80928
GM
10185 * buffer.h (struct buffer): Remove member local_var_flags,
10186 add local_flags.
10187 (MAX_BUFFER_LOCAL_VARS): New macro.
10188 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10189 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10190 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10191 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10192
52283633 10193 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10194
10195 * category.c (Fset_category_table): Use new macros for per-buffer
10196 variables.
10197
10198 * buffer.c (buffer_permanent_local_flags): Make a char array.
10199 (max_buffer_local_idx): New variable.
10200 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10201 for new handling of per-buffer variables.
10202 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10203 (init_buffer_once): Initialize per-buffer vars differently.
10204 Set max_buffer_local_idx.
10205
10206 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10207 variables.
10208
52283633 10209 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10210
10211 * data.c (do_symval_forwarding, store_symval_forwarding)
10212 (find_symbol_value, set_internal, default_value, Fset_default)
10213 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10214 per-buffer variables.
10215
10216 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10217
9a0dd3dc
GM
102182000-03-24 Gerd Moellmann <gerd@gnu.org>
10219
b68c375f
GM
10220 * xterm.c (x_term_init): Unblock input around call1 of
10221 Qvendor_specific_keysyms.
10222
9a0dd3dc
GM
10223 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10224 (find_defun_start): Consider an open parenthesis in column 0
10225 a defun start only if open_paren_in_column_0_is_defun_start is set.
10226 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10227
7973e637
SM
102282000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10229
10230 * eval.c (Fautoload): Add entry in load-history (if after dump).
10231 * lread.c (load-history): Update docstring.
10232
39210e90
GM
102332000-03-24 Gerd Moellmann <gerd@gnu.org>
10234
10235 * indent.c (Fvertical_motion): Always use the current buffer.
10236 Temporarily change the window's buffer, if necessary.
10237
72db3ab5
GM
102382000-03-23 Gerd Moellmann <gerd@gnu.org>
10239
10240 * xterm.c (fast_find_position): Make sure not to consider rows
10241 not visible in the window.
10242
990b2375
SM
102432000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10244
10245 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10246 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10247
ff4df011
JR
102482000-03-22 Jason Rumney <jasonr@gnu.org>
10249
10250 * w32menu.c (single_submenu): Set help string to NULL if none.
10251 (w32_menu_show): Set help string correctly.
10252 (add-menu-item): Set help string in MIIM_DATA for menu item.
10253 Load SetMenuItemInfoA explicitly.
10254 (w32_menu_display_help): New function.
427ec082 10255
ff4df011
JR
10256 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10257 (QCdata): Moved to xdisp.c.
10258
10259 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10260 (Vw32_charset_to_codepage_alist): Removed.
10261 (Vw32_charset_info_alist): New variable.
52283633
SM
10262 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10263 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10264 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10265 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10266 with TODO comment.
10267 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10268 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10269 Define Vw32_charset_info_alist and w32_charset symbols.
10270
102712000-03-22 Jason Rumney <jasonr@gnu.org>
10272
10273 * makefile.nt (w32bdf.obj): Update dependencies.
10274
10275 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10276
10277 * w32fns.c: Include fontset.h after dispextern.h.
10278 (Fx_create_frame): Do not create fontset.
10279 (w32_load_system_font): Doc fix.
10280 (Fx_close_connection): Free full_name if it is not shared.
10281
10282 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10283 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10284 Callers updated.
ff4df011
JR
10285 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10286 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10287 (w32_font_is_double_byte): New function, needs body.
10288 (x_append_glyph): Set glyph->glyph_not_available_p.
10289 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10290 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10291 character, convert it to a unibyte character.
10292 (struct glyph_string): Delete member `charset'.
10293 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10294 calculating it is found.
10295 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10296 the case that per char metric is not available correctly.
10297 (x_fill_glyph_string): Handle the case that the specific glyph is
10298 not available correctly.
10299 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10300 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10301 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10302 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10303 fontset. Don't call FS_LOAD_FONT.
10304
439d5cb4
KR
103052000-03-22 Ken Raeburn <raeburn@gnu.org>
10306
10307 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10308 (INT_LISPLIKE): New macro.
10309 (NULL_INTERVAL_P): Use it.
52283633
SM
10310 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10311 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10312 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10313
10314 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10315 explicit references to "parent" field of struct interval and
10316 associated unclean type conversions.
52283633
SM
10317 * intervals.c (create_root_interval, root_interval, rotate_right)
10318 (rotate_left, balance_possible_root_interval, split_interval_right)
10319 (split_interval_left, interval_start_pos, find_interval)
10320 (next_interval, previous_interval, update_interval)
10321 (adjust_intervals_for_insertion, delete_node, delete_interval)
10322 (adjust_intervals_for_deletion, merge_interval_right)
10323 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10324 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10325 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10326 Likewise.
10327 * syntax.c (update_syntax_table): Likewise.
10328
10329 * intervals.c (reproduce_tree_obj): New function, like
10330 reproduce_tree but takes a Lisp_Object for the parent. Declare
10331 with prototype.
10332 (graft_intervals_into_buffer): Use it when appropriate.
10333 (reproduce_tree): Declare with prototype.
10334 (balance_possible_root_interval): Check that the parent is a lisp
10335 object before trying to examine its type.
10336
ee1c5b21
GM
103372000-03-22 Gerd Moellmann <gerd@gnu.org>
10338
10339 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10340 as strings only if both are known to be strings.
10341
10342 * s/openbsd.h (LIBS_TERMCAP): Undef.
10343
1fb352e0
SM
103442000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10345
10346 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10347 definitions for non-Emacs compilation.
10348 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10349 outside of `#ifdef emacs'.
10350 (print_partial_compiled_pattern): Update.
10351 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10352 (re_compile_fastmap): Merge handling of charset and charset_not (for
10353 emacs and non-emacs compilation as well).
10354 Similarly for (not)categoryspec and (not)syntaxspec.
10355 Don't use the fastmap when reaching `anychar' since the added
10356 complexity is not justified.
10357 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10358 and (not)syntaxspec. Merge (not)categoryspec.
10359
fdaa1f77
KH
103602000-03-22 Kenichi Handa <handa@etl.go.jp>
10361
52283633
SM
10362 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10363 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10364 --without-x.
fdaa1f77 10365
d152fb46
DL
103662000-03-21 Dave Love <fx@gnu.org>
10367
10368 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10369 doc string.
10370
d2cafc8c
GM
103712000-03-21 Gerd Moellmann <gerd@gnu.org>
10372
10373 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10374 (lface_fully_specified_p): Don't check contents of
10375 LFACE_FONT_INDEX because that attribute is optional.
10376 (realize_x_face): Remove now unwarranted xassert.
10377
9111d4b5
KH
103782000-03-21 Kenichi HANDA <handa@etl.go.jp>
10379
10380 The following changes are to make font selection based on
10381 characters, not charset. In addition, they recover fontset
10382 facilities while utilizing the new font selection mechanism.
10383
6c4bfdc0
KH
10384 * Makefile.in (fontset.o): Depend on dispextern.h.
10385
10386 * alloc.c (mark_face_cache): Don't mark face->registry.
10387
9111d4b5
KH
10388 * dispextern.h (struct glyph): New member glyph_not_available_p.
10389 Use 22 bits for face_id.
10390 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10391 (struct face): Delete member registry, new member ascii_face.
10392 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10393 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10394 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10395 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10396
10397 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10398 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10399 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10400 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10401 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10402 (fs_free_face_fontset, fontset_font_pattern)
10403 (face_suitable_for_char_p, face_for_char)
10404 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10405 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10406 (FS_LOAD_FACE_FONT): New macro.
10407
10408 * fontset.c: All codes rewritten or adjusted for the change of
10409 fontset implementation. Now fontset is represented by char table.
52283633
SM
10410 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10411 Variables removed.
9111d4b5 10412 (my_strcasecmp): Function removed.
52283633 10413 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10414 (AREF, ASIZE): New macros.
52283633
SM
10415 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10416 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10417 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10418 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10419 (fontset_id_valid_p, font_family_registry, fontset_name)
10420 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10421 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10422 New functions.
10423 (fs_load_font): New arg FACE. Caller changed.
10424 (fs_query_fontset): Argument changed. Caller changed.
10425 (Fquery_fontset): call fs_query_fontset.
10426 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10427 Functions removed.
52283633
SM
10428 (clear_fontset_elements, check_registry_encoding)
10429 (check_fontset_name): New functions.
9111d4b5
KH
10430 (syms_of_fontset): Set char-table-extra-slots property of fontset
10431 to 3. Staticpro and initialize Vfontset_table and
10432 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10433
10434 * frame.h (struct frame): Member `fontset_data' removed.
10435 (FRAME_FONTSET_DATA): Macro removed.
10436
10437 * frame.c (make_frame): Don't allocate f->fontset_data.
10438 (Fdelete_frame): Don't free f->fontset_data.
10439
6c4bfdc0
KH
10440 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10441
9111d4b5
KH
10442 * xdisp.c (charset_at_position): Function removed.
10443 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10444 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10445 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10446 Likewise.
10447 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10448 FACE_FOR_CHARSET.
52283633
SM
10449 (get_next_display_element, append_space)
10450 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10451
10452 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10453 Variables removed.
10454 (clear_font_table, frame_update_line_height, load_face_font):
10455 Adjusted for the change of fontset implementation.
10456 (load_face_fontset_font): Function removed.
10457 (pixel_point_size): New function.
10458 (font_list): Argument type changed. Caller changed.
10459 (LFACE_FONT): New macro.
10460 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10461 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10462 Lisp_Object. Determine the font name by actually loading a font
10463 by the specified pattern. Set LFACE_FONT (lface) to the specified
10464 pattern. Even if a font is not found, don't try alternatives.
10465 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10466 (set_font_frame_param): If `font' is specified in lface, use it.
10467 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10468 (lface_same_font_attributes_p): Likewise.
10469 (make_realized_face): Arguent changed. Caller changed. Set
10470 face->ascii_face to face itself.
10471 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10472 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10473 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10474 (free_realized_multibyte_face): New function.
10475 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10476 changed. Caller changed.
10477 (try_font_list): Argument type changed.
10478 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10479 (choose_face_font): Argument changed. Handle fontset properly.
10480 (choose_face_fontset_font): Function removed.
10481 (realize_default_face, realize_named_face): Don't remove the
10482 former face here.
10483 (realize_face): Argument changed. Caller changed. Remove face
52283633 10484 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10485 (realize_x_face): Argument changed. Caller changed. For a
10486 multibyte character, share fontset with base_face. For a single
52283633 10487 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10488 (realize_tty_face): Argument changed. Caller changed.
10489 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10490 (face_at_buffer_position): Don't check multibyte_p for returning
10491 DEFAULT_FACE_ID.
10492 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10493 FACE_SUITABLE_FOR_CHARSET_P.
10494 (syms_of_xfaces): Remove code for Qx_charset_registry and
10495 Vface_default_registry.
10496
6c4bfdc0
KH
10497 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10498 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10499 (x_per_char_metric): Don't try FONT->default_char. Even if
10500 pcm->width is zero, glyph bits may exist.
10501 (x_encode_char): Always initialize char2b->byte1.
10502 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10503 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10504 (x_append_glyph): Set glyph->glyph_not_available_p.
10505 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10506 it->charset. Handle the case that per char metric is not
10507 available. If it->multibyte_p is zero and it->c is a multibyte
10508 character, convert it to a unibyte character.
10509 (struct glyph_string): Delete member `charset'.
10510 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10511 the case that per char metric is not available correctly.
10512 (x_fill_glyph_string): Handle the case that the specific glyph is
10513 not available correctly.
10514 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10515 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10516 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10517 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10518 fontset. Don't call FS_LOAD_FONT.
10519
10520 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10521 (x_create_tip_frame): Likewise.
10522 (Fx_close_connection): Free full_name of font_info.
10523
10524 * fns.c (optimize_sub_char_table): New function.
10525 (Foptimize_char_table): New function.
10526 (syms_of_fns): Defsubr Soptimize_char_table.
10527
b33dd3b0
GM
105282000-03-20 Gerd Moellmann <gerd@gnu.org>
10529
10530 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10531 only if buffer is displayed in some window.
10532
10533 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10534 (try_window_reusing_current_matrix): Don't call scroll run
10535 function if run's current and desired position are the same;
10536 this prevents cursor flickering.
10537
4e8a9132
SM
105382000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10539
10540 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10541
10542 * regex.c (RE_STRING_CHAR): New macro.
10543 (GET_CHAR_AFER_2): Remove.
10544 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10545 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10546 (print_partial_compiled_pattern, re_compile_fastmap)
10547 (re_match_2_internal): Remove on_failure_jump_exclusive.
10548 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10549 optimization only need to work for * (ie. can use of_keep_string_jump).
10550 Remove the special case for .*\n since it is now covered by the general
10551 optimization.
10552 (re_search_2): Don't bother with `room'.
10553 (skip_one_char): New function.
10554 (skip_noops): Simplify since `memory' is not needed any more.
10555 (mutually_exclusive_p): Restructure slightly to use `switch' and
10556 add handling for "all" remaining cases.
10557 (re_match_2_internal): Change on_failure_jump_smart to use
10558 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10559 rather than on_failure_jump_exclusive.
10560
2136fdd4
GM
105612000-03-19 Gerd Moellmann <gerd@gnu.org>
10562
10563 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10564 number of bits per RGB because it's everywhere used as the depth
10565 of the visual.
10566
10567 * term.c (calculate_costs): Remove code dealing with X frames.
10568
18e21ce8 105692000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10570
10571 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10572
d7b511c4
GM
105732000-03-18 Gerd Moellmann <gerd@gnu.org>
10574
10575 * lread.c (read_integer): Unread the last char not consumed.
10576
16b5d424
GM
105772000-03-17 Gerd Moellmann <gerd@gnu.org>
10578
10579 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10580 which are in the process of being deleted.
16b5d424 10581
1fa28578
GM
105822000-03-16 Gerd Moellmann <gerd@gnu.org>
10583
83488cce
GM
10584 * Makefile.in (mostlyclean): Add `*.core'.
10585 (clean): Add `bootstrap-emacs'.
10586
1fa28578
GM
10587 * lread.c (read_integer): New function.
10588 (read1): Support read syntax #o, #x, #b, #r.
10589
99633e97
SM
105902000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10591
1fa28578
GM
10592 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10593 make sure POINTER_TO_OFFSET gives the same value before and after
10594 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10595 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10596 (debug): Now only active if > 0 rather than if != 0.
10597 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10598 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10599 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10600 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10601 (store_op1, store_op2, insert_op1, insert_op2)
10602 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10603 (group_in_compile_stack): Move to after its arg's types are
10604 declared and add a prototype.
99633e97 10605 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10606 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10607 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10608 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10609 indentation of the greedy-op and shy-group code.
99633e97
SM
10610 (at_(beg|end)line_loc_p): Fix argument's types.
10611 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10612 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10613 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10614 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10615 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10616 QUIT unconditionally.
99633e97 10617
699238d9
GM
106182000-03-15 Gerd Moellmann <gerd@gnu.org>
10619
10620 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10621 a sole completion.
10622
10623 * process.c (send_process): Add a hint that the function
10624 can call Lisp code to its comment.
10625
10626 * lread.c (load_dangerous_libraries): New variable.
10627 (Vbytecomp_version_regexp): New variable.
10628 (safe_to_load_p): New function.
10629 (Fload): Handle files not compiled with Emacs specially.
10630 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10631
34e23e5a
GM
106322000-03-14 Gerd Moellmann <gerd@gnu.org>
10633
9c763cca
GM
10634 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10635
10636 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10637 support functions only if HAVE_X11R6_XIM is defined.
10638 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10639
10640 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10641
10642 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10643 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10644 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10645
10646 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10647 (HAVE_X11R6_XIM): Define.
10648
10649 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10650
34e23e5a
GM
10651 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10652 If set, call XSynchronize.
10653
66f0296e
SM
106542000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10655
34e23e5a
GM
10656 * regex.c: Declare a new type `re_char' used throughout the code
10657 for the string char type. It's `const unsigned char' to match the
10658 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10659 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10660 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10661 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10662 code duplication.
66f0296e
SM
10663
10664 * charset.h (GET_CHAR_AFTER_2): Remove.
10665 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10666
854a025c
KR
106672000-03-12 Ken Raeburn <raeburn@gnu.org>
10668
10669 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10670 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10671 of them try to use backquotes.
10672
b9d2c7e2
DL
106732000-03-12 Dave Love <fx@gnu.org>
10674
10675 * unexelf.c: Restore changes of 1999-10-19.
10676 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10677 fix its type and alignment; copy it from current process.
10678
5e5dff44
GM
106792000-03-12 Gerd Moellmann <gerd@gnu.org>
10680
9b2f3c38
GM
10681 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10682 has been found. Fix bug not computing timer's predecessor.
10683
427ec082 10684 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10685 file name.
10686
e1cff360
GM
10687 * window.c (Fsave_window_excursion): Doc fix.
10688
52283633 10689 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10690
e411ce4b
EZ
106912000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10692
10693 * msdos.c (vga_installed): New function, code moved from
10694 dos_set_window_size.
10695 (Qbar, Qcursor_type, outside_cursor): New variables.
10696 (syms_of_msdos): Intern and staticpro them.
10697 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10698 shape used outside Emacs when called for the first time.
10699 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10700 cursor shape used outside Emacs.
10701 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10702 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10703 type has changed.
10704 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10705 parameters specify the cursor. Make qreverse a global
10706 variable (renamed to Qreverse).
10707
80460654
GM
107082000-03-09 Gerd Moellmann <gerd@gnu.org>
10709
10710 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10711
95cd4c40
SM
107122000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10713
10714 This is a big redesign of failure-stack and register handling, prompted
10715 by bugs revealed when trying to add shy-groups. Overall, what happened
10716 is that loops are now structured a little differently, groups can be
10717 shy and the code is a little simpler.
10718
10719 * regex.h: Update the copyright.
10720 (RE_SHY_GROUPS): New value.
10721 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10722 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10723
80460654
GM
10724 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10725 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10726 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10727 for (start|stop)_memory since they now only take one argument (the
10728 second has becomes unnecessary).
52283633 10729 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10730 (print_compiled_pattern): Use %ld to printf long ints and flush to
10731 make debugging a little easier.
95cd4c40
SM
10732 (union fail_stack_elt): Make the integer unsigned.
10733 (struct fail_stack_type): Add a `frame' element.
10734 (INIT_FAIL_STACK): Init `frame' as well.
10735 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10736 (DEBUG_PUSH, DEBUG_POP): Remove.
10737 (NUM_REG_ITEMS): Remove.
10738 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10739 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10740 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10741 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10742 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10743 New macros.
80460654
GM
10744 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10745 address pushed is not the destination of the jump but the source
10746 of it instead.
95cd4c40
SM
10747 (NUM_FAILURE_ITEMS): Remove.
10748 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10749 registers before the actual failure point). Don't hardcode any
10750 meaning for str==NULL anymore.
95cd4c40 10751 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10752 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10753 Remove.
95cd4c40
SM
10754 (REG_UNSET_VALUE): Use NULL (why not?).
10755 (compile_range): Remove declaration since it doesn't exist.
10756 (struct compile_stack_elt_t): Remove inner_group_offset.
10757 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10758 (regex_grow_registers): Remove dead code.
10759 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10760 (regex_compile): Add shy-groups Change loops to use
10761 on_failure_jump_smart&jump instead of
10762 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10763 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10764 variable to me). Use `jump' instead of `jump_past_alt' and don't
10765 bother with push_dummy_failure in alternatives since it is now
10766 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10767 emacs' for (re)allocating the stack.
10768 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10769 from loop when bufp->can_be_null rather than jumping to `done'.
10770 Avoid jumping backwards so as to ensure termination. Use
10771 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10772 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10773 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10774 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10775 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10776 (lowest_active_reg, highest_active_reg)
10777 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10778 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10779 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10780 variables. Push register (in `start_memory') on the stack rather
10781 than storing it in old_reg(start|end). Remove the cycle detection
10782 from `stop_memory', replaced by the use of on_failure_jump_loop
10783 for greedy loops. Add code for the new on_failure_jump_<foo>.
10784 Remove ad-hoc code in `on_failure_jump' to push more registers in
10785 the case of a loop. Take out code from `maybe_pop_jump' into
10786 separate functions and adapt it to the semantics of
10787 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10788 and push_dummy_failure. Remove dummy_failure handling and
10789 handling of `failures to jump to on_failure_jump' (this last one
10790 was already dead code, it seems).
10791 (group_match_null_string_p, alt_match_null_string_p)
10792 (common_op_match_null_string_p): Remove.
95cd4c40 10793
7397acc4
DL
107942000-03-08 Dave Love <fx@gnu.org>
10795
10796 * config.in: Don't depend on __STDC__ for volatile.
10797 Add POINTER_TYPE, PTR, PROTOTYPES.
10798
10799 * hftctl.c, strftime.c: Use PROTOTYPES.
10800 * eval.c (find_handler_clause): Likewise.
10801
10802 * mem-limits.h: Use POINTER_TYPE.
10803
10804 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10805 (memory_warnings): Declare using POINTER_TYPE.
10806
5e91ff9e
GM
108072000-03-08 Gerd Moellmann <gerd@gnu.org>
10808
feab4fba
GM
10809 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10810
52283633 10811 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10812
5e91ff9e
GM
10813 * xfns.c: Remove obsolete code in #if 0.
10814 (Fx_focus_frame): New function.
10815
a735b7e1
KH
108162000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10817
10818 * coding.c (coding_category_name): Add coding-category-utf-8,
10819 coding-category-utf-16-be, coding-category-utf-16-le.
10820 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10821 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10822 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10823 (detect_coding_utf_8): New function.
10824 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10825 UTF_16_LOW_SURROGATE_P): New macros.
10826 (detect_coding_utf_16): New function
10827 (detect_coding_mask): When priorities are specified, skip any
10828 categories that have `nil' coding-system. Fix bug of returning
10829 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10830 returns a mask not set in PRIORITIES.
10831 (detect_eol_type_in_2_octet_form): New function.
10832 (detect_eol): selects detect_eol_type_XXX to call according to
10833 cooding->category_idx.
10834 (detect_coding_system): Remove `nil' coding-system in the result.
10835 (Fupdate_coding_systems_internal): Update all coding-categories.
10836
52283633
SM
10837 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10838 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10839 New macros.
10840 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10841 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10842 (CODING_CATEGORY_IDX_UTF_16_LE)
10843 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10844 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10845 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10846 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10847
9994cc69
GM
108482000-03-07 Gerd Moellmann <gerd@gnu.org>
10849
e9b4e5ff
GM
10850 * doc.c (Fdocumentation_property): If value is not a string,
10851 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10852
f7daf1e1
GM
10853 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10854 close the display with XtCloseDisplay. This caused a bus error
10855 on OpenWindows.
10856
9994cc69
GM
10857 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10858 complete but not unique.
10859
4336c705
GM
108602000-03-06 Gerd Moellmann <gerd@gnu.org>
10861
18bb0684
GM
10862 * process.c (send_process): Remove local variable `procname' that
10863 might become invalid when a GC happens. Instead, access the
10864 process name slot directly.
10865
4336c705
GM
10866 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10867 orig_height if set.
10868
10869 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10870 orig_height if set.
10871
515d0d0e
EZ
108722000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10873
10874 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10875 glyph matrices have been freed.
10876
100b3cbb
GM
108772000-03-05 Gerd Moellmann <gerd@gnu.org>
10878
50df5e5a 10879 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10880 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10881
10882 * xfns.c (QCdata): Moved to xdisp.c.
10883
10884 * xdisp.c (QCdata): Moved here from xfns.c.
10885 (syms_of_xdisp): Initialize QCdata.
10886
10887 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10888
10889 * window.c (coordinates_in_window): Use
10890 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10891 FRAME_INTERNAL_BORDER_WIDTH.
10892
100b3cbb 10893 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10894 it is obviously invalid.
100b3cbb
GM
10895
10896 * xterm.c (x_term_init): Create a colormap if not using the
10897 default visual.
10898
10899 * xterm.h (select_visual): Change prototype.
10900
10901 * xfns.c (select_visual): Rewritten. Recognize user-specified
10902 visual classes.
10903 (visual_classes): New variable.
10904
64d739c4
GM
109052000-03-04 Gerd Moellmann <gerd@gnu.org>
10906
10907 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10908 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10909 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10910 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10911 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10912 XtNcolormap resources.
10913 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10914 (Fx_create_frame): Initialize color members of x_output structure.
10915 (xpm_load): Pass colormap to XPM lib.
10916
10917 * xfaces.c (x_free_colors): Access colormap of frame using
10918 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10919 when default colormap is used.
10920
10921 * xterm.c (x_term_init): Set Colormap member of x_display_info
10922 structure. Copy colormap if resource `privateColormap' is
10923 specified (PseudoColor only).
10924 (x_setup_relief_color): Access colormap of frame using
10925 FRAME_X_COLORMAP.
10926
10927 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10928 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10929
c3cee013
JR
109302000-03-04 Jason Rumney <jasonr@gnu.org>
10931
10932 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10933 other non-platform-specific equivalents.
64d739c4 10934 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10935 specific functions and macros as their w32 equivalents where
10936 non-platform-specifics are not available.
10937 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10938 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10939 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10940 (frame_update_line_height): Use macros to access f->output_data.
10941 (defined_color): Remove FIXME comments; fixed.
10942 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10943 into #ifdef blocks. Add WINDOWSNT blocks.
10944 (Fx_list_fonts): Use macros for accessing font data.
10945 (set_lface_from_font_name): Different default fonts for X and
10946 WINDOWSNT.
10947 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10948 scalable for backward compatibility.
64d739c4 10949 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10950 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10951
64d739c4 10952 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10953 syms_of_w32faces.
10954
10955 * makefile.nt (w32faces.obj): Remove.
10956 (xfaces.obj): Add.
10957
807cc41c
JR
109582000-03-03 Jason Rumney <jasonr@gnu.org>
10959
10960 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10961 correct parameters.
10962
0007072a
KR
109632000-03-03 Ken Raeburn <raeburn@gnu.org>
10964
10965 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10966 standard ELF definitions here if the system header does not.
10967
71a6ba55
GM
109682000-03-03 Gerd Moellmann <gerd@gnu.org>
10969
10970 * xterm.c (PER_CHAR_METRIC): Removed.
10971 (x_per_char_metric_1, x_default_char): New functions.
10972 (x_per_char_metric): If font's default char is invalid, return
10973 metrics of a suitably chosen usable default char.
10974 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10975 char, replace occurrences of unprintable chars with a suitably
10976 chosen usable default char.
71a6ba55 10977
900fa1f1
GM
109782000-03-02 Gerd Moellmann <gerd@gnu.org>
10979
42f55fe0
GM
10980 * xterm.c (note_mouse_highlight): Return quickly if frame's
10981 glyph matrices have been freed.
10982
10983 * dispnew.c (free_glyphs): Block input while freeing matrices.
10984
900fa1f1
GM
10985 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10986
52283633
SM
10987 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10988 Use x_free_colors.
900fa1f1
GM
10989
10990 * dispextern.h (x_free_colors): Add prototype.
10991
10992 * xfaces.c (x_free_colors): New function.
10993 (unload_color, free_face_colors): Use it.
10994
2f950292
EZ
109952000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10996
10997 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10998
10999 * window.c [MSDOS]: Include msdos.h.
11000
54d04320
DL
110012000-03-02 Dave Love <fx@gnu.org>
11002
11003 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11004
11005 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11006 set C_OPTIMIZE_SWITCH for gcc.
11007
0ba93ac4
KH
110082000-03-02 Kenichi Handa <handa@etl.go.jp>
11009
11010 * coding.c (coding_save_composition): Be sure to allocate
11011 composition data area in coding even if there's no composition in
11012 the current run.
11013
a2bc11d4
JR
110142000-03-01 Jason Rumney <jasonr@gnu.org>
11015
11016 * w32term.c: Equivalent changes to those made to xterm.c on
11017 2000-02-25 and 2000-02-24.
11018
11019 * w32fns.c: Equivalent changes to those made to xfns.c on
11020 2000-02-25 and 2000-02-21.
11021
11022 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11023 correct line-end convention is followed.
11024
11025 * w32menu.c [HAVE_BOXES]: Remove #undef.
11026 (single_keymap_panes): Remove code for simulating checkmarks.
11027 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11028 Remove code for drawing simulated checkmarks.
11029 (w32_menu_show): make unibyte help string correctly.
11030 (add_menu_item): draw standard Windows checkmarks. Draw radio
11031 buttons as radio buttons if possible.
11032
72d19d75
GM
110332000-03-01 Gerd Moellmann <gerd@gnu.org>
11034
2df636f4
GM
11035 * sysdep.c (start_of_text): Don't define this function for NetBSD
11036 with ELF.
11037
427ec082 11038 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11039 Don't define.
11040 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11041 (LINKER): Don't undef if __NetBSD__ is defined.
11042
11043 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11044
11045 * fileio.c [__NetBSD__]: Define `unix'.
11046
72d19d75
GM
11047 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11048
ed4d0512
GM
110492000-02-29 Gerd Moellmann <gerd@gnu.org>
11050
50b1039f
GM
11051 * atimer.c (start_atimer): Don't abort when timers are stopped.
11052 (append_atimer_lists): New function.
11053 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11054 arbitrary lists of stopped and running atimers.
11055
ed4d0512
GM
11056 * atimer.c (cancel_atimer): Handle canceling an atimer when
11057 some timers are stopped.
11058
11059 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11060 after canceling it.
11061
11062 * fns.c (maybe_resize_hash_table): Handle case of new size
11063 coming out as being the same as old size.
11064
387023ee
JR
110652000-02-27 Jason Rumney <jasonr@gnu.org>
11066
11067 * makefile.nt: Add atimer.h to dependencies.
11068 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11069 * w32console.c: Only disable window system features for dispextern.h
11070 (initialize_w32_display): Build a display info for the console.
11071 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11072 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11073 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11074 as 2 button mice.
11075 * w32gui.h (struct W32FontStruct): Revert last change after change
11076 to xdisp.c.
11077 * w32menu.c (single_submenu): Set up help string.
11078 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11079 (w32_dialog_show): Set up help string.
11080 * w32term.c (w32_display_info_for_display): Remove unused function.
11081 (w32_draw_bitmap): Use pre-built bitmaps.
11082 (w32_initialize_display_info): New function to initialize parts of
11083 display info that are common to both GUI and console frames.
11084 (w32_term_init): Use w32_initialize_display_info. Do not set
11085 Vw32_num_mouse_buttons here, as it is not called for console
11086 frames. Build bitmaps for indicating truncated lines etc.
11087 (x_delete_display): Destroy pre-built bitmaps.
11088 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11089 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11090
4516715a
DL
110912000-02-27 Dave Love <fx@gnu.org>
11092
11093 * lisp.h: Add a bunch of prototypes.
11094
171ca836
KH
110952000-02-26 Kenichi Handa <handa@etl.go.jp>
11096
11097 * keyboard.c (read_char): Set `usec' correctly.
11098
4013921d
KH
110992000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11100
11101 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11102 `lambda', set reg[RRR] to the map index.
11103 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11104 reg[RRR] to 0. Otherwise, set it to -1.
11105
9244a058
GM
111062000-02-25 Gerd Moellmann <gerd@gnu.org>
11107
2df636f4 11108 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11109
18e21ce8 111102000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11111
f43d79c1
GM
11112 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11113 and contains a `:', prepend `/:'.
11114
11115 * window.c (select_window_1): If selected_window is nil,
11116 don't "swap out" the buffer's point.
11117 (Fset_window_configuration): Set selected_window to nil
11118 before calling Fselect_window.
11119 (unshow_buffer): Don't set point in buffer from window's point
11120 if another more recently selected window also shows the buffer.
11121
bed0c171
GM
111222000-02-25 Gerd Moellmann <gerd@gnu.org>
11123
449c3c52
GM
11124 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11125
f5b58615
GM
11126 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11127 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11128 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11129 New variables.
f5b58615
GM
11130 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11131 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11132 (hide_busy_cursor): New functions.
11133 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11134
11135 * minibuf.c (read_minibuf): Cancel busy-cursor.
11136
11137 * keyboard.c (command_loop_1): Call start_busy_cursor before
11138 Fcommand_execute and cancel_busy_cursor after it.
11139 (timer_check): Remove busy-cursor code.
11140 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11141 cursor timer.
11142
11143 * process.c (wait_reading_process_input): Remove busy-cursor code.
11144
11145 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11146 Fx_hide_busy_cursor.
11147
11148 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11149 Remove prototyoes.
11150 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11151
11152 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11153
11154 * xterm.c (XTread_socket): Remove busy-cursor code.
11155
4eb8436f
GM
11156 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11157 (build_frame_matrix_from_leaf_window): Put code handling
11158 glyph row's not being a slice of a frame row in #if 0.
11159 (sync_window_with_frame_matrix_rows): New function.
11160 (frame_row_to_window): New function.
11161 (mirror_line_dance): Handle copies between windows.
11162
3cb65b0e
GM
11163 * lread.c (Fload): Use `xfree' instead of `free'.
11164 (init_obarray): Use `xmalloc' instead of `malloc'.
11165
bed0c171
GM
11166 * window.c (Fset_window_buffer): Set WINDOW to the window
11167 after decoding.
2add4349
GM
11168 (coordinates_in_window): Take frame's internal border width
11169 into account.
bed0c171 11170
42088c12
GM
111712000-02-24 Gerd Moellmann <gerd@gnu.org>
11172
11173 * xterm.c (x_display_and_set_cursor): Display cursor of
11174 non-selected windows depending on the setting of
11175 cursor_in_non_selected_windows.
11176
11177 * xdisp.c (cursor_in_non_selected_windows): New variable.
11178 (syms_of_xdisp): DEFVAR_BOOL it.
11179
d1e103b2
GM
111802000-02-23 Gerd Moellmann <gerd@gnu.org>
11181
723e779c
GM
11182 * data.c (Fstring_to_number): If number is greater than what
11183 fits into an integer, return a float.
11184
d1e103b2
GM
11185 * eval.c (specbind): Remove references to
11186 keyword_symbols_constant_flag.
11187
11188 * data.c (keyword_symbols_constant_flag): Removed.
11189 (Fmakunbound, set_internal, syms_of_data): Remove references to
11190 keyword_symbols_constant_flag.
11191
11192 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11193
214f877f
KH
111942000-02-23 Kenichi Handa <handa@etl.go.jp>
11195
11196 * syntax.c (multibyte_syntax_as_symbol): New variable.
11197 (syms_of_syntax): Declare it as a Lisp variable.
11198 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11199 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11200 nonzero, treat all multibyte characters as symbol.
52283633 11201 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11202
130adcb7
EZ
112032000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11204
3cb65b0e 11205 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11206 a deleted frame.
130adcb7 11207
17cbbf95
GM
112082000-02-21 Gerd Moellmann <gerd@gnu.org>
11209
11210 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11211
11212 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11213 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11214
beb0bc36
DL
112152000-02-21 Dave Love <fx@gnu.org>
11216
11217 * frame.c (Vmouse_position_function): New variable.
11218 (Fmouse_position): Use it.
11219 (syms_of_frame): Install it.
11220
11221 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11222
1d92afcd
GM
112232000-02-20 Gerd Moellmann <gerd@gnu.org>
11224
11225 * fileio.c (Finsert_file_contents): Unbind the binding of
11226 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11227
11228 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11229 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11230 (specbind, unbind_to): Handle most common case of non-constant
11231 symbol with trivial value specially.
11232
11233 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11234
18e21ce8 112352000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11236
11237 * data.c (Fmake_variable_buffer_local): Doc fix.
11238 Init found_for_buffer to 0.
11239 (Fmake_variable_frame_local): If the variable has already
11240 been buffer-local, set the check_frame field.
11241
1d4311c3
EZ
112422000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11243
11244 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11245 produced for CODING_MODE_LAST_BLOCK requires.
11246
2dc95ddd
DL
112472000-02-18 Dave Love <fx@gnu.org>
11248
11249 * keyboard.c (echo_keystrokes): Remove declaration.
11250 (Vecho_keystrokes) New variable.
11251 (read_char, record_menu_key, read_key_sequence): Use it to allow
11252 use of float value.
11253 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11254
11255 * lread.c: Undef feature selection macros before defining.
11256
f0930f35
GM
112572000-02-18 Gerd Moellmann <gerd@gnu.org>
11258
11259 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11260 for symbols other than the symbol in question.
11261
e3d4de90
DL
112622000-02-17 Dave Love <fx@gnu.org>
11263
11264 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11265
0b378936
GM
112662000-02-17 Gerd Moellmann <gerd@gnu.org>
11267
d621caf7
GM
11268 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11269
0b378936
GM
11270 * alloc.c (enum mem_type): Compile unconditionally.
11271
3b451f74
EZ
112722000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11273
11274 * xfaces.c (tty_defined_color): Don't return faulire indication
11275 for unspecified-fg and unspecified-bg pseudo-colors.
11276
10689a01
GM
112772000-02-17 Gerd Moellmann <gerd@gnu.org>
11278
1216f5e4
GM
11279 * alloc.c (mark_object): Don't mark symbol names in pure space.
11280 (gc_sweep): Don't unmark symbol names in pure space.
11281
11282 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11283 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11284 [GC_MARK_STACK]: New defines.
427ec082 11285 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11286 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11287
11288 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11289
11290 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11291 allocate_buffer instead of xmalloc.
11292
11293 * alloc.c (toplevel): Include setjmp.h.
11294 (PURE_POINTER_P): New define.
11295 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11296 (Vdead) [GC_MARK_STACK]: New variable.
11297 (lisp_malloc): Add parameter TYPE, call mem_insert if
11298 GC_MARK_STACK is defined.
11299 (allocate_buffer): New function.
427ec082 11300 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11301 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11302 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11303 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11304 (MEM_NIL) [GC_MARK_STACK]: New define.
11305 (struct mem_node) [GC_MARK_STACK]: New structure.
11306 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11307 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11308 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11309 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11310 (mark_stack) [GC_MARK_STACK]: New functions.
11311 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11312 (clear_marks): Removed.
11313 (gc_sweep): Set free conses' car, free floats' type, free
11314 symbols' function to Vdead. Use lisp_free to free buffers.
11315 (init_alloc_once): Initialize Vdead.
11316 (survives_gc_p): Return non-zero for pure objects.
11317
11318 * alloc.c: Add comments throughout the file.
11319
2503c8b1
GM
11320 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11321 that unblocks alarms.
11322
8389e1e2
GM
11323 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11324 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11325 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11326
10689a01 11327 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11328
bfc17d18
KH
113292000-02-17 Kenichi Handa <handa@etl.go.jp>
11330
4a09dee0
KH
11331 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11332 avoid infinite error signaling. Allocate sufficient memory for
11333 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11334
2b927d02
SM
113352000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11336
11337 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11338 depends on the previous behavior.
11339
b49cb764
GM
113402000-02-16 Gerd Moellmann <gerd@gnu.org>
11341
11342 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11343
99e95407
GM
113442000-02-15 Gerd Moellmann <gerd@gnu.org>
11345
11346 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11347
11348 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11349 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11350 write(2).
11351
6ffd3cf7
RS
113522000-02-15 Richard M. Stallman <rms@gnu.org>
11353
11354 * data.c (set_internal): Don't make variable buffer-local
11355 if within a let-binding for the same buffer.
11356 (let_shadows_buffer_binding_p): New function.
11357
11358 * eval.c (specbind): For buffer-local value,
11359 record the current buffer also.
11360 (unbind_to): Cope with that change.
11361
cad53475
GM
113622000-02-15 Gerd Moellmann <gerd@gnu.org>
11363
11364 * window.c (Fsave_window_excursion): Doc fix.
11365
1aa963c8
SM
113662000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11367
11368 * syntax.c (back_comment): Make sure we only consider comment-starters
11369 of the relevant style and return -1 in case of a failure to find the
11370 beginning of the comment.
11371 (Fforward_comment): If back_comment fails, go back to the position just
11372 after the comment-end.
11373 (scan_lists): Add comment describing a very minor bug.
11374
b9b84fd3
SM
113752000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11376
11377 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11378 `completion-regexp-list' in the docstring.
11379
3a28db80
DL
113802000-02-14 Dave Love <fx@gnu.org>
11381
11382 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11383
fb4a568d
SM
113842000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11385
11386 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11387 to Emacs' syntax. Also fix the comment about set/not-set meanings
11388 since Emacs syntax is not the value 0 any more.
11389 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11390 since it's now part of RE_SYNTAX_EMACS.
11391
1063ebb5
DL
113922000-02-12 Dave Love <fx@gnu.org>
11393
52283633 11394 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11395
fb07a302
GM
113962000-02-12 Gerd Moellmann <gerd@gnu.org>
11397
11398 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11399
aaf2320c
DL
114002000-02-12 Dave Love <fx@gnu.org>
11401
11402 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11403
11404 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11405 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11406 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11407
11408 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11409
11410 * s/nextstep.h: Don't define HAVE_ALLOCA.
11411
11412 * config.in: Add vfork bits.
11413
eedf8bde
GM
114142000-02-12 Gerd Moellmann <gerd@gnu.org>
11415
11416 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11417 unwind function to undo the effect of stopping atimers.
11418
52283633 11419 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11420
11421 * atimer.c (stopped_atimers): New variable.
11422 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11423 New functions.
11424
11425 * atimer.h (stop_other_atimers, run_all_atimers)
11426 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11427
eedf8bde
GM
11428 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11429
8476c2f8
KR
114302000-02-11 Ken Raeburn <raeburn@gnu.org>
11431
11432 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11433 library may depend on jpeg.
11434 (atimer.o): Depends on atimer.c.
11435
0e85e4a3
KH
114362000-02-11 Kenichi Handa <handa@etl.go.jp>
11437
11438 * insdel.c (del_range_1): Call update_compositions.
11439 (del_range_both): Call update_compositions just once..
11440
97fa0cc8
DL
114412000-02-10 Dave Love <fx@gnu.org>
11442
11443 * xfns.c (create_frame_xic): Fix initialization of automatic
11444 aggregates for pcc.
11445
25566a3c
KH
114462000-02-09 Kenichi Handa <handa@etl.go.jp>
11447
11448 * ccl.c (CCL_MAKE_CHAR): New macro.
11449 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11450 registers by CCL_MAKE_CHAR before calling translate_char.
11451 <CCL_TranslateCharacterConstTbl> Likewise.
11452
69da54ba
DL
114532000-02-08 Dave Love <fx@gnu.org>
11454
11455 * lread.c (__EXTENSIONS__): Define.
11456
f7136ee8
GM
114572000-02-08 Gerd Moellmann <gerd@gnu.org>
11458
11459 * puresize.h (BASE_PURESIZE): Increase to 650000.
11460
7768790b
EZ
114612000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11462
11463 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11464 the help message.
11465
38fd211b
EZ
114662000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11467
11468 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11469 md, mh, mb, mr, and me to the fake termcap entry.
11470
66e4690f
KR
114712000-02-06 Ken Raeburn <raeburn@gnu.org>
11472
11473 * sound.c (sound_cleanup): Don't call device close routine if the
11474 function pointer is null.
11475
a75dfea0
AI
114762000-02-06 Andrew Innes <andrewi@gnu.org>
11477
11478 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11479 around image definitions and prototypes.
11480 (gamma_correct) [WINDOWSNT]: New prototype.
11481
11482 * w32term.c (x_make_frame_visible): Replace call to
11483 input_poll_signal with poll_for_input.
11484
11485 * window.c [WINDOWSNT]: Include w32term.h.
11486
11487 * xdisp.c [WINDOWSNT]: Include w32term.h.
11488
11489 * makefile.nt: Add dependencies on w32gui.h.
11490 (OBJ1): Include atimer.obj.
11491 ($(BLD)\atimer.obj): New dependency rule.
11492
11493 * w32.c (sigmask): New function (does nothing).
11494 (sigunblock): Ditto.
11495
11496 * frame.c [WINDOWSNT]: Include w32term.h.
11497
11498 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11499
11500 * lread.c (syms_of_lread): Fix literal newlines.
11501
11502 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11503 the string constant limit (2048 bytes) in MSVC.
11504 (main): Ditto.
11505
59ddecde
GM
115062000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11507
52283633 11508 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11509 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11510 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11511 dispatch the event.
11512
07590973
DL
115132000-02-04 Dave Love <fx@gnu.org>
11514
11515 * fileio.c: Remove some unused vars.
11516 (_GNU_SOURCE): Define (for euidaccess).
11517
11518 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11519
11520 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11521 gcpro1, gcpro2.
11522 (read_minibuf): Deal with allow_props correctly.
11523
649351f9
EZ
115242000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11525
11526 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11527
66e4690f 115282000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11529
11530 * search.c (compile_pattern): If a cache entry has a nil regexp,
11531 fill in that entry instead of clobbering a previously cached
11532 string regexp.
11533
66e4690f 115342000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11535
11536 * puresize.h (BASE_PURESIZE): Increase to 610000.
11537
d240a249
GM
115382000-02-02 Gerd Moellmann <gerd@gnu.org>
11539
11540 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11541 can GC.
11542
ca91fb26
KH
115432000-02-02 Kenichi Handa <handa@etl.go.jp>
11544
25660570
KH
11545 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11546 instead of incrementing ic directly.
11547 <CCL_WriteExprConst> Likewise.
11548 <ccl_set_expr>: Set ic to jump_address.
11549
ca91fb26
KH
11550 * fileio.c (e_write): Fix the handling of
11551 CODING_FINISH_INSUFFICIENT_SRC.
11552
2ede9689
DL
115532000-02-01 Dave Love <fx@gnu.org>
11554
11555 * editfns.c (Fpropertize): Doc fix.
11556
11557 * process.c (Fstart_process): Doc fix.
11558
11559 * eval.c: Fix various doc strings not to duplicate information
11560 from help-manyarg-func-alist.
11561
52283633 11562 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11563
11564 * doc.c (Vhelp_manyarg_func_alist): New variable.
11565 (Fdocumentation): Use it.
11566 (syms_of_doc): Define it.
11567
b6680a0e
GM
115682000-01-31 Gerd Moellmann <gerd@gnu.org>
11569
2cb750ba
GM
11570 * xterm.c (xim_open_dpy): Remove unused local variable.
11571
52283633 11572 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11573
11574 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11575 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11576
b6680a0e
GM
11577 * fns.c (sweep_weak_table): New function.
11578 (sweep_weak_hash_tables): Use it. Keep on marking until there
11579 is no more change.
11580
994c5afe
GM
115812000-01-30 Gerd Moellmann <gerd@gnu.org>
11582
11583 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11584 that XTread_socket does not crash by trying to call XNoOp on a
11585 closed display.
427ec082 11586
f00276e3
JR
115872000-01-30 Jason Rumney <jasonr@gnu.org>
11588
11589 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11590 Change selected_frame to SELECTED_FRAME ().
11591 (w32_console_mouse_position): Remove #ifndef MULE from around
11592 `insist' parameter.
11593
11594 * makefile.nt: Remove dosfns.obj.
11595
11596 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11597
11598 * w32fns.c (w32_defined_color): Check for valid frame before
11599 applying gamma correction. Eliminate dependency on frame elsewhere.
11600 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11601 (w32_to_x_font): Use resx and resy not height_in and width_in.
11602 (x_to_w32_font): Doc fix.
11603 (xlfd_strip_height): New function to strip and return font height.
11604 (w32_font_match): Compare height separately from rest of xlfd
11605 spec, using xlfd_strip_height.
11606
11607 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11608 width_in. Use w32_defined_color in place of defined_color.
11609
11610 * w32faces.c: Merge more of DOS and X specifics in preparation for
11611 merge with xfaces.c.
11612 (defined_color): Remove FIXME comment.
11613 (tty_color_name): Provide w32-specific function.
11614 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11615
11616 * w32console.c (turn_on_face, turn_off_face): Removed.
11617 (w32_face_attributes): New function.
11618 (Global_variables): Reduce scope where possible.
11619 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11620 fill attribute.
11621 (hl_mode): Don't modify text attributes.
11622 (write_glyphs): Don't do anything if len <= 0. Use
11623 w32_face_attributes to get attributes for drawing. Write
11624 terminating codes using char_attr_normal.
11625 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11626 (update_begin, update_end): Likewise.
11627 (vga_stdcolor_name): New function.
11628 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11629 (Fset_screen_color): Remove char_attr_reverse.
11630
b08e8bb2
GM
116312000-01-29 Gerd Moellmann <gerd@gnu.org>
11632
11633 * xfns.c (xic_set_preeditarea): Take window parameter and
11634 window-relative pixel-positions.
11635
11636 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11637 is its frame's selected window.
11638 (xim_instantiate_callback): Likewise.
11639
11640 * xfns.c (x_create_im): Removed.
11641 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11642 (supported_xim_styles): Renamed from supported_styles.
11643 (best_xim_style): Renamed from best_style.
11644 (create_frame_xic): Renamed from xic_create_frame.
11645 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11646
b08e8bb2
GM
116472000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11648
11649 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11650 our frames, call XFilterEvent with 2nd parameter `None'.
11651 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11652 returning XBufferOverflow.
52283633 11653 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11654 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11655 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11656 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11657 (xim_initialize, xim_close)
11658 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11659 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11660 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11661 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11662
11663 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11664 and `xim_styles'.
11665 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11666 `xic_style' and `xic_xfs'.
11667 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11668 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11669 (FRAME_XIM): Removed.
11670
11671 * xfns.c (supported_styles): New variable.
11672 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11673 (xic_create_xfontset, best_style, xic_create_frame)
11674 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11675 (xic_set_xfontset): New functions.
11676
142e109c
DL
116772000-01-28 Dave Love <fx@gnu.org>
11678
11679 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11680
11681 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11682
b02786f9
GM
116832000-01-28 Gerd Moellmann <gerd@gnu.org>
11684
d060bc9f
GM
11685 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11686 for *scratch* if it already existed.
11687
b02786f9
GM
11688 * emacs.c (USAGE): New macro.
11689 (main): Use it to display usage information.
11690
2c52d7e4
EZ
116912000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11692
11693 Support for the menu-help feature:
11694
52283633 11695 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11696
11697 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11698 part of the line to the termscript file.
11699 (IT_clear_to_end): Clear the entire line, not just its beginning.
11700 (menu_help_message, prev_menu_help_message): New variables.
11701 (IT_menu_make_room): Make room for the help_text member.
11702 (IT_menu_display): New argument disp_help; all callers changed.
11703 If disp_help is non-zero, store the help text of the active menu
11704 item in menu_help_message.
11705 (XMenuAddPane): Initialize the help_text member to NULL.
11706 (XMenuAddSelection): New argument help_text. Store it in the
11707 XMenu structure.
11708 (XMenuActivate): New argument help_callback. If the value of
11709 menu_help_message has changed since the last time, display the
11710 menu help message text while waiting for the mouse to move. Clear
11711 the echo area before exiting.
11712 (XMenuDestroy): Free the help_text member.
11713
ffe0bcd1
GM
117142000-01-27 Gerd Moellmann <gerd@gnu.org>
11715
11716 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11717 XMenuAddSelection. Pass help callback to XMenuActivate.
11718 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11719
50dbd23f
EZ
117202000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11721
11722 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11723 and EMACS_SET_USECS.
11724
f5941bf8
GM
117252000-01-26 Dave Love <fx@gnu.org>
11726
6c67ddee
DL
11727 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11728
f5941bf8
GM
11729 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11730 an error may be signalled.
11731
9e49c990
GM
117322000-01-26 Gerd Moellmann <gerd@gnu.org>
11733
fc3cb460
GM
11734 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11735 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11736
9e49c990
GM
11737 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11738
d0c037d8
GM
117392000-01-25 Gerd Moellmann <gerd@gnu.org>
11740
11741 * charset.c (Fstring): If there is a multibyte char among
11742 the args, always return a multibyte string.
11743
e12489f9
GM
117442000-01-25 Gerd Moellmann <gerd@gnu.org>
11745
11746 * sysdep.c (sys_select): Turn atimers off and on instead of
11747 recording and restoring old alarm handler
11748
11749 * process.c (toplevel): Include atimer.h.
11750 (create_process_1): Rewritten.
11751 (create_process): Use atimers instead of alarm.
11752 (wait_reading_process_input) [hpux]: Turn atimers off instead
11753 of turning off SIGALRM.
11754 (wait_reading_process_input): Turn off atimers instead off
11755 calling stop_polling.
11756
11757 * emacs.c (main): Call init_atimer.
11758
11759 * keyboard.c (toplevel): Include systime.h and atimer.h.
11760 (polling_for_input): Removed because unused.
11761 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11762 (poll_timer): New variable.
11763 (poll_for_input, poll_for_input_1): New functions.
11764 (start_polling, stop_polling): Rewritten.
11765
11766 * keyboard.h (polling_for_input): Removed.
427ec082 11767
e12489f9
GM
11768 * atimer.h, atimer.c: New files.
11769
11770 * Makefile.in (obj): Add atimer.o.
11771 (atimer.o): New target.
11772
11773 * blockinput.h (pending_atimers): Add extern declaration.
11774 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11775
11776 * lisp.h (popup_activated_flag): Add extern declaration.
11777
11778 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11779 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11780 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11781
11782 * xterm.c (toplevel): Include atimer.h.
11783 (toolkit_scroll_bar_interaction): New variable.
11784 (Fxt_process_timeouts): Removed.
11785 (x_process_timeouts): New function.
11786 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11787 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11788 (x_make_frame_visible): Call poll_for_input_1 instead of
11789 input_poll_signal. Don't call alarm.
11790 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11791
1e5279b9
DL
117922000-01-24 Dave Love <fx@gnu.org>
11793
6c67ddee 11794 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11795 Don't use -cckr -- apparently not now necessary.
11796
edf6aeb8
EZ
117972000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11798
11799 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11800 screen boundary.
11801
9badad41
JR
118022000-01-23 Jason Rumney <jasonr@gnu.org>
11803
11804 * w32fns.c (w32_defined_color): Apply gamma correction before
11805 trying to map to the palette.
11806 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11807 to w32_clear_rect.
11808
11809 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11810 here. Callers changed to always pass real device context.
11811 (w32_draw_bitmap): Likewise.
11812 (w32_get_glyph_overhangs): Likewise.
52283633 11813 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11814 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11815 pfnSetScrollInfo and SetScrollRange.
11816 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11817 back into MULE characters after decoding them.
11818 (x_get_glyph_face_and_encoding): Likewise.
11819 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11820 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11821 (x_produce_glyphs): Calculate per char metrics for a character
11822 that we know exists in default font when font_not_found_p is true.
11823
63bd786b
JR
118242000-01-22 Jason Rumney <jasonr@gnu.org>
11825
11826 * makefile.nt (intervals.obj, composite.obj): New modules.
11827 (composite.h): Added as dependency where appropriate.
11828
11829 * w32gui.h (XGCValue): New struct for emulating X GCs.
11830
11831 * w32term.h (XCharStruct): New struct for emulating X.
11832
11833 * w32console.c (turn_on_face, turn_off_face): New functions.
11834 (change_line_highlight): New prototype for new redisplay.
11835 (write_glyphs): Support multibyte text. Support faces.
11836
52283633 11837 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11838
11839 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11840 throughout. struct frame * in place of FRAME_PTR.
11841 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11842 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11843 (w32_get_arg): Renamed from x_get_arg.
11844 (Fx_file_dialog): New function.
11845 (w32_list_fonts): Check cache before asking system.
11846 (Vw32_enable_synthesized_fonts): New variable.
11847 (Vw32_enable_italics): Obsolete, removed.
11848
11849 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11850 Use SELECTED_FRAME macro.
11851
11852 * w32menu.c: Add skeleton support for help strings on menus.
11853 (add_menu_item): Native checkbox and radio support added, but not
11854 yet enabled due to bugs.
11855 (push_menu_item): Add parameters type, selection and help.
11856 Callers updated.
11857 Formatting changes to reduce unnecessary diffs with xmenu.c.
11858
11859 * w32select.c (Fw32_set_clipboard_data): Update call to
11860 find_charset_in_str.
11861
11862 * w32term.c: Complete rewrite for new redisplay based on new
11863 xterm.c with necessary sections merged back in from old w32term.c.
11864
6ffd3cf7 118652000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11866
11867 * data.c (set_internal): Further fix in same criterion.
11868
6ffd3cf7 118692000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11870
11871 * data.c (set_internal): Fix the criteria for whether
11872 to swap out the old cached binding.
11873
60af03f1
DL
118742000-01-19 Dave Love <fx@gnu.org>
11875
11876 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11877
f9be074f
KH
118782000-01-18 Kenichi Handa <handa@etl.go.jp>
11879
11880 * regex.c (re_compile_fastmap): While checking a range table for
11881 `charset', skip flag bits for a character class correctly.
11882
52b8dbf9
GM
118832000-01-17 Gerd Moellmann <gerd@gnu.org>
11884
d36100c9
GM
11885 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11886
52283633 11887 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11888
11889 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11890 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11891
11892 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11893 MENU_ITEMS_ITEM_.*.
11894 (MENU_ITEMS_ITEM_HELP): New enumerator.
11895 (push_menu_item): Add parameter HELP. Record help in menu_items.
11896 (single_menu_item, single_submenu, list_of_items): Call
11897 push_menu_item with new parameter.
11898 (single_submenu): Set help string in widget value.
11899 (menu_highlight_callback): New function.
11900 (set_frame_menubar): Call lw_create_widget with new
11901 parameter list.
11902 (xmenu_show, xdialog_show): Ditto.
11903
3139018f
GM
119042000-01-13 Gerd Moellmann <gerd@gnu.org>
11905
11906 * sound.c (Fplay_sound): Improve doc string.
11907
83c8f461
RS
119082000-01-11 Richard M. Stallman <rms@gnu.org>
11909
11910 * lisp.h (set_internal): Enter the new arg.
11911
11912 * eval.c (specbind): Record buffer-local variables specially,
11913 indicating which buffer's binding was saved.
11914 (unbind_to): Restore buffer-local variables specially
11915 in the proper buffer.
11916
11917 * data.c (set_internal): New arg BUF.
427ec082 11918
83c8f461
RS
11919 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11920 * data.c (Fset): Pass new arg to set_internal.
11921 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11922
1fab1775
GM
119232000-01-11 Gerd Moellmann <gerd@gnu.org>
11924
52283633 11925 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11926
83c8f461 119272000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11928
11929 * minibuf.c (Ftry_completion): Doc fix.
11930
7a85e4df
GM
119312000-01-11 Gerd Moellmann <gerd@gnu.org>
11932
11933 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11934 vector, too.
11935
a970dae4
AS
119362000-01-11 Andreas Schwab <schwab@suse.de>
11937
11938 * coding.c (code_convert_region): Initialize total_skip.
11939
c65d14ee
DL
119402000-01-08 Dave Love <fx@gnu.org>
11941
11942 * eval.c (Fuser_variable_p): Check customizability too.
11943
834938d2
GM
119442000-01-07 Gerd Moellmann <gerd@gnu.org>
11945
11946 * minibuf.c (Fcompleting_read): Doc fix.
11947
e0303cd6
GM
119482000-01-05 Gerd Moellmann <gerd@gnu.org>
11949
8a26744b
GM
11950 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11951 -L /usr/local/lib.
11952
e0303cd6
GM
11953 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11954 Check that input style is supported before trying to create an
11955 IC for it.
11956 (x_window): Call x_create_im.
427ec082 11957
2e471eb5
GM
119582000-01-04 Gerd Moellmann <gerd@gnu.org>
11959
560a7bd2
GM
11960 * xfns.c (current_gif_memory_src): New variable.
11961 (gif_load): Record the address of the current memory source
11962 in current_gif_memory_src.
11963 (gif_read_from_memory): Use current_gif_memory_src.
11964
f9ee84a3
GM
11965 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11966 macros statement form.
11967
d1299cde
GM
11968 * sound.c (struct sound): Renamed from struct sound_file.
11969 (struct sound): Add members `data' and `header_size'.
11970 (enum sound_attr): Add SOUND_DATA.
11971 (current_sound, current_sound_device): Variables renamed from
11972 sound_file and sound_device.
11973 (parse_sound): Parse :data.
11974 (parse_sound): Handle sound data in strings.
11975 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11976 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11977 needed header size.
11978 (wav_play, au_play): Play sounds from string data.
11979
2e471eb5
GM
11980 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11981
11982 * lisp.h: Add prototype for allocate_string_data.
11983
52283633 11984 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11985
11986 * alloc.c (mark_buffer): Remove code in #if 0.
11987 (gc_sweep): Ditto.
11988 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11989 (strings_consed): New variable.
11990 (allocate_string): Set it.
11991 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11992 (Fmemory_use_counts): Return strings_consed. Use Flist.
11993
11994 * alloc.c: General cleanup in comments etc. Remove conditional
11995 compilation for `standalone'.
11996
11997 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11998
11999 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12000 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12001 (DONT_COPY_FLAG): Removed.
12002 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12003 (struct sdata, struct sblock): New
12004 (struct string_block): Rewritten.
12005 (STRINGS_IN_STRING_BLOCK): New macro.
12006 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12007 (large_sblocks, string_blocks, string_free_list): New variables.
12008 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12009 (init_strings): Rewritten.
12010 (allocate_string, allocate_string_data, compact_small_strings)
12011 (free_large_strings, sweep_strings): New functions.
12012 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12013 (struct string_block_head, current_string_block)
12014 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12015 (STRING_PAD): Removed.
12016 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12017 (Fgarbage_collect): Don't set mark bit in large strings.
12018 (mark_object): Mark strings differently. Mark symbol names
12019 differently.
12020 (survives_gc_p): Test marked strings differently.
427ec082 12021 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12022 symbol names.
12023 (compact_strings): Removed.
12024
42608ba8
EZ
120252000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12026
12027 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12028 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12029
e0a09e1a
KH
120302000-01-04 Kenichi Handa <handa@etl.go.jp>
12031
dd9f0750 12032 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12033 in a non-empty buffer.
dd9f0750 12034
3c0f3b15 12035 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12036
44cd3ae5
GM
120372000-01-03 Gerd Moellmann <gerd@gnu.org>
12038
12039 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12040 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12041
12042 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12043
c182a70f
EZ
120442000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12045
12046 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12047 need to test for MSDOS frames.
12048
24480d5b
EZ
120492000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12050
12051 * dosfns.c (unspecified_colors): Remove.
12052 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12053 unspecified_bg.
12054 (msdos_stdcolor_name): Return strings for unspecified fore- and
12055 back-ground colors.
12056
12057 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12058 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12059 (tty_color_name): Return Lisp strings for unspecified fore- and
12060 back-ground colors.
12061 (Finternal_set_lisp_face_attribute): Remove the special treatment
12062 for Qunspecified_{f,b}g.
52283633 12063 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12064
047f434a
GM
120652000-01-03 Gerd Moellmann <gerd@gnu.org>
12066
12067 * xdisp.c (reseat_at_next_visible_line_start): Position before
12068 newline only if ending up on a newline.
12069 (next_element_from_ellipsis): Return success. Handle case of
52283633 12070 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12071 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12072 returns 0.
12073
d684c676
EZ
120742000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12075
12076 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12077 (Fcolor_supported_p): Renamed from face-color-supported-p.
12078
5fe1d139
EZ
120792000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12080
12081 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12082 list of colors renamed to tty-defined-color-alist.
12083 (tty_color_name): Pass the frame to tty-color-by-index.
12084 (realize_tty_face): tty-color-alist is now a function which
12085 accepts the frame as argument.
12086
52283633 12087 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12088
816be8b8
EZ
120892000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12090
12091 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12092 encode_terminal_code.
12093
b635321e
EZ
120942000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12095
12096 * dispnew.c (mode_line_string): Support termcap frames as well.
12097
9b784e96
GM
120982000-01-01 Gerd Moellmann <gerd@gnu.org>
12099
27189709
GM
12100 * syntax.c (Fforward_word): Undo previous change.
12101
12102 * editfns.c (Fconstrain_to_field): Don't constrain if
12103 inhibit-field-text-motion is non-nil.
12104 (Fline_beginning_position): Undo previous change.
12105 (Fline_end_position): Ditto.
12106
12107 * syntax.c (Fforward_word): Notice field boundaries only if
12108 inhibit-field-text-motion is nil.
12109
12110 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12111
12112 * editfns.c (Vinhibit_field_text_motion): New variable.
12113 (inhibit-field-text-motion): New DEFVAR_LISP.
12114 (Fline_beginning_position, Fline_end_position): Notice field
12115 boundaries only if inhibit-field-text-motion is nil.
12116
45158a91
GM
12117 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12118 All calls adjusted.
12119 (x_build_heuristic_mask): Likewise.
12120 (xbm_load_image_from_file): Change error output.
12121 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12122 (gif_load, gs_load, x_kill_gs_process): Ditto.
12123
9b784e96
GM
12124 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12125 color indices when accessing raster pixels.
63cec32f
GM
12126 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12127 one of :file or :data.
12128 (enum pbm_keyword_index): Add PBM_DATA.
12129 (pbm_format): Add :data.
12130 (pbm_image_p): Allow either :file or :data.
12131 (pbm_read_file): New function.
12132 (pbm_scan_number): Rewritten to read from string.
12133 (pbm_load): Support :data.
9b784e96 12134
2cb085db 12135See ChangeLog.8 for earlier changes.
6922b018
KH
12136
12137;; Local Variables:
49b3bd82 12138;; coding: iso-2022-7bit
6922b018 12139;; End: