(glasses-convert-to-unreadable): Consider
[bpt/emacs.git] / src / ChangeLog
CommitLineData
9a249bba
EZ
12001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * fns.c (Fmd5): Doc fix.
4
c9979669
GM
52001-08-31 Gerd Moellmann <gerd@gnu.org>
6
7 * composite.c (update_compositions): Do nothing if
8 inhibit-modification-hooks is set.
9
9584e63a
GM
102001-08-30 Gerd Moellmann <gerd@gnu.org>
11
986ec8f2 12 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 13 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
14 glyph matrices etc. in a core dump.
15
92a25631
GM
16 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
17 (syms_of_xdisp): Initialize them.
18 (handle_single_display_prop): Don't change point, bind `object',
19 `position', and `buffer-position' instead to the object having the
20 `display' property, position in the object and position in the
21 buffer.
22
9584e63a
GM
23 * fileio.c (Finsert_file_contents): Don't change the multibyteness
24 of the buffer if REPLACE is non-nil.
25
d38633a3
GM
262001-08-29 Gerd Moellmann <gerd@gnu.org>
27
28 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
29
f4fccc1e
EZ
302001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
31
32 * w32term.c (x_set_glyph_string_background_width)
33 (show_mouse_face): Track the last changes in xterm.c.
34
eaaa65b0
GM
352001-08-28 Gerd Moellmann <gerd@gnu.org>
36
7b0870b2
GM
37 * xterm.c (x_set_glyph_string_background_width): Set the glyph
38 string's background width so that multi-line mouse-face is drawn
39 to the right edge of the window.
40 (show_mouse_face): Set the row's mouse_face_p flag after drawing
41 glyphs.
42
6b6e2422 43 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 44 before inserting/writing glyphs.
6b6e2422 45
eaaa65b0
GM
46 * xdisp.c (display_mode_element): Use string_byte_to_char to
47 determine character positions in strings, use chars_in_text
48 instead of strwidth.
49 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
50 a matrix as parameter; this is easier to use from GDB.
51
9ad62cf8
MB
522001-08-28 Miles Bader <miles@gnu.org>
53
54 * textprop.c (Fprevious_single_char_property_change)
55 (Fnext_single_char_property_change): Doc fixes.
56
32171635
GM
572001-08-27 Gerd Moellmann <gerd@gnu.org>
58
47d57b22
GM
59 * fileio.c (Finsert_file_contents): Allocate, restore, and
60 free composition data in the case of REPLACE not being nil.
61
62 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
63 there exist overlay strings with newlines at POS.
64 (text_outside_line_unchanged_p): Return 0 if changes start at
65 START and overlays exist at START. Likewise for END.
66 (try_window_id): Give up if init_to_row_end returns 0.
67
32171635
GM
68 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
69 unconditionally.
70
e1249666
GM
712001-08-24 Gerd Moellmann <gerd@gnu.org>
72
33954c45
GM
73 * keymap.c (access_keymap): Return the cdr of the binding of
74 a generic character instead of its definition (KEY . BINDING).
75
e1249666
GM
76 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
77 to 0 also in the REPLACE case.
78
fb4c6c96
AC
792001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
80
81 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
82 open to determine whether file is readable (as for DOS_NT).
83
59ecf80b
GM
842001-08-23 Gerd Moellmann <gerd@gnu.org>
85
86 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
87 coding.type is coding_type_no_conversion or coding_type_raw_text,
88 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
89 non-nil instead of just setting enable_multibyte_characters in the
90 buffer to nil.
91
40e33037
GM
922001-08-22 Gerd Moellmann <gerd@gnu.org>
93
374388c3
GM
94 * dispextern.h (struct face_cache): Add member
95 menu_face_changed_p.
96
97 * xfaces.c (menu_face_changed_default): New variable.
98 (menu_face_changed_count): Variable removed.
99 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
100 the menu_face_changed_default flag, otherwise set the FRAME's
101 menu_face_changed_p flag if the `menu' face has been changed.
102 Prevent calling set_font_frame_param if FRAME is t.
103 (make_face_cache): Initialize cache's menu_face_changed_p
104 from menu_face_changed_default.
105 (realize_basic_faces): Look into the frame's face cache to
106 determine if the menu appearance needs updating.
107
40e33037
GM
108 * keymap.c (access_keymap): Fix last change to not consider
109 IDX when it has modifiers.
110
859ea4b8
GM
1112001-08-21 Gerd Moellmann <gerd@gnu.org>
112
113 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
114 . BINDING) exists, where GENERIC-CHAR is the generic character of
115 the charset of IDX, return BINDING unless there exists a binding
116 for IDX itself.
117
e8660d73
GM
1182001-08-16 Gerd Moellmann <gerd@gnu.org>
119
cca1b1d7
GM
120 * xrdb.c (SYSV): Don't define on Solaris 2.
121 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
122
e8660d73
GM
123 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
124 of the screen line, not text line, containing IT's current
125 position.
126
93aba6fc
GM
1272001-08-15 Gerd Moellmann <gerd@gnu.org>
128
288d4e06
GM
129 * window.c (window_scroll_pixel_based): Don't recenter if
130 PT is partially visible in the window.
131
3452efc2
SM
132 * xterm.c (expose_window_tree, expose_window, expose_line):
133 Return 1 when overwriting mouse-face.
82f053ab
GM
134 (expose_frame): If mouse-face was overwritten, redo it.
135
93aba6fc
GM
136 * xfaces.c (x_update_menu_appearance): Don't call
137 set_frame_menubar, let the next redisplay do it.
138
858a55c1
AI
1392001-08-14 Andrew Innes <andrewi@gnu.org>
140
141 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
142 drawing glyph string.
143
3a990b67
EZ
1442001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
145
146 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
147 running HI-UX/MPP.
148
04386463
GM
1492001-08-14 Gerd Moellmann <gerd@gnu.org>
150
151 * xfaces.c (x_update_menu_appearance): Save and restore value of
152 interrupt_input_blocked.
153
3e6385a4
GM
1542001-08-13 Gerd Moellmann <gerd@gnu.org>
155
b0e619b4
GM
156 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
157 a line start, move back to the line start.
3452efc2 158
0de73d5a
GM
159 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
160 exactly when a mini-buffer is active.
161
3e6385a4
GM
162 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
163 in units of 1/8 character on non window-system frames.
164 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
165
d1b5f629
EZ
1662001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
167
168 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
169 a doc string.
170
eaa2319f
GM
1712001-08-09 Gerd Moellmann <gerd@gnu.org>
172
8e3189f0
GM
173 * keyboard.c (Vpre_help_message): New variable.
174 (syms_of_keyboard): Initialize and staticpro it.
175 (show_help_echo): Record current message before displaying a
176 help-echo, and restore that message when clearing the help.
177
eaa2319f
GM
178 * xfns.c (x_create_im): Remove prototype.
179
180 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
181
182 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 183
eaa2319f
GM
1842001-08-08 Gerd Moellmann <gerd@gnu.org>
185
186 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 187 windows whose height has changed, disable partially visible lines.
eaa2319f 188
17fdcfc8
GM
1892001-08-07 Gerd Moellmann <gerd@gnu.org>
190
22d01aed 191 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 192 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 193
17fdcfc8
GM
194 * xdisp.c (start_display): Don't try to determine the continuation
195 lines width if lines are truncated. It's superfluous and leads to
196 incorrect results if POS is not visible in the window after
197 reseating the iterator at the previous line start.
198
8e3fe78e
GM
1992001-08-06 Gerd Moellmann <gerd@gnu.org>
200
201 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
202
98a8938c
GM
2032001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
204
205 * alloc.c (init_stack): Remove declaration.
206
18f9986a
GM
2072001-08-03 Gerd Moellmann <gerd@gnu.org>
208
5e1f85e0
GM
209 * keyboard.c (read_key_sequence): Check that key is an integer
210 before comparing it with quit_char.
211 (add_command_key): Use larger_vector.
212 (read_char_x_menu_prompt): Instead of converting symbol and
213 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 214 which cannot be confused with valid events.
5e1f85e0
GM
215 (read_char): When reading from Vunread_command_events, check for
216 events of the form (EVENT . disabled) instead of
217 (EVENT . nil).
218
18f9986a
GM
219 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
220 a float, determine the max height from the frame's height.
221
fbc7f2a6
GM
2222001-08-02 Gerd Moellmann <gerd@gnu.org>
223
224 * xdisp.c (redisplay_internal): Take message_cleared_p into
225 account only if minibuf_level == 0.
226
81b1a79d
GM
2272001-08-01 Gerd Moellmann <gerd@gnu.org>
228
e5c60873
GM
229 * xdisp.c (redisplay_internal): Add a check for the last
230 displayed message.
3452efc2 231
6e019995
GM
232 * xdisp.c (message_cleared_p): New variable.
233 (clear_message): Set message_cleared_p when clearing the current
234 message.
235 (redisplay_internal): Look at message_cleared_p to capture
236 the case that the echo area should be cleared.
237
308a74d8
GM
238 * keyboard.c (command_loop_1): Fix spelling of
239 resize_echo_area_exactly.
240
3452efc2 241 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
242
243 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
244
81b1a79d
GM
245 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
246 current matrix when the window gets smaller.
247
ada329e6
EZ
2482001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
249
250 * print.c (strout): Cast the character passed to insert_char to
251 unsigned char, to avoid sign extension when it is promoted to int.
252
ed86208c
GM
2532001-07-31 Gerd Moellmann <gerd@gnu.org>
254
255 * fileio.c (Finsert_file_contents): Don't treat a return value
256 of 0 from emacs_read as an IO error.
257
6594ac22
GM
2582001-07-30 Gerd Moellmann <gerd@gnu.org>
259
cef68af5
GM
260 * keyboard.c (abs): New macro.
261 (double_click_fuzz): New variable.
262 (make_lispy_event): Use it to determine what makes a double-click.
263 (syms_of_keyboard): DEFVAR_INT it.
264
6594ac22
GM
265 * xmenu.c (set_frame_menubar): Take into account that
266 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
267 <raeburn@gnu.org>.
268
75c5350a
GM
2692001-07-27 Gerd Moellmann <gerd@gnu.org>
270
271 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
272
273 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
274 of row's visible height.
275
276 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
277 deal with the first overlay string having an image `display' property.
278 (try_window_reusing_current_matrix, compute_line_metrics):
279 Fix computation of row's visible height for the case that part of the
75c5350a
GM
280 row is invisible above and part of the row is at the same time
281 invisible below the window.
282
ac49effe
GM
2832001-07-26 Gerd Moellmann <gerd@gnu.org>
284
285 * xfns.c (x-show-tip): Doc fix.
3452efc2 286
ac49effe
GM
287 * xfns.c (Vx_max_tooltip_size): New variable.
288 (syms_of_xfns): DEFVAR_LISP it.
289 (Fx_show_tip): Set frame's window_width to the width of the
290 window. Use a maximum tooltip size specified by
291 Vx_max_tooltip_size, if that has valid contents.
292 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 293
8c3b00cb
AI
2942001-07-26 Andrew Innes <andrewi@gnu.org>
295
296 * w32term.c (x_display_list): New variable.
297 (w32_term_init): Set it.
298
299 * w32term.h (x_display_list): New extern.
300
16098288
GM
3012001-07-26 Gerd Moellmann <gerd@gnu.org>
302
303 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
304 is non-nil, instead of when redisplaying_p is non-zero.
305 See comment there.
16098288
GM
306 (mark_window_display_accurate_1): Add an assertion.
307
64c5be50
GM
3082001-07-25 Gerd Moellmann <gerd@gnu.org>
309
e743f599
GM
310 * dispextern.h (struct it): Increase size of ctl_chars to 16.
311
563b384d
GM
312 * xfns.c (Fx_file_dialog): Block/unblock input while processing
313 events so that we get a chance of processing expose events.
314
64c5be50
GM
315 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
316
296808a5
GM
3172001-07-24 Gerd Moellmann <gerd@gnu.org>
318
319 * xfns.c (valid_image_p): Protect better against invalid image
320 specifications. Previous code could signal an error.
321
5247262a
GM
3222001-07-23 Gerd Moellmann <gerd@gnu.org>
323
3452efc2 324 * indent.c (current_column): Fix column computation in the
f1004faf
GM
325 presence of display table entries.
326 (current_column_1, Fmove_to_column, compute_motion): Likewise.
327
dd42b31a
GM
328 * dispnew.c (adjust_glyph_matrix): In the optimization for
329 windows whose height has changed, use the new window height
330 to compute which rows to invalidate.
331
9e5a7f2a
GM
332 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
333 (MAX_10_EXP): New macro.
334 (Fformat): Use it.
335
5247262a
GM
336 * coding.c (code_convert_region): Handle the multibyte case if
337 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
338
177ab8ce
GM
3392001-07-20 Gerd Moellmann <gerd@gnu.org>
340
6e07c0a5
GM
341 * dispextern.h (struct face): Change type of `stipple' to
342 int; it's an ID.
343
177ab8ce
GM
344 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
345
b5b80599
GM
3462001-07-19 Gerd Moellmann <gerd@gnu.org>
347
4e2a256b
GM
348 * dispnew.c (update_window): Don't set the cursor at the end
349 of the update if display update has been paused.
350
3452efc2 351 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 352
c1fd9232
KR
3532001-07-18 Ken Raeburn <raeburn@gnu.org>
354
355 * fns.c (Fset_char_table_default): Check that a charset is defined
356 before checking its dimension.
357
928a85c1
KR
3582001-07-17 Ken Raeburn <raeburn@gnu.org>
359
360 * coding.c (setup_coding_system): Don't do any designation based
361 on reg_bits if charset is not yet defined.
362
fb4c6c96 363 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
364 pointer, using eassert.
365
de11c1ea
GM
3662001-07-17 Gerd Moellmann <gerd@gnu.org>
367
3452efc2
SM
368 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
369 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 370
467f1209
GM
3712001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
372
373 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
374
c3d6be34
GM
3752001-07-16 Gerd Moellmann <gerd@gnu.org>
376
c1d61a7d
GM
377 * fileio.c (unwind_read): Function removed.
378 (read_non_regular, read_non_regular_quit): New functions.
379 (Finsert_file_contents): When reading from non-regular files,
380 arrange to catch a `quit' and terminate the loop. Rearrange
381 code so that a `quit' when reading from a regular file doesn't
382 insert text in the buffer.
383
c3d6be34
GM
384 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
385 Clear faces afterwards.
386 (clear_font_table): Take a x_display_info parameter. Don't free
387 fonts being the default font of any frame on the given display.
388
e06aa1f9
GM
3892001-07-13 Gerd Moellmann <gerd@gnu.org>
390
391 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
392 instead of CHAR_STRING which can signal an error.
393
394 * charset.c (char_to_string_1): Extracted from char_to_string.
395 Return -1 instead of signaling an error.
396 (char_to_string): Use it.
397
398 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
399
176c92e6
SM
4002001-07-12 Stefan Monnier <monnier@cs.yale.edu>
401
402 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
403 is t, don't try to append anything to it.
404
1c56232f
EZ
4052001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
406
407 * dired.c (file_name_completion): Pass dp->d_name to
408 Fstring_match, not elt, which is always nil here.
409
1d2b2268
GM
4102001-07-12 Gerd Moellmann <gerd@gnu.org>
411
412 * xselect.c (x_decline_selection_request): Handle errors
413 caused by receivers that have vanished.
414
415 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
416 ignoring events on foreign windows in #if 0. Always dispatch
417 the event after checking it with x_handle_property_notify.
418
419 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
420 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
421 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
422 (toplevel): Add prototypes for file-local functions.
423 (x_atom_to_symbol): Remove DPYINFO parameter.
424
fe5a0162
SM
4252001-07-11 Stefan Monnier <monnier@cs.yale.edu>
426
427 * w32menu.c (menubar_selection_callback, w32_menu_show):
428 Initialize `entry' to nil.
429 (w32_dialog_show): Remove unused `save_wv' variable.
430 (name_is_separator): Recognize "--:foo" and "--foo-bar".
431
a777242c
GM
4322001-07-11 Gerd Moellmann <gerd@gnu.org>
433
8ee5b6a3
GM
434 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
435
d0e2444e
GM
436 * fileio.c (unwind_read): Print a message when discarding inserted
437 text or switching the buffer to unibyte. Change parameter.
438 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 439
a777242c
GM
440 * fileio.c (unwind_read): New function.
441 (Finsert_file_contents): Record it as unwind-function for
442 the case that reading is interrupted by C-g.
443
ae794295
GM
4442001-07-10 Gerd Moellmann <gerd@gnu.org>
445
fe5a0162 446 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
447 update when scrolling_window returns 0.
448
6b05fae3
GM
449 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
450
451 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 452 for the case that x_decode_color signals an error.
6b05fae3 453
ae794295
GM
454 * xdisp.c (add_to_log): Do nothing if called asynchronously.
455
bb6e8cee
GM
4562001-07-09 Gerd Moellmann <gerd@gnu.org>
457
458 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
459 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
460 around ioctls.
461
36b40a8a
EZ
4622001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
463
24b97d4b
EZ
464 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
465 doc string line for dos-timezone-offset.
466
36b40a8a
EZ
467 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
468 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
469 (syms_of_msdos): Add \n\ at the end of a line in the doc string
470 line for dos-unsupported-char-glyph.
36b40a8a
EZ
471
472 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
473
0967b4b0
GM
4742001-07-05 Gerd Moellmann <gerd@gnu.org>
475
f25cfe53
GM
476 * sound.c: Include Emacs' header files with #include "...".
477
0967b4b0
GM
478 * eval.c (specbind): Additionally record the buffer that was
479 current when a buffer-local or frame-local variable was bound.
480
c347a1c3
GM
4812001-07-04 Gerd Moellmann <gerd@gnu.org>
482
483 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
484 to unibyte characters in unibyte buffers.
485
6332ca8a
GM
4862001-07-03 Gerd Moellmann <gerd@gnu.org>
487
38472d44
GM
488 * eval.c (specbind): If SYMBOL has a frame-local binding, record
489 the frame on the binding stack. Change format of entries for
490 local bindings on the binding stack to '(SYMBOL . WHERE)'.
491 (unbind_to): Handle unbinding a frame-local variable.
492
6332ca8a 493 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 494 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
495 (dump_glyph_row): Print row's continuation_lines_width.
496 (try_window_id): Take the shortcut if ZV is visible in the
497 window, but there are actually no changes at ZV.
498
63d1b174
GM
4992001-07-02 Gerd Moellmann <gerd@gnu.org>
500
4c175203
GM
501 * xterm.h (x_free_dpy_colors): Add prototype.
502
503 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
504 right number of arguments.
505
0b54ce28
GM
506 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
507 ($(lwlibdir)TAGS): New target.
4c175203 508 (TAGS): Fix dependency list.
0b54ce28 509
63d1b174
GM
510 * xterm.c (x_list_fonts): Make sure XFreeFont is called
511 with input blocked.
512
d827466c
GM
5132001-06-30 Gerd Moellmann <gerd@gnu.org>
514
515 * emacs.c (main): Remove extern declaration for sys_nerr, which
516 isn't used and causes a compilation error with GCC 3.0 on
517 FreeBSD 4.3.
518
b5cb1ada
GM
5192001-06-27 Gerd Moellmann <gerd@gnu.org>
520
a5d3ec3f 521 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 522 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
523 (toplevel): Include <signal.h> and syssignal.h.
524
b5cb1ada
GM
525 * sound.c (vox_configure, vox_close): Turn off atimers
526 around ioctls.
527
d9bad487
GM
5282001-06-26 Gerd Moellmann <gerd@gnu.org>
529
fdbb67fe
GM
530 * keyboard.c (read_char) <non_reread>: Record the previous idle
531 start time before calling timer_stop_idle.
532 (read_char) <reread_first>: After processing a help-echo event,
533 restore the previous idle start time.
534
d9bad487
GM
535 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
536 the start of invisible text.
537 (setup_for_ellipsis): New function.
538 (next_overlay_string): After all overlay strings have been
539 processed, display an ellipsis if necessary.
540 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
541 (push_it): Initialize display_ellipsis_p on the iterator's stack.
542
543 * dispextern.h (struct iterator_stack_entry): Add member
544 display_ellipsis_p.
545
2b9c25e0
GM
5462001-06-25 Gerd Moellmann <gerd@gnu.org>
547
80de57df
GM
548 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
549 on the value of the wait-for-wm frame parameter.
550
551 * xterm.h (struct x_output): Add member wait_for_wm.
552
553 * xfns.c (Qwait_for_wm): New variable.
554 (x_frame_parms): Add entry for `wait-for-wm".
555 (x_set_wait_for_wm): New function.
556 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
557 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
558
2b9c25e0
GM
559 * xdisp.c (try_window_id) <all changes below window end>: Don't
560 take this shortcut if ZV is visible in the window.
561 (try_window_id): When checking for window start being in changed
562 text, don't check that the buffer's size has changed.
563
f772775c
RS
5642001-06-23 Richard M. Stallman <rms@gnu.org>
565
566 * minibuf.c (Fcompleting_read): Doc fix.
567
fa9090b8
GM
5682001-06-19 Gerd Moellmann <gerd@gnu.org>
569
570 * composite.c (Ffind_composition_internal): Accept ZV
571 and a string's end position as POS.
572
f6f1beba
GM
5732001-06-18 Gerd Moellmann <gerd@gnu.org>
574
575 * composite.c (Ffind_composition_internal): Check POS
576 for validity.
577
0ae83348
EZ
5782001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
579
580 * editfns.c (Fmessage_box): If the frame is not under a window
581 system, output the message in the echo area.
582
e4cdc335
RS
5832001-06-14 Richard M. Stallman <rms@gnu.org>
584
585 * xdisp.c (try_window_id): When EOB is visible, don't treat
586 insertion at EOB as if it were "off the bottom of the screen."
587
a55a5f3c
AI
5882001-06-11 Andrew Innes <andrewi@gnu.org>
589
590 * w32proc.c (create_child): Add new parameter is_gui_app.
591 (w32_executable_type): Add new parameter is_gui_app.
592 (sys_spawnve): Use it.
593 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
594 SIGQUIT. This matches better how the signals are interpreted by
595 MSVC compiled programs.
596 (syms_of_ntproc): Update docstring.
597
1b85dc1c
SM
5982001-06-02 Stefan Monnier <monnier@cs.yale.edu>
599
600 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
601 well otherwise note_mouse_highlight might optimize away highlighting
602 if we pass over that same overlay again.
603
b75f8eab
EZ
6042001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
605
606 * lread.c (Fload): Document that the argument is run via
607 substitute-in-file-name.
608
94843cc1
GM
6092001-05-31 Gerd Moellmann <gerd@gnu.org>
610
b14659e6
GM
611 * Makefile.in (bootstrap-doc): New target.
612 (bootstrap-emacs): Depend on it.
613
0894672f
GM
614 * fileio.c (Fdo_auto_save): Don't try to create the directory of
615 auto-save-list-file-name when shutting down Emacs, because
616 creating the directory might signal an error, and leaves
617 Emacs in a strange state.
618
94843cc1
GM
619 * term.c: (tty_cursor_hidden): New variable.
620 (update_begin): Don't call tty_hide_cursor. Clean up.
621 (update_end, set_terminal_window, set_scroll_region): Clean up.
622 (ring_bell, reset_terminal_modes): Clean up.
623 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
624 on tty_cursor_hidden.
625 (write_glyphs): Call tty_hide_cursor.
626
db3a49a6
SM
6272001-05-30 Stefan Monnier <monnier@cs.yale.edu>
628
629 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
630
8bd189fb
GM
6312001-05-30 Gerd Moellmann <gerd@gnu.org>
632
6f1be3b9
GM
633 * xfns.c (enum image_value_type): New enumerator
634 IMAGE_STRING_OR_NIL_VALUE.
635 (parse_image_spec): Handle it.
636 (xbm_format, pbm_format): Use it for :foreground and :background.
637 (xbm_load, pbm_load): Check for nil color names.
638
8bd189fb
GM
639 * xterm.c (note_mouse_highlight): If an overlapping overlay
640 exists, but we find that we highlight the same overlay as before,
641 don't do the highlighting again.
642
7bdba03c
GM
6432001-05-29 Gerd Moellmann <gerd@gnu.org>
644
4c329aa8
GM
645 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
646 Protect unibyte strings created by replacing their multibyte
647 equivalents in menu_items.
648
e15e2828
GM
649 * keymap.c (Fsingle_key_description): NUL-terminate the string
650 buffer before calling build_string.
651
7bdba03c
GM
652 * callproc.c (Fcall_process): Deal with decode_coding returning
653 CODING_FINISH_INCONSISTENT_EOL.
654
89c8dc6c
GM
6552001-05-28 Gerd Moellmann <gerd@gnu.org>
656
db3a49a6 657 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
658 an item's name with its key description in case the description
659 is a multibyte string.
660
661 * keymap.c (Fsingle_key_description): Create a multibyte string
662 only if necessary.
663
eb04d6cd
GM
664 * macros.c (Fstart_kbd_macro): Doc fix.
665
8bd6307f
GM
666 * xterm.c (cursor_in_mouse_face_p): New function.
667 (x_draw_stretch_glyph_string): Use it to choose a different GC
668 when drawing a cursor within highlighted text.
669
e26c4089
GM
670 * editfns.c (char_property_eq): Put in #if 0.
671
672 * indent.c (string_display_width): Put in #if 0.
673
674 * lread.c (Fload): Remove unused label.
675
89c8dc6c
GM
676 * termcap.c (speeds): Put in #if 0.
677
9a1211f2
GM
6782001-05-18 Gerd Moellmann <gerd@gnu.org>
679
29148a3f
GM
680 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
681
9a1211f2
GM
682 * xfaces.c (xlfd_point_size): Don't divide pixel size from
683 transformation matrix by 10.
684
09393d07
GM
6852001-05-16 Gerd Moellmann <gerd@gnu.org>
686
687 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
688 only if it's equal to the former foreground pixel color.
db3a49a6 689 (x_set_foreground_color, x_set_background_color)
09393d07
GM
690 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
691
460e6bae
GM
6922001-05-16 Dave Love <fx@gnu.org>
693
694 * insdel.c (signal_before_change, signal_after_change): Consider a
695 local change hook which changes the buffer.
99c78ce8
GM
696
697 * process.c (read_process_output): Don't call signal_after_change
698 and update_compositions after insert_from_string_before_markers.
699
dbcf3c03
GM
7002001-05-16 Gerd Moellmann <gerd@gnu.org>
701
a90b3d3c
GM
702 * xfaces.c (split_font_name): Use the right field when
703 checking for `[...]' syntax.
704
1b7818b4
GM
705 * buffer.c (copy_overlays): New function.
706 (clone_per_buffer_values): Use it.
707
708 * buffer.h (OVERLAY_PLIST): New macro.
709
9bae8781
GM
710 * keymap.c (Fsingle_key_description): Replace a build_string with
711 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
712
dbcf3c03
GM
713 * fontset.c (Ffontset_info): Check that face is non-null
714 before accessing its fields.
715
8a1ae4dd
GM
7162001-05-15 Gerd Moellmann <gerd@gnu.org>
717
18a0a39e
GM
718 * keyboard.c (read_key_sequence): Prevent generating a fake
719 prefix key twice.
720
e335b66a
GM
721 * xfaces.c (split_font_name): Handle `[...]' for the right
722 font name fields.
723
8a1ae4dd
GM
724 * ccl.c (ccl_driver): Don't copy remaining bytes in case
725 of CCL_STAT_INVALID_CMD.
726
3cf80731
SM
7272001-05-14 Stefan Monnier <monnier@cs.yale.edu>
728
33568849
SM
729 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
730 in <var> has no default value yet.
731
3cf80731
SM
732 * xfaces.c (try_alternative_families): First try the FAMILY.
733 And if nothing is found in the end, try again with scalable fonts.
734 (try_font_list): Let try_alternative_families do a bit more of
735 the work. Only use FAMILY if it is not nil.
736 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
737
933b0249
GM
7382001-05-14 Gerd Moellmann <gerd@gnu.org>
739
58e5af83
GM
740 * xterm.c (note_mouse_highlight): Avoid changing the mouse
741 pointer shape when show_mouse_face has already done it.
33568849 742
58e5af83 743 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
744 full-width rows.
745
7b16a6bf
GM
746 * xfaces.c (split_font_name): Make sure to leave the loop
747 with the right value of `i'.
3cf80731 748
933b0249
GM
749 * xfaces.c (split_font_name): Handle matrix transformations
750 in the pixel and point size fields of XLFD font names.
751 (xlfd_point_size): Likewise.
752
dddcbf00
EZ
7532001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
754
3cf80731 755 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
756 (x_to_w32_font): Add prototype.
757
7689ef0b
EZ
758 * regex.c (malloc, realloc, free) [emacs]: Undefine before
759 redefining, to avoid compiler warnings.
760
e7c15bba
EZ
761 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
762
dddcbf00
EZ
763 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
764 (w32_get_bdf_glyph): Cast between unsigned char and char when
765 passing arguments to subroutines, to shut up compiler warnings.
766 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
767 GET_HEX_VAL.
768
769 * xfaces.c: Include keyboard.h before frame.h, not after it.
770
771 * widget.c: Include keyboard.h before frame.h.
772
773 * w32term.h (struct image, struct face): Forward declaration, to
774 avoid compiler warnings.
775
7bd2d083
GM
7762001-05-11 Gerd Moellmann <gerd@gnu.org>
777
47e72862
GM
778 * keyboard.c (read_key_sequence): Don't modify events when
779 generating fake prefix keys (mode-line, scroll-bar, ...) since
780 this prevents proper processing of such events when pushed back
781 into unread-command-events.
782
dd5f324b
GM
783 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
784 actually redrawn. Make the function static.
785 (note_mouse_highlight): Fix a case where the mouse cursor
786 was changed back to the text cursor.
787
788 * xterm.h (clear_mouse_face): Remove prototype.
789
d88a79d4
GM
790 * xdisp.c (try_window_id): Fix the fix and set the right
791 window_end_vpos.
792
793 * xdisp.c (try_window_id): Fix computation of window end in the
794 case that lines were deleted at the end of the window. Add some
795 more debug_method_adds.
0416532f 796
7bd2d083
GM
797 * xfaces.c (try_alternative_families): New function.
798 (try_font_list): Use it. If ATTRS specifies a family, check
799 fonts from that family first.
800 (choose_face_font): Remove code setting the family part of
801 the pattern to nil.
802
23fca891
GM
8032001-05-10 Gerd Moellmann <gerd@gnu.org>
804
ff9aa2ca
GM
805 * xdisp.c (try_window_id): Fix case of all changes before
806 the window start.
7b2654b5 807
23fca891
GM
808 * xdisp.c (try_window_id): Add some xasserts.
809
e9726794
GM
8102001-05-09 Gerd Moellmann <gerd@gnu.org>
811
812 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
813
9e53a675
GM
8142001-05-09 Dave Love <fx@gnu.org>
815
816 * xdisp.c (GIVE_UP): Fix for K&R C.
817
0d487c52
GM
8182001-05-09 Gerd Moellmann <gerd@gnu.org>
819
fe88d421
GM
820 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
821
0d487c52
GM
822 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
823 back to the text cursor shape without need.
824
1e9fc92e
GM
8252001-05-07 Gerd Moellmann <gerd@gnu.org>
826
a2a6232e
GM
827 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
828
829 * dispextern.h (inverse_video): Declare extern.
830
1e9fc92e
GM
831 * keyboard.c (delete_kboard): Handle the case that selected_frame
832 has been deleted in the course of x_connection_closed.
833
12949a7f
EZ
8342001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
835
7b2654b5
SM
836 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
837 Fix the change from 2001-04-30.
12949a7f 838
2fa2f461
GM
8392001-05-03 Gerd Moellmann <gerd@gnu.org>
840
a779d213
GM
841 * xfns.c (file_dialog_unmap_cb): New function.
842 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
843 where a dialog is closed via the window manager.
844
7b2654b5 845 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
846 the window start or all below the window end mostly rewritten.
847 (redisplay_window): Move the tests if try_window_id is
848 applicable to try_window_id.
849 (GIVE_UP): New macro.
850
3356df63
GM
8512001-05-02 Gerd Moellmann <gerd@gnu.org>
852
a39202f6 853 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
854 currently being updated, mark the frame garbaged.
855 Fix computation of rows intersecting the exposed rectangle.
a39202f6 856 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 857
3356df63
GM
858 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
859 again if it has already been drawn.
860
a9d2fd1d
SM
8612001-05-01 Stefan Monnier <monnier@cs.yale.edu>
862
863 * syntax.c (update_syntax_table): Check that oldi has the same
864 properties as old_prop before deciding not to invalidate.
865
c95fc5f1
GM
8662001-04-30 Gerd Moellmann <gerd@gnu.org>
867
a9793e45
GM
868 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
869 read-only text that is so because of text properties.
870
c95fc5f1 871 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 872 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
873 windows that are components of a Lucid menu bar.
874
5a5d9185
GM
8752001-04-27 Gerd Moellmann <gerd@gnu.org>
876
877 * term.c (turn_on_face): Fix reverse video handling on terminals
878 that don't support colors.
879
ba973f7a
GM
8802001-04-26 Gerd Moellmann <gerd@gnu.org>
881
882 * editfns.c (save_excursion_restore): Don't use XBUFFER on
883 a non-buffer.
884
8c56a983
GM
8852001-04-25 Gerd Moellmann <gerd@gnu.org>
886
a728644c
GM
887 * term.c (toggle_highlight): New function.
888 (turn_on_face): Change handling of reverse video.
889
7b2654b5
SM
890 * process.c (wait_reading_process_input):
891 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 892
bfd8410f
GM
893 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
894 of the number of overlays to check.
895
be2488ca
GM
896 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
897
8c56a983
GM
898 * xdisp.c (try_window_id): Fix a case where window_end_pos
899 and window_end_bytepos were not adjusted.
900
522d42f7
GM
9012001-04-23 Gerd Moellmann <gerd@gnu.org>
902
903 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
904 zero instead of -1.
905
78c1afb6
EZ
9062001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
907
a9d2fd1d
SM
908 * process.c (wait_reading_process_input) [!subprocesses]:
909 Don't reference waiting_for_user_input_p, it's not defined in the
910 branch without async subprocesses support.
78c1afb6 911
a2fab450
GM
9122001-04-19 Gerd Moellmann <gerd@gnu.org>
913
a122a38e
GM
914 * keyboard.c (delete_kboard): Prevent a dangling reference
915 from current_kboard to KB, which is freed.
916
a9d2fd1d
SM
917 * process.c (wait_reading_process_input):
918 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
919 read_key_sequence aware of buffer changes from under it.
920
0f8d6dc7
GM
9212001-04-18 Gerd Moellmann <gerd@gnu.org>
922
eeffb293
GM
923 * xfaces.c (Qscalable_fonts_allowed): New variable.
924 (realizing_basic_faces_p): Removed.
2fa2f461
GM
925 (x_face_list_fonts): Special handling for realizing_basic_faces_p
926 removed.
eeffb293 927 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
928 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
929 for scalable-fonts-allowed to t.
eeffb293 930
0f8d6dc7
GM
931 * fileio.c (Finsert_file_contents): If the file size returned from
932 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 933 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 934
eec2d1de
EZ
9352001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
936
937 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
938 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
939 (__memalign_hook): Make the two prototypes consistent.
940
f4f480bd
GM
9412001-04-17 Gerd Moellmann <gerd@gnu.org>
942
943 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
944 matrix of mini-windows.
945
52283633
SM
9462001-04-12 Stefan Monnier <monnier@cs.yale.edu>
947
948 * intervals.c (find_interval): Don't rebalance during signal handling.
949
ec2423c9
GM
9502001-04-11 Gerd Moellmann <gerd@gnu.org>
951
30cb0001 952 * fns.c: Include blockinput.h.
52283633 953
ec2423c9
GM
954 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
955
719d83ad
GM
9562001-04-10 Gerd Moellmann <gerd@gnu.org>
957
60f8d735
GM
958 * fns.c (Fcompare_strings): Fix return values.
959
afffeb57
GM
960 * window.c (window_scroll): Change the meaning of N to mean
961 N screen-fulls or N lines.
962 (window_scroll_pixel_based, window_scroll_line_based)
963 (scroll_command, Fscroll_other_window): Change accordingly.
964
52283633
SM
965 * window.c (window_scroll_pixel_based, Frecenter):
966 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
967 height of the window.
968
969 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
970 instead of using it.last_visible_y for the height of the window.
52283633 971
719d83ad 972 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 973 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
974
975 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
976 able to write to hidden and system files. From Dan Holmsand
977 <dan@eyebee.com>.
719d83ad 978
8ddf3ee1
GM
979 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
980 Holmsand <dan@eyebee.com>.
719d83ad 981
522ed7fb
GM
9822001-04-09 Gerd Moellmann <gerd@gnu.org>
983
9170e5d4
GM
984 * fns.c (Fplist_get, Fplist_put): Add QUITs.
985
522ed7fb
GM
986 * window.c (window_internal_height): Return 1 less if the
987 window has a header line.
988
989 * xdisp.c (try_window_id): When scrolling on a terminal, take
990 the change of window_internal_height into account.
991
ceeb3d7d
EZ
9922001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
993
994 * gmalloc.c (align): If the argument SIZE would overflow
995 __malloc_ptrdiff_t, fail right away.
996
63685b9d
GM
9972001-04-06 Gerd Moellmann <gerd@gnu.org>
998
999 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1000 Make sure the tooltip is completely visible.
1001 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1002
1003 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1004
1005 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1006
3ffb33bb
DL
10072001-04-06 Dave Love <fx@gnu.org>
1008
52283633
SM
1009 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1010 Fix test of `from'.
3ffb33bb 1011
869fb12c
GM
10122001-04-06 Gerd Moellmann <gerd@gnu.org>
1013
52283633 1014 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1015
869fb12c
GM
1016 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1017
441bf856
GM
10182001-04-05 Gerd Moellmann <gerd@gnu.org>
1019
4d664b04
GM
1020 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1021
52283633 1022 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1023
30ca89f5
GM
1024 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1025 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1026
1027 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1028 shell widget's position only if it is non-null.
1029
52283633
SM
1030 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1031 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1032
81a81c0f
GM
1033 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1034 FILENAME to bring it in synch with the documentation.
1035
441bf856
GM
1036 * xfaces.c (realizing_basic_faces_p): Renamed from
1037 realize_default_face_p.
1038 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1039 (realize_default_face): Don't set the flag.
1040
702a1e8e
GM
10412001-04-04 Gerd Moellmann <gerd@gnu.org>
1042
1013f4e3
GM
1043 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1044
52283633
SM
1045 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1046
1013f4e3
GM
1047 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1048 the buffer that was used for echoing.
1049
702a1e8e
GM
1050 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1051 (first_font_matching): Removed unused function.
1052 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1053 (may_use_scalable_font_p): Remove parameter FONT; rename
1054 parameter NAME to FONT.
1055 (x_face_list_fonts): Fix missing bounds check.
1056 (realizing_default_face_p): New variable.
1057 (realize_default_face): Set and clear that flag.
1058 (x_face_list_fonts): When called during the realization of the
1059 default face, and no matching fonts are found when ignoring
1060 scalable fonts and fonts matching a regexp from
1061 face-ignored-fonts, try without ignoring fonts.
1062
f9dbcda4
GM
10632001-04-03 Gerd Moellmann <gerd@gnu.org>
1064
ad18ffb1
GM
1065 * xfns.c (postprocess_image): New function.
1066 (lookup_image): Call it for all image types except PostScript.
1067 (x_kill_gs_process): Call postprocess_image.
1068
f9dbcda4
GM
1069 * xterm.c (x_use_underline_position_properties): New variable.
1070 (x_draw_glyph_string): Use it.
1071 (syms_of_xterm): DEFVAR_BOOL it.
1072
651f03b6
GM
10732001-04-02 Gerd Moellmann <gerd@gnu.org>
1074
1075 * xterm.c (x_alloc_nearest_color_1): New function.
1076 (x_alloc_nearest_color): Use it.
1077 (x_color_cells): Take a Display as argument, instead of a frame.
1078 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1079 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1080 (x_initialize): Register cvt_string_to_pixel as resource converter
1081 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1082
73d75a62
GM
10832001-03-30 Gerd Moellmann <gerd@gnu.org>
1084
b2046df8
GM
1085 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1086 (set_iterator_to_next): If a string from a display property ends,
1087 consider the case that this might also be the end of an
1088 overlay string having the display property.
1089
52283633 1090 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1091
87d8eba4
GM
1092 * xdisp.c (reseat_to_string): Undo last change.
1093
73d75a62
GM
1094 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1095 matrix of a window when the header line changes, when
1096 new rows are allocated, or when the width changes.
1097
911a2406
EZ
10982001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1099
52283633 1100 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1101
aea51abe
EZ
11022001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1103
1104 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1105 deprecated.
1106
176bc847
GM
11072001-03-29 Gerd Moellmann <gerd@gnu.org>
1108
ed31fabf
GM
1109 * data.c (Fsubr_interactive_form): New function.
1110 (syms_of_data): Defsubr it.
1111
176bc847
GM
1112 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1113 (live_float_p, live_misc_p): Return 1 only if the offset of the
1114 pointer in its block is >= 0.
1115
e59d0e9d
GM
11162001-03-28 Paul Eggert <eggert@twinsun.com>
1117
1118 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1119 microseconds calcuation. Avoid double-rounding problem.
1120 In doc string, warn that the result is approximate.
1121
f827b862
GM
11222001-03-28 Gerd Moellmann <gerd@gnu.org>
1123
30a3f61c
GM
1124 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1125 bind `inhibit-eval-during-redisplay' to t.
1126
1127 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1128
1129 * xdisp.c (inhibit_eval_during_redisplay)
1130 (Qinhibit_eval_during_redisplay): New variables.
1131 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1132 don't eval, return nil instead.
1133 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1134 Initialize Qinhibit_eval_during_redisplay.
1135
e719f5ae
GM
1136 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1137 the iterator's multibyte_p flag.
1138
deb2613a
GM
1139 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1140 instead of setting it to zero; it's incremented for each frame
1141 where the menu face is changed.
1142
52283633
SM
1143 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1144 change bottom shadow accordingly.
1145
1146 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1147 intersections here.
1148 (expose_window): Do it here instead.
52283633 1149 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1150
f827b862
GM
1151 * bytecode.c (BYTE_CODE_QUIT): New macro.
1152 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1153
4bde0ebb
GM
11542001-03-27 Gerd Moellmann <gerd@gnu.org>
1155
607ec83c
GM
1156 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1157 Give up if matrix starts in an ellipsis.
1158 (init_from_display_pos): Do nothing if POS doesn't specify
1159 a dpvec_index but the iterator has such a position.
1160
0245398f
GM
1161 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1162
aba25348
GM
1163 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1164 x/y position is (0, 0) after destroying the menu bar, restore
1165 its original position.
1166
4bde0ebb
GM
1167 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1168 (init_from_display_pos): Use it.
1169 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1170
8cdb267e
GM
11712001-03-26 Gerd Moellmann <gerd@gnu.org>
1172
1173 * xdisp.c (try_window_id): Undo last change.
1174
9948db79
EZ
11752001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1176
1177 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1178
1179 * buffer.c (syms_of_buffer): Doc fix.
1180
2eddf899
GM
11812001-03-26 Gerd Moellmann <gerd@gnu.org>
1182
1183 * xfaces.c (x_update_menu_appearance): Use local variable
1184 popup_path for setting font resources.
1185
6c145d35
EZ
11862001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1187
6a65b1b5
EZ
1188 * frame.c (Fframe_list): Don't reference tip_frame if
1189 HAVE_WINDOW_SYSTEM is not defined.
1190
6c145d35
EZ
1191 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1192 <wl@gnu.org>.
1193
d74c1900
GM
11942001-03-25 Gerd Moellmann <gerd@gnu.org>
1195
20fbd925
GM
1196 * xdisp.c (init_from_display_pos): Test invisible property
1197 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1198
927c5b3b
GM
1199 * xdisp.c (redisplay_internal) <update one window>: Make sure
1200 last_arrow_position and last_arrow_string are set.
1201
d74c1900
GM
1202 * frame.c (Fframe_list): Don't return a tooltip frame.
1203
091f8878
GM
12042001-03-23 Gerd Moellmann <gerd@gnu.org>
1205
52283633
SM
1206 * xdisp.c (mark_window_display_accurate_1): New function,
1207 extracted from mark_window_display_accurate.
1208 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1209 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1210 (mark_window_display_accurate): Use it.
1211 (redisplay_internal): Use it for the selected window.
1212 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1213 for the selected frame.
1214
ac90c44f
GM
1215 * xdisp.c Use make_number, for readability.
1216 (try_window_id): Disable rows below the window end.
1217 (try_window_reusing_current_matrix): Use cursor_row_p.
1218 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1219 of rows.
1220 (init_from_display_pos): If POS specifies a position in a display
1221 vector, maybe get the iterator set up for that ellipsis.
43c09969 1222
091f8878
GM
1223 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1224
991786dd
EZ
12252001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1226
1227 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1228
6c29b43c
GM
12292001-03-23 Gerd Moellmann <gerd@gnu.org>
1230
1231 * xfaces.c (x_update_menu_appearance): Use a different path
1232 for Lucid popup menus.
1233
d8731202
SM
12342001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1235
1236 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1237
1238 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1239 (string_buffer_position): Use `make_number'.
1240
f61a541b
GM
12412001-03-22 Gerd Moellmann <gerd@gnu.org>
1242
3c9e997b
GM
1243 * xfaces.c (x_update_menu_appearance): Renamed from
1244 x_set_menu_face_resources. Use different resources for popups.
1245
1246 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1247 (GC_CHECK_STRING_BYTES): Don't define.
1248
364cd450
GM
1249 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1250 Removed, together with subroutines.
1251 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1252 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1253
d8731202
SM
1254 * dispextern.h (x_set_menu_resources_from_menu_face):
1255 Remove prototype.
364cd450 1256
d8731202 1257 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1258 Remove calls to x_set_menu_resources_from_menu_face.
1259
d8731202
SM
1260 * xfaces.c (xm_set_menu_resources_from_menu_face):
1261 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1262
1263 * xmenu.c: Include widget.h.
1264 (single_submenu): Return int. Some cleanup.
1265 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1266
140330de
GM
12672001-03-21 Gerd Moellmann <gerd@gnu.org>
1268
1269 * xterm.c (x_update_window_end): Handle overwritten mouse face
1270 also for tool bar windows.
1271 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1272 DRAW is DRAW_IMAGE_RAISED.
1273
1741905c
GM
12742001-03-20 Gerd Moellmann <gerd@gnu.org>
1275
fa88947e
GM
1276 * print.c (syms_of_print): Doc fixes.
1277
1741905c
GM
1278 * fns.c (Fmd5): Doc fix.
1279
ade0bee1
GM
12802001-03-19 Gerd Moellmann <gerd@gnu.org>
1281
357e7376
GM
1282 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1283 Clear area of the frame not occupied by the scroll bar.
1284
c2c097cc
GM
1285 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1286 tip frame's root window buffer to *tip* right after creating
1287 the frame.
1288
ade0bee1
GM
1289 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1290 is an integer don't have to be for space characters.
1291
88c6e37e
GM
12922001-03-16 Gerd Moellmann <gerd@gnu.org>
1293
52283633
SM
1294 * indent.c (current_column, current_column_1, Fmove_to_column)
1295 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1296
c62eed76
KH
12972001-03-15 Kenichi Handa <handa@etl.go.jp>
1298
1299 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1300 drawing glyph string.
1301
c899e7e6
GM
13022001-03-15 Gerd Moellmann <gerd@gnu.org>
1303
d0bbfc99
GM
1304 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1305 (command_loop_1): Undo last change.
1306
03d1a189
GM
1307 * xterm.c (fast_find_position): Return the correct vpos.
1308
c899e7e6 1309 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1310 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1311 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1312 Call store_symval_forwarding with BUF null.
1313 (set_internal): Call store_symval_forwarding with the BUF
1314 parameter passed to set_internal. Formerly, the value was always
1315 set in the current buffer; the buffer recorded in specbind for
1316 this case wasn't used.
1317 (arith_driver): Reindent.
1318
52283633
SM
1319 * buffer.c (swap_out_buffer_local_variables):
1320 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1321
1322 * lisp.h (store_symval_forwarding): Change prototype.
1323
1324 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1325
57ac7c81
GM
13262001-03-14 Gerd Moellmann <gerd@gnu.org>
1327
697617d9
GM
1328 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1329 FOR_DELETION. Avoid resizing the mini-window of the selected
1330 frame if FOR_DELETION is set.
1331 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1332 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1333 signature.
1334
1335 * window.c (Fset_window_configuration): Change call to
1336 do_switch_frame to new format.
1337
1338 * keyboard.c (quit_throw_to_read_char): Change call to
1339 do_switch_frame to new format.
1340
1341 * lisp.h (do_switch_frame): Change prototype.
1342
819dce0f
GM
1343 * frame.c (Fframe_parameters): In the `buffer-list' frame
1344 parameter, store the buffer list of FRAME, not the list of the
1345 selected frame.
1346
57ac7c81
GM
1347 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1348 box just because the glyph row's full_width_p flag is set.
1349
65008712
GM
13502001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1351
1352 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1353 skip the padding blanks inserted in extend_face_to_end_of_line,
1354 before checking for trailing whitespace.
1355
159cf431
GM
13562001-03-13 Gerd Moellmann <gerd@gnu.org>
1357
52283633 1358 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1359 Remove special handling for LessTif/Motif.
1360 (toplevel): Don't include Xm/Xm.h.
1361
52283633
SM
1362 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1363 Remove workaround code for LessTif; it doesn't work anymore.
1364
2564ea1b 1365 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1366 Xm/ScrollBarP.h.
afcdc0a1 1367
52283633
SM
1368 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1369 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1370 contemporary LessTif.
1371
52283633
SM
1372 * xfaces.c (xm_set_menu_resources_from_menu_face):
1373 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1374
159cf431
GM
1375 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1376 removing button grabs.
1377
c6f7429a
KH
13782001-03-13 Kenichi Handa <handa@etl.go.jp>
1379
cb82d767
KH
1380 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1381 and clip-large-size-font as obsolete.
1382
c6f7429a
KH
1383 * lread.c (read_multibyte): Check the validity of multibyte
1384 sequence. If invalid, return the first byte.
1385
760cefb5
GM
13862001-03-12 Gerd Moellmann <gerd@gnu.org>
1387
1388 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1389 before running the command; timer functions or process
1390 filters may have set it.
1391
5141f9d0
EZ
13922001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1393
1394 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1395 Doc fix.
1396
b6a15240
GM
13972001-03-12 Gerd Moellmann <gerd@gnu.org>
1398
1399 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1400 to sprintf.
1401
95522746
GM
14022001-03-09 Gerd Moellmann <gerd@gnu.org>
1403
db14cfc5
GM
1404 * dispextern.h (string_buffer_position): Add prototype.
1405
52283633 1406 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1407 (single_display_prop_string_p): New functions.
1408
1409 * xterm.c (note_mouse_highlight): If there's no help-echo on
1410 a string, look at the buffer text ``under'' it.
1411
1412 * keyboard.c (make_lispy_event): Add string info to the event,
1413 analogous to what's done on mode lines.
1414 (read_key_sequence): For a click on a string, consider `local-map'
1415 and `keymap' of that string.
1416
52283633
SM
1417 * keyboard.c (make_lispy_event, make_lispy_movement):
1418 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1419
1420 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1421
1422 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1423 POS; return void.
1424
95522746
GM
1425 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1426 flags argument to emacs_open; it seems to conflict with O_EXCL.
1427
898a399d
KH
14282001-03-09 Kenichi Handa <handa@etl.go.jp>
1429
28cd4910
KH
1430 * composite.h (struct composition): Change types of members;
1431 glyph_len to unsigned, width to unsigned short.
898a399d 1432
4cdf6a6c
AI
14332001-03-08 Andrew Innes <andrewi@gnu.org>
1434
1435 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1436 menu titles.
1437
129004d3
GM
14382001-03-08 Gerd Moellmann <gerd@gnu.org>
1439
221dd3e7
GM
1440 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1441 instead of nil.
1442
52283633 1443 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1444 help-echo in strings.
1445 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1446 (fast_find_string_pos): New function.
1447
52283633
SM
1448 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1449 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1450
1451 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1452 Handle `mouse-face'.
1453
1454 * dispextern.h (face_at_string_position): Change prototype.
1455
52283633 1456 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1457
129004d3
GM
1458 * keyboard.c (make_lispy_event): Avoid generating drag events
1459 if the mouse hasn't actually moved to another buffer position.
52283633 1460
80c8ab8c
DL
14612001-03-08 Dave Love <fx@gnu.org>
1462
129004d3 1463 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1464
989521fd
GM
14652001-03-08 Gerd Moellmann <gerd@gnu.org>
1466
1467 * process.c (Fset_process_window_size): Fix a typo.
1468
bb5c338d
KH
14692001-03-08 Kenichi Handa <handa@etl.go.jp>
1470
1471 * coding.c (detect_coding_sjis): Do more rigid check.
1472 (detect_coding_big5): Likewise.
1473 (decode_coding_sjis_big5): Likewise.
1474 (Fdetect_coding_region): Call detect_coding_system with tailing
1475 anchor byte `\0' for more rigid detection.
52283633 1476 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1477 (Fdetect_coding_string): Likewise.
1478
8b8f9197
SM
14792001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1480
1481 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1482 a string before extracting its data.
1483
3bdf2660
GM
14842001-03-07 Gerd Moellmann <gerd@gnu.org>
1485
1486 * window.c (Frecenter): Rewrite code handling negative values
1487 of ARG on graphical frames.
1488
14892001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1490
1491 * window.c (displayed_window_lines): If W->start is outside the
1492 accessible portion of the buffer, call start_display with BEGV or
1493 ZV instead of W->start.
1494
471f86b9
GM
14952001-03-07 Gerd Moellmann <gerd@gnu.org>
1496
2ab62c6c
GM
1497 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1498
471f86b9
GM
1499 * process.c (Fset_process_filter): Don't crash if the input
1500 file descriptor of PROCESS is closed.
1501 (Fset_process_window_size): Likewise.
1502
101922c3
GM
15032001-03-06 Kenichi Handa <handa@etl.go.jp>
1504
1505 * xterm.c (XTflash): Make the timeout of select shorter, and call
1506 select repeatedly until the desired time expires.
1507
45d051a7
GM
15082001-03-06 Gerd Moellmann <gerd@gnu.org>
1509
1510 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1511
1512 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1513
1514 * lisp.h (Vwindow_list): Declare extern.
1515
8f372c46
EZ
15162001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1517
1518 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1519
f16a7aa5
GM
15202001-03-06 Gerd Moellmann <gerd@gnu.org>
1521
157ae273
GM
1522 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1523 to detect a case where we have to highlight a different region
1524 despite not having left the currently highlighted region.
1525 Set mouse_face_overlay in the x_display_info.
45d051a7 1526 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1527
1528 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1529
1530 * buffer.c (mouse_face_overlay_overlaps): New function.
1531
1532 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1533 (Qmouse_face): Declare extern.
1534
f16a7aa5
GM
1535 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1536 if face_change_count is non-zero.
1537
827afcac
KH
15382001-03-06 Kenichi Handa <handa@etl.go.jp>
1539
1540 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1541 that the source is unibyte.
1542
14c7242e
DL
15432001-03-05 Dave Love <fx@gnu.org>
1544
827afcac 1545 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1546
c28b847b
GM
15472001-03-05 Gerd Moellmann <gerd@gnu.org>
1548
1549 * minibuf.c (read_minibuf): Clean up the binding stack if
1550 called noninteractively.
1551
b86644f2
KH
15522001-03-05 Kenichi Handa <handa@etl.go.jp>
1553
1554 * coding.c (syms_of_coding): Docstring modified.
1555
203682cc 15562001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1557
1558 * charset.c (char_to_string): If a single byte char has modifier
1559 bits that can't be reflected to the character code, ignore them
45d051a7 1560 instead of signaling an error.
b86644f2 1561
e30bd7b7
EZ
15622001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1563
1564 * s/msdos.h: Update copyright notice.
1565
1566 * dosfns.h: Update copyright notice.
1567
1568 * dosfns.c: Update copyright notice.
1569
1570 * msdos.c: Update copyright notice.
1571
b52b65bd
GM
15722001-03-02 Gerd Moellmann <gerd@gnu.org>
1573
1574 * xterm.c (glyph_rect): New function.
1575 (XTmouse_position): Use it to raise the threshold for mouse
1576 movement event generation.
1577
53c4b1e6
EZ
15782001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1579
1580 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1581 specifies (reverse . t), reverse the initial screen colors.
1582 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1583 but we are reversing the colors, set bg_set, not fg_set.
1584 Likewise for setting background-color and reversing: set fg_set.
1585 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1586 in effect.
1587
1588 * xfaces.c (Finternal_set_lisp_face_attribute)
1589 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1590 parameters alist.
1591
f964b4d7
GM
15922001-03-02 Gerd Moellmann <gerd@gnu.org>
1593
ef53d75e
GM
1594 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1595 to a single slash in the middle of file names.
1596
52283633 1597 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1598 Accept only alphanumeric time zone names.
1599
f964b4d7
GM
1600 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1601 or width area.
1602 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1603 a widget to zero height.
52283633 1604
c3c45f65
GM
16052001-03-01 Gerd Moellmann <gerd@gnu.org>
1606
1607 * window.c (Fwindow_end): Call move_it_past_eol only if
1608 ending up on a partially visible line.
1609
028d739a
DL
16102001-03-01 Dave Love <fx@gnu.org>
1611
1612 * ccl.c (Fccl_execute): Doc fix.
1613
57c5889c
GM
16142001-03-01 Gerd Moellmann <gerd@gnu.org>
1615
35f59f6b
GM
1616 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1617 of the tool bar before calling x_figure_window_size.
1618
f84ff02c
GM
1619 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1620 NULL after destroying it, otherwise XTread_socket can access a
1621 destroyed widget when input is unblocked.
1622
8b8f9197 1623 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1624
57c5889c
GM
1625 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1626 same name as before, although there was a change in fontsets.
1627
224227d1
KR
16282001-02-28 Ken Raeburn <raeburn@gnu.org>
1629
4560730a
KR
1630 * lisp.h (Fframe_parameter): Declare.
1631
224227d1 1632 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1633 Lisp_Object.
224227d1 1634
ece93c02
GM
16352001-02-28 Gerd Moellmann <gerd@gnu.org>
1636
11ef99b9
GM
1637 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1638 NULL instead.
1639
1640 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1641 NULL instead.
1642
ece93c02
GM
1643 * alloc.c (toplevel): Include process.h.
1644 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1645 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1646 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1647 (allocate_vector, allocate_hash_table, allocate_window)
1648 (allocate_frame, allocate_process, allocate_other_vector):
1649 New functions.
ece93c02
GM
1650 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1651 (mark_maybe_pointer): New function.
52283633 1652 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1653 remain and not Lisp_Objects.
1654 (min_heap_address, max_heap_address): New variables.
1655 (mem_find): Return MEM_NIL if START is below min_heap_address or
1656 above max_heap_address.
1657 (mem_insert): Compute min_heap_address and max_heap_address.
1658
1659 * process.c (make_process): Use allocate_process.
1660
1661 * frame.c (make_frame): Use allocate_frame.
1662
1663 * window.c (make_window, make_dummy_parent): Use allocate_window.
1664 (Fcurrent_window_configuration): Use allocate_other_vector.
1665
1666 * lisp.h (allocate_vectorlike): Remove prototype.
1667 (allocate_vector, allocate_other_vector, allocate_frame)
1668 (allocate_window, allocate_process, allocate_hash_table):
1669 Add prototypes.
1670
1671 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1672 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1673
063af457
KH
16742001-02-27 Kenichi Handa <handa@etl.go.jp>
1675
1676 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1677 treat the produced bytes as a valid multibyte sequence.
1678
1679 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1680 (ccl_driver) <CCL_WriteMultibyteChar2>:
1681 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1682 <ccl_finish>: Set ccl->eight_bit_control properly.
1683
1684 * ccl.h (struct ccl_program): New member eight_bit_control.
1685
f58c6494
SM
16862001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1687
1688 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1689 accessible_keymaps_char_table.
1690 (accessible_keymaps_char_table): Obey `is_metized'.
1691 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1692 Lisp_Object.
1693
c596c392
GM
16942001-02-26 Gerd Moellmann <gerd@gnu.org>
1695
1696 * dispnew.c: Check HAVE_TERM_H before including term.h.
1697
425de386
AI
16982001-02-24 Andrew Innes <andrewi@gnu.org>
1699
1700 * makefile.w32-in: Update copyright notice.
1701
2ba11bbd
SM
17022001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1703
1704 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1705
66c56ed1
KH
17062001-02-24 Kenichi Handa <handa@etl.go.jp>
1707
4c1593ce
KH
1708 * Makefile.in (lisp): Add international/utf-8.elc.
1709
66c56ed1
KH
1710 * fontset.c (Fnew_fontset): Fix handling of the case that an
1711 element of FONTLIST is a cons of family and registry.
1712
796ead7e
JR
17132001-02-23 Jason Rumney <jasonr@gnu.org>
1714
1715 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1716 to height unconditionally.
1717
1718 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1719 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1720 (x_insert_glyphs): Call window_box_left to obtain the left
1721 x-coordinate of the area to shift.
1722
1723 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1724 safe_run_hooks.
1725
f6839838
AI
17262001-02-22 Andrew Innes <andrewi@gnu.org>
1727
52283633 1728 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1729 ($(BLD)\dispnew.obj):
1730 ($(BLD)\editfns.obj):
1731 ($(BLD)\fileio.obj):
1732 ($(BLD)\filelock.obj):
1733 ($(BLD)\keyboard.obj):
1734 ($(BLD)\w32proc.obj):
1735 ($(BLD)\process.obj):
1736 ($(BLD)\sysdep.obj): Ditto.
1737
1738 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1739 header files.
52283633
SM
1740 ($(BLD)/dispnew.$(O)):
1741 ($(BLD)/editfns.$(O)):
1742 ($(BLD)/fileio.$(O)):
1743 ($(BLD)/filelock.$(O)):
1744 ($(BLD)/keyboard.$(O)):
1745 ($(BLD)/w32proc.$(O)):
1746 ($(BLD)/process.$(O)):
f6839838
AI
1747 ($(BLD)/sysdep.$(O)): Ditto.
1748
c224f70b
GM
17492001-02-22 Gerd Moellmann <gerd@gnu.org>
1750
51695746
GM
1751 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1752 at the start of the function, check that the \n in it->c is
1753 from the iterator's current position.
52283633 1754
a61b7058
GM
1755 * xdisp.c (handle_single_display_prop): Add parameter
1756 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1757 properties which replace the display of text with something else.
1758 (handle_display_prop): Call handle_single_display_prop with
1759 additional argument saying if we already replaced text display
1760 with something else. Use AREF.
52283633 1761 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1762 (decode_mode_spec_coding): Use AREF and ASIZE.
1763
3473f362
GM
1764 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1765 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1766 * vmstime.h: Files removed.
52283633 1767
2bb58df3
GM
1768 * unexencap.c, unexfx2800.c: Files removed.
1769
c224f70b
GM
1770 * dispnew.c (direct_output_for_insert): Give up if we are showing
1771 a message or just cleared the message because we might need to
1772 resize the echo area window or display an empty echo area.
1773
ffc9ff0c
GM
17742001-02-21 Gerd Moellmann <gerd@gnu.org>
1775
0528abe1
GM
1776 * xdisp.c (redisplay_internal): Do the
1777 mark_window_display_accurate after all windows have been
1778 redisplayed because this call resets flags in buffers which are
1779 needed for proper redisplay.
1780
52283633
SM
1781 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1782 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1783 the old names.
1784
52283633
SM
1785 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1786 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1787
1788 * msdos.h (struct x_output): Rename busy_window to
1789 hourglass_window, busy_p to hourglass_p.
1790
52283633
SM
1791 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1792 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1793
1794 * xfns.c: Rename everything containing *busy_cursor* and similar
1795 to *hourglass*.
1796 (syms_of_w32fns): Rename x-busy-pointer-shape to
1797 x-hourglass-pointer-shape, display-busy-cursor to
1798 display-hourglass, busy-cursor-delay to hourglass-delay.
1799
1800 * w32fns.c: Rename everything containing *busy_cursor* and similar
1801 to *hourglass*.
1802 (syms_of_w32fns): Rename x-busy-pointer-shape to
1803 x-hourglass-pointer-shape, display-busy-cursor to
1804 display-hourglass, busy-cursor-delay to hourglass-delay.
1805
1806 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1807 of its busy_p flag.
1808
1809 * dispextern.h (start_hourglass, cancel_hourglass)
1810 (display_hourglass_p): Renamed from *busy_cursor*.
1811
ab2c5f0a
GM
18122001-02-20 Gerd Moellmann <gerd@gnu.org>
1813
d17e49a8
GM
1814 * keyboard.c (read_char): When an event from unread-command-events
1815 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1816
fa97adf6
GM
1817 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1818 equal to the current buffer.
1819
ab2c5f0a
GM
1820 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1821 nil, otherwise we're left with truncate_lines t when a message
1822 is printed with message-truncate-lines bound to t.
1823
aeac019e
GM
18242001-02-19 Gerd Moellmann <gerd@gnu.org>
1825
c8bc6f65
GM
1826 * window.c (Fmove_to_window_line): Undo last change.
1827 (displayed_window_lines): Call line_bottom_y to determine
1828 the line's bottom position.
1829
1830 * dispextern.h (line_bottom_y): Add prototype.
1831
52283633 1832 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1833 (pos_visible_p): Use it.
1834
980a2d69
GM
1835 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1836 set redisplaying_p to 0 here instead of in Frecursive_edit.
1837 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1838 set redisplaying_p.
1839
52283633 1840 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1841 New variables.
1842 (syms_of_xdisp): Initialize new variables.
1843 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1844 Specbind `inhibit-menubar-update' when updating the menu bar.
1845
65048e97
GM
1846 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1847 safe_run_hooks.
1848
1849 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1850 safe_run_hooks.
1851
a57c4026
GM
1852 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1853 is null.
1854
aeac019e
GM
1855 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1856 to the start of the file.
1857
76846b31
GM
18582001-02-16 Gerd Moellmann <gerd@gnu.org>
1859
f3f053f3 1860 * window.c (set_window_buffer): Fix last change.
52283633 1861
f3f053f3
GM
1862 * window.c (set_window_buffer): Set window's vscroll to 0.
1863
dad75588
GM
1864 * window.c (coordinates_in_window): Increase width of area
1865 where the vertical line can be dragged.
1866
c220b753
GM
1867 * xterm.c (x_set_glyph_string_background_width): Extend the
1868 background face to the end of the drawing area in the text
1869 area, only.
1870
c56b1c1b
GM
1871 * xdisp.c (handle_single_display_prop): Set iterator's position
1872 to where the `display' property starts, like for images.
1873 (dump_glyph): New function.
1874 (dump_glyph_row): Use it. Dump info about marginal areas.
1875
1876 * dispnew.c (direct_output_for_insert): Recognize more cases where
1877 glyphs can be written instead of being inserted.
1878
1879 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1880 the left x-coordinate of the area to shift.
1881
76846b31
GM
1882 * dired.c (directory_files_internal): Set result list to nil
1883 before retrying.
1884
0fc71a77
KH
18852001-02-15 Kenichi Handa <handa@etl.go.jp>
1886
1887 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1888 invalid multibyte sequence, treat *SRC as a character of
1889 eight-bit-graphic.
1890
25078b54
EZ
18912001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1892
1893 * textprop.c (Fset_text_properties): Doc fix.
1894
8399f8a0
GM
18952001-02-15 Gerd Moellmann <gerd@gnu.org>
1896
1897 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1898
9a2a6f73
DL
18992001-02-14 Dave Love <fx@gnu.org>
1900
1901 * coding.c: Doc and message fixes.
1902
bf853fee
AI
19032001-02-14 Andrew Innes <andrewi@gnu.org>
1904
1905 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1906 Emacs frame above the screen size.
1907
78c663d8
GM
19082001-02-14 Gerd Moellmann <gerd@gnu.org>
1909
1910 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1911
7cc9f69f
GM
19122001-02-13 Gerd Moellmann <gerd@gnu.org>
1913
0a411995
GM
1914 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1915 case that TO ends up beyond ZV after running before-change-functions.
1916
5ddc1b75
GM
1917 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1918 the selected window if it is showing the buffer in question.
1919
7cc9f69f
GM
1920 * dired.c (directory_files_internal): Initialize errno.
1921 (toplevel): Include errno.h.
1922
2e6621ca
GM
19232001-02-13 Kenichi Handa <handa@etl.go.jp>
1924
1925 * xfaces.c (best_matching_font): New parameter width_ratio.
1926 Multiply avgwidth by width_ratio.
1927 (choose_face_font): Call best_matching_font with width_ratio
1928 calculated from the column width of C.
1929
60222d69
AI
19302001-02-12 Andrew Innes <andrewi@gnu.org>
1931
1932 The following changes are to draw box lines inside characters area
1933 if line-width is negative.
52283633 1934
60222d69
AI
1935 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1936 face->box_line_width is negative.
1937 (x_produce_stretch_glyph): Likewise.
1938 (x_produce_glyphs): Likewise.
1939 (x_estimate_mode_line_height): Likewise.
1940 (x_draw_glyph_string_background): Likewise.
1941 (x_draw_glyph_string_foreground): Likewise.
1942 (x_draw_composite_glyph_string_foreground): Likewise.
1943 (x_draw_glyph_string_box): Likewise.
1944 (x_draw_image_foreground): Likewise.
1945 (x_draw_image_relief): Likewise.
1946 (x_draw_image_foreground_1): Likewise.
1947 (x_draw_image_glyph_string): Likewise.
1948
9804b846
KH
19492001-02-09 Kenichi Handa <handa@etl.go.jp>
1950
1951 The following changes are to draw box lines inside characters area
1952 if line-width is negative.
52283633 1953
9804b846
KH
1954 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1955 face->box_line_width is negative.
1956 (x_produce_stretch_glyph): Likewise.
1957 (x_produce_glyphs): Likewise.
1958 (x_estimate_mode_line_height): Likewise.
1959 (x_draw_glyph_string_background): Likewise.
1960 (x_draw_glyph_string_foreground): Likewise.
1961 (x_draw_composite_glyph_string_foreground): Likewise.
1962 (x_draw_glyph_string_box): Likewise.
1963 (x_draw_image_foreground): Likewise.
1964 (x_draw_image_relief): Likewise.
1965 (x_draw_image_foreground_1): Likewise.
1966 (x_draw_image_glyph_string): Likewise.
1967
1968 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1969 and :line-width can be negative.
52283633 1970 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1971
49be9f70
JR
19722001-02-09 Jason Rumney <jasonr@gnu.org>
1973
1974 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1975 characters the same as ASCII and latin-1.
1976 (x_display_and_set_cursor): Check for the focus frame's selected
1977 window instead of selected_window.
1978 (x_after_update_window_line): Don't clear if frame's internal
1979 border width is zero.
1980 (x_new_font): Don't change a tooltip's size.
1981 (w32_initialize): Set char_ins_del_ok to 1.
1982
1983 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1984 (x_set_font): If font hasn't changed, avoid recomputing
1985 faces and other things.
52283633
SM
1986 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1987 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1988 (x_create_tip_frame): Prevent changing the tooltip's
1989 background color by specifying a color for the default font
1990 in .Xdefaults.
1991 (Qcancel_timer): New variable.
1992 (syms_of_w32fns): Initialize and staticpro it.
1993 (Fx_hide_tip, Fx_show_tip): Use it.
1994 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1995 the timer.
1996 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1997
1998 * w32.c (init_environment): Duplicate local string before putenv.
1999
555e35d2
SZ
20002001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2001
2002 * charset.c (Fstring): A typo.
2003
19c92c94
KH
20042001-02-09 Kenichi Handa <handa@etl.go.jp>
2005
e47a1c33
KH
2006 * charset.c (Fstring): If all arguments are less than 256, return
2007 a unibyte string.
2008
2009 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2010 return a unibyte string.
2011
19c92c94
KH
2012 * coding.c (code_convert_region): After detecting a coding, if
2013 nothing found, set coding->composing to COMPOSITION_NO.
2014 (decode_coding_string): Likewise.
2015
d8e675f5
SM
20162001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2017
2018 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2019 to avoid overflow.
2020
bd503487
KH
20212001-02-07 Kenichi Handa <handa@etl.go.jp>
2022
2023 * charset.c (parse_str_to_multibyte): New function.
2024
2025 * charset.h (parse_str_to_multibyte): Extern it.
2026
2027 * print.c (print_string): If we are going to print a unibyte
2028 string into a multibyte buffer, convert the string to multibyte by
2029 str_to_multibyte.
2030
a8370d72
AI
20312001-02-06 Andrew Innes <andrewi@gnu.org>
2032
2033 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2034 been created. It seems we can get sent window messages such as
2035 WM_ERASEBKGND before we properly update a frame.
2036
c363a1d6
GM
20372001-02-06 Gerd Moellmann <gerd@gnu.org>
2038
2039 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2040 Avoid some unnecessary cursor positioning.
2041
a08332c0
GM
20422001-02-05 Gerd Moellmann <gerd@gnu.org>
2043
52283633 2044 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2045 (LFACE_AVGWIDTH): New macro.
2046 (LFACEP): Use AREF.
2047 (check_lface_attrs): Check LFACE_AVGWIDTH.
2048 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2049 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2050 (merge_face_vectors): Check LFACE_AVGWIDTH.
2051 (Finternal_make_lisp_face): Use AREF.
2052 (xm_set_menu_resources_from_menu_face)
2053 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2054 (Finternal_lisp_face_empty_p): Use AREF.
2055 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2056 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2057 Compare average widths..
2058 (best_matching_font): Arrange for comparing average widths.
2059
52283633
SM
2060 * dispextern.h (enum lface_attribute_index):
2061 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2062
5cb3c8d4
DL
20632001-02-05 Dave Love <fx@gnu.org>
2064
2065 * puresize.h: Revert last change following loadup.el change.
2066
193fba87
AI
20672001-02-05 Andrew Innes <andrewi@gnu.org>
2068
2069 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2070 invocation of temacs, to work with Windows 2000.
2071 (bootstrap-emacs): Ditto.
2072
e16f52ce
GM
20732001-02-05 Gerd Moellmann <gerd@gnu.org>
2074
7a58ab59
GM
2075 * xterm.c (x_display_and_set_cursor): Check for the focus
2076 frame's selected window instead of selected_window.
2077
e89aaabd
GM
2078 * xdisp.c (try_scrolling): If point is in the line below the
2079 window, make sure to move the iterator at least a canonical
2080 char height down.
2081
52283633 2082 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2083
789ce875
KH
20842001-02-05 Kenichi Handa <handa@etl.go.jp>
2085
52283633
SM
2086 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2087 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2088 (ccl_driver): If the CCL program is terminated because of
2089 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2090 destination instead of throwing them away.
2091
20b28f82
GM
20922001-02-02 Gerd Moellmann <gerd@gnu.org>
2093
79fb38c0
GM
2094 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2095 faces and other things.
2096
20b28f82
GM
2097 * xdisp.c (get_next_display_element): Fix case of empty
2098 display table entry.
2099
5a72551e
EZ
21002001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2101
eb24d0bf
EZ
2102 * editfns.c (Fconstrain_to_field): Doc fix.
2103
6a3f48c7
EZ
2104 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2105 into `thoroughly', to make it consistent with the doc string.
2106
5a72551e
EZ
2107 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2108
01acdb05
GM
21092001-02-01 Gerd Moellmann <gerd@gnu.org>
2110
0353b28f
GM
2111 * search.c (search_buffer): Call set_search_regs with a byte
2112 position, not a character position.
2113
01acdb05
GM
2114 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2115 minibuffer-only,
2116
e86b5133
EZ
21172001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2118
2119 * frame.c (Fmodify_frame_parameters): Doc fix.
2120
7442878f
GM
21212001-01-31 Gerd Moellmann <gerd@gnu.org>
2122
01acdb05
GM
2123 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2124 identifier which is not reserved by Standard C.
52283633 2125
7442878f
GM
2126 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2127
2128 * window.c (enum window_part): New enumeration.
2129 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2130 Qright_bitmap_area.
2131 (coordinates_in_window): Return an enumerator from enum
2132 window_part. Fix handling of right scroll bar.
2133 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2134 `right-fringe' instead of `left-bitmap-area' and
2135 `right-bitmap-area'. Use enumerators from enum window_part
2136 instead of hard-coded integers.
52283633
SM
2137 (check_window_containing, window_from_coordinates):
2138 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2139 (syms_of_window): Replace Qleft_bitmap_area and
2140 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2141
7c132cba
EZ
21422001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2143
2144 * editfns.c (Fformat_time_string): Doc fix.
2145
c359dd9e
SM
21462001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2147
2148 * keymap.c (Fwhere_is_internal): Use the first valid binding
2149 if no ascii binding is found (when firstonly is t).
2150
ce070307
GM
21512001-01-31 Gerd Moellmann <gerd@gnu.org>
2152
b4f30ec5
GM
2153 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2154 instead of Finteractive_p.
2155
2156 * lisp.h (interactive_p): Add prototype.
2157
2158 * eval.c (interactive_p): New function.
2159 (Finteractive_p): Use it.
2160
ce070307
GM
2161 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2162
f57b6e64
DL
21632001-01-31 Dave Love <fx@gnu.org>
2164
d61c7afe
DL
2165 * .gdbinit (hook-run): Define to run xreload.
2166
f57b6e64
DL
2167 * textprop.c (Fset_text_properties): Fix newline in doc string.
2168
eef93f99
GM
21692001-01-30 Gerd Moellmann <gerd@gnu.org>
2170
52283633
SM
2171 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2172 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2173
2174 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2175 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2176 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2177
2178 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2179 height.
2180
d9c1f6f9
DL
21812001-01-30 Dave Love <fx@gnu.org>
2182
2183 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2184 AFTER_POTENTIAL_GC.
2185
e8f044a0
GM
21862001-01-29 Gerd Moellmann <gerd@gnu.org>
2187
52283633
SM
2188 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2189 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2190
8e1db7b3
EZ
21912001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2192
2193 * textprop.c (Fset_text_properties): Doc fix.
2194
4eefd9d2
GM
21952001-01-29 Gerd Moellmann <gerd@gnu.org>
2196
2197 * xdisp.c (forward_to_next_line_start): Remove xassert.
2198
fccb8288
EZ
21992001-01-29 Jason Rumney <jasonr@gnu.org>
2200
4eefd9d2 2201 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2202 returning without releasing it.
2203
76581eab
KH
22042001-01-29 Kenichi Handa <handa@etl.go.jp>
2205
2206 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2207 for '^', '$', and '\0'.
2208
83a96b4d
AC
22092001-01-28 Andrew Choi <akochoi@i-cable.com>
2210
5604ec34
AC
2211 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2212 regex for '^', '$', and '\0'.
2213
83a96b4d
AC
2214 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2215 only if current_sblock has been initialized.
2216
2217 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2218 terminal frame even if it is the only visible frame.
2219
c09a6440
KH
22202001-01-28 Kenichi Handa <handa@etl.go.jp>
2221
2222 * fontset.c (font_family_registry): Even if FONTNAME conform to
2223 XLFD, if it specifies other fields than family and registry,
52283633 2224 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2225 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2226 a signle byte character. Don't set FAMILY part to nil here.
2227 It is handled by the caller choose_face_font.
c09a6440
KH
2228 (Fnew_fontset): Call font_family_registry with FORCE 0.
2229 (Fset_fontset_font): Likewise.
2230
4dcd74e6
GM
22312001-01-27 Gerd Moellmann <gerd@gnu.org>
2232
2233 * xdisp.c (display_line): Don't treat a newline as fitting
2234 on the line.
2235
d2906bf8
GM
22362001-01-26 Gerd Moellmann <gerd@gnu.org>
2237
0130fe1a
GM
2238 * window.c (size_window): Set the window's orig_top to nil when
2239 changing heights, so that a future shrink_mini_window won't
2240 restore a bogus height.
2241
550f0e6a
GM
2242 * frame.c (do_switch_frame): If selected frame has a mini-window,
2243 resize that to exact size.
2244
b7b20fbd
GM
2245 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2246
a47b7816
GM
2247 * xdisp.c (display_line): Simplify check for glyphs fitting
2248 entirely in the line.
2249
d2906bf8
GM
2250 * xfns.c (xic_style): New variable.
2251 (create_frame_xic): Move static variable to global scope for
550f0e6a 2252 the case that `static' gets defined away.
d2906bf8 2253
73df2b1e
KH
22542001-01-26 Kenichi Handa <handa@etl.go.jp>
2255
2256 * coding.c (decode_coding): Set a flag for inhibiting
2257 inconsistent eol.
2258 (code_convert_region): Always set saved_coding_symbol.
2259 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2260 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2261
6613cfc4
GM
22622001-01-25 Gerd Moellmann <gerd@gnu.org>
2263
c5e6e06b
GM
2264 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2265 XClearArea.
2266
2267 * xterm.c (x_after_update_window_line): Don't clear if frame's
2268 internal border width is zero.
2269 (x_clear_area): New function.
2270 (x_after_update_window_line, x_clear_end_of_line)
2271 (x_scroll_bar_create, x_scroll_bar_set_handle)
2272 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2273 instead of XClearArea.
2274
2275 * xterm.h (x_clear_area): Add prototype.
2276
6613cfc4
GM
2277 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2278 which doesn't seem necessary anymore with Lesstif 0.92.
2279
650cc6cc
DL
22802001-01-25 Dave Love <fx@gnu.org>
2281
34ac3367
DL
2282 * puresize.h (BASE_PURESIZE): Up to 720000.
2283
650cc6cc
DL
2284 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2285
5e37dc22
GM
22862001-01-25 Gerd Moellmann <gerd@gnu.org>
2287
e1e441f9
GM
2288 * xdisp.c (echo_area_display): Don't call redisplay_internal
2289 when Emacs is shutting down. We can't run hooks etc. that
2290 would be necessary to do a redisplay.
2291
5e37dc22
GM
2292 * lread.c (read_integer): Use type EMACS_INT instead of int.
2293
0fb94c7f
EZ
22942001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2295
2296 * ccl.c (ccl_driver): Fix last change.
2297
e3778624
KH
22982001-01-25 Kenichi Handa <handa@etl.go.jp>
2299
2300 * ccl.h (sturct ccl_program): New member suppress_error.
2301
bb264518 2302 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2303 insert error message to the output.
2304 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2305
2306 * coding.h (struct coding_system): New member suppress_error.
2307
2308 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2309 (Fset_terminal_coding_system_internal): Set the member
2310 suppress_error to 1.
2311 (Fset_safe_terminal_coding_system_internal): Likewise.
2312
245ed2b1
SM
23132001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2314
2315 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2316 as if it was a `charset'.
2317
f9aaedb6
GM
23182001-01-24 Gerd Moellmann <gerd@gnu.org>
2319
2320 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2321 value in where_is_cache; the next lookup in the cache returns
2322 something bogus if we do.
2323
c3902c3e
EZ
23242001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2325
2326 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2327 if HAVE_WINDOW_SYSTEM isn't defined.
2328
3497f73e
GM
23292001-01-24 Gerd Moellmann <gerd@gnu.org>
2330
e7e41584
GM
2331 * fns.c (sweep_weak_table): Fix code taking items out of
2332 the hash collision chain. Some cleanup.
2333
3497f73e
GM
2334 * xterm.c (x_new_font): Don't change a tooltip's size.
2335
2336 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2337 background color by specifying a color for the default font
2338 in .Xdefaults.
2339
3d48e687
KH
23402001-01-24 Kenichi Handa <handa@etl.go.jp>
2341
96531b20
KH
2342 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2343 a workaround for SunOS 4's cc.
2344 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2345 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2346 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2347 statement.
3d48e687 2348
a30629d2
GM
23492001-01-23 Gerd Moellmann <gerd@gnu.org>
2350
2351 * xterm.c (x_set_window_size_1): New function extracted from
2352 x_set_window_size.
2353 (x_set_window_size): Use it.
2354 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2355 doesn't have a widget, like tooltips.
2356
5a43decf
EZ
23572001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2358
52283633 2359 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2360
b0e98867
KH
23612001-01-23 Kenichi Handa <handa@etl.go.jp>
2362
2363 * fns.c (Fset_char_table_default): Fix to make sub char-table
2364 correctly.
2365
50606b4c
GM
23662001-01-22 Gerd Moellmann <gerd@gnu.org>
2367
cb2ddc53 2368 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2369 a desired tool bar string, even if there are no tool bar items.
2370
57c28064
GM
2371 * xdisp.c (Ftool_bar_lines_needed): New function.
2372 (syms_of_xdisp): Defsubr it.
2373
50606b4c
GM
2374 * editfns.c (Fformat): Don't extend text properties from arguments
2375 to padding chars in the result.
2376
2f169c38
EZ
23772001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2378
2379 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2380
0f32f023
AI
23812001-01-20 Andrew Innes <andrewi@gnu.org>
2382
52283633 2383 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2384 (w32_initialize): Don't set term hooks that aren't actually needed
2385 in windowed mode.
2386
2387 * xfaces.c (realize_default_face):
2388 (realize_face):
2389 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2390
2391 * xdisp.c (handle_single_display_prop): Remove references to
2392 FRAME_W32_CONSOLE_P.
2393
52283633 2394 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2395
2396 * frame.h (output_method): Remove output_w32_console method.
2397 (FRAME_W32_CONSOLE_P): Remove macro.
2398
2399 * frame.c (Qw32_console): Remove variable.
2400 (Fframep): Remove references to it.
2401 (syms_of_frame): Ditto.
2402 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2403
2404 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2405 redefinition.
2406
7173eada
KH
24072001-01-20 Kenichi Handa <handa@etl.go.jp>
2408
2409 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2410
755b45ce
AI
24112001-01-19 Andrew Innes <andrewi@gnu.org>
2412
2413 * w32.c (init_environment): Add a version-independent site-lisp
2414 directory to EMACSLOADPATH, after the version dependent one.
2415
0a949811
GM
24162001-01-19 Gerd Moellmann <gerd@gnu.org>
2417
8501998a
GM
2418 * editfns.c (Fbuffer_substring): Doc fix.
2419
52283633
SM
2420 * xdisp.c (message_dolog, message2, message2_nolog):
2421 Rename parameter LEN to NBYTES.
0a949811 2422
e6ebcbbe
KH
24232001-01-19 Kenichi Handa <handa@etl.go.jp>
2424
200ecca2
KH
2425 * charset.c (strwidth): Use c_string_width.
2426 (c_string_width): New function.
2427 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2428 Caller changed.
2429
2430 * charset.h (c_string_width, lisp_string_width): Extern them.
2431
52283633 2432 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2433
e6ebcbbe
KH
2434 * indent.c (check_composition): Check validity of composition.
2435
200ecca2
KH
2436 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2437 characters by calling c_string_width.
2438 (x_consider_frame_title): Get byte length of frame tile string
2439 correctly.
2440 (display_mode_element): Pay attention to width of non-ASCII
2441 characters by calling strwidth.
2442
8692ca92
GM
24432001-01-18 Gerd Moellmann <gerd@gnu.org>
2444
8962e303
GM
2445 * xfns.c (Qcancel_timer): New variable.
2446 (syms_of_xfns): Initialize and staticpro it.
2447 (Fx_hide_tip, Fx_show_tip): Use it.
2448 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2449 the timer.
2450 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2451
91523be9
GM
2452 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2453
2454 * window.h (WINDOW_LIVE_P): New macro.
2455
b0b7ed0e
GM
2456 * window.c (window_size_fixed): New variable.
2457 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2458 the doc string.
2459
06bccf8e
GM
2460 * eval.c (specbind): If binding a per-buffer variable which
2461 doesn't have a buffer-local value in the current buffer, change
2462 the global value by changing the value of the symbol bound in all
2463 buffers not having their own value, to make it consistent with
2464 what happens with other buffer-local variables.
2465
8692ca92
GM
2466 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2467
2468 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2469 when searching for a newline.
2470
bb3a3b50
KH
24712001-01-18 Kenichi Handa <handa@etl.go.jp>
2472
2473 * xdisp.c (display_string): Fix previous change.
2474
c2cc16fa
JR
24752001-01-18 Jason Rumney <jasonr@gnu.org>
2476
2477 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2478 GLYPH_DEBUG is defined.
2479 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2480 true for images with `:ascent 100'.
2481 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2482 meantime, use face MOUSE_FACE_ID.
2483 If first glyph isn't a character glyph, use the ASCII NUL
2484 character to determine the face.
2485 (expose_area): Do not treat left margin specially.
2486 (note_mode_line_highlight): If no local_map, check global keymap.
2487 (note_mouse_highlight): Initialize overlay.
52283633 2488 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2489 (show_scroll_bars): Remove unused function.
2490 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2491 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2492 Clip to row.
52283633 2493 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2494 (x_free_frame_resources): Unload relief colors.
2495
9c11f79e
GM
24962001-01-17 Gerd Moellmann <gerd@gnu.org>
2497
3aec8722 2498 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2499 get_next_display_element when the newline is already found.
2500 This may change the iterator's position, when its current position is
3aec8722
GM
2501 equal to the iterator's stop_charpos.
2502
f3ffc2c3
GM
2503 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2504 zero, use this method only at the end of a line.
2505
52283633 2506 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2507 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2508 if SCALABLE_FONTS_P is set.
52283633 2509
d26d6fd9
GM
2510 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2511 so that scalable fonts are included.
2512
9c11f79e
GM
2513 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2514 In the cache, use a key containing the information if scalable
2515 fonts are included.
2516 (x_load_font): Adapt to change of keys in the font cache.
2517
25182001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2519
d26d6fd9
GM
2520 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2521 XListFonts to take advantage of font caching.
2522
9c11f79e
GM
2523 * xterm.c (x_list_fonts): Ensure caching font information when
2524 called for a null frame, which is the case frequently when Emacs
2525 starts.
2526
51446987
GM
25272001-01-17 Gerd Moellmann <gerd@gnu.org>
2528
f864120f
GM
2529 * xfns.c (QCconversion): Replaces QCalgorithm.
2530
2531 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2532
2533 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2534 of :algorithm.
52283633 2535
e37d1417
GM
2536 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2537 not everything could be displayed.
2538
51446987
GM
2539 * line.h, x-list-font.c: Files removed because unused.
2540
9ad4f3e5
AI
25412001-01-17 Andrew Innes <andrewi@gnu.org>
2542
2543 * dired.c (directory_files_internal): Convert result from readdir
2544 to a unibyte string initially, to avoid possible misinterpretation
2545 of some bytes as the internal form of Emacs characters.
2546
2eda09b5
KH
25472001-01-17 Kenichi Handa <handa@etl.go.jp>
2548
2549 * fns.c (concat): Be sure to avoid putting the same `composition'
2550 property on the adjacent regions.
2551
826f3788
GM
25522001-01-16 Gerd Moellmann <gerd@gnu.org>
2553
52283633 2554 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2555 (Fscroll_right, Fscroll_left): Set it here instead, if called
2556 interactively.
2557
d57b83b3
GM
2558 * buffer.c (Fset_buffer_modified_p): Set buffer's
2559 prevent_redisplay_optimizations_p flag.
2560
826f3788 2561 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2562 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2563 with additional arg.
2564
2565 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2566 Change prototype.
826f3788 2567
826f3788
GM
2568 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2569 FROM_WHERE, for debugging.
2570
261d788b
KH
25712001-01-16 Kenichi Handa <handa@etl.go.jp>
2572
2573 * ccl.c (Fregister_ccl_program): Handle the return value of
2574 resolve_symbol_ccl_program correctly.
52283633 2575 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2576
bccee4f2
GM
25772001-01-15 Gerd Moellmann <gerd@gnu.org>
2578
e4ded23c
GM
2579 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2580 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2581
2582 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2583 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2584 the display; we didn't open it.
2585
bccee4f2
GM
2586 * dispnew.c (save_or_restore_current_matrices): Function removed.
2587 (save_current_matrix, restore_current_matrix): New functions.
2588 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2589 restore the frame's current matrix. Due to the glyph pointer
2590 setup done in adjust_glyph_matrix, there is no easy way to make
2591 saving the current matrix in the desired matrix generally correct,
2592 so don't try it.
2593
ebeccffa
KH
25942001-01-15 Kenichi Handa <handa@etl.go.jp>
2595
2596 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2597 truncation glyphs.
2598 (display_line): Optimize for wide characters.
e4ded23c 2599 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2600 partially. On ttys, produce more than one truncation glyph for
2601 multi-column characters that don't fit on the line.
2602
64388126
KH
26032001-01-13 Kenichi Handa <handa@etl.go.jp>
2604
52283633
SM
2605 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2606 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2607
8edb0a6f
JR
26082001-01-13 Jason Rumney <jasonr@gnu.org>
2609
2610 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2611 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2612 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2613 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2614
52283633
SM
2615 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2616 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2617 (x_draw_image_glyph_string): Adapt to change of image margins.
2618
2619 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2620 variables.
2621
2622 * w32bdf.c (search_file_line, get_cached_font_char)
2623 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2624
2625 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2626
2627 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2628 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2629 (Fw32_send_sys_command): Remove unused variables.
2630 (w32_msg_pump): Add parentheses.
2631
2632 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2633 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2634 Add parentheses.
2635
4956d1ef
GM
26362001-01-12 Gerd Moellmann <gerd@gnu.org>
2637
b30623be
GM
2638 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2639 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2640 being a pair of margins.
2641 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2642 to DEFVAR_LISP. Extend doc.
2643
2644 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2645 margins.
2646 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2647 pair of integers `(X . Y)', use X for the horizontal and Y for the
2648 vertical margin.
2649 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2650 (parse_image_spec): Check it.
52283633
SM
2651 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2652 (tiff_format, gif_format, gs_format):
2653 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2654
52283633
SM
2655 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2656 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2657 (x_draw_image_glyph_string): Adapt to the change of image margins.
2658
2659 * dispextern.h (struct image): Replace member `margin' with
2660 `hmargin' and `vmargin'.
2661
4554cc79
GM
2662 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2663 and GLYPHS.
2664
2665 * dispnew.c (update_text_area): Put code which decrements the
2666 stop position when the row's face extends to the end of the
3bffc665 2667 line in #if 0.
4554cc79 2668
3cccce8d
GM
2669 * xfns.c (x_set_mouse_color): Fix color allocation.
2670
4956d1ef
GM
2671 * keyboard.c: Call get_local_map with new argument list.
2672
2673 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2674
2675 * intervals.h (enum map_property): Removed.
2676 (get_local_map): Change prototype.
2677
2678 * keymap.c: Call get_local_map with new argument list.
2679 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2680
2c2ff7f2
GM
26812001-01-11 Gerd Moellmann <gerd@gnu.org>
2682
a23887b9
GM
2683 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2684 of the size needed for the tool bar string. For the last image,
2685 use a `display' property that reaches to the end of the string.
2686
a7ee2d2e
GM
2687 * xselect.c (selection_request_dpyinfo): New variable.
2688 (x_handle_selection_request): Set it.
2689 (x_selection_request_lisp_error): Don't call
2690 x_decline_selection_request if selection request's display has
2691 been closed.
2692
52283633
SM
2693 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2694 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2695
457b792c
GM
26962001-01-10 Dave Love <fx@gnu.org>
2697
2698 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2699 ${SOME_MACHINE_LISP}, not ${lisp}.
2700
c1efd260
GM
27012001-01-10 Gerd Moellmann <gerd@gnu.org>
2702
52283633
SM
2703 * xdisp.c (display_line): On ttys, produce more than one truncation
2704 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2705
ac95a621
GM
2706 * xselect.c (x_reply_selection_request): Add a comment.
2707
c1efd260
GM
2708 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2709 XkbGetNames instead of XkbGetKeyboard.
2710
1bfb1345
DL
27112001-01-10 Dave Love <fx@gnu.org>
2712
2713 * sysdep.c (random): Revert the declaration.
2714
38119822
GM
27152001-01-09 Gerd Moellmann <gerd@gnu.org>
2716
52283633
SM
2717 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2718 Call function string_bytes.
35f464a7
GM
2719 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2720
2721 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2722 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2723 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2724 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2725 the current sblock.
2726 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2727 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2728 after sweeping strings, and at the end.
2729 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2730
38119822
GM
2731 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2732 ensure that pop_message is called.
2733
2734 * keyboard.c (Fexecute_extended_command): Use a
2735 record_unwind_protect to ensure that pop_message is called.
2736
2737 * lisp.h (push_message_unwind): Add prototype.
2738
2739 * xdisp.c (push_message_unwind): New function.
2740
2741 * fileio.c (do_auto_save_unwind): Do the pop_message here
2742 instead of in Fdo_auto_save.
2743 (Fdo_auto_save): Don't call pop_message.
2744
f47a9ec4
KR
27452001-01-08 Ken Raeburn <raeburn@gnu.org>
2746
2747 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2748 in inner block.
2749
a758f97d
GM
27502001-01-08 Gerd Moellmann <gerd@gnu.org>
2751
6d0afc03
GM
2752 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2753 when increasing window's vscroll.
2754
a758f97d
GM
2755 * macros.c (Qkbd_macro_termination_hook): New variable.
2756 (syms_of_macros): Initialize and staticpro it.
2757 (pop_kbd_macro): Run kbd-macro-termination-hook.
2758
2759 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2760
1bfb1345 27612001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2762
2763 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2764 arglist, for documentation's sake.
2765
0dac6924
AI
27662001-01-06 Andrew Innes <andrewi@gnu.org>
2767
2768 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2769 of *.pdb.
2770
8182406a
AI
27712001-01-05 Andrew Innes <andrewi@gnu.org>
2772
2773 * term.c (update_end): Don't check updating_frame; for some reason
2774 this can be 0 sometimes, such as after dismissing a popup menu,
2775 and isn't necessary given the explicit frame argument.
2776
3828218c
GM
27772001-01-05 Gerd Moellmann <gerd@gnu.org>
2778
2779 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2780 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2781
2f5ded21
GM
27822001-01-04 Gerd Moellmann <gerd@gnu.org>
2783
52283633 2784 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2785
2786 * xfns.c (x_create_tip_frame): Preserve the value of
2787 face_change_count around the creation of the tip frame.
52283633 2788
2f5ded21
GM
2789 * xfns.c (last_show_tip_args): New variable.
2790 (compute_tip_xy): New function.
2791 (Fx_show_tip): Reuse an existing tip frame, if possible.
2792 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2793
dfad65fa
DL
27942001-01-04 Dave Love <fx@gnu.org>
2795
64d4ec0f
DL
2796 * editfns.c (Fformat): Doc fix.
2797
dfad65fa
DL
2798 * systime.h (set_file_times): Prototype.
2799
2800 * widget.h (EmacsFrameSetCharSize_): Prototype.
2801
2802 * sysdep.c (random, srandom): Declare explicitly.
2803
2804 * dispextern.h (move_it_vertically_backward): Declare.
2805
85fe3b5e
GM
28062001-01-04 Gerd Moellmann <gerd@gnu.org>
2807
0f2ac578
GM
2808 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2809 like in Fx_create_frame.
2810
482cca61
GM
2811 * xfaces.c (set_font_frame_param): Don't do anything for
2812 non-graphical frames.
2813
85fe3b5e
GM
2814 * window.c (Fdelete_other_windows): Set window's window_end_valid
2815 to nil when changing the window's start. Don't change the
2816 window's start when its top position hasn't changed. If we do,
2817 this will set the window's optional_new_start, which act's like a
2818 force_start during redisplay with C-x 1 M-> under particular
2819 circumstances (see report from Per Starback to emacs-pretest-bug
2820 from 2000-12-13.).
2821
3e99d3b4
GM
28222001-01-03 Gerd Moellmann <gerd@gnu.org>
2823
a77dc1ec
GM
2824 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2825 short cut at the start of the function. Add an assertion.
2826 (reseat_at_next_visible_line_start): Add an assertion.
2827
2f3cad6c
GM
2828 * window.c (Frecenter): When changing the window start, set the
2829 window's window_end_valid to nil.
2830 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2831
2832 * dispextern.h (move_it_past_eol): Add prototype.
2833
2834 * xdisp.c (move_it_past_eol): New function.
2835
3e99d3b4
GM
2836 * window.c (Fwindow_end): Doc fix.
2837
28382001-01-03 Dave Love <fx@gnu.org>
2839
52283633 2840 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2841
bafb434c
GM
28422001-01-03 Gerd Moellmann <gerd@gnu.org>
2843
2844 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2845 the enabled_p flag of the glyph row at window_end_vpos to 0.
2846 (handle_single_display_prop): Fix last change.
2847
5297fb00
RS
28482001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2849
2850 * window.c (Frecenter): Doc fix.
2851
13d6a61c
AI
28522001-01-02 Andrew Innes <andrewi@gnu.org>
2853
2854 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2855
2856 * frame.h (output_method): Add output_w32_console method.
2857 (FRAME_W32_CONSOLE_P): New macro.
2858
2859 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2860 use output_w32_console method.
2861 (Qw32_console): New Lisp_Object.
2862 (Fframep): Return it.
2863 (syms_of_frame): Init it.
52283633 2864 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2865
2866 * xfaces.c (realize_default_face): Set face foreground and
2867 background to unspecified for w32_console frames.
2868 (realize_face): Realize face cache for w32_console frames.
2869 (realize_tty_face): Accept w32_console frames.
2870
52283633 2871 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2872 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2873 necessary, even if running interactively.
2874
2875 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2876 w32_console frames.
2877
52283633
SM
2878 * w32term.c (x_update_begin):
2879 (x_update_end):
2880 (x_clear_frame):
2881 (x_ins_del_lines):
2882 (x_change_line_highlight):
2883 (x_delete_glyphs):
2884 (w32_ring_bell):
2885 (x_update_begin):
2886 (x_update_end):
2887 (w32_reassert_line_highlight):
2888 (w32_frame_rehighlight):
13d6a61c
AI
2889 (w32_frame_raise_lower): Do nothing if not w32 frame.
2890
2891 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2892
2893 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2894 system doesn't tell us directly.
2895 (Fx_display_visual_class): Implement properly.
2896
d6bb0c0d
GM
28972001-01-02 Gerd Moellmann <gerd@gnu.org>
2898
2899 * window.c (Frecenter): Handle centering in graphical frames
2900 specially. Centering on the basis of line counts doesn't work
2901 reliably with variable-height lines.
52283633 2902
315f5865
EZ
29032001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2904
2905 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2906 and al[].
2907
52283633 2908 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2909 (update_compositions): Remove unused variable `hook'.
2910
2911 * intervals.c (get_local_map): Remove unused variable `tem'.
2912
2913 * doprnt.c (doprnt1): Remove unused variable `size'.
2914
2915 * fns.c (Flength): Remove unused variable `tail'.
2916 (Fdelete): Remove unused variable `size'.
2917
2918 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2919 and `gcpro2'.
2920
52283633 2921 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2922
2923 * data.c (find_symbol_value): Remove extra 3rd argument in the
2924 call to swap_in_symval_forwarding.
2925
52283633 2926 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2927
2928 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2929 (trivial_regexp_p): Remove unused variable `c'.
2930 (boyer_moore): Remove unused variable `k'.
2931
2932 * indent.c (current_column): Remove unused variable `stopchar'.
2933 (Fcompute_motion): Remove unused variable `contin'.
2934
2935 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2936
2937 * dired.c (directory_files_internal): Fix a typo in a comment.
2938 Remove an unused variable `handler'.
52283633 2939 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2940 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2941 on BSD4_2.
2942
52283633 2943 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2944
2945 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2946 and `buf'.
2947 (Fmarker_insertion_type): Remove unused variable `buf'.
2948
2949 * insdel.c (make_gap): Remove unused variable `result'.
2950
52283633 2951 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2952 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2953 (menu_bar_items): Remove unused function-scope variable `tem'.
2954
2955 * fontset.c (fontset_ref): Remove unused variable `i'.
2956 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2957 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2958 (make_fontset_for_ascii_face): Remove unused variable `name'.
2959 (fs_load_font): Remove unused variable `font_idx'.
52283633 2960 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2961 (list_fontsets): Remove unused variable `tail'.
2962 (Fnew_fontset): Remove unused variables `family' and `registry'.
2963 (accumulate_font_info): Remove unused variable `tmp'.
2964 (Ffontset_font): Remove unused variable `id'.
2965 (syms_of_fontset): Remove unused variable `i'.
2966
2967 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2968 to x_term_init.
2969 (lookup_image): Remove unused variable `file'.
2970 (xbm_load): Remove unused variables `bitmap_data', `height', and
2971 `width'. Remove function-local variable `i', leave the
2972 block-local one.
2973 (gif_load): Remove unused variable `inc'.
2974
52283633 2975 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2976 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2977 leave only the one in the inner block.
2978
2979 * xfaces.c (face_fontset, realize_default_face): Remove unused
2980 variable `fontset'.
2981 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2982
2983 * term.c (encode_terminal_code): Remove unused variable `c'.
2984
2985 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2986 char *' instead of `char *'.
2987
2988 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2989 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2990 (Fchar_category_set): Remove unused variables `val', `charset',
2991 `c1' and `c2'.
2992
52283633
SM
2993 * coding.c (detect_coding_iso2022, setup_coding_system):
2994 Remove unused variable `i'.
315f5865
EZ
2995 (detect_coding_mask): Remove unused variable `idx'.
2996 (detect_coding): Remove unused variable `i'.
2997 (ccl_coding_driver): Remove unused variable `result'.
2998 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2999 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3000 (encode_coding_string): Remove unused variables `gcpro1' and
3001 `saved_coding_symbol'.
3002 (Ffind_coding_systems_region_internal): Remove function-local
3003 variable args[], leave only the block-local one.
3004 (code_convert_region1): Remove unused variable `len'.
3005
3006 * charset.c (char_printable_p): Remove unused variable `chars'.
3007 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3008 (str_to_multibyte): Remove unused variable `c'.
3009
3010 * window.c (size_window): Remove block-local variable `min_size'.
3011
3012 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3013 `header_line_height'.
3014 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3015 enum display_element_type.
3016
1a8a9daf
GM
30172001-01-02 Gerd Moellmann <gerd@gnu.org>
3018
6dde6abc 3019 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3020 statements that call X. Save away the error message in a local copy.
3021
1883b2c6
GM
3022 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3023 the start.
3024
a13be207
GM
3025 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3026 in or at the start of invisible text.
3027
1a8a9daf
GM
3028 * dispnew.c (update_window): Don't check_current_matrix_flags.
3029
3608c0f9
JR
30302001-01-01 Jason Rumney <jasonr@gnu.org>
3031
3032 * w32fns.c (x_figure_window_size): Do not allow new_height and
3033 new_width of frame to override specified values.
3034
abb1acc4
KH
30352000-12-30 Kenichi Handa <handa@etl.go.jp>
3036
52283633 3037 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3038
762a68ec
GM
30392000-12-29 Gerd Moellmann <gerd@gnu.org>
3040
52283633 3041 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3042 (update_window) [GLYPH_DEBUG]: Call it.
3043 (scrolling_window): Prevent including current rows which are below
3044 what's displayed in the window.
3045
3046 * xdisp.c (try_window_reusing_current_matrix)
3047 <new start <= old start>: Disable rows in the current matrix
3048 which are below the window after scrolling.
52283633 3049
762a68ec
GM
3050 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3051 is zero. It's not worth the complexity.
3052 (invisible_text_between_p): Put in #if 0 because unused.
3053
2d5912c1
GM
30542000-12-28 Gerd Moellmann <gerd@gnu.org>
3055
46f6a258
GM
3056 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3057 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3058
89f93679
GM
3059 * keyboard.c (echo_char): If C is an integer, always call
3060 push_key_description. Former code could signal an invalid
3061 character error.
3062
3063 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3064 If set, print multibyte text.
3065 (Fsingle_key_description): Call push_key_description with
3066 FORCE_MULTIBYTE set.
3067 (describe_buffer_bindings): Likewise.
3068
3069 * lisp.h (push_key_description): Add prototype.
3070
c06017fb
GM
3071 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3072 around the call to redisplay_internal.
3073
f1d2ce7f
GM
3074 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3075
2d5912c1
GM
3076 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3077
9371f831
KH
30782000-12-28 Kenichi Handa <handa@etl.go.jp>
3079
3080 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3081 (ccl_driver): New local variable `extra_bytes'.
3082
3083 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3084
52283633
SM
3085 * coding.c (setup_coding_system):
3086 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3087 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3088
0c80628a
KH
30892000-12-28 Kenichi Handa <handa@etl.go.jp>
3090
3091 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3092 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3093 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3094 (decode_composition_emacs_mule): New function.
3095 (decode_coding_emacs_mule): Decode composition sequence by calling
3096 decode_composition_emacs_mule.
3097 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3098 (encode_coding_emacs_mule): Changed from macro to function.
3099 If a text contains compositions, encode them correctly.
0c80628a
KH
3100 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3101 that decoding and encoding are required.
3102
3e32cc27
GM
31032000-12-27 Gerd Moellmann <gerd@gnu.org>
3104
5e25feee
GM
3105 * xfaces.c (PT_PER_INCH): New macro.
3106 (xlfd_point_size): Compute real point size from font's pixel size.
3107 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3108 instead of 72.
3109
892d8fcd
GM
3110 * .gdbinit: Comment out the line pointing to the Lesstif source
3111 directory.
3112
12c8b416
GM
3113 * window.c (Frecenter): Use displayed_window_lines instead
3114 of window_internal_height.
3115
6061fbf0
GM
3116 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3117 instead of x-toolkit-scroll-bars-p.
3118 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3119
3120 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3121 instead of x-toolkit-scroll-bars-p.
3122 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3123
3e32cc27
GM
3124 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3125 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3126 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3127 New variables.
3128 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3129 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3130 (build_frame_matrix_from_leaf_window): Remove unused code.
3131 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3132 redisplay history.
3133 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3134 (update_window) [GLYPH_DEBUG]: Likewise.
3135 (syms_of_display): Defsubr dump-redisplay-history.
3136
31798cfe
GM
31372000-12-23 Gerd Moellmann <gerd@gnu.org>
3138
f717c2ba
GM
3139 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3140 the end of the prompt. Set echo_after_prompt to the offset
3141 of echoptr in echobuf.
3142
aeb2b8fc
GM
3143 * xdisp.c (init_from_display_pos): Pop until the iterator's
3144 stack is empty; there may be frames for stretch or images
3145 on the stack.
3146
31798cfe
GM
3147 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3148 (save_or_restore_current_matrix): New function for the same
3149 purpose, but more efficient.
3150 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3151
f8156156
EZ
31522000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3153
3154 * xdisp.c (syms_of_xdisp): Fix last change.
3155
bdd6d4e8
GM
31562000-12-23 Gerd Moellmann <gerd@gnu.org>
3157
3158 * xdisp.c (syms_of_xdisp): Doc fix.
3159
3160 * xdisp.c (redisplay_window): Remove label restore_buffers;
3161 use finish_scroll_bars instead to make sure that scroll bars
3162 are redeemed. If we don't do this, flickering can result from
3163 scroll bars being destroyed and recreated.
3164
9436cdf9
JR
31652000-12-22 Jason Rumney <jasonr@gnu.org>
3166
3167 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3168 in the wrong colors when the foreground is not black.
3169 (expose_window): Don't redraw the window that's currently being
3170 updated.
3171
951f9df5
GM
31722000-12-22 Gerd Moellmann <gerd@gnu.org>
3173
856ff7a7
GM
3174 * window.c (size_window): When setting the window's too_small_ok
3175 flag, compare old size with minimum size depending on WIDTH_P,
3176 don't compare with window_min_width.
52283633 3177
951f9df5
GM
3178 * window.c (delete_window): Simplify somewhat.
3179 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3180 freeing window matrices. The flag windows_or_buffers_changed is
3181 set, so the next redisplay will consider all windows; this should
3182 suffice.
3183
886bc933
KH
31842000-12-22 Kenichi Handa <handa@etl.go.jp>
3185
3186 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3187
3188 * ccl.h (struct ccl_program): New member cr_consumed.
3189
3190 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3191 (CCL_READ_CHAR): Handle EOL conversion here.
3192 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3193
177f4e88
GM
31942000-12-21 Gerd Moellmann <gerd@gnu.org>
3195
52283633 3196 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3197
3198 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3199 otherwise tabs of different size compare equal.
3200
3201 * callint.c (Fcall_interactively): Prevent a compiler warning.
3202
3203 * print.c (print_unwind): Return nil.
3204 (PRINTDECLARE): Initialize all local variables.
3205 (print_preprocess): Add a default case.
3206
8e15274f
GM
3207 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3208
3209 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3210
52283633 3211 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3212 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3213
3214 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3215
3216 * dispnew.c (ensure_frame_matrix): Removed.
3217 (save_frame_matrix, restore_frame_matrix): New functions.
3218 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3219
3220 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3221 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3222
99012074
AI
32232000-12-21 Andrew Innes <andrewi@gnu.org>
3224
3225 * w32term.c (x_update_begin): Regenerate the palette here, rather
3226 than for each window.
3227
3228 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3229 palette is NULL, since this corrupts memory! Also get
3230 display_info reference from frame.
3231
29ef7d2d
JR
32322000-12-21 Jason Rumney <jasonr@gnu.org>
3233
3234 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3235
3236 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3237 to avoid returning without releasing it.
3e27fa1f 3238
3f9d67a6
KH
32392000-12-21 Kenichi Handa <handa@etl.go.jp>
3240
587fc3f9
KH
3241 * keymap.c (push_key_description): Don't convert eight-bit-control
3242 and eight-bit-graphic to multibyte character.
3243
3f9d67a6
KH
3244 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3245 generic character and CODE1 is nil, return the smallest character
3246 in CHARSET.
3247
774ba8c9
DL
32482000-12-20 Dave Love <fx@gnu.org>
3249
3250 * s/osf5-0.h (NSIG): Don't redefine.
3251
88416888
SM
32522000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3253
3254 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3255 excluding menu-bar and tool-bar.
3256 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3257 (menu_item_p): Remove.
3258 (where_is_internal_1): Don't ignore menu-items.
3259
a6426c6f
GM
32602000-12-20 Gerd Moellmann <gerd@gnu.org>
3261
03ff8aab
GM
3262 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3263 into account.
3264
3265 * window.c (make_window): Initialize window's min_hscroll.
3266 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3267 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3268 to zero.
3269 (struct saved_window): New member min_hscroll.
3270 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3271 (Fset_window_configuration): Set window's min_hscroll.
3272 (save_window_save): Save window's min_hscroll.
3273 (compare_window_configurations): Compare min_hscroll values.
3274
3275 * window.h (struct window): New member min_hscroll.
3276
3277 * keyboard.c (echo_prompt): Prevent a compiler warning.
3278
8de4aaf8
GM
3279 * xdisp.c (try_cursor_movement): Fix last change. The real
3280 condition is that PT is at the end of the row, and should
3281 be displayed at the start of the next row.
52283633 3282
3f7e3031
GM
3283 * xdisp.c (try_cursor_movement): If we end on a partially
3284 visible line, end we already decided to scroll, return -1.
3285
a6426c6f
GM
3286 * dispextern.h (ensure_frame_matrix): Add prototype.
3287
3288 * window.c (delete_window, Fsplit_window)
3289 (Fset_window_configuration): Call ensure_frame_matrix.
3290
52283633
SM
3291 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3292 New functions.
a6426c6f
GM
3293 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3294 completed, call fake_current_matrices instead of marking frame
3295 garbaged.
3296
57fa2774
JR
32972000-12-20 Jason Rumney <jasonr@gnu.org>
3298
3299 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3300
d925df90
EZ
33012000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3302
3303 * fns.c (Frequire): Doc fix.
3304
7b93a85b
GM
33052000-12-19 Gerd Moellmann <gerd@gnu.org>
3306
52283633 3307 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3308
c74e645b
GM
3309 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3310 currently displaying a message.
3311
7b93a85b
GM
3312 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3313 xterm.h.
3314 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3315
90d97e64
AI
33162000-12-18 Andrew Innes <andrewi@gnu.org>
3317
3318 * w32.c (w32_strerror): New function.
3319
3320 * w32.h (w32_strerror): New extern.
3321
3322 * w32fns.c (Fw32_shell_execute): Use it.
3323
91c9e6ce
GM
33242000-12-18 Gerd Moellmann <gerd@gnu.org>
3325
3326 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3327
6f4745e2
EZ
33282000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3329
3330 * msdos.c (IT_set_face): Obey inverse_video.
3331
c9e088ce
KH
33322000-12-18 Kenichi Handa <handa@etl.go.jp>
3333
3334 * dired.c (directory_files_internal): Always return decoded filenames.
3335
c3695f5f
GM
33362000-12-18 Gerd Moellmann <gerd@gnu.org>
3337
52d8e4ff
GM
3338 * xterm.c (x_connection_closed): Prevent being called recursively
3339 because of an error condition in XtCloseDisplay.
52283633 3340
62be9979
GM
3341 * xdisp.c (init_iterator): If noninteractive, and the frame's
3342 face cache is null, make one.
3343
52283633 3344 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3345
c3695f5f
GM
3346 * process.c (wait_reading_process_input): Check for pending
3347 input when running timers.
3348
78555fbe
EZ
33492000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3350
52283633 3351 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3352
b2b36264
KH
33532000-12-18 Kenichi Handa <handa@etl.go.jp>
3354
3355 * process.c (read_process_output): Don't run a filter if the code
3356 decoder produces nothing but carryover.
3357
9c543fbf
AI
33582000-12-17 Andrew Innes <andrewi@gnu.org>
3359
3360 * w32.c (sys_rename): Only check errno against EEXIST, and not
3361 EACCES, when determining whether rename failed because the target
3362 exists. This was resulting in indefinite looping on Windows 9x if
3363 the source file was locked by another process.
3364
3365 * w32fns.c (Ffile_system_info): New function.
3366 (syms_of_w32fns): Defsubr it.
3367
10c2b5a8
GM
33682000-12-17 Gerd Moellmann <gerd@gnu.org>
3369
b0228ace
GM
3370 * window.c (coordinates_in_window): Fix computation for
3371 position on vertical line between mode lines.
3372
10c2b5a8
GM
3373 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3374 Don't alter tip_frame or tip_window.
3375 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3376 was deleted.
3377
c844a81a
GM
3378 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3379 Don't alter tip_frame or tip_window.
3380 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3381 was deleted.
3382
6c825f8e
EZ
33832000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3384
3385 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3386 be consistent with the doc string. Reported by NAKAJIMA Mikio
3387 <minakaji@osaka.email.ne.jp>.
3388
af4bb4c8
KH
33892000-12-16 Kenichi Handa <handa@etl.go.jp>
3390
3391 * xfaces.c (Vface_ignored_fonts): New variable.
3392 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3393 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3394
8062e53a
GM
33952000-12-15 Gerd Moellmann <gerd@gnu.org>
3396
e87b8809
GM
3397 * dispnew.c (update_window): Detect pending input every nth line
3398 updated, i.e. do it depending on real work done, and not on the
3399 vpos of the line.
3400
3401 * xterm.c (expose_window): Don't redraw the window that's
3402 currently being updated.
3403
a6768cc5
GM
3404 * window.c (Fset_window_point): Remove test for
3405 cursor_in_non_selected_windows.
3406
4ea7fdca
GM
3407 * lread.c (read1): Recognize end of file after `\\'.
3408
8062e53a
GM
3409 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3410 not unwind_create_frame.
3411
bb7959c1
GM
34122000-12-15 Dave Love <fx@gnu.org>
3413
3414 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3415 bcopy & al.
3416
3417 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3418
ced04c42
KH
34192000-12-15 Kenichi Handa <handa@etl.go.jp>
3420
c5443913
KH
3421 * coding.c (setup_coding_system): Clear all members of the struct
3422 coding_system at first.
bc137305
KH
3423 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3424 argument.
3425 (code_convert_region): Don't override coding->src_multibyte and
3426 coding->dst_multibyte.
c5443913 3427
ced04c42
KH
3428 * fns.c (Fmd5): Docstring improved.
3429
c2d7f289
MB
34302000-12-15 Miles Bader <miles@gnu.org>
3431
3432 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3433 are actually marked as mode-lines; otherwise use
3434 estimate_mode_line_height.
3435
9d7d9263
GM
34362000-12-14 Gerd Moellmann <gerd@gnu.org>
3437
3438 * editfns.c (Fformat): Prevent a buffer overrun when the format
3439 specifies a precision.
3440
7cf0153a
EZ
34412000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3442
3443 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3444 argument is outside the range [2..3].
3445
1de0f662
AI
34462000-12-14 Andrew Innes <andrewi@gnu.org>
3447
3448 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3449 nothing to do. Bind inhibit-quit.
3450 (tip_frame): Make it a Lisp_Object.
3451 (x_create_tip_frame): Set tip_frame after it has been added to
3452 Vframe_list.
3453 (Fx_show_tip): Don't set tip_frame here.
52283633 3454 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3455 (unwind_create_frame, unwind_create_tip_frame): New functions.
3456 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3457 while a frame is only partially constructed.
3458
3459 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3460 (x_free_frame_resources): New function.
3461 (x_destroy_window): Use it.
3462
02387dcc
GM
34632000-12-14 Gerd Moellmann <gerd@gnu.org>
3464
3465 * xfns.c (Fx_backspace_delete_keys_p): New function.
3466 (syms_of_xfns): Defsubr it.
3467
3468 * config.in (HAVE_XKBGETKEYBOARD): Add.
3469
0544ef49
KH
34702000-12-14 Kenichi Handa <handa@etl.go.jp>
3471
98d62747
KH
3472 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3473 Always store string in multibyte representation in echobuf.
3474 (echo_char): Always store string in multibyte representation in
3475 echobuf.
3476 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3477 (read_key_sequence): Adjusted for the change of echo_prompt.
3478
a20193cd
KH
3479 * fns.c (Fmd5): Docstring improved.
3480
191b83b6
KH
3481 * lisp.h (detect_coding_system): Prototype adjusted.
3482
0544ef49
KH
3483 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3484 (detect_coding_emacs_mule, detect_coding_iso2022,)
3485 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3486 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3487 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3488 (detect_coding_mask, detect_coding_system): New argument
3489 MULTIBYTEP. Callers changed.
1da1bb05
KH
3490 (decode_coding_string): Set coding->src_multibyte and
3491 coding->dst_multibyte before calling detect_coding and detect_eol.
3492 Update them after some coding system is detected.
52283633 3493
d5b3eb1b
SM
34942000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3495
3496 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3497
3498 * keyboard.c (menu_bar_items, tool_bar_items):
3499 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3500
f7f8bb69
GM
35012000-12-13 Gerd Moellmann <gerd@gnu.org>
3502
52283633 3503 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3504 New variables.
3505 (unwind_create_frame, unwind_create_tip_frame): New functions.
3506 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3507 while a frame is only partially constructed.
3508
3509 * xterm.h (x_free_frame_resources): Declare.
3510
3511 * xterm.c (x_free_frame_resources): New function.
3512 (x_destroy_window): Use it.
3513
e10da507
GM
3514 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3515 don't interrupt the update for pending input initially, i.e.
3516 update at least some lines.
3517
3518 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3519
d5b3eb1b 3520 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3521
3522 * xfns.c (gray_bitmap_bits): Declare `char *'.
3523
90aa2856
GM
35242000-12-12 Gerd Moellmann <gerd@gnu.org>
3525
3526 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3527 lines start with a relief line.
3528
a308c9cd
DL
35292000-12-12 Dave Love <fx@gnu.org>
3530
3531 * window.c (Fdisplay_buffer): Doc fix.
3532 (Fwindow_list): Remove unused var.
3533
3534 * buffer.h (mmap_set_vars): Declare.
3535
3536 * window.h (Fset_window_point): Declare.
3537
d575011f
EZ
35382000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3539
bf6282d2 3540 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3541 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3542 variable `area'. When looking for a row under (X,Y), give up if some
3543 of the previous rows is not enabled.
d575011f 3544
ecf4d726
GM
35452000-12-12 Gerd Moellmann <gerd@gnu.org>
3546
2ebf6139
GM
3547 * window.c (Fset_window_point): If displaying cursors in windows
3548 other than the selected window, make sure redisplay updates
3549 other windows to show the new value of point in the window.
3550
3551 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3552
bfdb75ee
GM
3553 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3554 the buffer is the sole visible buffer when in the mini-buffer.
3555
52283633 3556 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3557 Bind `inhibit-read-only' to t.
3558 (unwind_with_echo_area_buffer): Use AREF.
3559
c0006262
GM
3560 * xfns.c (Fx_hide_tip): Simplified.
3561
52283633
SM
3562 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3563 instead of `1'.
e9a59cad 3564
ecf4d726
GM
3565 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3566
e5959a9a
GM
35672000-12-11 Gerd Moellmann <gerd@gnu.org>
3568
a3642e49 3569 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3570
44b5a125
GM
3571 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3572 nothing to do. Bind inhibit-quit.
3573 (tip_frame): Make it a Lisp_Object.
3574 (x_create_tip_frame): Set tip_frame after it has been added to
3575 Vframe_list.
3576 (Fx_show_tip): Don't set tip_frame here.
3577
3578 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3579
3580 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3581 Lisp_Object.
3582
3583 * dispextern.h: Change external declaration of tip_frame.
3584
d990421f
GM
3585 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3586 return an empty string.
3587
4db87380
GM
3588 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3589 of the window's update_mode_line flag, since the former is set by
3590 force-mode-line-update, not the latter. This makes
3591 column-number-mode slightly faster.
52283633 3592
e5959a9a
GM
3593 * xdisp.c (try_window_id) <all changes above window start>:
3594 Set the cursor.
3595
169fe44e
GM
35962000-12-11 Paul Eggert <eggert@twinsun.com>
3597
3598 * config.in (HAVE_FTELLO): Remove.
3599 (HAVE_FSEEKO): Add.
3600 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3601 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3602 HAVE_FTELLO.
3603 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3604 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3605
59ec59ae
MB
36062000-12-11 Miles Bader <miles@gnu.org>
3607
3608 * window.c (displayed_window_lines): Don't round up when
3609 converting empty space at bottom to lines.
ff904dd6
MB
3610 Handle non-newline-terminated final lines properly.
3611 (Fwindow_text_height): New function (used to be in lisp).
3612 (syms_of_window): Initialize it.
59ec59ae 3613
42ebfa31
SM
36142000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3615
3616 * syntax.c (scan_lists): Check that the right quote char has the
3617 right Sstring syntax when jumping over strings.
3618 (init_syntax_once): Use Smax rather than 13.
3619
5cdb3cf3
MB
36202000-12-09 Miles Bader <miles@gnu.org>
3621
3622 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3623 with PARTIALLY, inverting the sense.
3624 (window_scroll_pixel_based): Scroll partially visible lines into
3625 place if we hit the beginning or end of the buffer.
a12167c5
MB
3626 (displayed_window_lines): Don't include partially visible lines.
3627 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3628
842b2a94
GM
36292000-12-08 Gerd Moellmann <gerd@gnu.org>
3630
3631 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3632
3633 * tparam.c (tparam1): Change the way buffers are reallocated to be
3634 portable and less obfuscated.
3635
3636 * termcap.c (tgetent): Change the way buffers are reallocated to
3637 be portable and less obfuscated.
3638
3639 * macros.c (store_kbd_macro_char): Change the way buffers are
3640 reallocated to be portable and less obfuscated.
3641
3642 * lread.c (read1): Change the way buffers are reallocated to be
3643 portable and less obfuscated.
3644
3645 * doc.c (Fsubstitute_command_keys): Change the way buffers
3646 are reallocated so that it is portable.
3647
137cad7c
EZ
36482000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3649
3650 * dosfns.c (Ffile_system_info): New function.
3651 (syms_of_dosfns): Defsubr it.
3652
5c7f629c
SM
36532000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3654
3655 * alloc.c (gc_sweep): Add comment.
3656
959e647d
GM
36572000-12-07 Gerd Moellmann <gerd@gnu.org>
3658
52283633
SM
3659 * sound.c (vox_configure): Change order of ioctls.
3660 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3661 Ignore errors when changing volume.
3662 (vox_close): Don't reset the device.
3663
926b7e5e
GM
3664 * process.c (read_process_output): Make sure the process marker's
3665 position is valid when the process buffer is changed in
3666 after-change functions. W3 does that.
52283633 3667
959e647d
GM
3668 * xfns.c (x_free_gcs): New function.
3669
3670 * xterm.h (x_free_gcs): Add prototype.
3671
3672 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3673 freeing GCs here.
3674
3675 * xterm.c (x_destroy_window): Call x_free_gcs so that
3676 resources of non-toolkit X windows will be freed.
3677
478ea067
AI
36782000-12-07 Andrew Innes <andrewi@gnu.org>
3679
3680 * w32fns.c (xlfd_charset_of_font): Fix last change.
3681
fbee3231
DL
36822000-12-06 Dave Love <fx@gnu.org>
3683
67292061
DL
3684 * md5.h (__P): Don't define -- it comes from config.h.
3685
fbee3231
DL
3686 * strftime.c: Change some #if foo to #ifdef foo.
3687
4ee87dbb
AI
36882000-12-06 Andrew Innes <andrewi@gnu.org>
3689
3690 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3691
52283633 3692 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3693 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3694 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3695
9765b4a4
GM
36962000-12-06 Gerd Moellmann <gerd@gnu.org>
3697
d285b373
GM
3698 * alloc.c (gc_sweep): Prevent symbols read during loadup
3699 from being freed.
3700
384333ee
GM
3701 * xdisp.c (underlying_face_id): New function.
3702 (handle_face_prop, face_before_or_after_it_pos): Use it
3703 to determine the face ``under'' a string. Let strings inherit
3704 the face of the buffer under them.
3705
3706 * xfaces.c (face_at_string_position): Update function comment.
52283633 3707
d4b72d58
GM
3708 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3709 matrix if the window's left position has changed; we need to
3710 redraw it in this case.
3711
3712 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3713
e1d05387
GM
3714 * window.c (coordinates_in_window): Check mouse on mode-line or
3715 header-line first.
3716
eb1b0c74
GM
3717 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3718 advertized by the function documentation.
3719
d94d636f
GM
3720 * window.c (syms_of_window): Doc fix.
3721
3887b449
GM
3722 * sound.c (vox_configure): Set volume for left and right channel.
3723 (sound_cleanup): Return nil.
3724
efc8f57a
GM
3725 * xdisp.c (move_it_by_lines): Fix paren typo.
3726
9765b4a4
GM
3727 * xterm.c (x_load_font): Don't use the font's max_bounds for
3728 computing the height of the font. If max_bounds' ascent or
3729 descent are greater than the font's ascent or descent, this means
3730 glyphs overlap, which should be handled now by redisplay.
3731
6529ed87
GM
3732 * window.c (Veven_window_heights): New variable.
3733 (syms_of_window): DEFVAR_LISP it.
3734 (Fdisplay_buffer): Check Veven_window_heights before evening the
3735 window heights.
52283633 3736
0eb2ecde
MB
37372000-12-06 Miles Bader <miles@gnu.org>
3738
3739 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3740 update `default-frame-alist' instead of setting no frame parameters.
3741
03d7a167
KH
37422000-12-06 Kenichi Handa <handa@etl.go.jp>
3743
3744 * composite.c (update_compositions): Fix typo (use the correct
3745 variable).
3746
5f8803c2
JR
37472000-12-05 Jason Rumney <jasonr@gnu.org>
3748
3749 * md5.h: Remove underscores from function declarations.
3750 (__attribute__, __alignof__) [!__GNUC__]: Define.
3751
3752 * md5.c: Delay include of md5.h until after namespace cleaning.
3753
c28a075b
JR
3754 * makefile.w32-in (fns.o): Depend on md5.h
3755 (md5.o): New target.
3756 (sunfns.o): Remove.
3757
3758 * makefile.nt: Likewise.
3759
ff3c7056
JR
37602000-12-05 Jason Rumney <jasonr@altavista.net>
3761
3762 * w32term.c (expose_area): Complete last change.
3763
0c21eeeb
KR
37642000-12-05 Ken Raeburn <raeburn@gnu.org>
3765
3766 * minibuf.c: Include intervals.h.
3767
f201d732
JR
37682000-12-05 Jason Rumney <jasonr@gnu.org>
3769
3770 * w32term.c (x_produce_glyphs): If a font for a component of
3771 a composition is not found, use 1 pixel dot ascent and 0 dot
3772 descent value to avoid displaying terribly tall empty boxes.
3773 (expose_area): Pass x-coordinate relative to the exposed
3774 area to x_draw_glyphs instead of a window-relative coordinate.
3775
21999ab9
GM
37762000-12-05 Gerd Moellmann <gerd@gnu.org>
3777
4d2036e4
GM
3778 * xdisp.c (next_element_from_ellipsis): Save face before selective
3779 display in saved_face_id, and set face_before_selective_p.
3780 (reseat_1): Reset face_before_selective_p.
3781 (append_space, extend_face_to_end_of_line): If iterator's
3782 face_before_selective_p is set, use the face from saved_face_id.
3783 (extend_face_to_end_of_line): For tty frames, make sure to
3784 use the right face id when producing spaces at the end of
3785 the line.
3786
3787 * dispextern.h (struct it): Add face_before_selective_p.
3788
52be17cc
GM
3789 * keyboard.c (record_char): Don't record identical help-echo
3790 events in recent_keys.
3791
8a4f36cc
GM
3792 * xterm.c [USE_X_TOOLKIT]: Close the display.
3793 (xim_close_dpy): Handle case that the display has been closed.
3794
57d6e381
GM
3795 * xterm.c (x_destroy_window): Reset the frame's X window after
3796 destroying it.
3797
21999ab9
GM
3798 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3799 variable window_width.
3800 (line_draw_cost): Fix code skipping over spaces at the end of the
3801 line when must_write_spaces is not set.
3802 (scrolling_window): Fix code inserting runs in list of all runs.
3803
91372bb7
KH
38042000-12-05 Kenichi Handa <handa@etl.go.jp>
3805
3806 * coding.c (setup_coding_system): Be sure to initialize
3807 coding->category_idx.
3808
6c083b4c
GM
38092000-12-04 Gerd Moellmann <gerd@gnu.org>
3810
0c68ce6f 3811 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3812
6452929e
GM
3813 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3814 area to x_draw_glyphs instead of a window-relative coordinate.
3815
d7f31e22
GM
3816 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3817 error in the message.
3818
ae18aa3b
GM
3819 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3820 timer after having read a key. It's not good for code reading
3821 several keys in a loop, like an input method.
3822
caa15ef7
GM
3823 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3824 record undo information for format-decode.
3825
3826 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3827 current buffer is read-only, not if it isn't.
3828
6c083b4c
GM
3829 * keyboard.c (record_char): Record `help-echo' input events
3830 in recent_keys only if they display some help. Don't record
3831 `help-echo' events as macro char.
3832
caa15ef7
GM
38332000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3834
3835 * editfns.c (save_excursion_restore): Don't move point
3836 in another window if it is showing the wrong buffer.
3837 Avoid the call to Fwindow_live_p, for speed.
3838
5a13529b
KH
38392000-12-04 Kenichi Handa <handa@etl.go.jp>
3840
e225faa7
KH
3841 * xfaces.c (struct font_name): New member registry_priority.
3842 (split_font_name): Initialize the above member to zero.
3843 (concat_font_list): New function.
3844 (font_list): Include fonts of all alternative registries.
3845 (FONT_POINT_SIZE_QUANTUM): New macro.
3846 (better_font_p): Ignore point size difference less than
3847 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3848
e89648b4
KH
3849 * xterm.c (x_produce_glyphs): If a font for a component of
3850 a composition is not found, use 1 pixel dot ascent and 0 dot
3851 descent value to avoid displaying terribly tall empty boxes.
3852
5a13529b
KH
3853 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3854
d7935eb6
KR
38552000-12-03 Ken Raeburn <raeburn@gnu.org>
3856
3857 * coding.h (code_convert_string1): Declare.
3858
3859 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3860
52283633 3861 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3862
0dd5e255
JR
38632000-12-02 Jason Rumney <jasonr@gnu.org>
3864
3865 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3866 correctly for single byte character case.
3867 (w32_per_char_metric): Do not try to make any assumptions about
3868 the metrics of BDF fonts.
250cfece 3869 (x_estimate_mode_line_height): If `mode-line' face
52283633 3870 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3871 (note_mouse_highlight): Change the cursor shape on the vertical
3872 border between windows [not enabled].
3873
3874 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3875
3876 * w32fns.c (Fx_create_frame): Reintroduce the call to
3877 face-set-after-frame-defaults.
3878 (Vx_window_horizontal_drag_shape): New variable.
3879 (syms_of_xfns): DEFVAR_LISP it.
3880 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3881 enabled].
0dd5e255 3882
b5d8d2ca
GM
38832000-12-02 Simon Josefsson <simon@josefsson.org>
3884
3885 * fns.c (Fmd5): Use a different logic to decide the coding system
3886 to use.
3887
3888 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3889
fbb87147
EZ
38902000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3891
52283633 3892 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3893
447e9da0
GM
38942000-12-01 Gerd Moellmann <gerd@gnu.org>
3895
7708ced0
GM
3896 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3897 height for YNegative.
3898 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3899 height; also see comment there.
3900
447e9da0
GM
3901 * window.c (coordinates_in_window): Handle computations for
3902 positions on the vertical bar and fringes differently for
3903 window-system frames. Consider some pixels near the vertical bar
3904 as on the bar if the frame doesn't have vertical scroll bars.
3905 Associate positions between mode or header lines with the
3906 right window, the left one.
3907
86d1db20
JR
39082000-12-01 Jason Rumney <jasonr@gnu.org>
3909
3910 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3911
3912 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3913 invalid frame.
3914
a1d58e5b
GM
39152000-12-01 Gerd Moellmann <gerd@gnu.org>
3916
52283633 3917 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3918 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3919 (save_window_save, Fset_window_configuration): Save/restore
3920 window's orig_top and orig_height.
3921
89c609af
JR
39222000-12-01 Jason Rumney <jasonr@gnu.org>
3923
4d177746 3924 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3925
89c609af
JR
3926 * w32fns.c (x_set_cursor_color): Fix last change.
3927
eccc05db
GM
39282000-11-30 Gerd Moellmann <gerd@gnu.org>
3929
31b6671b
GM
3930 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3931 sure that the next redisplay displays the minibuffer, so that
3932 the cursor will be replaced with what the minibuffer wants.
3933
eccc05db
GM
3934 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3935 #ifndef instead of using #if.
3936 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3937 USE_TOOLKIT_SCROLL_BARS is defined.
3938
162de750
JR
39392000-11-30 Jason Rumney <jasonr@gnu.org>
3940
3941 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3942 x_display_cursor.
3943
693c4692
GM
39442000-11-30 Gerd Moellmann <gerd@gnu.org>
3945
3946 * fns.c (Fmd5): Doc fix.
3947
b5d8d2ca 39482000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3949
3950 * fns.c (Fmd5): New function.
3951 (syms_of_fns): Defsubr md5.
3952
3953 * Makefile.in (obj): Add md5.o
3954
b02cd40b
GM
39552000-11-30 Gerd Moellmann <gerd@gnu.org>
3956
edfb795e
GM
3957 * md5.h, md5.c: New files, taken from glibc.
3958
df3aedcf
GM
3959 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3960
b02cd40b 3961 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3962 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3963
8b5176cd
SM
39642000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3965
3966 * eval.c (Frun_hooks): Allow 0 arguments.
3967
346598f1
GM
39682000-11-29 Gerd Moellmann <gerd@gnu.org>
3969
f9396e03
GM
3970 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3971 is over the menu bar widget, say it's not on the frame.
3972
4a967a9b
GM
3973 * xfns.c (Fx_create_frame): Reintroduce the call to
3974 face-set-after-frame-defaults.
3975
346598f1
GM
3976 * eval.c (Fsignal): Reset handling_signal.
3977
222456a1
JR
39782000-11-28 Jason Rumney <jasonr@gnu.org>
3979
3980 * w32menu.c (add_menu_item): Reset menu item text when changing
3981 type to radio button.
3982
8049ddc0
GM
39832000-11-28 Gerd Moellmann <gerd@gnu.org>
3984
346598f1 3985 * xselect.c: Update copyright.
f4f4ee4d 3986
bebe4a2c
GM
3987 * window.c (coordinates_in_window): If on a mode or header line,
3988 but sufficiently close to its start, return ``on vertical
3989 border''. This gives us a way to drag windows horizontally when
3990 using toolkit scroll bars.
3991
3992 * xterm.c (note_mouse_highlight): Change the cursor shape
3993 on the vertical border between windows.
3994
3995 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3996
3997 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3998 (syms_of_xfns): DEFVAR_LISP it.
3999 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4000
8d2c2642
GM
4001 * textprop.c (text_read_only): New function.
4002 (verify_interval_modification): Use it instead of signaling
4003 `text-read-only'. This makes it easier to catch this error
52283633 4004 with a breakpoint.:
8d2c2642 4005
52283633 4006 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4007 not end of line, which includes CR.
4008
5a2bae6c
KH
40092000-11-28 Kenichi Handa <handa@etl.go.jp>
4010
4011 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4012 include no-conversion.
4013
ae31f84d
JR
40142000-11-27 Jason Rumney <jasonr@gnu.org>
4015
4016 * w32fns.c (w32_load_system_font): Always mark font as double byte
4017 if codepage is unicode.
4018
67f1cf4c
GM
40192000-11-27 Gerd Moellmann <gerd@gnu.org>
4020
4a74d071 4021 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4022 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4023
902ae620
GM
4024 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4025 `vertical-line', `mode-line' and `header-line' events.
4026
4027 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4028 of a character, a TAB for instance. This is easier than to set
4029 up the iterator exactly, and it's not a frequent case, so the
4030 additional effort wouldn't really pay off.
4031
c1e279c2
AC
40322000-11-26 Andrew Choi <akochoi@i-cable.com>
4033
67f1cf4c 4034 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4035 init_window_once.
4036
a609568a
JR
40372000-11-25 Jason Rumney <jasonr@gnu.org>
4038
52283633
SM
4039 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4040 Args to window_from_coordinates should be pixel coordinates.
48b21762 4041
a609568a
JR
4042 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4043 redisplay handles them properly.
4044
a658d039
MB
40452000-11-25 Miles Bader <miles@gnu.org>
4046
4047 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4048
d3416cca
JR
40492000-11-24 Jason Rumney <jasonr@gnu.org>
4050
4051 * w32.c (init_environment): Set LANG environment variable based on
4052 locale settings, if not set.
4053
4054 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4055 making tool bar smaller. When clearing the frame, also
4056 clear current matrices. Clear frame when tool bar disappears.
4057 Don't use more lines for the tool-bar than is available.
4058 (x_change_window_heights): New function.
4059
ba193890
GM
40602000-11-24 Gerd Moellmann <gerd@gnu.org>
4061
2be8f184
GM
4062 * xdisp.c (init_from_display_pos): If POS says we're already after
4063 an overlay string ending at POS, make sure to pop the iterator
4064 because it will be in front of that overlay string. When POS is
4065 ZV, we've thereby also ``processed'' overlay strings at ZV.
4066
ba193890
GM
4067 * xfaces.c (lface_from_face_name): Function comment fix.
4068
1862a24e
MB
40692000-11-24 Miles Bader <miles@gnu.org>
4070
4071 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4072 apply `mode-line-inverse-video' -- zero means force display using
4073 the default face, non-zero means display using the specialized face.
4074 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4075
f07fa1b8
KH
40762000-11-23 Kenichi Handa <handa@etl.go.jp>
4077
4078 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4079 hard coded `4'.
4080
2bcdf662
EZ
40812000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4082
4083 * coding.c (decode_coding_emacs_mule): Fix the case of
4084 CODING_EOL_LF, which used uninitialized value of c.
4085
ba8299ff
SM
40862000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4087
4088 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4089
f4117c4d
GM
40902000-11-22 Gerd Moellmann <gerd@gnu.org>
4091
03e757c1
GM
4092 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4093 buffer object.
4094
f4117c4d
GM
4095 * frame.h (struct frame): Replace desired_tool_bar_items,
4096 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4097 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4098
4099 * frame.c (make_frame): Change initialization of tool bar
4100 items accordingly.
4101
4102 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4103 Change references to members deleted from struct frame to use the
f4117c4d
GM
4104 new ones.
4105
4106 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4107 references to members deleted from struct frame to use the new ones.
f4117c4d 4108
52283633 4109 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4110
4111 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4112
4113 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4114 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4115 from struct frame to use the new ones.
4116
f8e2f3f2
MB
41172000-11-23 Miles Bader <miles@gnu.org>
4118
4119 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4120 the face's inverse-video attribute, rather than overriding it.
4121
60e8e0a5
GM
41222000-11-22 Gerd Moellmann <gerd@gnu.org>
4123
4124 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4125 making tool bar smaller.
4126
92dd1b29
DL
41272000-11-22 Dave Love <fx@gnu.org>
4128
4129 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4130
e672fdce
MB
41312000-11-22 Miles Bader <miles@gnu.org>
4132
3a17d6cc
MB
4133 * keyboard.c (Vminibuffer_message_timeout): New variable.
4134 (command_loop_1): Use it to determine message timeout.
4135 (syms_of_keyboard): Initialize it.
4136
60e8e0a5 4137 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4138
e9655d81
KH
41392000-11-22 Kenichi Handa <handa@etl.go.jp>
4140
4141 * sysdep.c: Move the code for declaring h_errno after #include
4142 <netdb.h>.
4143
77270fac
GM
41442000-11-21 Gerd Moellmann <gerd@gnu.org>
4145
cd913aae
GM
4146 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4147 the menu bar when the tooltip is unmapped.
4148
77270fac
GM
4149 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4150 sole visible buffer when we're currently in the mini-buffer, and
4151 give up if so.
52283633 4152
556635d6
JR
41532000-11-21 Jason Rumney <jasonr@gnu.org>
4154
4155 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4156 put on the clipboard.
4157 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4158 copy of what Emacs last put there. If they are the same, do not
52283633 4159 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4160
5b7bde64
MB
41612000-11-22 Miles Bader <miles@gnu.org>
4162
4163 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4164 (syms_of_minibuf): Initialize it.
4165 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4166 to prompt, don't make read-only.
4167
ff23e1dd
GM
41682000-11-21 Gerd Moellmann <gerd@gnu.org>
4169
52283633
SM
4170 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4171 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4172
7aaf4388
GM
4173 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4174
f5f47add 4175 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4176
ff23e1dd
GM
4177 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4178
37c35586
KH
41792000-11-21 Kenichi Handa <handa@etl.go.jp>
4180
4181 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4182 ... #endif scope.
4183
ff9ab414
GM
41842000-11-20 Gerd Moellmann <gerd@gnu.org>
4185
52283633 4186 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4187 screen supports it.
4188
29a01b72
GM
4189 * s/gnu-linux.h: Don't use `#cpu'.
4190
09dfdf85
GM
4191 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4192 not defined in mman.h.
4193
52283633 4194 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4195 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4196 and store an index in the XClientMessageEvent. Storing a
4197 Lisp_Object or pointer can fail on a 64 bit system, since X only
4198 transfers 32 bits.
52283633
SM
4199 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4200
81459ac9
DL
42012000-11-20 Dave Love <fx@gnu.org>
4202
4203 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4204
56c13ae6
GM
42052000-11-20 Gerd Moellmann <gerd@gnu.org>
4206
4207 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4208
495a6df3
KH
42092000-11-20 Kenichi Handa <handa@etl.go.jp>
4210
2bcf3714
KH
4211 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4212 by WIDTH.
4213
495a6df3
KH
4214 * alloc.c (make_string): Fix previous change. Be sure to make
4215 unibyte string correctly.
4216
6d950f4c
GM
42172000-11-19 Gerd Moellmann <gerd@gnu.org>
4218
39b39373
GM
4219 * window.c (Fwindow_list): Change parameter list to be XEmacs
4220 compatible.
4221 (window_list_1): New function.
4222 (window_loop): Use it instead of Fwindow_list.
4223
b95b34e5
GM
4224 * sysdep.c (emacs_ospeed): New variable.
4225 (toplevel): Don't declare ospeed extern.
4226 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4227
4228 * termcap.c (ospeed): Remove.
4229 (tputs) [!emacs]: Remove unused code.
4230 (tgetent): Avoid a compiler warning.
4231
e83dc917
GM
4232 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4233 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4234 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4235
4236 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4237 removed.
4238 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4239 Take the X display as additional argument.
4240 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4241 `Widget' is a pointer type that's not easily stored in Lisp_Object
4242 form in a portable way.
52283633 4243
6d950f4c
GM
4244 * dispnew.c (update_text_area): Fix last change.
4245
e47306e6
GM
42462000-11-18 Gerd Moellmann <gerd@gnu.org>
4247
fb3cd89b
GM
4248 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4249
4250 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4251 clear current matrices.
4252
edaa9aed
GM
4253 * buffer.c (mmap_enlarge): Don't print a message on stderr
4254 if mapping new memory at the end of the existing region fails.
4255
e47306e6
GM
4256 * dispnew.c (update_text_area): Don't skip over equal glyphs
4257 when the last current glyph overlaps the glyph to its right.
4258
509633e3
MB
42592000-11-18 Miles Bader <miles@gnu.org>
4260
4261 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4262 lines that *end* with "..." too (that's the most common case!).
4263
d392e9c5
GM
42642000-11-18 Gerd Moellmann <gerd@gnu.org>
4265
67988445
GM
4266 * xdisp.c (resize_mini_window): Temporarily change to the
4267 mini-window's buffer if necessary.
1bfdbe43 4268
d392e9c5
GM
4269 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4270 the tooltip obscures less text under it.
4271
42722000-11-17 Gerd Moellmann <gerd@gnu.org>
4273
4274 * puresize.h (BASE_PURESIZE): Increase to 700000.
4275
92bb977f
JR
42762000-11-18 Jason Rumney <jasonr@gnu.org>
4277
4278 * w32term.c (w32_draw_bitmap): Use face to set colors.
4279
26fbf20b
DL
42802000-11-17 Dave Love <fx@gnu.org>
4281
4282 * lread.c (Fload): Fix #ifdef for pcc.
4283
100b593b
GM
42842000-11-17 Gerd Moellmann <gerd@gnu.org>
4285
4286 * xdisp.c (pos_visible_p): Compute the default character height
4287 differently.
4288
a288d0d1
GM
42892000-11-16 Gerd Moellmann <gerd@gnu.org>
4290
cac94de6 4291 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4292 knowing the line's height; use the default font's height in that case.
cac94de6 4293
a288d0d1
GM
4294 * xfaces.c (weight_table): Add `demi' with the same meaning as
4295 `demibold'.
4296
981fb6f6
KH
42972000-11-16 Kenichi Handa <handa@etl.go.jp>
4298
2cca872d 4299 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4300 (clear_glyph_row): Delete local static variable null_row.
4301
e5fa381b
JR
43022000-11-15 Jason Rumney <jasonr@gnu.org>
4303
4304 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4305 (w32_alloc_lighter_color): Use new brightness calculations from
4306 xterm.c. Scale delta to be in the range expected by W32.
4307 (w32_draw_relief_rect): Use frame relief colors.
4308
8e42f043
GM
43092000-11-15 Gerd Moellmann <gerd@gnu.org>
4310
6d133d1f
GM
4311 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4312 (Qinhibit_default_face_x_resources): New variable.
4313 (syms_of_frame): Initialize it.
4314 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4315
4316 * xdisp.c (pos_visible_p): Improve function comment.
4317
4318 * lisp.h (BINDING_STACK_SIZE): New macro.
4319
8e42f043
GM
4320 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4321 reading the directory if readdir returns null and errno is EAGAIN
4322 or EINTR.
4323
e8c87124
SM
43242000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4325
4326 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4327 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4328 Set amount_to_scroll to max of dx and scroll_step so that
4329 scroll-conservatively doesn't defeat scroll-step>1.
4330 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4331 scroll-conservatively for line-at-a-time scrolling.
4332
5f0c971d
GM
43332000-11-14 Gerd Moellmann <gerd@gnu.org>
4334
4335 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4336 extra argument.
4337
4338 * xdisp.c (current_mode_line_height, current_header_line_height):
4339 New variables.
4340 (init_xdisp): Initialize them.
4341 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4342 and use exact mode line heights if it is set.
4343
4344 * lisp.h (pos_visible_p): Change prototype.
4345
4346 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4347 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4348 and current_header_line_height first.
52283633
SM
4349 (current_mode_line_height, current_header_line_height):
4350 Declare extern.
5f0c971d 4351
d7361edf
MB
43522000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4353
4354 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4355 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4356 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4357
ee5e440a
MB
43582000-11-14 Miles Bader <miles@gnu.org>
4359
4360 * xterm.c (x_alloc_lighter_color): Include an additive component
4361 too for dark colors, because FACTOR isn't enough.
4362 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4363 New macros.
4364
5ca020fc
GM
43652000-11-13 Gerd Moellmann <gerd@gnu.org>
4366
4367 * keyboard.c (show_help_echo): Call message3_nolog with number of
4368 bytes in the help string as 2nd parameter, instead of the number
4369 of characters.
4370
9d348294
MB
43712000-11-13 Miles Bader <miles@gnu.org>
4372
4373 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4374 (Fload): Use new openp return protocol.
4375 Don't try to use Vload_source_file_function to load .elc files.
4376 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4377 openp return protocol.
4378 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4379
1729bb9a
KH
43802000-11-11 Kenichi Handa <handa@etl.go.jp>
4381
4e677396
KH
4382 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4383
4384 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4385 Defined these macros.
4386 (NLIST_STRUCT): Avoid re-defining it.
4387
1729bb9a
KH
4388 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4389 -I/usr/contrib/X11R6/include.
4390 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4391
a82fe213
JR
43922000-11-10 Jason Rumney <jasonr@gnu.org>
4393
4394 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4395
4396 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4397 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4398
4399 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4400 (Qw32_charset_vietnamese): New symbol.
4401 (xlfd_charset_of_font): New function.
4402 (w32_load_system_font): Use it.
4403 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4404 when Vw32_charset_info_alist is nil to ensure default face always
4405 has font. Use Fcar and Fcdr for safety.
4406 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4407 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4408 pseudo-codepages for special cases.
4409 (w32_to_x_font): New parameter to allow charset portion to be
4410 specified where there is many to one mapping. Callers changed.
4411 (w32_list_fonts): Avoid listing fonts that won't display.
4412
52d89894
GM
44132000-11-10 Gerd Moellmann <gerd@gnu.org>
4414
4415 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4416 (font_list_1): Renamed from font_list.
4417 (font_list): New function, trying alternative registries from
4418 Vface_alternative_font_registry_alist.
4419 (Finternal_set_alternative_font_registry_alist): New function.
4420 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4421 Vface_alternative_font_registry_alist.
4422 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4423
651cd3da
KR
44242000-11-09 Ken Raeburn <raeburn@gnu.org>
4425
4426 * lisp.h (Flooking_at): Declare.
4427
388ac098
GM
44282000-11-09 Gerd Moellmann <gerd@gnu.org>
4429
778fbc46 4430 * dired.c (directory_files_internal): Fix a braino.
52283633 4431
388ac098
GM
4432 * dired.c (directory_files_internal): Add missing GCPRO's.
4433 Some cleanup.
4434
ecaedde1
GM
44352000-11-08 Gerd Moellmann <gerd@gnu.org>
4436
f7eb32aa
GM
4437 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4438 (resize_mini_window): Return quickly if Vresize_mini_window is
4439 nil. Don't return if Vmax_mini_window_height is nil.
4440
4441 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4442 (syms_of_xdisp): Initialize them.
4443 (resize_mini_window): Act according to the setting of
4444 Vresize_mini_window.
4445 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4446
ecaedde1
GM
4447 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4448 scroll bar widget after configuring it, so that it will appear at
4449 the right position from the start.
4450 (XTredeem_scroll_bar): Cleaned up.
4451
3747ef2c
KH
44522000-11-08 Kenichi Handa <handa@etl.go.jp>
4453
4454 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4455 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4456 division by two.
4457
4458 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4459
03391420
DL
44602000-11-07 Dave Love <fx@gnu.org>
4461
7758f1c1 4462 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4463
4464 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4465
b5de343d
GM
44662000-11-07 Gerd Moellmann <gerd@gnu.org>
4467
acad3c0b
GM
4468 * window.c (Fset_window_configuration): Don't try to preserve
4469 point in the current buffer, if that buffer is displayed in more
4470 than one window.
4471
b5de343d
GM
4472 * xfaces.c (lookup_named_face): If default face isn't realized,
4473 try to realize it. Return -1 if not successful.
4474 (Fx_list_fonts): Handle case that face cannot be determined.
4475 (Fface_font): Likewise.
4476
cdb1fe49
GM
44772000-11-06 Gerd Moellmann <gerd@gnu.org>
4478
4479 * window.c (displayed_window_lines): Detect partially
4480 visible lines at the bottom correctly.
4481
d3a67486
SM
44822000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4483
4484 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4485 when ensuring we don't do visit in indirect buffer.
4486
ff8dd5d5
KH
44872000-11-06 Kenichi Handa <handa@etl.go.jp>
4488
4489 * composite.h (compose_chars_in_text): Add prototype.
4490
4491 * composite.c (Vcomposition_function_table): New variable.
4492 (Qcomposition_function_table): New variable.
4493 (run_composition_function): Call
4494 Vcompose_chars_after_function with three arguments.
4495 (compose_chars_in_text): New function.
4496 (syms_of_composite): Modified the doc-string of
4497 Vcompose_chars_after_function. Declare composition-function-table
4498 as a lisp variable, and initialize it.
4499
4500 * xfns.c (x_encode_text): Suppress producing escape sequences for
4501 composition.
4502
4503 * xselect.c: Include composite.h.
4504 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4505
d1145f85
AI
45062000-11-05 Andrew Innes <andrewi@gnu.org>
4507
4508 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4509
4510 * sysdep.c (read_input_waiting): Remove extraneous argument to
4511 read_socket_hook.
4512
4513 * w32fns.c (Fx_server_version): Include w32_build_number in the
4514 return list.
4515
4516 * w32heap.c (w32_build_number): New variable.
4517 (cache_system_info): Set it.
4518
4519 * w32heap.h (w32_build_number): Add extern.
4520
4521 * emacs.c (syms_of_emacs): Update docstring for
4522 system-configuration, to reflect the actual usage on MS-Windows.
4523
e85ee976
GM
45242000-10-31 Gerd Moellmann <gerd@gnu.org>
4525
26dcb81b
GM
4526 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4527 process idle timers while waiting for another event.
4528
52283633 4529 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4530 the default face are colored.
4531
e85ee976
GM
4532 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4533 window height hasn't changed.
4534
01b220b6
JR
45352000-10-31 Jason Rumney <jasonr@gnu.org>
4536
4537 * w32term.c (x_produce_glyphs): Handle composite characters.
4538 (x_draw_glyph_string_foreground)
4539 (x_draw_composite_glyph_string_foreground): Restore old font.
4540
4e6b7204
MB
45412000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4542
4543 * minibuf.c (read_minibuf): Reset the undo history just before
4544 starting the recursive-edit.
4545
d4358b37
GM
45462000-10-30 Gerd Moellmann <gerd@gnu.org>
4547
563f68f1
GM
4548 * xfaces.c (menu_face_change_count): New variable.
4549 (Finternal_set_lisp_face_attribute): Increment it for changes
4550 of the `menu' face.
4551 (realize_basic_faces): Reflect changes in the `menu' faces
4552 in menu bars.
4553
82e274d1
GM
4554 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4555 dy obtained from the iterator's y-position after moving from
4556 scroll_margin_pos to PT; see comment there.
52283633 4557
0dbf9fd2
GM
4558 * xdisp.c (safe_eval_handler): Call add_to_log.
4559
906b3b14
GM
4560 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4561 is not a symbol or string.
4562
d4358b37
GM
4563 * xdisp.c (echo_area_display): Don't perform a display update from
4564 inside redisplay. The update will happen anyway at the end of
4565 redisplay, and it can confuse redisplay (GC messages while
4566 redisplaying, for instance.)
4567
70c825df
SM
45682000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4569
cf9b4b0b
SM
4570 * xrdb.c (x_load_resources): Use the class name in the defaults.
4571
70c825df
SM
4572 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4573 (regex_compile): Catch bogus \(\1\).
4574
a1d34b1e
GM
45752000-10-30 Gerd Moellmann <gerd@gnu.org>
4576
cae71efe
GM
4577 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4578 RGB values.
52283633 4579
35efe0a1
GM
4580 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4581 we have a color cache, check that the cached color equals the
4582 allocated color. If not, clear the color cache.
4583
1d3baf74
GM
4584 * window.c (displayed_window_lines): Change buffers if necessary.
4585 Fix computation of displayed lines.
4586
a1d34b1e
GM
4587 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4588 update_menu_bindings to DEFVAR_BOOL.
4589
70737ea9
KH
45902000-10-30 Kenichi Handa <handa@etl.go.jp>
4591
70c825df 4592 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4593
fa0cb51d
KH
4594 * puresize.h (BASE_PURESIZE): Increase to 680000.
4595
70737ea9
KH
4596 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4597
0e4c08e8
JR
45982000-10-29 Jason Rumney <jasonr@gnu.org>
4599
4600 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4601
4602 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4603 (w32_cache_char_metrics): Handle possibility that 'x' does not
4604 exist in a BDF font.
4605 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4606
4607 * w32bdf.h (bdffont): Add nchars.
4608
4609 * w32bdf.c (set_bdf_font_info): Set it.
4610 (w32_BDF_TextOut): Swap byte order of double byte characters.
4611 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4612
45b84006
EZ
46132000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4614
4615 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4616 don't override the colors in frame's param_alist, unless they are
4617 unspecified.
4618
4619 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4620 reverse the effect of the highlight flag.
4621
caf9deee
KR
46222000-10-27 Ken Raeburn <raeburn@gnu.org>
4623
4624 * window.h (Fwindow_live_p): Declare.
4625
ae0b9b46
KR
4626 * undo.c (record_delete): Check that last_undo_buffer is really a
4627 buffer before applying XBUFFER to it.
4628
4629 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4630 Faref.
4631
02067692
SM
46322000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4633
4634 * lisp.h (KEYMAPP): New macro.
4635 (get_keymap): Remove.
4636 (get_keymap_1): Rename get_keymap.
4637
4638 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4639
4640 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4641
4642 * xmenu.c (single_submenu): Use KEYMAPP.
4643 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4644 Use KEYMAPP rather than Fkeymapp.
4645
4646 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4647
4648 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4649 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4650 Use KEYMAPP rather than Fkeymapp.
4651 (single_submenu): Use KEYMAPP.
4652 (w32_menu_show, w32_dialog_show): Use TRUE.
4653
4654 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4655
4656 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4657 (Fkeymapp): Use KEYMAPP.
4658 (get_keymap): Rename from get_keymap_1. Remove old def.
4659 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4660 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4661 (Fminor_mode_key_binding): Don't raise an error if the binding
4662 is not a keymap.
4663 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4664 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4665
4666 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4667 Allow Vspecial_event_map to be autoloaded.
4668 (menu_bar_items): Fetch the keymap rather than using keymapp.
4669 (menu_bar_one_keymap): No need to follow func-indirect any more.
4670 (parse_menu_item): get_keymap_1 -> get_keymap.
4671 (tool_bar_items): Fetch the keymap rather than using keymapp.
4672 (read_key_sequence): Use KEYMAPP.
4673
4674 * intervals.c (get_local_map): Use get_keymap rather than following
4675 function-indirections explicitly.
4676
4677 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4678
f9d80af3
JR
46792000-10-27 Jason Rumney <jasonr@gnu.org>
4680
4681 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4682 point, as Windows has oversized fonts.
4683
4684 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4685
a3ba27da
GM
46862000-10-27 Gerd Moellmann <gerd@gnu.org>
4687
4688 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4689 (freehook, reallochook): Handle null pointer arguments.
4690 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4691
aa3b80cc
SM
46922000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4693
4694 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4695 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4696 Giving in to popular pressure to shut up the compiler with casts.
4697
e24e84cc
GM
46982000-10-27 Gerd Moellmann <gerd@gnu.org>
4699
4700 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4701 signed value, and use a default value computed from the font's
4702 maximum descent.
4703
05ea7ef2
MB
47042000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4705
4706 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4707 that specify a negative underline position can still use underlines.
4708
4709 * window.c (Fpos_visible_in_window_p): Make POS default to
4710 WINDOW's point, not the current buffer's point.
4711
0b95284b
DL
47122000-10-26 Dave Love <fx@gnu.org>
4713
4714 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4715 when it's necessary.
4716
6c5b90af
GM
47172000-10-26 Gerd Moellmann <gerd@gnu.org>
4718
8b6d9dc9
GM
4719 * window.c (size_window): Compute size difference from sum of old
4720 child window sizes instead of from parent's size.
4721
6bc92b2e
GM
4722 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4723 Handle obscured lines at the top of the window.
4724
4725 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4726 down after the last error condition check.
4727
6c5b90af
GM
4728 * frame.c (Fdelete_frame): Run delete-frame-hook.
4729
42f92d4d
KH
47302000-10-26 Kenichi Handa <handa@etl.go.jp>
4731
4732 * coding.c (decode_coding): Fix previous change (check also
4733 CODING_MODE_LAST_BLOCK).
4734
d97151cb
SM
47352000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4736
e7efc503
SM
4737 * regex.c: More `unsigned char' -> `re_char' changes.
4738 Also change several `int' into `re_wchar_t'.
4739 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4740 (PUSH_FAILURE_POINTER): Don't cast any more.
4741 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4742 We want GCC to complain, since this piece of code makes
4743 re_match non-reentrant, which *should* be fixed.
4744 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4745 (EXTEND_BUFFER): Use RETALLOC.
4746 (SET_LIST_BIT): Don't cast.
4747 (re_wchar_t): New type.
4748 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4749 that those two functions will always properly return.
4750 (IMMEDIATE_QUIT_CHECK): Cast to void.
4751 (analyse_first): Use recursion rather than an explicit stack.
4752 (re_compile_fastmap): Can't fail anymore.
4753 (re_search_2): Don't check re_compile_fastmap for failure.
4754 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4755 Now also sets the new value (passed in a new argument).
4756 (re_match_2_internal): Use it.
4757 Also, use a new var `reg' of type size_t when looping through regs
4758 rather than reuse the inappropriate `mcnt'.
4759
d97151cb
SM
4760 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4761 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4762 (where_is_internal): Renamed from Fwhere_is_internal.
4763 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4764 (Fwhere_is_internal): New function wrapping where_is_internal.
4765 (where_is_internal_1): Handle the case where we're filling the cache.
4766 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4767
d5789b65
MB
47682000-10-25 Miles Bader <miles@gnu.org>
4769
4770 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4771
4ecda532
GM
47722000-10-25 Gerd Moellmann <gerd@gnu.org>
4773
4774 * window.c (pos_fully_visible_p): Removed.
4775 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4776 if position is visible and/or fully visible.
4777
4778 * lisp.h (pos_visible_p): Add prototype.
4779
4780 * xdisp.c (pos_visible_p): New function.
4781
68c3a137
KH
47822000-10-25 Kenichi Handa <handa@etl.go.jp>
4783
4784 * process.c (send_process): If OBJECT is t, it means that the data
4785 is from C string, but we should encode it. Before calling
4786 setup_raw_text_coding_system, be sure to flush out data by the
4787 previous coding system.
4788
7ae1c032
MB
47892000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4790
ff4dcd4b
MB
4791 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4792 assignment of startpos to prev when startpos == pos.
4793
7ae1c032
MB
4794 * editfns.c (find_field): Set the field stickiness correctly from
4795 overlay fields. Use renamed `text_property_stickiness'.
4796 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4797 Only check text properties, not overlays.
7ae1c032
MB
4798 * textprop.c (get_char_property_and_overlay): New function.
4799 (Fget_char_property): Use it.
4800 * intervals.h (get_char_property_and_overlay): Add declaration.
4801
49801145
SM
48022000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4803
4804 * keymap.c: Use AREF, ASET and ASIZE macros.
4805 (Fmake_sparse_keymap): Docstring fix.
4806 (synkey): Remove.
4807 (shadow_lookup): Move up.
4808 Handle the case where lookup-key returns an integer.
4809 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4810 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4811 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4812 Simplify/rewrite the keymap-finding code.
4813 Add check for command shadowing, using shadow_lookup.
4814
39e776cd
SM
48152000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4816
4817 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4818 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4819 a symbol.
4820
2488aba5
AI
48212000-10-24 Andrew Innes <andrewi@gnu.org>
4822
4823 * dired.c (directory_files_internal_unwind): New function.
4824 (directory_files_internal): Use it to ensure closedir is called
4825 even if expand-file-name or file-attributes throw, eg. because of
4826 a user interrupt. Also enable immediate_quit while calling
4827 re_search, so that matching can be interrupted as well.
4828
b94fdf61
AI
48292000-10-24 Andrew Innes <andrewi@gnu.org>
4830
4831 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4832 NT-Emacs only.
4833 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4834 so that re_search functions only quit when callers expect them to.
4835
48362000-10-24 Kenichi Handa <handa@etl.go.jp>
4837
4838 * regex.c (regex_compile): Change the way of handling a range from
4839 a char less than 256 to a char not less than 256.
4840
1946f901
GM
48412000-10-24 Gerd Moellmann <gerd@gnu.org>
4842
7ae2f10f
GM
4843 * window.c (size_window): Prevent setting window's width or
4844 height to a negative value (esp. with XSETFASTINT).
4845
5dcab13e
GM
4846 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4847 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4848 (protect_malloc_state) [GC_MALLOC_CHECK &&
4849 GC_PROTECT_MALLOC_STATE]: New function.
4850 (PROTECT_MALLOC_STATE): New macro.
4851 (__malloc_initialize, morecore, _malloc_internal)
4852 (_free_internal) _realloc_internal): Use it to make _heapinfo
4853 read-only outside of gmalloc.
4854
63e1b552
GM
4855 * keymap.c: Update copyright.
4856
1946f901
GM
4857 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4858 a symbol.
4859
4fa09beb
GM
48602000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4861
4862 * filelock.c (unlock_all_files): Use unlock_file to expand each
4863 buffer's file_truename before trying remove its lock file.
4864
23afac01
EZ
48652000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4866
4867 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4868 or CRLF, decode EOLs.
4869
04448b95
KH
48702000-10-24 Kenichi Handa <handa@etl.go.jp>
4871
4872 * window.c (Fdisplay_buffer): Fix doc.
4873
3090a5a5
JR
48742000-10-23 Jason Rumney <jasonr@gnu.org>
4875
4876 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4877 ASCII font of default fontset on Windows.
4878
4879 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4880 xterm.c comment below).
4881
4882 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4883
a83fee2c
GM
48842000-10-23 Gerd Moellmann <gerd@gnu.org>
4885
4886 * xterm.c (x_connection_closed): Reset handling_signal.
4887
52283633 4888 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4889
6ffdb539
MB
48902000-10-23 Miles Bader <miles@gnu.org>
4891
4892 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4893 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4894 maintain old behavior.
4895 * minibuf.c (Fminibuffer_complete): Likewise.
4896
7f1c969b
MB
48972000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4898
4899 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4900 that when a font can't be exactly centered, it errs up rather than
4901 down.
4902
23afac01 49032000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4904
52283633 4905 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4906
1a578e9b
AC
49072000-10-23 Andrew Choi <akochoi@i-cable.com>
4908
4909 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4910
4911 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4912 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4913
4914 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4915 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4916 syms_of_search, x_term_init, and init_keyboard before calling
4917 init_window_once. Also, call syms_of_xmenu.
4918
4919 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4920 default fontset to Monaco.
4921
4922 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4923 NewMacWindow and DisposeMacWindow.
4924 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4925 instead of calling NewMacWindow and setting fields of
4926 f->output_data.mac directly. Call init_frame_faces.
4927 (Fdelete_frame) [macintosh]: Remove unused code.
4928 (Fmodify_frame_parameters) [macintosh]: Call
4929 x_set_frame_parameters instead of mac_set_frame_parameters.
4930
4931 * frame.h [macintosh]: Define menu_bar_lines field in struct
4932 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4933
4934 * keyboard.c [macintosh]: Include macterm.h.
4935 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4936 and menu_bar_activate_event type events as for X and NT.
4937 (make_lispy_event) [macintosh]: Construct lisp events of type
4938 MENU_BAR_EVENT as for X and NT.
4939
4940 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4941 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4942 (sys_subshell) [macintosh]: Remove definition entirely.
4943 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4944 Vwindow_system_version here. Remove initialization of
4945 Vx_bitmap_file_path.
4946 (read_input_waiting): Correct the number of parameters passed to
4947 read_socket_hook.
4948 Move all Macintosh functions to mac/mac.c.
4949
4950 * term.c [macintosh]: Include macterm.h.
4951
4952 * window.c [macintosh]: Include macterm.h.
4953
4954 * xdisp.c [macintosh]: Include macterm.h. Declare
4955 set_frame_menubar and pending_menu_activation.
4956 (echo_area_display) [macintosh]: Do not return if terminal frame
4957 is the selected frame.
4958 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4959 Allow only the selected frame to set menu bar.
4960 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4961 calling FRAME_EXTERNAL_MENU_BAR (f).
4962 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4963
4964 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4965 and check_x. Declare XCreateGC. Define x_create_gc and
4966 x_free_gc. Initialize font_sort_order.
4967 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4968 but call x_list_fonts instead of w32_list_fonts.
4969 (Finternal_face_x_get_resource) [macintosh]: Do not call
4970 display_x_get_resource.
4971 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4972 (realize_x_face) [macintosh]: Load the font if it is specified in
4973 ATTRS.
52283633 4974 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4975
1ffbabe3
SM
49762000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4977
4978 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4979 is nil: since we go to the end of submap anyway, we'd end up
4980 setting nil to nil.
4981 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4982 doesn't obey autoload.
4983
bed43f1d
EZ
49842000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4985
1ffbabe3 4986 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4987
ea4233a7
JR
49882000-10-21 Jason Rumney <jasonr@gnu.org>
4989
4990 * w32term.c (w32_cache_char_metrics): Double check that font is
4991 really fixed pitch before trusting tmPitchAndFamily.
4992
f3d3c491
AI
49932000-10-21 Andrew Innes <andrewi@gnu.org>
4994
4995 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4996
4997 * w32term.h: Extern decl for w32_cache_char_metrics.
4998
4999 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5000
5001 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5002 (w32_unload_font): Free per_char array if present.
5003
5004 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5005 cached information in emulated XFontStruct to handle common cases
5006 quickly. Do not allocate XCharStruct for return.
5007 (w32_native_per_char_metric): New function.
5008 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5009 allocating one.
5010 (x_produce_glyphs): Don't get an HDC. Change calls to
5011 w32_per_char_metric to match arg change above. Remove calls to
5012 free results.
5013 (w32_get_glyph_overhangs): Ditto.
5014 (w32_cache_char_metrics): New function.
5015
5016 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5017 ($(BLD)/casefiddle.$(O)): Remove compile command.
5018 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5019 ($(BLD)/dispnew.obj):
5020 ($(BLD)/keyboard.obj):
5021 ($(BLD)/w32inevt.obj):
5022 ($(BLD)/w32bdf.obj):
5023 ($(BLD)/alloc.obj):
5024 ($(BLD)/buffer.obj):
5025 ($(BLD)/editfns.obj):
5026 ($(BLD)/emacs.obj):
5027 ($(BLD)/fileio.obj):
5028 ($(BLD)/fns.obj):
5029 ($(BLD)/indent.obj):
5030 ($(BLD)/insdel.obj):
5031 ($(BLD)/intervals.obj):
5032 ($(BLD)/minibuf.obj):
5033 ($(BLD)/print.obj):
5034 ($(BLD)/scroll.obj):
5035 ($(BLD)/sysdep.obj):
5036 ($(BLD)/textprop.obj):
5037 ($(BLD)/widget.obj):
f3d3c491
AI
5038 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5039 ($(BLD)/term.obj): Add dependency on dispextern.h.
5040
52283633
SM
5041 * makefile.nt ($(BLD)\dispnew.obj):
5042 ($(BLD)\keyboard.obj):
5043 ($(BLD)\w32inevt.obj):
5044 ($(BLD)\w32bdf.obj):
5045 ($(BLD)\alloc.obj):
5046 ($(BLD)\buffer.obj):
5047 ($(BLD)\editfns.obj):
5048 ($(BLD)\emacs.obj):
5049 ($(BLD)\fileio.obj):
5050 ($(BLD)\fns.obj):
5051 ($(BLD)\indent.obj):
5052 ($(BLD)\insdel.obj):
5053 ($(BLD)\intervals.obj):
5054 ($(BLD)\minibuf.obj):
5055 ($(BLD)\print.obj):
5056 ($(BLD)\scroll.obj):
5057 ($(BLD)\sysdep.obj):
5058 ($(BLD)\textprop.obj):
5059 ($(BLD)\widget.obj):
f3d3c491
AI
5060 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5061 ($(BLD)\term.obj): Add dependency on dispextern.h
5062
18ad4821
EZ
50632000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5064
5065 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5066 with an additional argument of Qt.
5067
de54681a
MB
50682000-10-21 Miles Bader <miles@gnu.org>
5069
5070 * window.c (pos_fully_visible_in_window_p): New function.
5071 (Fpos_visible_in_window_p): Add FULLY argument.
5072 Use pos_fully_visible_in_window_p.
5073 (window_scroll_pixel_based, window_scroll_line_based): Update
5074 calls to Fpos_visible_in_window_p.
5075 * lisp.h (Fpos_visible_in_window_p): Update prototype
5076
13c844fb
GM
50772000-10-20 Gerd Moellmann <gerd@gnu.org>
5078
5079 * alloc.c (toplevel): Conditionalize compilation of mem_*
5080 functions differently.
52283633 5081
d9506268
JR
50822000-10-20 Jason Rumney <jasonr@gnu.org>
5083
5084 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5085 mem_init where it used to be. mem_z etc not defined otherwise.
5086
8094989b
GM
50872000-10-20 Gerd Moellmann <gerd@gnu.org>
5088
5089 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5090 GC_MALLOC_CHECK.
5091 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5092 structure definition and related variabled to the top of the file.
5093 Include this code when GC_MALLOC_CHECK is defined.
5094 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5095 register/unregister allocated region.
5096 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5097 which isn't allocated.
5098 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5099 something which is already in use.
5100 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5101 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5102 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5103 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5104
5105 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5106 _malloc_internal instead of malloc.
5107 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5108 of free.
5109
ea456eb4
AI
51102000-10-20 Andrew Innes <andrewi@gnu.org>
5111
5112 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5113 Windows.
5114 (my_strftime) <macro>: Don't use macro arg list when redefining as
5115 _strftime_copytm.
5116 (my_strftime) <function>: Supply 0 as ut argument.
5117
e64c3a75
JR
51182000-10-19 Jason Rumney <jasonr@altavista.net>
5119
5120 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5121 including dispextern.h, as it stops faces from working.
5122
5123 * w32fns.c (Fx_create_frame): Don't bother calling
5124 face-set-after-frame-default since the caller does it for us
5125 anyway. Clean up calls to x_get_arg to be consistent with X.
5126
5127 * w32term.c (x_produce_glyphs): Handle
5128 unibyte_display_via_language_environment correctly.
5129 (w32_draw_box_rect): Fix the calculation of width and height.
5130
5131 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5132 as it has stopped working.
5133 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5134 menu-bar.
5135
17401c97
GM
51362000-10-19 Gerd Moellmann <gerd@gnu.org>
5137
5138 * eval.c (skip_debugger): Prevent a compiler warning.
5139 (Fcondition_case): Likewise.
5140 (Fbacktrace_frame): Use a null interactive spec.
5141
773272d8
KH
51422000-10-19 Kenichi Handa <handa@etl.go.jp>
5143
5144 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5145
a42943e9
GM
51462000-10-18 Gerd Moellmann <gerd@gnu.org>
5147
e50517d9
GM
5148 * strftime.c: Sync with glibc, file version 1.78.
5149 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5150 should no longer be used according to ISO 8601.
5151
9035a35a
GM
5152 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5153 no map for meta_prefix_char, don't try to use it as a keymap.
5154 Instead, if T_OK is non-zero, look up a default binding, if any,
5155 otherwise, if T_OK is zero, return nil.
5156
a42943e9
GM
5157 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5158 (x_to_xcolors, png_load): Use x_query_color.
5159
52283633
SM
5160 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5161 New functions.
a42943e9
GM
5162 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5163 which can be slow.
5164 (x_copy_color, x_alloc_lighter_color): Likewise.
5165
5166 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5167 (x_query_color, x_query_colors): Add prototype.
5168
5169 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5170 check_string_bytes only if not noninteractive, increase count to 50.
5171
00de2987
MB
51722000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5173
5174 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5175 markers correctly.
5176
54918e2b
GM
51772000-10-17 Gerd Moellmann <gerd@gnu.org>
5178
1f0b3fd2
GM
5179 * alloc.c (pure_bytes_used): Renamed from pureptr.
5180 (ALIGN): New macro.
5181 (pure_alloc): New function.
5182 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5183 Use it.
5184 (Fpurecopy): Use PURE_POINTER_P.
5185
68c5d1db
GM
5186 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5187 PT has moved backward.
52283633 5188
9a038881
GM
5189 * xdisp.c (cursor_row_p): Take continued lines into account.
5190
361b097f
GM
5191 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5192 string's size_byte.
5193 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5194 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5195 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5196 string allocated.
5197
54918e2b
GM
5198 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5199 of selective display off while searching for the next line start.
5200
03ed0806
KH
52012000-10-17 Kenichi Handa <handa@etl.go.jp>
5202
5203 * Makefile.in (term.o): Depend on dispextern.h.
5204
7e05cdaf
SM
52052000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5206
5207 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5208
a6801fd1
GM
52092000-10-16 Gerd Moellmann <gerd@gnu.org>
5210
483de32b
GM
5211 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5212 the iterator at the beginning, so that they can be set later on,
5213 for instance in reseat_at_next_visible_line_start, without being
5214 overwritten.
5215
a6801fd1
GM
5216 * xfns.c (pbm_format): Add :foreground and :background keywords.
5217 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5218 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5219
dbf1fcc1
EZ
52202000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5221
5222 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5223
52283633 5224 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5225
5226 * msdos.c (IT_set_face): Compare highlighted face with the default
5227 face, and invert colors if these faces' colors are identical.
5228 (Fmsdos_remember_default_colors): Don't swap foreground and
5229 background colors in initial_colors[].
5230 (IT_set_frame_parameters): Don't swap frame's foreground and
5231 background pixels. If ALIST includes "(reverse . t)", swap
5232 foreground-color and background-color properties in frame's
5233 param_alist. If the original frame's param_alist doesn't specify
5234 the colors, store unspecified-fg and unspecified-bg, reversed if
5235 required.
5236
5237 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5238 the colors are unspecified and reversed, reverse fore- and back-
5239 ground in the returned value.
5240 (Fframe_parameter): Ditto.
5241
b41fe2c3 52422000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5243
3a6b59d9
GM
5244 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5245 get_last_unchanged_at_beg_row.
5246 (find_first_unchanged_at_end_row): Renamed from
5247 get_first_unchanged_at_end_row.
5248 (find_first_unchanged_at_end_row): Convert assertions to
5249 unconditional tests which abort. When looking for a row in
5250 unchanged text, don't go further back than first_text_row.
5251
b41fe2c3
GM
5252 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5253 Don't add in the last line's height when deciding if the new
5254 position is below the scroll margin.
9d1af64f 5255
b41fe2c3 52562000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5257
5258 * editfns.c (Fconstrain_to_field): Check carefully for field
5259 boundaries if either OLD_POS or NEW_POS has a non-nil field
5260 property, even if they're the same.
5261
c412cb7b
KH
52622000-10-16 Kenichi Handa <handa@etl.go.jp>
5263
5264 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5265 height for XFillRectangle.
5266
5586f3eb
SM
52672000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5268
5269 * syntax.c (Fstring_to_syntax): New function extracted from
5270 Fmodify_syntax_entry.
5271 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5272 (skip_chars, Fforward_comment): Remove unused variables.
5273 (syms_of_syntax): Add defsubr for string-to-syntax.
5274 (describe_syntax): Add code for comment and string fences.
5275
db785038
SM
52762000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5277
5278 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5279 Do the meta->esc mapping. Call get_keyelt before returning.
5280 Start scanning from the second element (the first is always `keymap')
5281 to make it easier to detect when we reach a parent map.
5282 Handle the case of inheriting from a symbol whose function is a map.
5283 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5284 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5285 (get_keyelt, Flookup_key): Update call to access_keymap.
5286 Remove the meta->esc mappings.
5287 (define_as_prefix): Delete old disabled code.
5288 (menu_item_p): New function.
5289 (where_is_internal_1): Skip over the few remaining menu items.
5290 * lisp.h (access_keymap): Update prototype.
5291 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5292 Update call to access_keymap.
5293 (follow_key, read_key_sequence): Update calls to access_keymap.
5294 Remove the meta->esc mappings.
5295
cafafe0b
GM
52962000-10-13 Gerd Moellmann <gerd@gnu.org>
5297
a2e2a7f6
GM
5298 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5299 with additional argument.
5300
cafafe0b
GM
5301 * xdisp.c (cursor_row_p): New function.
5302 (try_cursor_movement, display_line): Use it.
52283633 5303
cafafe0b
GM
5304 * xdisp.c (append_space): Also save/restore iterator's current
5305 character and its length.
5306
5307 * xdisp.c (init_from_display_pos): Add an assertion.
5308 (handle_stop): Don't set iterator's add_overlay_start.
5309 (handle_invisible_prop): Likewise.
5310 (load_overlay_strings): If text under an overlay is invisible,
5311 take both before- and after-strings into account when the iterator
5312 is positioned either at the start or at the end of the overlay.
5313 (forward_to_next_line_start): Rewritten.
5314 (reseat_at_next_visible_line_start): Rewritten.
5315 (set_iterator_to_next): Add parameter RESEAT_P.
5316
5317 * dispextern.h (struct it): Remove member add_overlay_start.
5318 (set_iterator_to_next): Change prototype.
5319
c744452b
KH
53202000-10-13 Kenichi Handa <handa@etl.go.jp>
5321
5322 * coding.c (code_convert_region): Be sure to initialize
5323 coding->category_idx.
e4a3f4e1
KH
5324 (decode_coding_string): Set coding->src_multibyte and
5325 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5326 (encode_coding_string): Set coding->src_multibyte and
5327 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5328
321fd26f
SM
53292000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5330
5331 * xfns.c (Fx_create_frame): Don't bother calling
5332 face-set-after-frame-default since the caller does it for us anyway.
5333
76832439
EZ
53342000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5335
5336 * window.c (coordinates_in_window): Fix detection of vertical line
5337 on character terminals.
5338
2483cf58
GM
53392000-10-12 Gerd Moellmann <gerd@gnu.org>
5340
5341 * editfns.c (save_excursion_save): Additionally record the
5342 selected window.
5343 (save_excursion_restore): If buffer was visible in a window, and a
5344 different window was selected, and the old selected window is
5345 still live, restore point in that window.
5346
eb991b25
KH
53472000-10-12 Kenichi Handa <handa@etl.go.jp>
5348
8a0eba09
KH
5349 * xterm.c (x_produce_glyphs): Handle
5350 unibyte_display_via_language_environment correctly.
5351
20401fcc
KH
5352 * regex.c (regex_compile): Change the way of handling a range from
5353 unibyte char to multibyte char.
5354
5355 * syntax.c (skip_chars): Change the way of handling a range from
5356 unibyte char to multibyte char.
5357
eb991b25
KH
5358 * process.c (read_process_output): Cancel previous change.
5359
365dd325
EZ
53602000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5361
c1b096cb
EZ
5362 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5363
365dd325
EZ
5364 * charset.c (Ffind_charset_string): Doc fix.
5365 (Ffind_charset_region): Doc fix.
5366
eb483c2b
KH
53672000-10-11 Kenichi Handa <handa@mule.m17n.org>
5368
5369 * process.c (read_process_output): Fix previous change. Adjust
5370 multibyteness of text to insert in a buffer by
52283633 5371 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5372
b40bfb99
AS
53732000-10-10 Andreas Schwab <schwab@suse.de>
5374
5375 * alloc.c (mark_object): Remove all workarounds installed on
5376 1993-08-08.
5377
caff31d4
KH
53782000-10-10 Kenichi Handa <handa@etl.go.jp>
5379
52283633 5380 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5381 (base64_encode_1): Make it work for a text of multibyte form.
5382 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5383 case. Don't call str_to_multibyte because base64_decode_1
5384 produces correct multibyte form for eight-bit codes.
52283633 5385 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5386 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5387 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5388 codes.
5389
5390 * charset.h (CHAR_STRING): Optimized for single byte characters.
5391
cba026ef
AS
53922000-10-09 Andreas Schwab <schwab@suse.de>
5393
5394 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5395 -1 after socket is closed, to fall through to error processing.
5396
1e21fe48
EZ
53972000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5398
5399 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5400 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5401 background-color, change also the colors of the default face for
5402 this frame.
5403
a640322e
EZ
54042000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5405
5406 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5407 them extern (they are defined on xfaces.c).
5408 (syms_of_msdos): Don't intern and don't staticpro
5409 Qbackground_color and Qforeground_color.
5410
a115794c
EZ
54112000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5412
5413 * frame.c (Fframe_parameter): For non-windowed frames, if
5414 f->param_alist says foreground or background color is unspecified,
5415 call tty_color_name to return the color name computed from the
5416 frame's current colors.
5417
f5533b63
DL
54182000-10-06 Dave Love <fx@gnu.org>
5419
5420 * terminfo.c (ospeed): Don't declare.
5421
5422 * sysdep.c: Don't include string.h.
5423 (h_errno): Declare conditional also on TRY_AGAIN.
5424
5425 * charset.c (Ffind_charset_string): Doc fix.
5426
52283633 5427 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5428 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5429 error messages.
5430
2b06561a
DL
54312000-10-05 Dave Love <fx@gnu.org>
5432
5433 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5434 position like menu-bar.
5435
ca839c85
GM
54362000-10-05 Gerd Moellmann <gerd@gnu.org>
5437
5438 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5439
5440 * xdisp.c (handle_single_display_prop): Use safe_call1.
5441 (safe_call): Renamed from call_function.
5442 (safe_call1): New function.
5443 (handle_fontified_prop): Use safe_call1 instead of call1.
5444 (safe_eval): Renamed from eval_form.
5445 (safe_eval_handler): Renamed from eval_handler.
5446 (handle_single_display_prop, display_mode_element): Use safe_eval
5447 instead of eval_form.
5448
5449 * xfaces.c (merge_face_heights): Use safe_call instead of
5450 call_function.
5451
5452 * keyboard.c (show_help_echo): Use safe_call instead of
5453 call_function; use safe_eval instead of eval_form.
5454
5455 * lisp.h (safe_call): Renamed from call_function.
5456 (safe_eval): Renamed from eval_form.
5457 (safe_call1): Add prototype.
5458
a3489ece
MB
54592000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5460
5461 * xfns.c (image_ascent): Rearrange ascent calculation for the
5462 has-a-font case.
5463
35810b6f
SM
54642000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5465
5466 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5467 (where_is_internal_1): Don't bother ignoring menu-items any more.
5468
3dc78168
GM
54692000-10-04 Gerd Moellmann <gerd@gnu.org>
5470
5471 * keyboard.c (update_menu_bindings): New variable.
5472 (parse_menu_item): Use AREF. If update_menu_bindings
5473 is 0, don't update menu bindings.
5474 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5475
1efc2bb9
EZ
54762000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5477
5478 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5479 to `mark_object'.
5480
3f679f55
SM
54812000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5482
5483 * syntax.c (forw_comment): Match nestedness of ender/starter.
5484 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5485 (prev_char_comstart_first): Remove.
5486 (back_comment): Check two-char comment markers more carefully
5487 to better handle overlapping cases like *//* or /* */* */ ...
5488 Match nestedness of ender/starter.
5489
2021ab61
DL
54902000-10-02 Dave Love <fx@gnu.org>
5491
5492 * config.in (HAVE_GAI_STRERROR): Add undef.
5493
5494 * process.c (Fopen_network_stream): Use it.
5495
5496 * m/alpha.h (NO_REMAP): Don't define.
5497
64e6cc18
GM
54982000-10-02 Gerd Moellmann <gerd@gnu.org>
5499
5500 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5501 return with a string converted to an integer or vice versa when
5502 Vmocklisp_arguments is t.
5503 (Fsignal): Likewise. The function can return for `quit'.
5504 (struct gcpro): Declare member `var' to point to a volatile
5505 Lisp_Object.
5506
5507 * eval.c (error): Prevent compiler warning.
5508
b1904cd9
SM
55092000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5510
5511 * keymap.c (keymap_memberp): New function.
5512 (Fset_keymap_parent): Use it.
5513 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5514 Use keymap_memberp to avoid creating cycles.
5515 (access_keymap): Use KEYMAPP.
5516
71c9ec51
GM
55172000-09-30 Gerd Moellmann <gerd@gnu.org>
5518
5519 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5520 gai_strerror. Make sure xerrno is set if connect fails. Improve
5521 error recovery.
71c9ec51 5522
c70c6b58
JR
55232000-09-29 Jason Rumney <jasonr@gnu.org>
5524
5525 * w32term.c (w32_char_font_type, w32_encode_char)
5526 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5527 (w32_bdf_per_char_metric): New function.
5528 (w32_per_char_metric): Use it.
5529 (x_draw_glyph_string_background): Always draw background for BDF
5530 glyphs.
5531
5532 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5533 GDI object which is a scarce resource.
5534
5535 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5536 (get_quoted_string): Fix limit on memchr search.
5537 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5538 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5539 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5540 (get_cached_font_char, cache_char_offset): Use macro
5541 BDF_CODEPOINT_RANGE_COVER_P.
5542 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5543 (clear_cached_bitmap_slots): New function.
5544 (GET_HEX_VALUE): G-Z, g-z are not hex.
5545 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5546 (get_bitmap_with_cache): Use new cache implementation.
5547 (create_offscreen_bitmap): New function.
5548 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5549
5550 * w32term.c (x_produce_glyphs): If the distance from the current
5551 position to the next tab stop is less than a canonical character
5552 width, use the tab stop after that.
5553 (x_draw_glyphs): Handle case START and END are out of bounds more
5554 carefully.
5555 (x_clear_mouse_face): Block/unblock input.
5556 (x_display_and_set_cursor): Don't show a hollow box cursor for
5557 buffers whose cursor_type is nil.
5558
fe01239f
GM
55592000-09-29 Gerd Moellmann <gerd@gnu.org>
5560
52283633 5561 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5562
5563 * dispextern.h (updating_frame): Declare extern.
5564
e7c52f1f
AS
55652000-09-29 Andreas Schwab <schwab@suse.de>
5566
5567 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5568
de6e1f7c
GM
55692000-09-29 Gerd Moellmann <gerd@gnu.org>
5570
25126faa
GM
5571 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5572 use its function definition.
5573 (tool_bar_items): Likewise.
5574
de6e1f7c 5575 * lisp.h (fatal): Declare NO_RETURN.
52283633 5576
454ee39b
KH
55772000-09-29 Kenichi Handa <handa@etl.go.jp>
5578
5579 * keymap.c: Remove the line "#undef NULL".
5580
96301c5f
GM
55812000-09-28 Gerd Moellmann <gerd@gnu.org>
5582
52283633 5583 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5584
efffeeb4
DL
55852000-09-28 Dave Love <fx@gnu.org>
5586
ecb8b666
DL
5587 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5588
dc3cd20f
DL
5589 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5590
5591 * .gdbinit (xreload): Note its need on GNU/Linux.
5592
efffeeb4
DL
5593 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5594 r_alloc, r_alloc_free.
5595
8610d903
KH
55962000-09-28 Kenichi Handa <handa@etl.go.jp>
5597
5598 * syntax.c (skip_chars): Handle negation correctly.
5599
8901d1ac
GM
56002000-09-27 Gerd Moellmann <gerd@gnu.org>
5601
6f22f1ad
GM
5602 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5603 with non-zero FORCE_P argument.
5604
52283633 5605 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5606 Add assertions.
5607
5608 * xdisp.c (window_box_height): Add an assertion.
5609
5610 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5611 tool-bar than is available.
5612 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5613
36f1966f
DL
56142000-09-27 Dave Love <fx@gnu.org>
5615
efffeeb4 5616 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5617
31d929e5
GM
56182000-09-26 Gerd Moellmann <gerd@gnu.org>
5619
c98863bf
GM
5620 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5621 instead of BITS_PER_INT.
5622 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5623 EMACS_UINT, respectively.
5624 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5625
5626 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5627
5628 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5629
77072ab1
GM
5630 * window.c (freeze_window_starts): Construct last argument for
5631 foreach_window differently.
5632
5633 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5634
5635 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5636 EMACS_UINT instead of `int' and `unsigned int'.
5637 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5638
5639 * frame.h (struct frame): Make the `nothing' member of union
5640 output_data an EMACS_INT.
5641
52283633 5642 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5643 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5644 size in the sdata structure.
5645 (SDATA_NBYTES, SDATA_DATA): New macros.
5646 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5647 differently for the different layout of the sdata structure.
5648 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5649 in sdata.
5650 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5651 Check that size recorded in the string size and size recorded in
5652 the sdata structure agree.
5653
3e60b029
DL
56542000-09-25 Dave Love <fx@gnu.org>
5655
5656 * buffer.c: Include stdio.h.
5657
5658 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5659
3e60b029
DL
5660 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5661
5662 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5663 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5664 (__malloc_extra_blocks): Declare as __malloc_size_t.
5665
8ff16b4e
GM
56662000-09-25 Gerd Moellmann <gerd@gnu.org>
5667
755a2ccd
GM
5668 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5669
d8b4516f
GM
5670 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5671 (read_char): If help-echo is showing, preserve the echo area
5672 when redisplaying.
5673
5674 * xdisp.c (help_echo_showing_p): New variable.
5675 (set_message): Reset it to 0.
5676 (init_xdisp): Initialize help_echo_showing_p.
5677
5678 * dispextern.h (help_echo_showing_p): Declare extern.
5679
5680 * config.in: Fix typo in __GNUC_MINOR__.
5681
5682 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5683
b11af2dd
GM
5684 * s/freebsd.h (POSIX_SIGNALS): Define.
5685
8ff16b4e
GM
5686 * xterm.c (x_clear_mouse_face): Block/unblock input.
5687
844eb643
DL
56882000-09-24 Dave Love <fx@gnu.org>
5689
5690 * fns.c (base64_encode_1): Fix last change.
5691
b30ab1b3
GM
56922000-09-22 Gerd Moellmann <gerd@gnu.org>
5693
5694 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5695
5696 * xdisp.c (try_window_reusing_current_matrix): More fixes
5697 for the case window has a header-line.
5698
c6cbe5f0
DL
56992000-09-22 Dave Love <fx@gnu.org>
5700
4c7c1f3f
DL
5701 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5702 a doc string.
5703
5704 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5705
c6cbe5f0
DL
5706 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5707
550a625e
GM
57082000-09-21 Gerd Moellmann <gerd@gnu.org>
5709
4c7c1f3f 5710 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5711 for GCC >= 2.5.
5712
52283633
SM
5713 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5714 Declare NO_RETURN.
fca99116 5715
80d26f99
GM
5716 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5717 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5718 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5719 warnings.
52283633 5720
80d26f99
GM
5721 * marker.c (byte_char_debug_check): Return void.
5722
623a0aae
GM
5723 * xfns.c (Fx_create_frame): Set default frame parameter value
5724 for tool-bar-lines to 1.
5725
5726 * dispnew.c (scrolling_window): Compare y-positions of rows
5727 equal at the start. Some simplification.
5728
5729 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5730 reused rows' y-position in the case window has a header-line, and
5731 new window start is greater than old window start.
5732
42ac0ae5
GM
5733 * process.c (process_sent_to): New variable.
5734 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5735 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5736 Declare more parameters volatile.
5737
550a625e
GM
5738 * lread.c (Vrecursive_load_depth_limit): New variable.
5739 (Fload): Check recursive loads whose recursion depth exceeds
5740 Vrecursive_load_depth_limit.
5741 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5742
8320414c
GM
57432000-09-20 Gerd Moellmann <gerd@gnu.org>
5744
f46c275e
GM
5745 * fileio.c (Fread_file_name): Doc fix.
5746
5747 * editfns.c (Fmessage_or_box): Doc fix.
5748
5749 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5750
b7e11c5b 5751 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5752
8320414c
GM
5753 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5754 symbols are specified, add color translations to the cache.
52283633 5755 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5756 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5757 xpm_cache_color.
5758 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5759 structures to xpm_init_color_cache.
5760
da1608d9
GM
57612000-09-19 Gerd Moellmann <gerd@gnu.org>
5762
52283633 5763 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5764
6badfa25
AI
57652000-09-19 Andrew Innes <andrewi@gnu.org>
5766
5767 * makefile.nt (bootstrap-emacs): Don't change directory.
5768
3a5f42bb
KH
57692000-09-19 Kenichi Handa <handa@etl.go.jp>
5770
1b7649bd
KH
5771 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5772
3a5f42bb
KH
5773 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5774 If output buffer is too small, signal an appropriated error.
5775
9f83cf0b
DL
57762000-09-18 Dave Love <fx@gnu.org>
5777
52283633 5778 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5779 (current_active_maps): Remove redundant get_local_map call.
5780
28c7826c
GM
57812000-09-18 Gerd Moellmann <gerd@gnu.org>
5782
5cefa566
GM
5783 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5784 cursor for buffers whose cursor_type is nil.
52283633 5785
6fed3546
GM
5786 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5787 a feature to implement that is already implemented.
5788 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5789 warnings.
5790
5791 * xfns.c (x_clear_image_1): New function.
5792 (x_clear_image): Use it.
52283633 5793 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5794
05b1f851
GM
5795 * dispnew.c (update_window): Move test for invisible lines
5796 at the top to update_window_line.
5797 (update_window_line): Handle invisible lines here.
5798
f4779de9
GM
5799 * xfns.c (clear_image_cache): Clear current matrices of all
5800 frames sharing an image cache. Block input while freeing
5801 images. Fix timestamp comparison.
5802 (x_clear_image): Also free the mask.
5803
28c7826c
GM
5804 * xfns.c (lookup_image): Block input while loading the image so
5805 that we won't get interrupted in a state where the image isn't yet
5806 set up completely.
5807 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5808 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5809 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5810 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5811
b7412313
GM
58122000-09-16 Gerd Moellmann <gerd@gnu.org>
5813
5814 * dispnew.c (update_window): Make sure to make desired rows
5815 current even if they are completely invisible at the top
5816 of a window.
5817
47e351a3
GM
58182000-09-15 Gerd Moellmann <gerd@gnu.org>
5819
7f8f1edc
GM
5820 * xfns.c (lookup_image): Build mask before applying an algorithm.
5821 Recognize algorithm `disabled'.
5822 (cross_disabled_images): New variable.
5823 (COLOR_INTENSITY): New macro.
5824 (x_detect_edges): Use COLOR_INTENSITY.
5825 (x_disable_image): New function.
5826 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5827
5828 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5829 disabled state, don't apply an image transformation algorithm if
5830 the user specified an image for the disabled state. Use
28c7826c 5831 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5832 user hasn't specified an image.
5833
ebb8f116
GM
5834 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5835 allocation functions with the XPM lib.
5836 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5837 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5838 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5839 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5840 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5841 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5842 functions, if possible, because these handle color allocation
5843 failure more gracefully.
5844 (Fimage_mask_p): New function.
5845
47e351a3
GM
5846 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5847 (Qedge_detection, Qheuristic): New symbols.
5848 (syms_of_xfns): Initialize new symbols.
5849 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5850 `algorithm (edge-detection ...)'.
5851 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5852 (tiff_format, gif_format, gs_format): Add `:mask'.
5853 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5854 (GIF_MASK, GS_MASK): New enumerators.
5855 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5856 (emboss_matrix, laplace_matrix): New variables.
5857 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5858 (x_edge_detection): New functions.
5859 (x_laplace): Rewritten in terms of x_detect_edges.
5860 (x_build_heuristic_mask): If image has a mask, free it.
5861
fe83b953
AI
58622000-09-14 Andrew Innes <andrewi@gnu.org>
5863
5864 * makefile.w32-in: Revert to Unix line endings.
5865
3021e816
AI
58662000-09-14 Andrew Innes <andrewi@gnu.org>
5867
5868 * makefile.w32-in: Standardize indentation somewhat.
5869 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5870 cater for differences between shells.
5871
5872 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5873
2a32b5ea
GM
58742000-09-14 Gerd Moellmann <gerd@gnu.org>
5875
5876 * xterm.c (x_produce_glyphs): If the distance from the current
5877 position to the next tab stop is less than a canonical character
5878 width, use the tab stop after that.
5879
b4331e96
DL
58802000-09-14 Dave Love <fx@gnu.org>
5881
5882 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5883
ef9e4345
GM
58842000-09-14 Gerd Moellmann <gerd@gnu.org>
5885
085536c2
GM
5886 * xdisp.c (handle_fontified_prop): While running fontification
5887 functions, bind `fontification-functions' and
5888 `after-change-functions' to nil.
5889
ef9e4345
GM
5890 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5891 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5892
5893 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5894
5895 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5896 USE_MMAP_FOR_BUFFERS.
5897
5898 * insdel.c (make_gap): Use enlarge_buffer_text.
5899
5900 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5901 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5902 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5903 from former r_alloc_* functions in ralloc.c.
52283633 5904 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5905 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5906 (mmap_init) [REL_ALLOC_MMAP]: New function.
5907 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5908 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5909 BUFFER_FREE.
5910
5911 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5912 (enlarge_buffer_text): Add prototype.
5913
5914 * ralloc.c: Remove everything having to do with the use of mmap.
5915
f8608968
GM
59162000-09-13 Gerd Moellmann <gerd@gnu.org>
5917
2a494b2d
GM
5918 * sound.c (Fplay_sound): Doc fix.
5919
8c907a56
GM
5920 * keyboard.c: Avoid some more compiler warnings.
5921 (parse_tool_bar_item): Ignore cached key bindings.
5922
f8608968
GM
5923 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5924 and allocation of Lisp data.
5925
6ab70e9a
GM
59262000-09-12 Gerd Moellmann <gerd@gnu.org>
5927
d12d0a9b
GM
5928 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5929 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5930 defaults first.
5931
6ab70e9a
GM
5932 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5933
63c36c3c
KH
59342000-09-12 Miyashita Hisashi <himi@meadowy.org>
5935
5936 * ccl.c: Comment fixed.
5937 (MAX_MAP_SET_LEVEL): Increased to 30.
5938 (PUSH_MAPPING_STACK): Enclose with do-while block.
5939 (POP_MAPPING_STACK): Likewise.
5940 (stack_idx_of_map_multiple): New variable.
5941 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5942 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5943 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5944 (ccl_driver) <CCL_MapSingle>: Likewise.
5945 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5946 with the case where looking up process reaches to the end of
5947 map-set, and call CCL programs as the above change.
5948
7ee3bd7b
GM
59492000-09-11 Gerd Moellmann <gerd@gnu.org>
5950
8ec8a5ec
GM
5951 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5952 that might be clobbered by longjmp.
5953 (check_x_display_info, x_decode_color, create_frame_xic)
5954 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5955 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5956
f74b0705
GM
5957 * lread.c (init_lread): Set Vloads_in_progress to nil.
5958 (Fload): Show list of recursively loaded files, when signaling an
5959 error.
5960
7ee3bd7b
GM
5961 * lread.c (Vloads_in_progress): New variable.
5962 (record_load_unwind): New function.
5963 (Fload): Check for recursive loads.
5964 (syms_of_lread): Initialize Vloads_in_progress.
5965 (read_integer, read1): Avoid some compiler warnings.
5966
5967 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5968 compiler warnings.
5969
974e1e5b
MB
59702000-09-11 Miles Bader <miles@gnu.org>
5971
5972 * editfns.c (Fbuffer_string): Doc fix.
5973
9824c4e3
GM
59742000-09-10 Gerd Moellmann <gerd@gnu.org>
5975
5976 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5977
6a72fdd1
KR
59782000-09-09 Ken Raeburn <raeburn@gnu.org>
5979
5980 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5981 whether to include other header files.
5982
28e6fb66
GM
59832000-09-09 Gerd Moellmann <gerd@gnu.org>
5984
52283633 5985 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5986 by Fmemq as a boolean.
28e6fb66 5987
7f8b6551
SM
59882000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5989
5990 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5991
a8710abf
GM
59922000-09-08 Gerd Moellmann <gerd@gnu.org>
5993
d1a02881
GM
5994 * ralloc.c (mmap_fd): Remove initializer which can make it
5995 read-only in a dumped Emacs.
5996 (mmap_fd_1): New variable.
5997 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5998 restore it from there.
5999 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6000 unconditionally so that mmap_fd can be initialized there.
6001 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6002 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6003 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6004
c454aac1
GM
6005 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6006
6007 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6008 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6009
fc653ef2
GM
6010 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6011
3015eec0
GM
6012 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6013 inheritance.
6014
bfe0ee88
GM
6015 * xdisp.c (try_window_id): When trying to locate cursor in
6016 unchanged rows at the top, handle the case that we can't find it.
6017
a8710abf
GM
6018 * xterm.c (x_draw_glyphs): Handle case START and END are out
6019 of bounds more carefully.
6020
6b7d4ae4
DL
60212000-09-08 Dave Love <fx@gnu.org>
6022
423193c5
DL
6023 * s/sol2.h (REL_ALLOC_MMAP): Define.
6024 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6025
6026 * ralloc.c: Don't include string.h (redundant).
6027 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6028 [!MAP_ANON]: Include fcntl.h.
6029 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6030 (r_alloc, r_re_alloc, r_alloc_free)
6031 (mmap_enlarge, mmap_set_vars): Use it.
6032 (r_alloc_init_fd): New function.
6033 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6034 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6035 malloc type.
6036
6037 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6038 Remove vm-limit.o.
6039
6b7d4ae4
DL
6040 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6041 change to __NetBSD__.
6042
44d31981
KH
60432000-09-08 Kenichi Handa <handa@etl.go.jp>
6044
6045 * search.c (compile_pattern): Check the multibyteness of cached
6046 string and PATTERN.
6047
aad40737
MB
60482000-09-08 Miles Bader <miles@gnu.org>
6049
6050 * xfaces.c (default_face_vector): Function removed.
6051 (Finternal_merge_in_global_face): Restore old global/local
6052 attribute override order. Use inline loop instead of calling
6053 default_face_vector.
6054
91a211b5
GM
60552000-09-07 Gerd Moellmann <gerd@gnu.org>
6056
6057 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6058 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6059 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6060 where necessary, in case POINTER_TYPE is `void'.
6061
03419440
EZ
60622000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6063
6064 * frame.c (make_terminal_frame): Initialize frame foreground and
6065 background colors to unspecified, for the initial instance of an
6066 MSDOS frame.
6067
f46f845b
GM
60682000-09-07 Gerd Moellmann <gerd@gnu.org>
6069
24f76fbf
GM
6070 * ralloc.c (mmap_find): Fix overlap computation.
6071 (mmap_enlarge): Compute nbytes before trying to find an
6072 overlapping region.
6073
f46f845b
GM
6074 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6075 instead of `!='.
6076
6077 * lread.c (syms_of_lread): Change value of regexp
6078 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6079
6080 * xmenu.c (xdialog_show): When looking up the selection in
6081 menu_items, take `quote' boundaries into account; this corresponds
6082 to a nil ITEM in x-popup-dialog.
6083
3c014385
KH
60842000-09-07 Kenichi Handa <handa@etl.go.jp>
6085
fd6f711b
KH
6086 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6087 not 0x81.
6088 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6089
3c014385 6090 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6091 encoding, not decoding. Fix the handling of latin-jisx0201.
6092 Check for the charset katakana-jisx0201 too.
3c014385 6093 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6094 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6095
0da3ecef
GM
60962000-09-07 Gerd Moellmann <gerd@gnu.org>
6097
ab0ee409
GM
6098 * xfaces.c (Vparam_value_alist): New variable.
6099 (syms_of_xfaces): Initialize it.
6100 (Finternal_set_lisp_face_attribute): Avoid more consing.
6101
6102 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6103 specially.
6104 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6105 (Qbackground_mode): New variable.
6106 (syms_of_frame_1): Initialize Qbackground_mode.
6107
6108 * lisp.h (Qdisplay): Declare extern.
1091dd67 6109
0da3ecef
GM
6110 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6111 change face on all frames, and change the default for new frames.
6112
b14654b9
DL
61132000-09-07 Dave Love <fx@gnu.org>
6114
6115 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6116
d24fd56f
KH
61172000-09-07 Kenichi Handa <handa@etl.go.jp>
6118
794f3670
KH
6119 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6120
0fddd0dc
KH
6121 * charset.c: Include composite.h
6122 (lisp_string_width): New function.
6123 (Fstring_width): Call lisp_string_width instead of strwidth.
6124
6125 * Makefile.in (charset.o): Depends on composite.h.
6126
d24fd56f
KH
6127 * process.c (read_process_output): Before inserting the decoded
6128 text in the buffer, adjust the multibyteness.
6129
fa0b693c
GM
61302000-09-06 Gerd Moellmann <gerd@gnu.org>
6131
52283633 6132 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6133 buffer's text buffer is null, map new memory.
6134
0a58f946
GM
6135 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6136 POINTER_TYPE and size_t.
6137 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6138 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6139 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6140 [REL_ALLOC_MMAP]: New macros.
6141 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6142 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6143 [REL_ALLOC_MMAP]: New functions.
6144
6145 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6146 before and after unexec.
6147
6148 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6149 text buffers if necessary.
6150
6151 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6152 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6153 in prototypes.
6154
fa0b693c
GM
6155 * config.in (HAVE_MMAP): Add #undef.
6156
877055f6
GM
61572000-09-05 Gerd Moellmann <gerd@gnu.org>
6158
08ba3862
GM
6159 * frame.c (Qdisplay_type): New variable.
6160 (syms_of_frame_1): Initialize it.
6161 (Fframe_parameter): New function that avoids consing.
6162 (syms_of_frame): Defsubr it.
6163
66ffe51c
GM
6164 * buffer.c (Fother_buffer): Consider buffers as invisible when
6165 they are displayed in a window on an invisible frame.
6166
877055f6
GM
6167 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6168 get-largest-window always return nil.
6169
bb970e67
GM
61702000-09-04 Gerd Moellmann <gerd@gnu.org>
6171
6172 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6173 variable; recognize Emacs 19 elc files.
6174
7a3d0e0e
MB
61752000-09-04 Miles Bader <miles@gnu.org>
6176
6177 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6178 before initially popping up the menu, so the menu doesn't flash
52283633 6179 when the face settings are significantly different from the defaults.
7a3d0e0e 6180
14473664
SM
61812000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6182
6183 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6184 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6185 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6186 (BIT_UNIBYTE): Remove.
6187 (re_match_2_internal): Delete corresponding code and streamline the
6188 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6189 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6190 (re_wctype_t): New type.
6191 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6192 (regex_compile): Use them and fix handling of overly long char classes.
6193
c1174479
AI
61942000-09-03 Andrew Innes <andrewi@gnu.org>
6195
f8803e97
AI
6196 * makefile.w32-in: Change to DOS line endings.
6197
c1174479
AI
6198 * s/ms-w32.h (ORDINARY_LINK): New define.
6199
6200 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6201 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6202
6203 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6204 (distclean): Delete them here instead.
6205
44ef7cf6
AI
6206 * w32proc.c (compare_env): Convert to uppercase for comparison,
6207 not lowercase, to match how the native Windows shell works.
6208
49b3bd82
JR
62092000-09-03 Jason Rumney <jasonr@gnu.org>
6210
6211 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6212 CVS changes the line-ends when checking in/out on DOS/Windows.
6213
6214 * makefile.nt (emacs): Do not change directory to run temacs, as
6215 the load-path is set relative to current directory.
6216
a3d35a39
MB
62172000-09-03 Miles Bader <miles@gnu.org>
6218
6219 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6220
d276b0cf
GM
62212000-09-02 Gerd Moellmann <gerd@gnu.org>
6222
715e84c9
GM
6223 * xdisp.c (redisplay_mode_lines): New function.
6224 (display_mode_lines): Return number of mode lines displayed.
6225 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6226 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6227
8892f40b
GM
6228 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6229 string.h and strings.h.
6230 (index) [HAVE_INDEX]: Add prototype.
6231
d276b0cf
GM
6232 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6233 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6234
6235 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6236 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6237
38404229
GM
62382000-09-01 Gerd Moellmann <gerd@gnu.org>
6239
6240 * lread.c (read1): Accept `?' as symbol constituent, for
6241 compatiblity with XEmacs.
6242
c0f9ea08
SM
62432000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6244
6245 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6246 (struct re_pattern_buffer): Remove newline_anchor.
6247 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6248 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6249 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6250 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6251 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6252 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6253 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6254 Get rid of references to newline_anchor.
6255 (regcomp): Allocate and precompute a fastmap.
6256
8c0f83fe
GM
62572000-08-31 Gerd Moellmann <gerd@gnu.org>
6258
6259 * lread.c (openp): GCPRO local variable `filename'.
6260
4bb91c68
SM
62612000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6262
6263 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6264
6265 * regex.c: Merge some changes from GNU libc. Add prototypes.
6266 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6267 Use memcmp and memcpy instead of bcopy and bcmp.
6268 (init_syntax_once): Use ISALNUM.
6269 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6270 (REG_UNSET_VALUE): Remove. Use NULL instead.
6271 (REG_UNSET, re_match_2_internal): Use NULL.
6272 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6273 New macros.
6274 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6275 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6276 (regex_compile): In handle_interval, return an error rather than try to
6277 unfetch the interval if we can't find the closing brace.
6278 Obey the RE_NO_GNU_OPS syntax bit.
6279 (TOLOWER): New macro.
6280 (regcomp): Use it.
6281 (regexec): Allocate regs.start and regs.end as one block.
6282
5226a931
GM
62832000-08-30 Gerd Moellmann <gerd@gnu.org>
6284
868dd24b
GM
6285 * xdisp.c (echo_area_display): Check display_completed instead
6286 of calling detect_input_pending.
6287
6288 * dispnew.c (update_frame): Only set display_completed here; move
6289 the update_begin and update_end calls here from update_frame_1.
6290 (update_frame_1): Don't set display_completed here, don't call
6291 update_begin/update_end.
6292
5226a931
GM
6293 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6294 instead of store_frame_param.
6295
2a8bd25f
GM
62962000-08-29 Gerd Moellmann <gerd@gnu.org>
6297
6298 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6299 desired window matrix hasn't been displayed, use the current row
6300 instead. Make sure that only those frame rows are updated for
6301 which there exists a corresponding enabled desired row.
52283633 6302
ba3478d9
MB
63032000-08-29 Miles Bader <miles@gnu.org>
6304
6305 * xfaces.c (default_face_vector): New function.
6306 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6307
87d0f685
GM
63082000-08-29 Gerd Moellmann <gerd@gnu.org>
6309
6310 * lread.c (openp): Prevent temporary string passed to
6311 Ffile_readable_p from being garbage collected.
6312
6fa86045
DL
63132000-08-28 Dave Love <fx@gnu.org>
6314
6315 * keymap.c (store_in_keymap): Add `static' to declaration.
6316
bb17930d
GM
63172000-08-28 Gerd Moellmann <gerd@gnu.org>
6318
6319 * emacs.c, callint.c, doc.c, editfns.c
6320 (toplevel) [HAVE_STRING_H]: Include string.h.
6321 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6322 (index): Remove prototypes which might conflict with non-standard
6323 definitions of index/strchr.
6324
6325 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6326 (rindex): Define only if !HAVE_RINDEX.
6327
6328 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6329
6330 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6331
87188200
MB
63322000-08-28 Miles Bader <miles@gnu.org>
6333
6334 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6335 made inconsistent by a font-related attribute in FROM.
6336 (merge_face_inheritance): Add function comment.
6337
41a68aef
KH
63382000-08-28 Kenichi Handa <handa@etl.go.jp>
6339
6340 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6341 the 4th arg (PREV_EVENT) Qt to suppress input method.
6342
f7c436c1
SM
63432000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6344
0b32bf0e
SM
6345 * regex.c: Indent cpp directives and remove parens after `defined'.
6346 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6347 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6348 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6349 (re_compile_pattern): Use size_t for length.
6350 (init_syntax_once): Move to a better place.
6351 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6352 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6353
f7c436c1
SM
6354 * syntax.c (back_comment): Detect cases where a comment-starter is
6355 actually inside another comment as in: /* a // b */ c // d \n.
6356 Make it clear that `comstart_pos' is unused for nested comments.
6357
6358 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6359 (KEYMAPP): New macro.
6360 (Fkeymap_parent, Fset_keymap_parent): Use it.
6361 (fix_submap_inheritance): Mark it static.
6362 (define_as_prefix, describe_buffer_bindings, describe_command)
6363 (describe_translation, describe_map): Complete prototypes.
6364
6365 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6366
6367 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6368 to better match the key-lookup behavior.
6369
6288c62f
GM
63702000-08-27 Gerd Moellmann <gerd@gnu.org>
6371
6372 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6373 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6374
e931344e
EZ
63752000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6376
6377 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6378 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6379 (xterm.o): Depend on coding.h
6380
d10dfeef
KH
63812000-08-26 Kenichi Handa <handa@etl.go.jp>
6382
6383 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6384 the corresponding '#endif'.
6385
2d73e8d3
MB
63862000-08-26 Miles Bader <miles@gnu.org>
6387
6388 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6389 * xfaces.c (QCinherit): New variable.
6390 (syms_of_xfaces): Initialize it.
6391 (LFACE_INHERIT): New macro.
6392 (Finternal_get_lisp_face_attribute)
52283633 6393 (merge_face_vector_with_property)
2d73e8d3
MB
6394 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6395 (check_lface_attrs): Allow new types of face height. Check
6396 inherit attribute.
6397 (CYCLE_CHECK): New macro.
6398 (merge_face_inheritance): New function.
6399 (merge_face_vectors): Merge inherited faces too. Add F and
6400 CYCLE_CHECK arguments.
6401 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6402 (lookup_named_face, lookup_derived_face, realize_named_face)
6403 (face_at_string_position, face_at_buffer_position): Supply
6404 new F and CYCLE_CHECK arguments to merge_face_vectors.
6405 (merge_face_heights): New function.
52283633 6406 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6407 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6408 handle relative face heights.
6409 (lface_same_font_attributes_p): Compare heights using EQ.
6410
6ce974d4
KH
64112000-08-26 Kenichi Handa <handa@etl.go.jp>
6412
6413 * charset.c (char_to_string): Check the character validity.
52283633 6414 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6415
dc1e502d
SM
64162000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6417
6418 * regex.c (PUSH_FAILURE_COUNT): New macro.
6419 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6420 Handle popping of a register's or a counter's data.
6421 (POP_FAILURE_POINT): Use the new name.
6422 (re_match_2_internal): Push counter data on the stack for succeed_n,
6423 jump_n and set_number_at and remove misleading dead code in succeed_n.
6424
bd9d0f3f
GM
64252000-08-25 Gerd Moellmann <gerd@gnu.org>
6426
6427 * xdisp.c (redisplay_internal): If considering all windows on all
6428 frames, update the display for each frame as soon as possible,
6429 instead of first building all desired matrices for all frames, and
6430 then updating them all.
6431 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6432
aa5b8e15
GM
64332000-08-24 Gerd Moellmann <gerd@gnu.org>
6434
17494071
GM
6435 * bytecode.c (mark_byte_stack): Add a comment.
6436
52283633
SM
6437 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6438 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6439 a graphical frame.
6440
c543db81
KH
64412000-08-24 Kenichi Handa <handa@etl.go.jp>
6442
d246d5f5
KH
6443 * minibuf.c (do_completion): Always use compare-string, not
6444 string-equal because the latter doesn't pay attention to
6445 multibyteness of strings.
6446
c543db81
KH
6447 * process.c (create_process): Don't setup raw-text coding here.
6448 (Fopen_network_stream): Don't set coding->src_multibyte and
6449 coding->dst_multibyte here.
6450 (read_process_output): For process filter, return unibyte string
6451 if default-enable-multibyte-characters is nil.
6452 (send_process): If OBJECT is multibyte text, be sure to encoded it
6453 by the specified coding system for the process. Otherwise, setup
6454 raw-text coding.
52283633 6455 (init_process): Don't initialize default-process-coding-system here.
c543db81 6456
9b47cfe0
EZ
64572000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6458
6459 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6460 <scroll-down-aggressively>: Likewise.
6461
f5a36960
KH
64622000-08-23 Kenichi Handa <handa@etl.go.jp>
6463
6464 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6465 zero. Set coding->produced_char correctly.
6466
69a7ffa7
AI
64672000-08-22 Andrew Innes <andrewi@gnu.org>
6468
6469 * makefile.w32-in: New file.
6470
6471 * unexw32.c (unexec): Ignore old_name, and use the actual location
6472 of the current executable instead. Base new_name on this.
6473
6474 * w32proc.c (create_child): Remove reference to security
6475 descriptor, which isn't needed and doesn't compile with mingw32.
6476
6477 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6478 up dllimport attributes.
6479 (x_update_window_end): Update prototype.
6480
6481 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6482 extern, which screws up dllimport attributes.
6483
6484 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6485 up dllimport attributes.
6486
6487 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6488 screws up dllimport attributes.
6489
6490 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6491 up dllimport attributes.
6492 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6493 screws up dllimport attributes.
6494
6495 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6496 up dllimport attributes.
6497
6498 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6499 screws up dllimport attributes.
6500
6501 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6502 screws up dllimport attributes.
6503
6504 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6505 up dllimport attributes.
6506
6507 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6508 unnecessary extern, which screws up dllimport attributes.
6509 (main): Ditto.
6510
6511 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6512 up dllimport attributes.
6513
6514 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6515 unnecessary extern, which screws up dllimport attributes.
6516
6517 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6518 screws up dllimport attributes.
6519
6520 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6521 up dllimport attributes.
6522
6523 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6524
52283633
SM
6525 * w32bdf.c (search_file_line):
6526 (set_bdf_font_info):
6527 (seek_char):
6528 (w32_get_bdf_glyph):
69a7ffa7
AI
6529 (w32_BDF_to_x_font): Fix compile warnings.
6530
52283633 6531 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6532
6533 * w32select.c: Include keyboard.h before frame.h.
6534
6535 * w32fns.c (max): Define macro.
6536 (JOHAB_CHARSET): Define if not known.
6537 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6538 (Fx_show_tip): Synch with X version.
6539
6540 * w32xfns.c: Include keyboard.h before frame.h.
6541
6542 * w32fns.c: Include keyboard.h before frame.h.
6543
6544 * w32term.c: Include keyboard.h before frame.h.
6545
6546 * fontset.c: Include keyboard.h before frame.h.
6547
6548 * w32inevt.c: Include keyboard.h before frame.h.
6549 (MOUSE_MOVED): Define if not known.
6550
6551 * minibuf.c: Include keyboard.h before frame.h.
6552
6553 * keyboard.c: Include keyboard.h before frame.h.
6554
6555 * indent.c: Include keyboard.h before frame.h.
6556
6557 * dispnew.c: Include keyboard.h before frame.h.
6558
6559 * buffer.c: Include keyboard.h before frame.h.
6560
6561 * alloc.c: Include keyboard.h before frame.h.
6562
6563 * print.c: Include keyboard.h before frame.h.
6564
6565 * process.c: Include keyboard.h before frame.h.
6566
6567 * scroll.c: Include keyboard.h before frame.h.
6568
6569 * sysdep.c: Include keyboard.h before frame.h.
6570
6571 * term.c: Include keyboard.h before frame.h.
6572
6573 * window.c: Include keyboard.h before frame.h.
6574
6575 * xdisp.c: Include keyboard.h before frame.h.
6576 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6577
6578 * frame.c: Include keyboard.h before frame.h.
6579
6580 * w32heap.h: Undefine min, max.
6581
6582 * w32gui.h: Undefine min, max.
6583
6584 * unexw32.c: Change PUCHAR to PCHAR.
6585 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6586 (relocate_offset):
6587 (get_section_info):
69a7ffa7
AI
6588 (copy_executable_and_dump_data): Remove unnecessary static defs.
6589 (copy_executable_and_dump_data): Fix compile warnings.
6590
6591 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6592
6593 * w32console.c (min): Define macro.
6594 (clear_frame, write_glyphs): Fix compile warning.
6595
52283633 6596 * w32proc.c (compare_env):
69a7ffa7
AI
6597 (find_child_console): Fix compile warning.
6598
6599 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6600 sys_errlist instead of _sys_errlist.
6601 (get_emacs_configuration_options): New function.
6602
6603 * s/ms-w32.h (sys_nerr): Provide default definition.
6604 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6605 name with _ prepended.
6606 (NSIG): Define if not known.
6607 (get_emacs_configuration): Provide extern declaration.
6608 (get_emacs_configuration_options): Provide extern declaration.
6609 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6610
6611 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6612 (map_w32_filename):
69a7ffa7
AI
6613 (read_unc_volume): Fix compile warning.
6614
6615 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6616 definitions from being used.
6617
6618 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6619
52283633 6620 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6621 (open_unc_volume): Make arg const.
6622
6623 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6624 (read_input_waiting): Remove excess parameter.
6625
6626 * w32.c (init_environment): Call _access.
6627 (check_windows_init_file): Call _close.
6628 (init_user_info): Call _putenv.
6629 (init_environment): Call _putenv and _strdup.
6630 (init_ntproc): Reset volume info cache on startup.
6631
6632 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6633 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6634 cannot override the CRT malloc.
6635
6636 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6637 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6638
6639 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6640 unless we are linking with a static CRT.
6641 (RVA_TO_PTR): Cast result to unsigned char*.
6642
6643 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6644 (add_volume_info): Use xstrdup.
6645
25060080
SM
66462000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6647
6648 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6649 (do_completion, Fminibuffer_complete_word): Use it.
6650 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6651 var so it can take non-boolean values.
6652
6917e6bb
GM
66532000-08-21 Gerd Moellmann <gerd@gnu.org>
6654
acb7cc89 6655 * editfns.c (find_field): Formatting changes.
52283633 6656 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6657 changed to prototypes, some new protypes added, some functions
6658 made static.
6659
6660 * lisp.h (set_time_zone_rule): Add prototype.
6661 (use_dialog_box): External declaration.
6662
0bbfdc25
GM
6663 * keyboard.c (gen_help_event): Add parameter SIZE.
6664 (kbd_buffer_events_waiting): Slightly rewritten.
6665 (clear_event): New function.
6666 (kbd_buffer_get_event): Use it, and clear the input_events of
6667 HELP_EVENTs.
6668 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6669 don't fill the newly created array with nils.
6670 (toplevel): Convert some old-style function forward declarations
6671 to prototypes.
6672
6673 * keyboard.h (gen_help_event): Change prototype.
6674
6675 * xterm.c (XTread_socket): Change calls to gen_help_event.
6676
6677 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6678
6917e6bb
GM
6679 * eval.c (Fmacroexpand): Doc fix.
6680
e5cd3d11
JR
66812000-08-20 Jason Rumney <jasonr@gnu.org>
6682
6683 * w32term.h (x_display_info_for_display): Remove as this function
6684 does not exist on W32.
6685
6686 * w32term.c (help_echo_window): New variable.
6687 (syms_of_w32term): staticpro it.
6688 (note_mode_line_highlight): Set it.
6689 (XTextExtents16): Removed as there is no equivalent on W32.
6690 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6691 the X way of doing this will not work for W32.
6692 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6693 (x_draw_image_foreground): Avoid drawing outside of the clip area
6694 when image doesn't have a mask.
6695 (note_mouse_highlight): Process overlays in the right order of
6696 priority. Set help_echo_window.
6697 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6698 because that's more visible for large images.
6699
6700 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6701 name to single_keymap_panes.
6702 (w32_menu_show): Set wv->title when dealing with titles.
6703 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6704
6e69ab8c
MB
67052000-08-21 Miles Bader <miles@gnu.org>
6706
6707 * minibuf.c (do_completion): Try again if we rewrite the input
6708 string, but no completion was done, so that any completion message
6709 will be correct.
6710
511bd4eb
GM
67112000-08-20 Gerd Moellmann <gerd@gnu.org>
6712
6713 * xfaces.c (lface_equal_p): Compare strings differently.
6714 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6715 (realize_tty_face): Use them.
6716 (syms_of_xfaces): Initialize new variables.
6717 (map_tty_color): New function, extracted from realize_tty_face.
6718 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6719 foreground or background color, store the new color name in the
6720 realized face; previous code trying to do this had no effect.
6721 (realize_tty_face): Use map_tty_color.
6722 (Fclear_face_cache): Set face_change_count and ensure thorough
6723 redisplay.
6724
1433385f
GM
67252000-08-19 Gerd Moellmann <gerd@gnu.org>
6726
511bd4eb
GM
6727 * undo.c (record_first_change, record_marker_adjustment): Don't
6728 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6729
419ac0a2
KH
67302000-08-18 Kenichi Handa <handa@etl.go.jp>
6731
6732 * coding.c (decode_coding_string): Set members consumed,
6733 consumed_char, produced, produced_char of *coding correctly. If
6734 decode_coding doesn't consume any byte, don't try anymore.
6735 (encode_coding_string): Likewise.
6736
7eb9e30d
GM
67372000-08-18 Gerd Moellmann <gerd@gnu.org>
6738
511bd4eb
GM
6739 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6740 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6741
6742 * xdisp.c (redisplay_internal): Compare windows for equality with
6743 EQ, instead of applying XWINDOW to something that might not
6744 be a window.
52283633 6745
dd34a735
KH
67462000-08-18 Kenichi Handa <handa@etl.go.jp>
6747
6748 * fontset.c (Finternal_char_font): Search only the selected frame
6749 for a window of the current buffer.
6750
385ff9e3
GM
67512000-08-18 Gerd Moellmann <gerd@gnu.org>
6752
511bd4eb 6753 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6754 Lisp_Objects.
6755
385ff9e3
GM
6756 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6757 second half of a HELP_EVENT is found at the start of kbd_buffer.
6758
d6abb4c7
MB
67592000-08-18 Miles Bader <miles@gnu.org>
6760
4618074a
MB
6761 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6762
d6abb4c7
MB
6763 * editfns.c (save_restriction_save): Rewrite to use markers.
6764 (save_restriction_restore): Rewrite to understand new form of data
6765 saved by save_restriction_save.
6766 (Fsave_restriction): Remove cautionary note in doc-string.
6767
a7b28523
GM
67682000-08-17 Gerd Moellmann <gerd@gnu.org>
6769
6770 * fileio.c (build_annotations): Add a comment explaining the
6771 return value of format-annotate-function. Replace a spurious call
6772 to Flength with a CONSP test. Call format-annotate-function with
6773 a fifth arg specifying how many times the function is been called
6774 in a row, to let it choose temporary buffers appropriately.
6775
03c9ed77
DL
67762000-08-17 Dave Love <fx@gnu.org>
6777
6778 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6779 declare make_temp_name twice.
6780
52283633 6781 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6782 (unreadpure): Give it an arg.
6783
6784 * unexalpha.c: Prototype fatal_unexec, mark_x,
6785 update_dynamic_symbols. Declare unexec as void.
6786
6787 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6788 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6789
6790 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6791 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6792
6793 * alloca.c: Use #error.
6794 [POINTER_TYPE]: Use it.
6795
6796 * eval.c (Fdefvar): Doc fix.
6797
6798 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6799 INITIALIZE_INTERVAL.
6800
6801 * buffer.h: Avoid DECLARE_INTERVALS.
6802
6803 * config.in: Add size_t.
6804
aae41d97
EZ
68052000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6806
6807 * w16select.c (set_clipboard_data): If there's not enough memory
6808 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6809 expects. In case of other failures, return 3.
6810 (system_error_msg): New error message.
6811 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6812 system_error_msg.
6813
65aa5e85
GM
68142000-08-16 Gerd Moellmann <gerd@gnu.org>
6815
6816 * term.c (write_glyphs): Also turn off inverse video after turning
6817 off other appearances in case TS_exit_attribute_mode is not equal
6818 to TS_end_standout_mode.
6819 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6820 with the same face.
6821 (turn_off_face): Reset standout_mode only if
6822 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6823 is equal to TS_end_standout_mode.
6824
ece23901
KH
68252000-08-16 Kenichi Handa <handa@etl.go.jp>
6826
9d7bcb2e
KH
6827 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6828 sequence at the end of the source block.
6829
ece23901
KH
6830 * ccl.c (Fccl_program_p): Docstring modified.
6831 (Fccl_execute): Likewise.
6832 (Fccl_execute_on_string): Likewise.
6833
5e30eaa2
EZ
68342000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6835
6836 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6837
290602fd
KH
68382000-08-16 Kenichi Handa <handa@etl.go.jp>
6839
6840 The following changes are mainly to fix bugs of
6841 encode/decode-coding-string failing if encoding/decoding return
6842 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6843 variable conversion_buffer.
6844
6845 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6846 decrement dst_end to avoid buffer overflow in the later call of
6847 string_as_multibyte
6848
6849 * coding.h (conversion_buffer_size, conversion_buffer)
6850 (get_conversion_buffer): Extern deleted.
6851
6852 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6853 (conversion_buffer, conversion_buffer_size): Variables deleted.
6854 (get_conversion_buffer): Function deleted.
6855 (struct conversion_buffer): New structure.
6856 (MAX_ALLOCA): New macro.
6857 (allocate_conversion_buffer): New macro.
6858 (extend_conversion_buffer, free_conversion_buffer): New functions.
6859 (ccl_coding_driver): Set coding->result.
6860 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6861 this is the last block of source.
6862 (encode_coding): Likewise. Handle the source block as the last
6863 one only when the whole source text is consumed.
6864 (decode_coding_string): Handle the case that the output buffer is
6865 too small to decode the whole source text. Use
6866 allocate_conversion_buffer, extend_conversion_buffer and
6867 free_conversion_buffer, not get_conversion_buffer.
6868 (encode_coding_string): Likewise.
6869 (init_coding): Function deleted.
52283633 6870 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6871
6872 * emacs.c (main): Don't call init_coding.
6873
52283633 6874 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6875
6876 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6877 (insert_glyphs): Likewise.
6878
6879 * w32console.c (write_glyphs): Use a locally declared
6880 conversion_buffer.
6881
b9f80d41
EZ
68822000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6883
6884 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6885 member of display_info is NULL.
6886
32dc52f7
GM
68872000-08-15 Gerd Moellmann <gerd@gnu.org>
6888
52283633 6889 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6890
32dc52f7 6891 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6892 appearances with capability `me'.
32dc52f7
GM
6893 (write_glyphs): Switch on inverse video before each face change.
6894
4eb22d33
DL
68952000-08-14 Dave Love <fx@gnu.org>
6896
6897 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6898 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6899 (lisp_free): Declare and make static.
6900
6901 * window.c: Fix embedded comment.
6902 (syms_of_window): Fix doc string.
6903
90cbf47e
GM
69042000-08-14 Gerd Moellmann <gerd@gnu.org>
6905
52283633 6906 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6907 make sure to print `C-' before `M-', like in the manual.
6908
440fc135
GM
69092000-08-11 Gerd Moellmann <gerd@gnu.org>
6910
6911 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6912 since they aren't relocated anymore.
52283633 6913 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6914
6915 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6916 partially visible line which is smaller than the window's height.
440fc135 6917
6e264fad
KH
69182000-08-11 Kenichi Handa <handa@etl.go.jp>
6919
6920 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6921 the multibyte form of eight-bit-control characters.
6e264fad
KH
6922 (Fccl_execute_on_string): Initialize ccl->multibyte.
6923
6924 * ccl.h (struct ccl_program): New member multibyte.
6925
6926 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6927
c371f69a
KH
69282000-08-11 Kenichi Handa <handa@etl.go.jp>
6929
6930 * regex.c (regex_compile) <normal_char>: Pay attention to
6931 multibyteness.
6932 (analyse_first) <exactn>: Setup fastmap correctly for
6933 eight-bit-control characters.
6934
69352000-08-11 Kenichi Handa <handa@etl.go.jp>
6936
52283633 6937 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6938
6939 * keyboard.c (make_lispy_event): Handle the new event type
6940 multibyte_char_keystroke.
6941
6942 * xterm.c: Include coding.h.
6943 (XTread_socket): Work around a bug of XmbLookupString. If the
6944 input is from XIM, decode it according to the current locale. In
6945 that case, generate multibyte_char_keystroke events.
6946
b8ddbe71
KH
69472000-08-11 Kenichi Handa <handa@etl.go.jp>
6948
6949 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6950 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6951
47589c8c
GM
69522000-08-10 Gerd Moellmann <gerd@gnu.org>
6953
6954 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6955 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6956 (move_it_in_display_line_to): Record iterator's ascent and descent
6957 before producing glyphs, and restore them when we know the glyph
6958 doesn't fit on the line.
6959 (move_it_to): Restructured so that it's easier to debug. If
6960 moving to a vpos, and not moving to an x or character position,
6961 stop as soon as the specified vpos is reached; don't move further
6962 into that line because that might change the computed line height.
6963 (try_cursor_movement): New function, extracted from the cursor
6964 movement branch of redisplay_window. If ending on a partially
6965 visible line, don't try to scroll if the cursor line is taller
6966 than the window.
6967 (redisplay_window): Use try_cursor_movement.
6968
6969 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6970 because that function doesn't cope with variable-height lines.
6971
6972 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6973 box cursor because that's better visible for large images.
52283633 6974
c51bacd6
MB
69752000-08-10 Miles Bader <miles@gnu.org>
6976
6977 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6978
bea56df7
GM
69792000-08-10 Gerd Moellmann <gerd@gnu.org>
6980
6981 * xdisp.c (Vmessages_buffer_name): New variable.
6982 (message_dolog): Use it.
6983 (syms_of_xdisp): Initialize it.
6984
99cd7364
EZ
69852000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6986
52283633 6987 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6988 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6989 redundant now that keyboard.h is included.
6990
7d093d56
EZ
69912000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6992
6993 * keyboard.c (kbd_buffer_events_waiting): New function.
6994
6995 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6996
6997 * msdos.c: Include keyboard.h.
6998 (XMenuActivate): Empty no_event events from the event buffer. If
6999 no events are left after that, call clear_input_pending.
7000 (mouse_clear_clicks): New function, code moved from mouse_init.
7001 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7002 mouse driver to ``forget'' any past clicks.
7003
7004 * Makefile.in (msdos.o): Depend on keyboard.h.
7005
41e757a6
GM
70062000-08-09 Gerd Moellmann <gerd@gnu.org>
7007
8e7bd231
GM
7008 * lisp.h (input_pending): External declaration.
7009
7010 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7011
8e7bd231
GM
7012 * xdisp.c (echo_area_display): Display thoroughly if input is
7013 pending. Bind redisplay-dont-pause to t during the redisplay.
7014 in case input is pending.
7015
7016 * dispnew.c (Qredisplay_dont_pause): New variable.
7017 (syms_of_display): Initialize and staticpro it.
7018 (update_frame_1): Don't interrupt the display for pending input if
7019 redisplay_dont_pause is set.
52283633 7020
43028b7e
GM
7021 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7022
41e757a6
GM
7023 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7024
2f2174fa
KH
70252000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7026
7027 * callproc.c (Fcall_process): Terminate the unwind-protect around
7028 the post-read-conversion of coding system.
7029
0a6fd67e
MB
7030 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7031 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7032 * buffer.h (overlays_at): Update prototype.
7033 * xdisp.c (next_overlay_change): Update call to overlays_at.
7034 * xfaces.c (face_at_buffer_position): Likewise.
7035 * textprop.c (Fget_char_property): Likewise.
7036 * xterm.c (note_mouse_highlight): Likewise.
7037
0c80756e
MB
7038 * minibuf.c (do_completion): Don't consider a simple change of
7039 case as `completion'.
7040
975f250a
KR
70412000-08-08 Ken Raeburn <raeburn@gnu.org>
7042
52283633 7043 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7044 * undo.c (record_delete): Make sure last_point_position_buffer is
7045 a buffer before comparing pointers.
7046
7047 * coding.h (decode_coding_string): Declare.
7048
7049 * intervals.h (Fprevious_single_char_property_change): Declare.
7050
7051 * textprop.c (Fprevious_single_char_property_change): Don't do
7052 arithmetic directly on lisp objects.
7053
52283633 7054 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7055
7056 * keyboard.h (menu_item_eval_property): Declare.
7057
7058 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7059 reuse as buffer name, instead of recreating (and discarding) every
7060 time a message is logged.
7061 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7062 (current_message_1, truncate_message_1, set_message_1)
7063 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7064 (current_message, truncate_echo_area, display_echo_area)
7065 (resize_echo_area_axactly): Changed calls.
b347b3fd 7066
975f250a 7067 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7068 Lisp object.
975f250a 7069 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7070 must be an integer, not a Lisp object.
975f250a 7071
46dc9912
KH
70722000-08-08 Kenichi Handa <handa@etl.go.jp>
7073
7074 * charset.c (Fchar_width): Doc fix.
7075
9f6d1a6c
GM
70762000-08-08 Gerd Moellmann <gerd@gnu.org>
7077
7078 * charset.c (Fstring_width): Doc fix.
7079
ff3d9573
GM
70802000-08-07 Gerd Moellmann <gerd@gnu.org>
7081
41e757a6 7082 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7083 line, clear ascent and descent members of the iterator structure;
7084 the height of the continued line does not affect the height of the
7085 continuation line.
7086 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7087 line taller than the window.
7088 (redisplay_window) <forced window start>: Handle case that the
7089 middle of the window is not found in any row.
7090 (dump_glyph_row): Show more information.
7091 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7092 first text line in a glyph matrix.
7093
7094 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7095 of the clip area when image doesn't have a mask.
7096
70fc58b3
GM
7097 * fns.c (sweep_weak_table): Fix survival conditions for
7098 key-or-value and key-and-value weakness.
7099
7100 * .gdbinit (xhashtable): New command.
7101
ac0e96ee
GM
7102 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7103 tables out of the list of all weak hash tables.
7104
ff3d9573
GM
7105 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7106 a new buffer is created, make sure echo_area_buffer[] references
7107 the new buffer.
7108
e0d8827b
EZ
71092000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7110
7111 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7112 the doc string.
7113
c6f35378
KH
71142000-08-07 Kenichi Handa <handa@etl.go.jp>
7115
7116 * syntax.c (skip_chars): Fix previous change. Make the handling
7117 of unibyte string consistent with that of regex search.
7118
1fd4c450
GM
71192000-08-05 Gerd Moellmann <gerd@gnu.org>
7120
e49aa397
GM
7121 * xmenu.c (popup_get_selection): Use xfree instead of free.
7122
7123 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7124
7125 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7126
7127 * callproc.c (child_setup): Use xfree instead of free.
7128
7129 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7130 instead of malloc.
7131 (run_mac_command, closedir): Use `xfree' instead of `free'.
7132
7133 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7134
7135 * eval.c (error): Use xfree instead of free.
7136
1fd4c450
GM
7137 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7138
7139 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7140 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7141
82d497fc
KH
71422000-08-05 Kenichi Handa <handa@etl.go.jp>
7143
7144 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7145 conversion.
7146
59f953a2
NF
71472000-08-04 Noah Friedman <friedman@splode.com>
7148
7149 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7150 docstring.
7151
688351f2
GM
71522000-08-04 Gerd Moellmann <gerd@gnu.org>
7153
7154 * syntax.c (skip_chars): Fix typo in error message.
7155
2dad51cc
AS
71562000-08-04 Andreas Schwab <schwab@suse.de>
7157
7158 * m/ia64.h: Moved from s/ia64.h.
7159
99bb2c60
KH
71602000-08-04 Kenichi Handa <handa@etl.go.jp>
7161
082a1df2
KH
7162 * process.c (read_process_output): Big simplification. Handle
7163 composition and post-read-conversion of coding system correctly.
7164 (send_process): Handle composition correctly.
7165
7166 * callproc.c (Fcall_process): Handle post-read-conversion of
7167 coding system if any.
7168
99bb2c60
KH
7169 * coding.c (decode_coding_iso2022): More strict check for handling
7170 single shifting.
082a1df2
KH
7171 (coding_restore_composition): Pay attention to the case that
7172 cmp_data is not set properly (because of invalid code in the
7173 source text).
7174 (run_pre_post_conversion_on_str): Include text properties in the
7175 resulting string.
7176 (decode_coding_string): Set members of coding correctly.
99bb2c60 7177
f4988be7
GM
71782000-08-03 Gerd Moellmann <gerd@gnu.org>
7179
7180 * s/ia64.h: New file.
7181
7182 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7183 Use NULL instead of 0 at the end of variable argument list of
7184 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7185 sizeof (int) < sizeof (void *).
7186
7187 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7188 of variable argument lists of XtVaGetValues and XtVaSetValues.
7189
7190 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7191 variable argument lists of XtVaGetValues and XtVaSetValues.
7192
ead53494
GM
71932000-08-02 Gerd Moellmann <gerd@gnu.org>
7194
7195 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7196 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7197
7198 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7199 prototype.
7200
7201 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7202 in call to Fsingle_key_description.
7203
7204 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7205 Callers changed.
7206
72072000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7208
7209 * window.c (display_buffer_reuse_frames): New variable.
7210 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7211 frames displaying BUFFER.
52283633 7212 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7213
10b0f752
MB
72142000-08-01 Miles Bader <miles@gnu.org>
7215
7216 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7217 when to constrain NEW_POS (they were pretty screwed up before).
7218
16425c4a
EZ
72192000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7220
7221 * msdos.c (run_msdos_command): Save and restore the master
7222 environment, for the case that child_setup signals an error.
7223 When mirroring slashes in DOS shell commands, don't fail when
7224 argv[2] has embedded blanks.
da288c14
EZ
7225 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7226 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7227 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7228
7229 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7230 using alloca; free it after run_msdos_command returns.
7231
27f73852
DL
72322000-07-27 Dave Love <fx@gnu.org>
7233
52283633
SM
7234 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7235 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7236
7237 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7238
c0261b5e
EZ
72392000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7240
7241 * editfns.c (lisp_time_argument): Fix last change.
7242
b548072f
GM
72432000-07-27 Gerd Moellmann <gerd@gnu.org>
7244
3ab82477
GM
7245 * fns.c (Fdelete): Make it work on vectors and strings in addition
7246 to lists.
7247
b548072f
GM
7248 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7249 (syms_of_fns): Initialize new variables.
52283633 7250 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7251 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7252 weakness, with t meaning the same as `key-and-value'.
7253
91ae8751
KH
72542000-07-27 Kenichi Handa <handa@etl.go.jp>
7255
7256 * coding.h (struct coding_system): Member safe_charset deleted.
7257
7258 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7259 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7260 New variables.
91ae8751
KH
7261 (coding_safe_chars): New function.
7262 (CODING_SAFE_CHAR_P): New macro.
7263 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7264 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7265 (detect_coding_iso2022): New local variable safe_chars.
7266 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7267 safe_charsets member of the coding system.
7268 (decode_coding_iso2022): New local variable safe_chars.
7269 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7270 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7271 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7272 (ENCODE_UNSAFE_CHARACTER): New macro.
7273 (encode_coding_iso2022): New local variable safe_chars. Check
7274 unsafe chars.
7275 (setup_coding_system): Delete the code to initialize
7276 coding->safe_charses
7277 (intersection, find_safe_codings): New functions.
7278 (Ffind_coding_systems_region_internal): New function.
7279 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7280 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7281 variable and initialize it.
7282
7283 * fns.c (char_table_ref_and_index): New function.
7284
7285 * lisp.h (char_table_ref_and_index): Add prototype.
7286
34a7a267
SS
72872000-07-26 Sam Steingold <sds@gnu.org>
7288
7289 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7290 (Ffloat_time): New built-in Lisp function.
34a7a267 7291
a95cb10a
GM
72922000-07-26 Gerd Moellmann <gerd@gnu.org>
7293
3353ef5a
GM
7294 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7295 for the character code.
7296
7297 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7298 GNU/Linux.
7299
a95cb10a
GM
7300 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7301 if called for a popup menu.
7302 (xmenu_show): Store help string in widget values.
7303
b4a12321
DL
73042000-07-26 Dave Love <fx@gnu.org>
7305
7306 * syswait.h: Move some definitions.
7307 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7308 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7309 perspicuous definitions.
7310 (WTERMSIG): Fix bit pattern used.
7311
13f5ad37
KH
73122000-07-26 Kenichi Handa <handa@etl.go.jp>
7313
7314 * print.c (print_object): If vector printing is truncated, print
7315 "..." to indicate it as well as the case of list printing.
7316
070fe99c
GM
73172000-07-25 Gerd Moellmann <gerd@gnu.org>
7318
969065c3
GM
7319 * xdisp.c (next_element_from_display_vector): Improve comments.
7320
7321 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7322 for the character code, and the rest for the face id as in 20.x.
7323 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7324
7325 * window.c (window_display_table): Cleaned up.
7326
070fe99c
GM
7327 * syntax.c (Fforward_word): Add last arg nil in call of
7328 Fconstrain_to_field.
7329
bad77ef7
EZ
73302000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7331
969065c3 7332 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7333 identical but for the letter-case, don't call
7334 barf_or_query_if_file_exists.
bad77ef7 7335
c28da489
MB
73362000-07-25 Miles Bader <miles@gnu.org>
7337
7338 * editfns.c (find_field): Honor special `boundary' fields.
7339 (Qboundary): New variables.
7340 (syms_of_editfns): Initialize Qboundary.
7341 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7342 Use scan_buffer instead of find_before_next_newline, because it
7343 allows us to detect the boundary case where there's a newline at
7344 the search limit.
7345 * lisp.h (Fconstrain_to_field): Update external declaration.
7346
e3c31fd5
GM
73472000-07-24 Gerd Moellmann <gerd@gnu.org>
7348
7349 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7350 if that is nil.
c28da489 7351
c66c29a2
DL
73522000-07-24 Dave Love <fx@gnu.org>
7353
7354 * s/sunos4-0.h, s/sol2.h:
7355 (LIBS_TERMCAP): Move from m/sparc.h.
7356
7357 * m/sparc.h (TERMINFO): Moved to system files (probably only
7358 relevant for sunos4 judging by its vintage).
7359 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7360 __arch64__.
7361
fbe0a958
EZ
73622000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7363
7364 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7365 name to single_keymap_panes.
7366
7d88e5c9
AS
73672000-07-24 Andreas Schwab <schwab@suse.de>
7368
7369 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7370
e024b101
GM
73712000-07-24 Gerd Moellmann <gerd@gnu.org>
7372
7373 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7374 parameters instead of using int parameters. Expect FN to accept
7375 EMACS_INT parameters.
7376 (display_echo_area, resize_echo_area_axactly, current_message)
7377 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7378 with new argument list.
7379 (resize_mini_window_1): New callback function.
7380 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7381 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7382
25c1a9ce
KH
73832000-07-24 Kenichi Handa <handa@etl.go.jp>
7384
7385 * fontset.c (fontset_ref): Remove INLINE declaration.
7386 (fontset_ref_via_base): Likewise.
7387 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7388 to downcase.
7389
7f987ac0
EZ
73902000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7391
7392 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7393 correct order of priority. If help echo was found in an overlay,
7394 use that overlay as the object in which the help echo was found.
7395
e2db3069
MB
73962000-07-22 Miles Bader <miles@gnu.org>
7397
7398 * textprop.c (Fprevious_single_char_property_change): The initial
7399 property value should be from the position preceding POSITION, not
7400 following it.
7401
5e3203e4
EZ
74022000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7403
7404 * coding.c (syms_of_coding): Doc fix for
7405 inhibit-iso-escape-detection.
7406
62145073
GM
74072000-07-21 Gerd Moellmann <gerd@gnu.org>
7408
c20aeb83
GM
7409 * xterm.c (note_mouse_highlight): Process overlays in the right
7410 order of priority.
34a7a267 7411
743934db
GM
7412 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7413
7414 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7415 overlay, use that overlay as the object in which the help was found.
743934db 7416
d1dc7e43 7417 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7418
62145073
GM
7419 * window.c (foreach_window): Instead of a fake variable argument
7420 list, take one USER_DATA argument.
7421 (foreach_window_1): Likewise, and call callback functions with two
7422 args, the window and USER_DATA.
7423 (struct check_window_data): New struct.
7424 (check_window_containing): Use it.
7425 (window_from_coordinates): Set up a struct check_window_data for
7426 foreach_window.
7427 (add_window_to_list, freeze_window_start): Change parameters
7428 according to new calling convention.
7429
7430 * window.h (foreach_window): Change prototype.
7431
7432 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7433
74342000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7435
7436 * xmenu.c (menu_help_callback): Call show_help_echo with
7437 additional arguments OBJECT and POS.
7438
11270583
KH
74392000-07-21 Kenichi Handa <handa@etl.go.jp>
7440
07b14857
KH
7441 * data.c (Faset): Allow storing any multibyte character in a
7442 string. Convert unibyte string to multibyte if necessary.
7443
11270583
KH
7444 * xfns.c (x_encode_text): New function.
7445 (x_set_name): Use x_encode_text.
7446 (x_set_title): Likewise.
7447
7448 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7449
7450 * xterm.h (x_encode_text): Add prototype.
7451
bc75b4fd
DL
74522000-07-20 Dave Love <fx@gnu.org>
7453
7454 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7455 xfree, not free.
7456
48c14970
EZ
74572000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7458
7459 * msdos.c (help_echo_window): New variable.
7460 (syms_of_msdos): Initialize and staticpro it.
7461 (IT_note_mode_line_highlight): Set help_echo_window.
7462 (IT_note_mouse_highlight): Ditto.
7463 (dos_rawgetc): Store help_echo_window in the second event produced
7464 for HELP_EVENTs.
7465
7466 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7467 Record the object that generated the help echo and the position of
7468 that object in help_echo_object and help_echo_pos. Record that
7469 some glyphs in a row are displayed in mouse-face.
7470 (IT_update_begin): Don't clear mouse highlight unless one of the
7471 enabled glyph rows is marked as being displayed in mouse-face.
7472 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7473 and position recorded in help_echo_object and help_echo_pos to the
7474 event queue.
7475 (IT_menu_display): Accept a new argument PN: the pane number of
7476 the current menu pane. Record the pane number and the item
7477 number of the item which has associated help string.
7478 (XMenuActivate): Update the prototype for help_callback in
7479 function declaration. Call IT_menu_display with the current menu
7480 pane number as an additional argument. Call help_callback with
7481 two additional arguments: the pane number and the item number of
7482 the menu item associated with the help text.
7483 (help_echo_object, help_echo_pos): New variables.
7484 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7485
7486 * msdos.h (XMenuActivate): Update prototype.
7487
4279296d
GM
74882000-07-19 Gerd Moellmann <gerd@gnu.org>
7489
47db06aa
GM
7490 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7491 Add some more prototypes.
7492
7493 * xterm.c, xterm.h: Add some more prototypes.
7494
7495 * lisp.h (Fnext_single_char_property_change): Add prototype.
7496
7497 * dispnew.c (direct_output_for_insert): Remove confusing
7498 outer local variable mouse_face_overwritten_p.
7499 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7500
4279296d
GM
7501 * alloc.c (allocate_string_data): Don't copy old string contents.
7502
670acd62
KH
75032000-07-19 Kenichi Handa <handa@etl.go.jp>
7504
7505 * coding.c (code_convert_region): Delete text properties before
7506 shrinking the conversion region.
7507
7cea38bc
GM
75082000-07-18 Gerd Moellmann <gerd@gnu.org>
7509
dc1cac59
GM
7510 * dispnew.c (update_text_area): Write the whole row if it
7511 has mouse-face in it.
7512
85a8aca9
GM
7513 * xfaces.c (face-alternative-font-family-alist): Remove
7514 DEFVAR_LISP; staticpro instead.
7515
34a7a267 7516 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7517 new arguments.
7518
7519 * keyboard.c (show_help_echo): Add parameter WINDOW.
7520 (read_char): Call show_help_echo with window extracted from Lisp
7521 help event.
7522 (gen_help_event): Add parameter WINDOW.
7523
7524 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7525
7526 * xterm.c (help_echo_window): New variable.
52283633 7527 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7528 (XTread_socket): Pass help_echo_window to gen_help_event.
7529 (syms_of_xterm): Initialize and staticpro help_echo_window.
7530
f8276b77
DL
75312000-07-18 Dave Love <fx@gnu.org>
7532
52283633 7533 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7534
088831a6
GM
75352000-07-18 Gerd Moellmann <gerd@gnu.org>
7536
3d6cd763
GM
7537 * alloc.c (allocate_string_data): If string had already data
7538 assigned, copy old contents to new string data.
7539
7540 * coding.c (syms_of_coding): Fix typo in spelling of variable
7541 `inhibit-iso-escape-detection'.
7542
088831a6
GM
7543 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7544
7545 * Makefile.in: Add dependencies on dispextern.h.
7546 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7547 `free'; both can conflict with system header files.
7548
bc8a8d55
KH
75492000-07-18 Kenichi Handa <handa@etl.go.jp>
7550
7551 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7552 undefined.
7553
069f5950
DL
75542000-07-18 Dave Love <fx@gnu.org>
7555
7556 * window.c (Fwindow_list): Declare arg `window'.
7557
aa96c820
KH
75582000-07-18 Kenichi Handa <handa@etl.go.jp>
7559
7560 * coding.c (setup_coding_system): Don't override the explicitly
7561 specified designations.
7562
06be8d32
MB
75632000-07-15 Miles Bader <miles@gnu.org>
7564
7565 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7566 from `text_property_eq' and `text_property_stickiness', respectively.
7567 (find_field, Fconstrain_to_field, char_property_eq)
7568 (char_property_stickiness): Changed to call char-property functions
7569 instead of text-property-only ones.
7570
7571 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7572 `next_single_char_property_change'). Do more error checking, and
7573 cleanup limit behavior.
7574 (Fprevious_single_char_property_change): New function.
7575 (syms_of_textprop): Initialize new subrs.
7576
7577 * xdisp.c (display_prop_end, invisible_text_between_p):
7578 Call Fnext_single_char_property_change instead of
7579 next_single_char_property_change.
7580
3fddcdc3
JR
75812000-07-15 Jason Rumney <jasonr@gnu.org>
7582
7583 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7584 after menu is finished with.
7585 (add_menu_item): Only consider wv->title as a menu title.
7586 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7587
7588 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7589 null title.
7590 (FONT_REGEXP): Remove unused macro, and its sub-components.
7591 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7592
7593 * w32term.c (help_echo_object, help_echo_pos): New variables.
7594 (note_mode_line_highlight): Store additional information about the
7595 help-echo in help_echo_object and help_echo_pos. Check both
7596 `local-map' and `keymap' properties for changing the cursor
7597 (note_mouse_highlight): Store additional information about the
7598 help-echo in help_echo_object and help_echo_pos.
7599 (note_tool_bar_highlight): Set help_echo_object to nil and
7600 help_echo_pos to -1.
7601 (w32_read_socket): Use gen_help_event instead of filling
7602 input_events manually.
7603 (syms_of_w32term): Staticpro help_echo_object.
7604 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7605 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7606 (x_clear_mouse_face): New function.
7607 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7608 (x_update_window_begin): No need to turn off the mouse
7609 highlight here.
7610 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7611 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7612 (x_fill_stretch_glyph_string): Consume runs of stretch
7613 glyphs instead of a single one.
7614 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7615 with new argument list.
7616 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7617 (x_append_glyph, x_append_composite_glyph)
7618 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7619 changes in struct glyph starting 1999-12-27. See comments for
7620 xterm.c on 2000-07-05.
7621
178c5d9c
SS
76222000-07-14 Sam Steingold <sds@gnu.org>
7623
7624 * xfaces.c (realize_x_face): Fix the last patch:
7625 check `default_face' before dereferencing.
7626
6fe533f6
DL
76272000-07-14 Dave Love <fx@gnu.org>
7628
069f5950 7629 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7630
dd7b81cf
KH
76312000-07-14 Kenichi Handa <handa@etl.go.jp>
7632
0693904a 7633 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7634 default_face's fontset, not using the default fontset.
0693904a 7635
dd7b81cf
KH
7636 * coding.c (inhibit_iso_escape_detection): New variable.
7637 (syms_of_coding): Make it a Lisp variable.
7638 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7639 nonzero, ignore ISO2022's escape sequence.
7640
d5aa31d8
GM
76412000-07-14 Gerd Moellmann <gerd@gnu.org>
7642
e5acf0ca
GM
7643 * alloca.c (malloc) [emacs]: Define as xmalloc.
7644
bd23a692
GM
7645 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7646 use that instead of the mouse position. Add parameters DX and DY.
7647
7648 * dispextern.h (Fx_show_tip): Adjust number of parameters
7649 in prototype.
7650
9662da0b
GM
7651 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7652 if HELP is a function, call it with OBJECT and POS as parameters
7653 to get the help to display.
7654 (gen_help_event, kbd_buffer_store_help_event): New functions.
7655 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7656 (read_char): Call show_help_echo with new parameters.
7657
178c5d9c 7658 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7659 Add prototypes.
7660
7661 * xterm.c (help_echo_object, help_echo_pos): New variables.
7662 (note_mode_line_highlight): Store additional information about the
7663 help-echo in help_echo_object and help_echo_pos. Check both
7664 `local-map' and `keymap' properties for changing the cursor
7665 (note_mouse_highlight): Store additional information about the
7666 help-echo in help_echo_object and help_echo_pos.
7667 (note_tool_bar_highlight): Set help_echo_object to nil and
7668 help_echo_pos to -1.
7669 (XTread_socket): Use gen_help_event instead of filling
7670 input_events manually.
7671 (syms_of_xterm): Staticpro help_echo_object.
7672
7673 * xmenu.c (menu_highlight_callback): Use
7674 kbd_buffer_store_help_event instead of setting up and input_event
7675 structure manually.
7676
7677 * xdisp.c (eval_form): GCPRO argument sexpr.
7678 (call_function): New function.
7679 (handle_single_display_prop): Use call_function and FUNCTIONP
7680 instead of checking whether if font_height is a symbol and
7681 using eval_form.
7682
7683 * eval.c (internal_condition_case_2): New function.
7684
7685 * lisp.h (FUNCTIONP): New macro.
7686 (internal_condition_case_2, call_function): Add prototypes.
7687
d5aa31d8
GM
7688 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7689 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7690 Always set `arg' member of input_events.
7691 (construct_menu_click): Unused function removed.
7692
7693 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7694
7695 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7696 (construct_drag_n_drop, x_scroll_bar_handle_click)
7697 (w32_read_socket): Always set `arg' member of input_events.
7698
7699 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7700
7701 * lisp.h (eval_form): Add prototype.
7702
7703 * xdisp.c (eval_form): Make it externally visible.
7704
0f1a9b23
GM
77052000-07-13 Gerd Moellmann <gerd@gnu.org>
7706
7707 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7708 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7709 consing. For prefix events, store the frame in the `arg' slot of
7710 the event, otherwise store the key there.
7711 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7712 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7713
7714 * xmenu.c (menu_highlight_callback): Store help string in the
7715 `arg' member of the input event; don't cons.
7716 (menubar_selection_callback): Use the `arg' slot of input events
7717 to queue additional information, instead of consing.
7718
7719 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7720
7721 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7722 TOOL_BAR_EVENTs.
7723 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7724
7725 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7726 input events to queue additional information, instead of consing.
7727
7728 * keyboard.c (kbd_buffer_gcpro): Renamed from
7729 kbd_buffer_frame_or_window. Now used for all Lisp objects
7730 referenced from the input queue.
7731 (kbd_buffer_store_event): Always use structure assignment for
7732 copying input events. Record all Lisp objects referenced from
7733 events in kbd_buffer_gcpro.
7734 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7735 differently from input events. Test for prefix menu_bar_events
7736 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7737 event in kbd_buffer_gcpro to nil.
7738 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7739 frame_or_window is equal to its arg member as prefix events.
7740 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7741 used by an input event to nil.
7742 (init_keyboard): Use two times the size of the input queue
7743 for kbd_buffer_gcpro.
7744 (syms_of_keyboard): Likewise.
7745
52283633
SM
7746 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7747 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7748
7749 * termhooks.h (struct input_event): Add member `arg'.
7750 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7751 (USER_SIGNAL_EVENT): Renamed from user_signal.
7752
7753 * xfaces.c (ASET): Remove definition.
7754
7755 * lisp.h (AREF, ASET, ASIZE): New macros.
7756
7757 * fontset.c (AREF, ASIZE): Remove definitions.
7758
7759 * fns.c (AREF): Remove definition.
178c5d9c 7760
0f1a9b23
GM
7761 * composite.c (AREF): Remove definition.
7762
712eaef2
GM
77632000-07-12 Gerd Moellmann <gerd@gnu.org>
7764
d8ee7803
GM
7765 * dispnew.c (redraw_overlapped_rows): Add missing local.
7766 (scrolling_window): Remove debug code.
7767
712eaef2
GM
7768 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7769 Before scrolling, turn off a mouse-highlight in the window
7770 being scrolled.
7771
7772 * xterm.c (x_update_window_end): Add parameter
7773 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7774 redisplay in XTframe_up_to_date.
7775 (x_clear_mouse_face): New function.
7776 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7777
7778 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7779 current glyph row.
7780 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7781 it when any row is written to that contains glyphs highlighted in
7782 mouse-face.
7783 (update_window): Call the window update end hook with new
7784 parameter MOUSE_FACE_OVERWRITTEN_P.
7785 (direct_output_for_insert): Give up if row contains mouse-face.
7786
7787 * dispextern.h (struct redisplay_interface): Add parameter
7788 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7789 (clear_mouse_face): New function pointer member.
7790
02010917
SM
77912000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7792
7793 * syntax.c (back_comment): Use one switch rather than a few `if's.
7794 Obey open_paren_in_column_0_is_defun_start.
7795 When reverting to the `slow' method, try to nicely handle the case
7796 of nested comments by checking that the comment-starter we found
7797 does indeed match the comment-ender.
7798 (scan_sexps_forward, scan_sexps_forward):
7799 Ignore excessive opening parenthesis rather than throwing an error.
7800
d76c03ea
GM
78012000-07-11 Gerd Moellmann <gerd@gnu.org>
7802
7803 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7804 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7805
7806 * dispnew.c (direct_output_forward_char): Give up if currently
7807 displaying a message instead of the minibuffer contents.
7808
7809 * xterm.c (x_update_window_begin): No need to turn off the mouse
7810 highlight here.
7811 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7812 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7813
7814 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7815 compare the mouse_face_p flags of both rows.
7816
7817 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7818
d55ead18
EZ
78192000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7820
7821 * keyboard.c (show_help_echo): Accept additional parameter
7822 ok_to_overwrite_keystroke_echo.
7823 (read_char): Call show_help_echo with a zero
7824 ok_to_overwrite_keystroke_echo argument.
52283633 7825 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7826 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7827 ok_to_overwrite_keystroke_echo argument.
7828 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7829 non-zero ok_to_overwrite_keystroke_echo argument.
7830
df75b1a3
GM
78312000-07-10 Gerd Moellmann <gerd@gnu.org>
7832
4b92c49a
GM
7833 * xdisp.c (try_window_id): If changes are all below what is
7834 displayed in the window, and point is in the window, we still
7835 might have to find point on the display.
7836
7837 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7838 glyphs instead of a single one.
7839 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7840 with new argument list.
7841 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7842
df75b1a3
GM
7843 * keymap.c (get_keymap_1): Add comment that this function can GC.
7844 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7845 comment that functions can GC.
7846 (Fset_keymap_parent): GCPRO arg KEYMAP.
7847
4314cf3e
EZ
78482000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7849
7850 * msdos.c (XMenuActivate): After exiting the menu, restore the
7851 echo area message and erase it.
7852
ab49ce15
KH
78532000-07-10 Kenichi Handa <handa@etl.go.jp>
7854
7855 * fontset.c (Ffontset_info): Make the return value more compatible
7856 with that of Emacs 20.
7857
090a072f
GM
78582000-07-07 Gerd Moellmann <gerd@gnu.org>
7859
7860 * eval.c (Fsignal): Handle case that backtrace_list is null.
7861
f92de4a6
KH
78622000-07-07 Kenichi Handa <handa@etl.go.jp>
7863
7864 * ccl.c (Fccl_execute): Typo fixed.
7865
dd8888a1
GM
78662000-07-06 Gerd Moellmann <gerd@gnu.org>
7867
e5c81191 7868 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7869
dd8888a1
GM
7870 * window.c (Fwindow_list): Reverse list at the end.
7871 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7872 means allow windows on OWINDOW's frame, only.
7873 (window_loop): Simplified; use Fwindow_list.
7874
7875 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7876
485266d0
GM
78772000-07-05 Gerd Moellmann <gerd@gnu.org>
7878
7879 * xterm.c (XTread_socket): Increment handling_signal at the start,
7880 decrement it at the end.
7881
7882 * eval.c (handling_signal): New variable.
7883 (Fsignal): Abort if handling_signal is non-zero.
7884
7885 * lisp.h (handling_signal): External declaration.
178c5d9c 7886
485266d0
GM
7887 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7888
80fcd514
KR
78892000-07-05 Ken Raeburn <raeburn@gnu.org>
7890
7891 Sound support for NetBSD through "Linux emulation" support:
7892 * config.in (HAVE_SOUNDCARD_H): Undef.
7893 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7894 * Makefile.in (LIBSOUND): New variable.
7895 (LIBES): Include it.
52283633
SM
7896 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7897 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7898 (vox_open): Use DEFAULT_SOUND_DEVICE.
7899 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7900
d5c5cddd
GM
79012000-07-05 Gerd Moellmann <gerd@gnu.org>
7902
7903 * print.c (print_error_message): If Vsignaling_function is set,
7904 show it in *Messages*.
7905
7906 * lisp.h (Vsignaling_function): External declaration.
7907
7908 * eval.c (Vsignaling_function): New variable.
7909 (Fsignal): Compute it.
7910 (syms_of_eval): Staticpro it.
7911
65171e3a
DL
79122000-07-05 Dave Love <fx@gnu.org>
7913
7914 * syswait.h: Use the autoconf recommended approach. Old code
7915 #if'd out in case we need to revert.
7916
178c5d9c 7917 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7918
e2c46326
AI
79192000-07-05 Andrew Innes <andrewi@gnu.org>
7920
7921 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7922 when non-NULL instead of __morecore, to take account of buffer
7923 memory. This also solves a problem with spurious memory warnings
7924 on Windows.
7925
7926 * ralloc.c: Make real_morecore non-static.
7927
7928 * eval.c (internal_condition_case): Comment out abort if
7929 interrupt_input_blocked is not zero.
7930
7931 * makefile.nt: Add support for `bootstrap' and related targets.
7932 Include minimal debug info in emacs.exe in release build.
7933 Remove all dependencies on lisp.h, and fixup some others.
7934
7935 * w32.c (init_environment): Install code from 20.7 for providing
7936 default values for environment variables, based on the
7937 executable's own location.
52283633 7938 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7939 (sys_socket): Install socket inheritance bug fix from 20.7.
7940
7941 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7942 here via blockinput.h).
7943
a027a91b
SM
79442000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7945
e4b31601
SM
7946 * w32menu.c (w32_menu_display_help):
7947 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7948
7949 * keyboard.h (show_help_echo): Declare.
7950
7951 * keyboard.c (show_help_echo): New function, extracted from read_char.
7952 Feval its `msg' argument if it's a cons cell.
7953 (read_char): Use it.
4cf8d9d5 7954 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7955
178c5d9c 7956 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7957 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7958 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7959 (dos_rawgetc):
7960 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7961 (note_tool_bar_highlight, w32_read_socket):
7962 Do not gratuitously ignore non-string `help-echo' properties.
7963
88d75730
GM
79642000-07-05 Gerd Moellmann <gerd@gnu.org>
7965
969f7e79
GM
7966 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7967
71201b00
GM
7968 * window.c (delete_all_subwindows): Reset Vwindow_list.
7969
88d75730
GM
7970 * xterm.c (x_append_glyph, x_append_composite_glyph)
7971 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7972 changes in struct glyph starting 1999-12-27. Some bit-fields of
7973 struct glyph were not set, which made glyphs unequal when compared
7974 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7975 effects were the result. This also depended on the contents of
7976 memory returned by xmalloc. If flickering happens again, activate
7977 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7978 gone with that, chances are that it is caused by something similar.
88d75730
GM
7979
7980 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7981
88d75730
GM
7982 * dispextern.h: Add some comments.
7983
7984 * window.c (add_window_to_list): Add parameter LIST.
7985 (window_list): Order list so that, for each frame, windows are
7986 in canonical order, and so that frames appear in the list in
7987 the order given by Vframe_list.
7988 (next_window): Reverse the handling of NEXT_P.
7989
53654733
GM
79902000-07-04 Gerd Moellmann <gerd@gnu.org>
7991
87efd256
GM
7992 * window.c (Vwindow_list): New variable.
7993 (make_window, delete_window): Set Vwindow_list to nil.
7994 (check_window_containing): New function.
7995 (window_from_coordinates): Rewritten.
7996 (add_window_to_list, window_list, candidate_window_p)
7997 (decode_next_window_args, next_window): New functions.
52283633 7998 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7999 (Fwindow_list): New function.
8000 (Fother_window): Cleaned up.
8001 (foreach_window): Add a longer "variable argument list". Let
8002 callback function return 0 to indicate that cycling over windows
8003 should stop.
8004 (foreach_window_1): Likewise.
8005 (freeze_window_start): Return int.
8006 (init_window): New function.
8007 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8008
8009 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8010 input_event with bzero.
8011 (main): Call init_window.
8012
53654733
GM
8013 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8014 a menu filter.
8015
4a8c194f
KH
80162000-07-04 Kenichi Handa <handa@etl.go.jp>
8017
8018 * composite.h (make_composition_value_copy): Extern it.
8019
8020 * composite.c (make_composition_value_copy): New function.
8021
8022 * editfns.c (Fformat): While copying text properties, make each
8023 composition property value a copy.
8024
8025 * fns.c (concat): While copying text properties, make each
8026 composition property value a copy.
8027
831a6cb0
GM
80282000-07-03 Gerd Moellmann <gerd@gnu.org>
8029
2f516940
GM
8030 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8031
178c5d9c 8032 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8033 marked already.
8034
831a6cb0
GM
8035 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8036 include those frames as candidates which have their focus
8037 redirected to the minibuffer frame.
8038
d9c4f922
SM
80392000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8040
8041 * fns.c (Fputhash): Return `value' rather than nil.
8042
3780bc22
GM
80432000-06-30 Gerd Moellmann <gerd@gnu.org>
8044
97d176db
GM
8045 * frame.c (next_frame): Don't check focus redirection in case
8046 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8047 unless their focus is redirected, which contradicts the
8048 specification of next-frame, and leads to infinite loops in
8049 certain situations when cycling through windows with next-window.
8050
dca9961d
KH
80512000-06-30 Kenichi Handa <handa@etl.go.jp>
8052
8053 * coding.c (code_convert_region): Even if the length of text is
8054 zero, try to convert it if coding->type is coding_type_ccl.
8055 (decode_coding_string, encode_coding_string): Likewise.
8056
d5483ab1
GM
80572000-06-28 Gerd Moellmann <gerd@gnu.org>
8058
af5c25e1 8059 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8060 the display if windows_or_buffers_changed.
af5c25e1
GM
8061
8062 * dispnew.c (struct row_entry): New structure.
8063 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8064 (row_table_size, old_lines, new_lines, old_lines_size)
8065 (new_lines_size, run_pool, runs_size, runs): New variables.
8066 (add_row_entry): New function.
8067 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8068 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8069 holding them in local variables. Use a larger hash table whose
8070 size depends on glyph matrix sizes. Don't use bzero to clear the
8071 hash table; instead, clear used slots only.
8072
8073 * fns.c (next_almost_prime): Make it externally visible.
8074
8075 * lisp.h (next_almost_prime): Add prototype.
8076
d5483ab1
GM
8077 * s/isc4-0.h (sigunblock): Define.
8078
8079 * s/sco5.h (sigunblock): Define.
8080
93e40f40
DL
80812000-06-27 Dave Love <fx@gnu.org>
8082
8083 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8084 (moved to osf5-0.h).
8085 [!NOT_C_CODE]: Protect string.h stuff.
8086
8087 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8088 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8089
3c4b7685
GM
80902000-06-27 Gerd Moellmann <gerd@gnu.org>
8091
97d176db 8092 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8093 below the last line from the needed window height.
8094
32cad0aa
SM
80952000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8096
8097 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8098 (Fwidget_get): Use it.
8099 (syms_of_fns): Defsubr it.
8100
2c69ced2
GM
81012000-06-26 Gerd Moellmann <gerd@gnu.org>
8102
178c5d9c 8103 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8104 display info for XIM.
8105 (xim_open_dpy): Likewise.
8106 (xim_close_dpy): Don't free the display info's XIM.
8107
8108 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8109
8110 * config.in (USE_XIM): New define.
8111
3fc720e4
GM
8112 * keymap.c (get_keyelt): For menu-items containing a `:filter
8113 FILTER', apply FILTER to the menu-item's definition to get the
8114 real definition to use.
8115
8116 * lisp.h (QCfilter): External declaration.
8117
2c69ced2
GM
8118 * xfns.c (Fimage_size): New function.
8119 (syms_of_xfns): Defsubr it.
8120
f978b2a2
AS
81212000-06-26 Andreas Schwab <schwab@suse.de>
8122
8123 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8124 Fstring_as_unibyte.
8125
94cc7892
DL
81262000-06-25 Dave Love <fx@gnu.org>
8127
52283633 8128 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8129
8130 * Makefile.in (blockinput.h): Depend on atimer.h.
8131 (atimer.h): Depend on systime.h.
8132
52283633 8133 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8134
52283633 8135 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8136
8137 * lisp.h (swap_in_global_binding): Declare.
8138
b8c24556
KR
81392000-06-24 Ken Raeburn <raeburn@gnu.org>
8140
8141 * process.c (Fopen_network_stream): Turn off atimers for duration
8142 of call to connect. (Patch from Gerd.)
8143
8cf8560b
DL
81442000-06-23 Dave Love <fx@gnu.org>
8145
511c7541
DL
8146 * ralloc.c: Maybe include unistd.h
8147
8cf8560b
DL
8148 * emacs.c (setgrp): Undefine before defining.
8149 (malloc_warning, set_time_zone_rule, index): Prototype.
8150
8151 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8152 HAVE_STRUCT_TIMEZONE.
8153
8154 * s/osf1.h: Move string.h hack here from alpha.h and make it
8155 conditional.
8156 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8157 _XOPEN_SOURCE.
8158 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8159 (SOCKLEN_TYPE): Don't define.
8160
8161 * m/alpha.h: Remove string.h hack.
8162
8163 * s/osf5-0.h: New file.
8164
8165 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8166 include time.h, done by systime.h.
8167 [__FreeBSD__]: Remove redundant includes.
8168
3fc720e4 8169 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8170 (delete_temp_file): Return Qnil to avoid warning.
8171
8172 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8173
8174 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8175 HAVE_X_WINDOWS.
8176
8177 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8178
8179 * composite.h (compose_text): Declare.
8180
8181 * xterm.c: Don't include sys/types.h unconditionally. Don't
8182 protect its inclusion with !USG (following xmenu.c).
8183
ea055732
GM
81842000-06-23 Gerd Moellmann <gerd@gnu.org>
8185
8186 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8187 in x_create_frame.
8188
74b01b80
EZ
81892000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8190
8191 * coding.c (decode_eol_post_ccl): Special handling for undecided
8192 and inconsistent EOL types.
8193
64f3a166
GM
81942000-06-22 Gerd Moellmann <gerd@gnu.org>
8195
16cf31f7
GM
8196 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8197 trough color and main window's background color.
8198
52283633 8199 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8200
8201 * xterm.h (Xt_app_con): External declaration.
8202
8203 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8204
486a103d
GM
8205 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8206
64f3a166
GM
8207 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8208 (handle_invisible_prop): Record the start of invisible text in
8209 it->add_overlay_start.
8210 (struct overlay_entry): Add member `overlay'.
8211 (handle_overlay_change): Simplify.
8212 (next_overlay_string): After having processed overlay strings at the
8213 end of the buffer, record that fact in
8214 it->overlay_strings_at_end_processed_p.
8215 (compare_overlay_entries): If before- and after-strings come
8216 from the same overlay, let before-strings come first.
8217 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8218 (load_overlay_strings): Take it->add_overlay_start into account
8219 when adding overlay strings.
8220
8221 * dispextern.h (struct it): Add member add_overlay_start.
8222
bb746ea6
DL
82232000-06-22 Dave Love <fx@gnu.org>
8224
8225 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8226
8227 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8228
a8f573f3
KH
82292000-06-22 Kenichi Handa <handa@etl.go.jp>
8230
8231 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8232 is greater than 0.
8233
9f2bbc92
DL
82342000-06-21 Dave Love <fx@gnu.org>
8235
178c5d9c 8236 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8237
3ee5041c
SM
82382000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8239
8240 * syntax.c (back_comment): Simplify string-parity counting (with
8241 the added benefit of handling multiple string-styles as long as
8242 they are not intertwined).
8243 Jump to the slow code as soon as a comment starter is found in
8244 a "string_lossage" position. Fixes the case: " /* " /* " */.
8245
4c343001
DL
82462000-06-21 Dave Love <fx@gnu.org>
8247
8248 * Makefile.in: Use GETLOADAVG_LIBS.
8249
8250 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8251 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8252
e6365855
SM
82532000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8254
8255 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8256 (Fforward_comment, scan_lists):
8257 Check the comstyle of single-char comment-starters.
8258 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8259 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8260 Check the comstyle of single-char comment-starters.
8261 Clarify control-flow around the Scomment case.
e6365855 8262
5700d2cc
DL
82632000-06-20 Dave Love <fx@gnu.org>
8264
d355bd8a
SM
8265 * fns.c (make_hash_table, maybe_resize_hash_table):
8266 Cast arg of next_almost_prime.
5700d2cc 8267
178c5d9c 8268 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8269
8270 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8271 and unistd.h.
8272
4a27bdfb
GM
82732000-06-20 Gerd Moellmann <gerd@gnu.org>
8274
a61d762c 8275 * keyboard.c (adjust_point_for_property): Check if display
52283633 8276 property should be treated as intangible by looking at its value.
a61d762c 8277
178c5d9c 8278 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8279 (display_prop_intangible_p): New functions.
8280
8281 * dispextern.h (display_prop_intangible_p): Add prototype.
8282
8283 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8284
4a27bdfb
GM
8285 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8286 argument to sigprocmask.
8287
8288 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8289 argument to sigprocmask.
8290
8291 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8292 sigprocmask_set, and pass a pointer to it to sigprocmask.
8293
8294 * sysdep.c (sigprocmask_set): New variable.
8295
8296 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8297 report_file_error.
8298
427ec082
SS
82992000-06-20 Sam Steingold <sds@gnu.org>
8300
8301 * xrdb.c: Don't declare xmalloc, xrealloc.
8302
8972fe79 83032000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8304
8305 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8306 (re_comp): Cast gettext return value to avoid complaints when
8307 !HAVE_LIBINTL.
8308
074b6efe
DL
83092000-06-20 Dave Love <fx@gnu.org>
8310
52283633 8311 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8312
5700d2cc 8313 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8314
d355bd8a 8315 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8316
8317 * m/alpha.h: Don't declare xmalloc, xrealloc.
8318
0af4f205
DL
8319 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8320
8321 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8322
8323 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8324
8325 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8326 HAVE_GETWD.
8327
074b6efe
DL
8328 * keyboard.h (poll_for_input_1): Declare.
8329
8330 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8331
8332 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8333
8334 * doprnt.c: Don't declare xmalloc, xrealloc.
8335
8336 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8337 (getenv, ctime, getwd): Removed.
8338 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8339
8340 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8341 x_set_tool_bar_lines.
8342
8343 * config.in: Add HAVE_GETWD. Move some definitions above
8344 machine/system includes.
8345
68a5e97b
KH
83462000-06-20 Kenichi Handa <handa@etl.go.jp>
8347
95417e1e
KH
8348 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8349
68a5e97b
KH
8350 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8351 contain information about ENCODING.
8352
8353 * fontset.c (FONTSET_ASCII): Use the first element of char table
8354 for an ASCII font, not defalt slot.
8355 (fontset_ref_via_base): If FONTSET doesn't contain information for
8356 C, try the default fontset.
8357 (make_fontset): Don't copy the default fontset.
8358 (fontset_font_pattern): Likewise.
8359 (accumulate_font_info): If ELT is nil, use the corresponding
8360 element in the default fontset.
8361
3b4fa1b2
DL
83622000-06-19 Dave Love <fx@gnu.org>
8363
943e731c
DL
8364 * syntax.c (Fparse_partial_sexp): Doc fix.
8365
8366 * regex.h: Test PROTOTYPES as well as __STDC__.
8367
3b4fa1b2
DL
8368 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8369 errno, strerror. Put text after #endif in comment.
8370
52283633 8371 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8372
8373 * xterm.c (x_frame_of_widget): Likewise.
8374
cdf0357b
GM
83752000-06-19 Gerd Moellmann <gerd@gnu.org>
8376
8377 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8378 to Vfundamental_mode_abbrev_table.
8379
8380 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8381 bogus objects are marked. This slows down GC by ~80 percent, but
8382 it might be worth trying when debugging GC-related problems.
8383 This feature requires conservative stack marking to be enabled.
8384
8385 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8386 returns XLookupChars, reset `modifiers' to zero.
8387
998e9f8c
DL
83882000-06-19 Dave Love <fx@gnu.org>
8389
8390 * mktime.c: Unprotoized.
8391
18e21ce8 83922000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8393
8394 * data.c (set_internal): If variable is frame-local,
8395 store the new value immediately into the frame parameter alist.
8396
140c4ac6
KR
83972000-06-19 Ken Raeburn <raeburn@gnu.org>
8398
14358466
KR
8399 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8400 in the custom handler pointer.
8401
140c4ac6
KR
8402 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8403 value, or checks for CHAR_META can fail when Lisp_Object is a
8404 union type.
8405 * keymap.c (get_keyelt): Likewise.
8406
10d7bf84
KH
84072000-06-19 Kenichi Handa <handa@etl.go.jp>
8408
8409 * ccl.h (struct ccl_program): New member eol_type.
8410 (struct ccl_spec): New member cr_carryover.
8411
8412 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8413 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8414
8415 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8416 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8417 (decode_eol_post_ccl): New function.
8418 (decode_coding): Don't detect EOL format here for CCL based coding
8419 systems.
8420 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8421 decode_eol_post_ccl after running the CCL program.
8422 (code_convert_region): Don't detect EOL format here for CCL based
8423 coding systems.
8424 (decode_coding_string): Likewise.
8425
52e386c2
KR
84262000-06-18 Ken Raeburn <raeburn@gnu.org>
8427
8428 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8429 when treating it as an integer.
8430
8431 * coding.h (encode_coding_string): Declare.
8432
8433 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8434 it as an integer.
8435
8436 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8437 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8438 to be passed to get_local_map.
8439
8440 * sound.c (Fplay_sound): Don't call make_number on
8441 Frun_hook_with_args count argument.
8442
8443 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8444 for lisp objects in X event structure data field, when lisp
8445 objects are represented with unions.
8446 (x_scroll_bar_to_input_event): Ditto.
8447
b357b9d4
KR
84482000-06-16 Ken Raeburn <raeburn@gnu.org>
8449
8450 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8451 termination of string. Fix sense of test whether
8452 Vline_number_display_limit is an integer.
b357b9d4 8453
a871441d
GM
84542000-06-16 Gerd Moellmann <gerd@gnu.org>
8455
a9021acd
GM
8456 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8457 only if HAVE_X_WINDOWS.
8458
6344985d
GM
8459 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8460 of titles.
8461
427ec082 8462 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8463 out of bounds.
8464
228b083e
EZ
84652000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8466
8467 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8468 of its headers.
8469
c25b53a2
KH
84702000-06-15 Kenichi Handa <handa@etl.go.jp>
8471
8472 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8473 start of the while loop.
8474
a6981b11
GM
84752000-06-15 Gerd Moellmann <gerd@gnu.org>
8476
e9924e52
GM
8477 * atimer.c (alarm_signal_handler): Add forward declaration.
8478
a6981b11
GM
8479 * data.c (set_internal): Remove debug code.
8480
25fa6deb
GM
84812000-06-14 Gerd Moellmann <gerd@gnu.org>
8482
dce6b995
GM
8483 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8484
9f817ea4
GM
8485 * unexec.c (toplevel) [COFF]: Include coff.h.
8486
8487 * s/lynxos.h: New file.
8488
8489 * keymap.c (Fsingle_key_description): Enclose function key and
8490 event symbol names in angle brackets.
8491
8a4e3c0c
GM
8492 * xdisp.c (setup_echo_area_for_printing): Call
8493 message_log_maybe_newline if message_buf_print is not set.
8494
8495 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8496 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8497 function does something useful even when message_buf_print is
8498 already set.
8499
52283633
SM
8500 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8501 New variables.
25fa6deb
GM
8502 (ensure_echo_area_buffers): Initialize echo buffer's
8503 truncate lines setting to nil.
8504 (with_echo_area_buffer): Don't set the echo buffer's truncate
8505 lines setting here.
8a4e3c0c 8506 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8507 of message_truncate_lines.
8508 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8509 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8510 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8511
8512 * keyboard.c (read_char): Bind message-truncate-lines to t
8513 while displaying a help-echo.
8514
8515 * lisp.h (Qmessage_truncate_lines): External declaration.
8516
163dcff3
GM
85172000-06-13 Gerd Moellmann <gerd@gnu.org>
8518
1681ead6
GM
8519 * xdisp.c (Vline_number_display_limit): Renamed from
8520 line_number_display_limit.
8521 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8522 Extend documentation string. Initialize
8523 Vline_number_display_limit to nil meaning no limit.
8524 (decode_mode_spec): Use Vline_number_display_limit with its new
8525 meaning.
8526
163dcff3
GM
8527 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8528
18e21ce8 85292000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8530
8531 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8532
163dcff3
GM
8533 * xfns.c (x_set_frame_parameters): Comment fix.
8534
8535 * frame.c (store_frame_param): Call swap_in_global_binding if the
8536 variable's current binding was chosen based on this frame.
8537
8538 * data.c (swap_in_global_binding): New function.
8539
a704139d
EZ
85402000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8541
8542 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8543 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8544
9b6610db
EZ
85452000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8546
8547 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8548
c68833d2
JR
85492000-06-12 Jason Rumney <jasonr@gnu.org>
8550
8551 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8552
8553 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8554
8555 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8556
8557 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8558
ed1056b3
GM
85592000-06-12 Gerd Moellmann <gerd@gnu.org>
8560
8561 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8562 (syms_of_xfaces): Defsubr Sdump_colors.
8563 (x_free_colors): Don't treat b&w specially on default visual.
8564 (x_free_dpy_colors): New function.
8565 (free_face_colors): Don't check visual class; it's done
8566 in x_free_colors.
8567
8568 * xterm.c (x_frame_of_widget): New function.
8569 (x_alloc_nearest_color_for_widget): Use it.
8570 (x_copy_dpy_color): New function.
8571 (x_destroy_window): Free various colors.
8572
5050a2ef
KH
85732000-06-12 Kenichi Handa <handa@etl.go.jp>
8574
8575 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8576
8577 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8578
8579 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8580
8581 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8582
8583 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8584
fb1b041d
DL
85852000-06-11 Dave Love <fx@gnu.org>
8586
8587 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8588
ff96b5f4
EZ
85892000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8590
8591 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8592
db8eeecd
GM
85932000-06-11 Gerd Moellmann <gerd@gnu.org>
8594
ed1056b3 8595 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8596 to `XEvent *'.
8597
49b71c5f
KH
85982000-06-10 Kenichi Handa <handa@etl.go.jp>
8599
c479bd55
KH
8600 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8601 (regex_compile): Fix the code for handling the case of single byte
8602 char and multibyte char being mixed in a range within [...].
8603
ff6a65c2
KH
8604 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8605 and dst_multibyte members of coding.
8606
49b71c5f
KH
8607 * charset.c (update_charset_table): Update the table
8608 bytes_by_char_head.
8609 (init_charset_once): Initialize elements of bytes_by_char_head to
8610 1 except for leading codes for private charases.
8611
8612 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8613 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8614
9e80b57d
KR
86152000-06-09 Ken Raeburn <raeburn@gnu.org>
8616
8617 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8618 access the data it doesn't point to.
8619
f83fe4b4
GM
86202000-06-08 Gerd Moellmann <gerd@gnu.org>
8621
8622 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8623 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8624 event queue. This is necessary because Emacs otherwise won't
8625 perform a switch-frame to a new frame until some other event, for
8626 example a keystroke event, forces it to do so. This has various
8627 effects, one visible being that the cursor of a frame created with
8628 C-x 5 2 or switched to with a window manager key binding like
8629 A-TAB stays hollow because selected_window isn't on the newly
8630 focused frame until the switch-frame is performed.
8631
8632 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8633 generating a switch-frame event if necessary.
8634
8635 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8636
8637 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8638 it's an integer.
8639
0890801b
KH
86402000-06-08 Kenichi Handa <handa@etl.go.jp>
8641
52283633 8642 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8643
173cbca8
GM
86442000-06-07 Gerd Moellmann <gerd@gnu.org>
8645
3091c2a6
GM
8646 * window.c (displayed_window_lines): Take empty lines at
8647 the bottom of a window into account.
427ec082 8648
f38952fe
GM
8649 * window.c (displayed_window_lines): New function.
8650 (Fmove_to_window_line): Use displayed_window_lines to determine
8651 the number of lines to move, instead of using the window's height.
8652
8653 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8654 to stop reading, even if the form read sets point to a different
8655 value when evaluated.
8656
427ec082 8657 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8658 put the cursor.
8659
6ba6c818
KH
86602000-06-07 Kenichi Handa <handa@etl.go.jp>
8661
8662 * fileio.c (e_write): Free composition data if stored in
8663 coding->cmp_data.
8664
5f1aea9a
GM
86652000-06-06 Gerd Moellmann <gerd@gnu.org>
8666
666852af
GM
8667 * xdisp.c (display_line): Set row's and iterator's
8668 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8669 Set cursor even if row ends in the middle of a character.
8670 (dump_glyph_row): Print values of new flags.
8671 (redisplay_window) <cursor movement in unchanged window>: When
8672 point has been moved forward, and PT is at the end of the cursor
8673 row, don't place the cursor in the next row if the cursor row ends
8674 in the middle of a character or at ZV.
8675
8676 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8677 (struct glyph_row): Add starts_in_middle_of_char_p and
8678 ends_in_middle_of_char_p.
8679 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8680 ends_in_middle_of_char_p flag.
8681 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8682
d13f3e2e
GM
8683 * term.c (append_glyph): Revert change of 2000-06-06.
8684
8685 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8686 padding glyph not fitting on line as whole character not
8687 fitting on line.
8688
5f1aea9a
GM
8689 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8690 this isn't true for images with `:ascent 100'.
8691
10cda9b0
KH
86922000-06-06 Kenichi Handa <handa@etl.go.jp>
8693
ed00559d
KH
8694 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8695 as modified if it is originally unmodified.
8696
10cda9b0
KH
8697 * term.c (encode_terminal_code): Change the way to check if
8698 terminal coding does any conversion.
8699 (append_glyph): Set glyph->pixel_width correctly.
8700
8701 * xdisp.c (display_line): While checking line continuation, pay
8702 attention to a padding glyph.
8703
1969fae2
GM
87042000-06-05 Gerd Moellmann <gerd@gnu.org>
8705
8706 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8707
162ccef4
DL
87082000-06-05 Dave Love <fx@gnu.org>
8709
f19f32dd
DL
8710 * xdisp.c: Include fontset.h.
8711
8712 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8713
8714 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8715
8716 * dispnew.c: Conditionally include term.h.
8717
8718 * coding.h: Declare code_convert_string_norecord.
8719
8720 * frame.h (struct frame): Use volatile unconditionally.
8721
8722 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8723
8724 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8725
8726 * systime.h: Protect against multiple inclusion.
8727 (timezone) [USG5_4]: Define as time_t.
8728
8729 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8730 (Foptimize_char_table, make_temp_name): Declare.
8731
8732 * Makefile.in (xdisp.o): Depend on fontset.h.
8733
8734 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8735
8736 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8737 (Foptimize_char_table, make_temp_name): Declare.
8738
427ec082 8739 * s/irix4-0.h:
162ccef4
DL
8740 * s/irix5-0.h:
8741 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8742
2082fe81
DL
87432000-06-02 Dave Love <fx@gnu.org>
8744
8745 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8746
dcf671d2
GM
87472000-06-02 Gerd Moellmann <gerd@gnu.org>
8748
8749 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8750 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8751 be freed.
8752
8753 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8754 glyph, use the ASCII NUL character to determine the face.
8755
d42122a3
DL
87562000-06-02 Dave Love <fx@gnu.org>
8757
8758 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8759 (VFORK_RETURN_TYPE): Remove.
427ec082 8760
d42122a3
DL
8761 * config.in: Add NO_MATHERR.
8762
dd432f16
DL
87632000-06-01 Dave Love <fx@gnu.org>
8764
90aa4ea8
DL
8765 * cmds.c (internal_self_insert): Don't check
8766 Vbefore_change_function, Vafter_change_function.
8767
8768 * insdel.c (signal_before_change, signal_after_change): Likewise.
8769
8770 * buffer.c (Vbefore_change_function, Vafter_change_function):
8771 Variables and their initializations deleted.
8772
2330c9d4
DL
8773 * callint.c (Fcall_interactively): Doc fix.
8774
dd432f16
DL
8775 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8776
bf9e8804
DL
87772000-05-31 Dave Love <fx@gnu.org>
8778
8779 * textprop.c: Revert last change -- duplicated.
8780
3694b4ab
GM
87812000-05-31 Gerd Moellmann <gerd@gnu.org>
8782
8783 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8784 in #if 0.
8785
8786 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8787
f14156cd
JR
87882000-05-31 Jason Rumney <jasonr@gnu.org>
8789
8119aab8
JR
8790 * search.c (Fre_search_forward, Fre_search_backward)
8791 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8792
f14156cd
JR
8793 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8794
4aab9be3
JR
87952000-05-30 Jason Rumney <jasonr@gnu.org>
8796
8797 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8798 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8799
52283633 8800 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8801
8802 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8803 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8804 expand a nil default_filename.
8805
8806 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8807 pointer to glyph_to_pixel_coords, not a frame.
8808
8809 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8810 coding.h to dependencies.
8811
8812 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8813
8814 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8815 window pointer to be consistent with w32term.c and xterm.c.
8816
8817 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8818 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8819 (Qline_spacing, Qcenter): New variables.
8820 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8821 (x_set_line_spacing): New function.
52283633 8822 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8823 (x_specified_cursor_type): New function.
8824 (x_set_cursor_type): Use it.
8825 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8826 and icon strings.
8827 (validate_x_resource_name, x_get_resource_string): Measure lengths
8828 of external strings in bytes.
8829 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8830 GetTextExtentPoint32 with NULL title.
8831 (Fx_create_frame): Initialize Qline_spacing.
8832 (w32_load_system_font): Initialize font->double_byte_p.
8833 (x_to_w32_charset): Use Vw32_charset_info_alist.
8834 (Image, busy cursor, tooltip functions): Merged changes from
8835 xfns.c. Not yet functional on Windows.
8836
8837 * w32gui.h (W32FontStruct): Add double_byte_p member.
8838
8839 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8840 (emacs_button_translation): Use it.
8841 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8842 in `mask' to be set.
8843
8844 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8845 menu strings.
8846
8847 * w32term.c: Format and doc changes to bring closer to xterm.c.
8848 (w32_char_font_type): New enum.
8849 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8850 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8851 (w32_encode_char): New function.
8852 (x_encode_char): Removed.
8853 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8854 x_encode_char and w32_font_is_double_byte.
8855 (x_produce_image_glyph): Use image_ascent.
8856 (x_produce_glyphs): Use new version of w32_per_char_metric and
8857 handle NULL return value. Allow extra line spacing.
8858 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8859 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8860 w32_font_type member of glyph instead.
8861 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8862 (fast_find_position): Make sure not to consider rows not visible
8863 in the window.
8864 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8865 w32_menu_display_help with input blocked, as it can abort.
8866 (x_display_and_set_cursor): Choose cursor depending
8867 on buffer-local value of cursor_type.
8868 (x_draw_bar_cursor): Add parameter WIDTH.
8869
8870 * w32term.h (CP_DEFAULT): Define.
8871 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8872
10fc3187
GM
88732000-05-30 Gerd Moellmann <gerd@gnu.org>
8874
8875 * search.c (Fre_search_forward, Fre_search_backward)
8876 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8877
d0555360
KH
88782000-05-30 Kenichi Handa <handa@etl.go.jp>
8879
8880 * coding.c (detect_coding_iso2022): Fix code for checking
8881 CODING_CATEGORY_MASK_ISO_8_2.
8882
f1ad044f
SM
88832000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8884
8885 * regex.c (PREFETCH_NOLIMIT): New function.
8886 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8887
84ec3b4b
GM
88882000-05-29 Gerd Moellmann <gerd@gnu.org>
8889
66254a13
GM
8890 * syntax.c (find_defun_start): Move test for
8891 open_paren_in_column_0_is_defun_start outside of the loop.
8892
49e70dec
GM
8893 * xdisp.c (redisplay_window): Really switch buffers when
8894 displaying mode lines, and temporarily set selected_frame to the
8895 frame of the window that's redisplayed.
8896
84ec3b4b
GM
8897 * xfaces.c (free_realized_faces): Block/unblock input.
8898 (free_realized_multibyte_face): Ditto.
8899
869a3a14
DL
89002000-05-29 Dave Love <fx@gnu.org>
8901
8902 * textprop.c (Qkeymap): New variable.
8903 (syms_of_textprop): Intern it.
8904
8905 * keymap.c: Include intervals.h.
8906 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8907
8908 * Makefile.in (keymap.o): Depend on intervals.h.
8909
8910 * keyboard.c (menu_bar_items, tool_bar_items)
8911 (Fexecute_extended_command): Deal with `keymap' property.
8912 (read_key_sequence): Track map from `keymap' property as well as
8913 `local_map'.
8914
8915 * intervals.c (get_local_map): Extra arg to allow looking for
8916 `keymap' too.
8917
8918 * intervals.h (map_property): New enum.
8919 (get_local_map): Extra arg using it.
8920 (Qkeymap): Declare.
8921
84ec3b4b 8922 * lisp.h (get_local_map): Don't declare here.
869a3a14 8923
89d0c844
KH
89242000-05-29 Kenichi Handa <handa@etl.go.jp>
8925
8926 * Makefile.in (callproc.o): Depend on composite.h.
8927
8928 * callproc.c: Include composite.h.
8929 (Fcall_process): Handle composition correctly.
8930
8931 * coding.h (coding_allocate_composition_data): Extern it.
8932 (coding_restore_composition): Likewise.
8933
8934 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8935 yet allocated, finish decoding with result
8936 CODING_FINISH_INSUFFICIENT_CMP.
8937 (coding_allocate_composition_data): Make it non-static.
8938 (coding_restore_composition): Likewise.
8939
797a084a
EZ
89402000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8941
8942 * charset.c (syms_of_charset): Revert last change.
8943
cf872af5
EZ
89442000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8945
8946 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8947 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8948 Handa.
cf872af5 8949
5b1ae051
EZ
89502000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8951
8952 * charset.c (syms_of_charset): Set width of character sets
8953 eight-bit-control and eight-bit-graphic to 1 column.
8954
34ec9ebe
GM
89552000-05-26 Gerd Moellmann <gerd@gnu.org>
8956
8957 * config.in (HAVE_SPEED_T): New define.
8958
8959 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8960 `extern speed_t'.
8961
dd854dc2
DL
89622000-05-26 Dave Love <fx@gnu.org>
8963
8964 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8965
8966 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8967 (Fsubr_arity): New function.
8968 (syms_of_data): Install them.
8969
ba9f8f95
KH
89702000-05-26 Kenichi Handa <handa@etl.go.jp>
8971
0f3e0672
KH
8972 * charset.c (init_charset_once): Set the table bytes_by_char_head
8973 correctly.
8974
cebefb44
KH
8975 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8976 the default fontset to what Emacs uses by default.
0f3e0672
KH
8977 (check_registry_encoding): This function deleted.
8978 (Fset_fontset_font): Remove the adhoc condition for the default
8979 fontset. Allow cons in FONTNAME.
cebefb44 8980
0f3e0672
KH
8981 * fns.c (map_char_table): Ignore char-table entries for
8982 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8983
7a18af49
KR
89842000-05-25 Ken Raeburn <raeburn@gnu.org>
8985
8986 * emacs.c (main): Initialize keyboard syms before initializing
8987 window code, so face names are available.
8988
d2af47df
SM
89892000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8990
8991 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8992 of an anchor at the beginning of a shy-group.
8993
fc6a6a4e
GM
89942000-05-25 Gerd Moellmann <gerd@gnu.org>
8995
8996 * xdisp.c (handle_invisible_prop): Don't try to skip over
8997 invisible text if end of text is already reached.
8998
005f0d35
DL
89992000-05-25 Dave Love <fx@gnu.org>
9000
02513cdd
DL
9001 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9002
005f0d35
DL
9003 * coding.c (encode_eol): Add null statement after label.
9004
89f6ca4e
EZ
90052000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9006
9007 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9008 2000-05-20.
9009
a4e1759e
KH
90102000-05-25 Kenichi Handa <handa@etl.go.jp>
9011
9012 * ccl.c (ccl_driver): Fix previous change.
9013
eacfd7fe
KH
90142000-05-25 Kenichi Handa <handa@etl.go.jp>
9015
46ab33a9
KH
9016 * coding.c (run_pre_post_conversion_on_str): Set point to the
9017 beginning of buffer before calling coding->post_read_conversion.
9018 (decode_coding_string): Give correct args to
9019 run_pre_post_conversion_on_str.
9020 (encode_coding_string): Likewise.
9021
eacfd7fe
KH
9022 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9023 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9024 eight-bit-graphic correctly.
9025
f8569325
DL
90262000-05-24 Kenichi HANDA <handa@etl.go.jp>
9027
9028 * fileio.c (Finsert_file_contents): Even if a file is not found,
9029 execute codes for setting up coding system. Call
9030 after-insert-file-functions unconditionally.
9031
04545643
GM
90322000-05-24 Gerd Moellmann <gerd@gnu.org>
9033
9034 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9035 BSD_PGRPS are not defined.
9036
747d90ea
KH
90372000-05-24 Kenichi Handa <handa@etl.go.jp>
9038
9039 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9040 DESCRIPTION.
9041 (syms_of_charset): Avoid building same strings.
9042
716e3b88
GM
90432000-05-23 Gerd Moellmann <gerd@gnu.org>
9044
9045 * lread.c (Fload): Add a comment about the meaning of
9046 Vuser_init_file being t.
9047
9048 * puresize.h (BASE_PURESIZE): Increase to 675000.
9049
9050 * s/gnu-linux.h (setpgrp): Don't define it here because this
9051 prevents compilation on GNU/Linux systems with glib 2.2.
9052
9053 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9054 as setpgid.
427ec082 9055
9aeb39fa
EZ
90562000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9057
9058 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9059 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9060 version.
9061 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9062
29ced61b
KH
90632000-05-23 Kenichi Handa <handa@etl.go.jp>
9064
52283633 9065 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9066
3d80f24d
KH
9067 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9068
52283633 9069 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9070
29ced61b
KH
9071 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9072
d7e00792
KH
90732000-05-22 Kenichi Handa <handa@etl.go.jp>
9074
c9d80d38
KH
9075 * keyboard.c (read_char): Allow character codes 128..255 to be
9076 handled by input-method-function.
9077
d7e00792
KH
9078 * insdel.c (adjust_markers_for_replace): Fix previous change.
9079 (adjust_after_replace): If PREV_TEXT is nil, call
9080 adjust_markers_for_insert, not adjust_markers_for_replace.
9081
087121cc 90822000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9083
087121cc
GM
9084 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9085 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9086 [HAVE_GRANDPT]: Define.
9087 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9088
9089 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9090 like SYSV_PTYS.
9091
9092 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9093
9094 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9095
c9671f81
KH
90962000-05-20 Kenichi Handa <handa@etl.go.jp>
9097
9098 The following changes are to handle 8-bit characters in a
9099 multibyte buffer/string without facing with byte combining
9100 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9101 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9102
9103 * Makefile.in (fns.o): Depend on charset.h.
9104
9105 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9106 convert it to unibyte.
9107 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9108
9109 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9110 apparent char boundary.
9111 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9112 0x80..0x9F to/from multibyte form.
9113
9114 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9115 to unibyte.
9116
9117 * callproc.c (Fcall_process): Always encode an argument string if
9118 it is multibyte. Setup src_multibyte and dst_multibyte members of
9119 process_coding properly.
ce75fd23 9120
c9671f81
KH
9121 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9122 SPLIT_NON_ASCII_CHAR.
9123
9124 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9125 as is.
9126 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9127
52283633 9128 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9129 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9130 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9131 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9132 and eight-bit-graphic.
9133 (char_to_string): Likewise. Signal an error for too large
9134 character code.
9135 (char_printable_p): Return 0 for 8-bit characters.
9136 (update_charset_table): Update iso_charset_table only when a final
9137 character is non-negative.
9138 (find_charset_in_text): Renamed from find_charset_in_str.
9139 Arguments and return value changed. Callers changed.
9140 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9141 be -1 if CHARSET is used only internally.
9142 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9143 eight-bit-graphic.
9144 (Fcharset_after): Simplified.
9145 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9146 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9147 (multibyte_chars_in_text): Simplified by assuming there's no
9148 invalid multibyte sequence.
52283633
SM
9149 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9150 (str_as_unibyte): New functions.
9151 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9152 (init_charset_once): Initialization for
9153 LEADING_CODE_8_BIT_CONTROL.
9154 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9155 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9156 eight-bit-control and eight-bit-graphic.
9157
52283633
SM
9158 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9159 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9160 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9161 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9162 (CHARSET_REVERSE_CHARSET): Likewise.
9163 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9164 eight-bit-graphic.
9165 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9166 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9167 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9168 encounter an invalid multibyte sequence.
9169 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9170 sequence is always valid.
9171 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9172 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9173 (CHAR_STRING): For 8-bit characters, call char_to_string.
9174 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9175 multibyte sequence is always valid.
9176 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9177 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9178 (str_as_unibyte): Extern them.
c9671f81 9179 (BCOPY_SHORT): Fix a bug.
52283633 9180 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9181 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9182 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9183 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9184
bd4bde7f 9185 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9186 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9187 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9188 (EMIT_BYTES): New macros.
9189 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9190 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9191 macros deleted.
9192 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9193 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9194 check the validity of multibyte sequence.
9195 (decode_coding_emacs_mule): New function.
9196 (encode_coding_emacs_mule): New macro.
9197 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9198 the source.
9199 (DECODE_ISO_CHARACTER): Just return a character code.
9200 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9201 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9202 EMIT_CHAR to produced decoded characters. Exit the loop only by
9203 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9204 block here.
9205 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9206 only position codes for an invalid character.
9207 (encode_designation_at_bol): Return new destination pointer. 5th
9208 arg DSTP is changed to DST.
9209 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9210 from the source by ONE_MORE_CHAR. Don't handle the case of last
9211 block here.
9212 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9213 macros deleted.
52283633
SM
9214 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9215 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9216 TWO_MORE_BYTES to fetch a byte from the source.
9217 (encode_eol): Pay attention to coding->src_multibyte.
9218 (detect_coding, detect_eol): Preserve members src_multibyte and
9219 dst_multibyte.
9220 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9221 (encoding_buffer_size): Set magnification to 3 for all coding
9222 systems that require encoding.
9223 (ccl_coding_driver): For decoding, be sure that the result is
9224 valid multibyte sequence.
9225 (decode_coding): Initialize coding->errors and coding->result.
9226 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9227 and raw-text, always call decode_eol. Handle the case of last
9228 block here. If not coding->dst_multibyte, convert the resulting
9229 sequence to unibyte.
9230 (encode_coding): Initialize coding->errors and coding->result.
9231 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9232 and raw-text, always call encode_eol. Handle the case of last
9233 block here.
9234 (shrink_decoding_region, shrink_encoding_region): Detect cases
9235 that we can't skip data more rigidly.
9236 (code_convert_region): Setup src_multibyte and dst_multibyte
9237 members of coding. For decoding, if the buffer is multibyte,
9238 convert the source sequence to unibyte in advance. For encoding,
9239 if the buffer is multibyte, convert the resulting sequence to
9240 multibyte afterward.
9241 (run_pre_post_conversion_on_str): New function.
9242 (code_convert_string): Deleted and divided into the following two.
9243 (decode_coding_string, encode_coding_string): New functions.
9244 (code_convert_string1, code_convert_string_norecord): Call one of
9245 above.
9246 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9247 MAKE_NON_ASCII_CHAR.
52283633
SM
9248 (Fset_terminal_coding_system_internal)
9249 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9250 and dst_multibyte members.
9251 (init_coding_once): Initialize iso_code_class with new enum
9252 ISO_control_0 and ISO_control_1.
9253
9254 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9255 devided into ISO_control_0 and ISO_control_1.
9256 (struct coding_system): New members src_multibyte, dst_multibyte,
9257 errors, and result. Delete member fake_multibyte.
9258 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9259 nonzero.
9260 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9261 nonzero.
9262
9263 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9264 (Faset): Likewise.
9265
9266 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9267 multibyte form.
9268 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9269 combining occurs.
9270 (Ftranspose_region): Delete codes for handling byte combining.
9271
9272 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9273 dst_multibyte members of coding. On handling REPLACE on unibyte
9274 buffer, convert the result of decode_coding to unibyte. On
9275 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9276 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9277 multibyteness of the source (buffer or string).
9278
9279 * fns.c (concat): Handle 8-bit characters correctly.
9280 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9281 unibyte in the result.
9282 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9283 valid multibyte form in the result.
9284 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9285 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9286 return -1, signal an error.
9287 (base64_encode_1): New arg MULTIBYTE. Get each character by
9288 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9289 character is found, return -1.
9290 (Fbase64_decode_region): Delete codes for handling byte-combining.
9291 Treat each decoded byte as a unibyte character.
9292 (Fbase64_decode_string): Return unibyte string.
9293 (Fcompare_strings, concat, string_byte_to_char): Use
9294 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9295 FETCH_STRING_CHAR_ADVANCE.
9296 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9297 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9298
9299 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9300 SPLIT_NON_ASCII_CHAR.
9301 (fontset_ref_via_base, fontset_set): Likewise
9302
9303 * insdel.c (adjust_markers_for_record_delete): Deleted.
9304 (adjust_markers_for_insert): Argument changed. Caller changed.
9305 (adjust_markers_for_replace): Likewise.
52283633
SM
9306 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9307 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9308 (copy_text): Delete unused local varialbe c_save. For converting
9309 to multibyte, be sure to make all 8-bit characters in valid
9310 multibyte form.
9311 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9312 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9313 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9314 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9315 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9316 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9317 handling byte combining.
9318 (adjust_before_replace): Deleted.
427ec082 9319
c9671f81
KH
9320 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9321 SPLIT_NON_ASCII_CHAR.
9322 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9323 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9324 (Fkey_description): Likewise.
9325
9326 * lread.c (read1): On reading multibyte string, be sure to make
9327 all 8-bit chararacters in valid multibyte form.
9328 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9329
9330 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9331 unconditionally.
9332
9333 * process.c (Fstart_process): GCPRO current_dir before calling
9334 Ffind_operation_coding_system. Encode arguments here.
9335 (create_process): Don't encode arguments here. Setup
9336 src_multibyte and dst_multibyte members of struct coding.
9337 (read_process_output): Setup src_multibyte and dst_multibyte
9338 members of struct coding. If the output is to multibyte buffer,
9339 always decode the output of the process. Adjust the
52283633 9340 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9341 (send_process): Setup coding->src_multibyte according to the
9342 multibyteness of the source.
9343
52283633 9344 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9345 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9346 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9347
52283633 9348 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9349
9350 * w16select.c (Fw16_set_clipboard_data): Setup members
9351 src_multibyte and dst_multibyte of coding. Adjusted for the
9352 change for find_charset_in_str.
9353 (Fw16_get_clipboard_data): Likewise.
9354
9355 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9356 dst_multibyte of coding.
9357 (x_to_w32_font): Likewise.
9358
9359 * w32select.c (Fw32_set_clipboard_data): Setup members
9360 src_multibyte and dst_multibyte of coding. Adjusted for the
9361 change for find_charset_in_str.
9362 (Fw32_get_clipboard_data): Likewise.
9363
9364 * xdisp.c (get_next_display_element): Handle 8-bit characters
9365 correctly.
52283633
SM
9366 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9367 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9368
9369 * xselect.c (selection_data_to_lisp_data): Setup members
9370 src_multibyte and dst_multibyte of coding. Adjusted for the
9371 change for find_charset_in_str.
9372 (lisp_data_to_selection_data): Likewise.
9373
5f64c9e0
GM
93742000-05-19 Gerd Moellmann <gerd@gnu.org>
9375
52283633 9376 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9377
5f64c9e0
GM
9378 * dispextern.h (Vimage_types): Add extern declaration.
9379
9380 * xdisp.c (Vimage_types): Moved here from xfns.c.
9381 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9382
9383 * xfns.c (Vimages_types): Moved to xdisp.c.
9384 (syms_of_xfns): Move `image-types' to xdisp.c.
9385
9386 * w32fns.c (Vimage_types): Removed.
9387 (syms_of_w32fns): Remove `image-types'.
9388
813086ea
KH
93892000-05-18 Kenichi Handa <handa@etl.go.jp>
9390
9391 * fns.c (map_char_table): Pay attention to character number of
9392 charset. Check the validity of charset at the first level. For
9393 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9394 the default value.
9395
9396 * fontset.c: Include "buffer.h".
9397 (fs_load_font): If the face has fontset, record the face ID in
9398 that fontset.
9399 (Finternal_char_font): New function.
9400 (accumulate_font_info): New function.
9401 (Ffontset_info): Rewritten for the new fontset implementation.
9402 (syms_of_fontset): Register Vdefault_fontset in the first element
9403 of Vfontset_table. Include Vdefault_fontset in
9404 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9405 function.
9406
bdaebbf0
DL
94072000-05-16 Dave Love <fx@gnu.org>
9408
9409 * m/iris5d.h: Deleted -- unused.
9410
cb613bb8
GM
94112000-05-16 Gerd Moellmann <gerd@gnu.org>
9412
b15f3b77
GM
9413 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9414 `invalid' instead of `illegal'.
9415
9416 * indent.c (Fmove_to_column): When ending within a tab, insert
9417 spaces first so that markers at the end of the tab get adjusted.
9418
835c1b36
GM
9419 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9420 buffer list that wasn't selected in that frame.
9421
cb613bb8
GM
9422 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9423 is needed on mescaline, use a 2 char prefix, and call
9424 make_temp_name with second arg non-zero.
9425
9426 * fileio.c (make_temp_name): New function, extracted from
9427 Fmake_temp_name.
9428 (Fmake_temp_name): Use it.
9429
f685bea9
EZ
94302000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9431
52283633 9432 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9433
a1b8d58b
GM
94342000-05-15 Gerd Moellmann <gerd@gnu.org>
9435
9436 * Makefile.in (lisp): Add env.elc.
9437
9438 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9439
a265079f
GM
94402000-05-12 Gerd Moellmann <gerd@gnu.org>
9441
9442 * search.c (Freplace_match): Handle case of `\N' in the
9443 replacement when there's no group N.
9444
da4496b6
GM
94452000-05-11 Gerd Moellmann <gerd@gnu.org>
9446
0ace421a
GM
9447 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9448 of the message to message_dolog.
9449
1172eb8d
GM
9450 * keyboard.c (read_char): Don't clear current message for help
9451 events; let the code handling help events handle this. Change
9452 code detecting help events that should be ignored.
9453
da4496b6
GM
9454 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9455 we're interating over a string.
9456
0623e40f
DL
94572000-05-09 Dave Love <fx@gnu.org>
9458
9459 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9460 that offset before writing. Move gcpro region past call of
9461 Ffile_regular_p.
9462
bae2503b
DL
94632000-05-04 Dave Love <fx@gnu.org>
9464
9465 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9466
ec82fb2f
GM
94672000-05-04 Gerd Moellmann <gerd@gnu.org>
9468
9469 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9470 of inserted characters when BUF equals the current buffer, and PT
9471 is in front of or equal to FROM.
9472
cbf18892
GM
94732000-05-03 Gerd Moellmann <gerd@gnu.org>
9474
4ff40dd0
GM
9475 * xdisp.c (handle_single_display_prop): If display property value
9476 is invalid, or something not supported on the frame, restore
9477 iterator's position to what it was initially. Make sure to return
9478 0 for invalid and unsupported property values.
9479
cbf18892
GM
9480 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9481 that x_per_char_metric returns null.
9482
1b0672c3
GM
94832000-05-02 Gerd Moellmann <gerd@gnu.org>
9484
576da55d
GM
9485 * xterm.h (struct face): Add forward declaration.
9486 (struct image): Ditto.
9487 (image_ascent): Add prototype.
9488
9489 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9490 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9491 image_ascent instead of using IMAGE_ASCENT.
9492
9493 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9494 (IMAGE_ASCENT): Removed.
9495
9496 * xfns.c (Qcenter): New variable.
9497 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9498 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9499 (image_ascent): New function.
9500 (lookup_image): Recognize `:ascent center'.
9501 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9502 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9503 (xbm_load): Don't set image's ascent here.
9504 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9505 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9506 check ascent values here.
9507 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9508 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9509 (syms_of_xfns): Initialize Qcenter.
9510
1b0672c3
GM
9511 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9512 to the limits, increase the limits.
9513
0d7811ed
KH
95142000-05-01 Kenichi Handa <handa@etl.go.jp>
9515
9516 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9517 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9518
a943a5ca
GM
95192000-04-28 Gerd Moellmann <gerd@gnu.org>
9520
9521 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9522 taller than the window.
9523
5dba1e29
KH
95242000-04-28 Kenichi Handa <handa@etl.go.jp>
9525
9526 * xfaces.c (realize_x_face): Fix the argument of the second
9527 xassert. BASE_FACE may not be a face for ASCII.
9528
353964e3
GM
95292000-04-27 Gerd Moellmann <gerd@gnu.org>
9530
c76e04a8
GM
9531 * print.c (print_object): Treat print-length < 0 as nil.
9532
9533 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9534
9535 * s/freebsd.h (TERMCAP_OBJ): Removed.
9536 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9537
9538 * lread.c (read1): Don't treat period followed by certain
9539 characters as symbol start.
9540
9541 * xfns.c (slurp_file): New function.
9542 (xbm_image_p): Handle case of in-memory XBM files.
9543 (xbm_scan): Rewritten to work on memory buffers instead of files.
9544 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9545 Work on memory buffers instead of files. If DATA is null test
9546 if buffer looks like an in-memory XBM file.
9547 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9548 memory buffers instead of files.
9549 (xbm_file_p): New function.
9550 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9551
353964e3
GM
9552 * lread.c (end_of_file_error): New function.
9553 (read1): Call it instead of signaling `end-of-file' directly.
9554
427ec082 9555 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9556 with Fprinc instead of Fprin1.
9557
24d744ac
KR
95582000-04-26 Ken Raeburn <raeburn@gnu.org>
9559
9560 * window.c (freeze_window_start): Check that minibuffer scroll
9561 window isn't nil before extracting the window structure pointer
9562 from it.
9563
9564 * undo.c (record_delete): If we hit the end of the undo list, stop
9565 picking elements apart.
9566
7464346d
GM
95672000-04-26 Gerd Moellmann <gerd@gnu.org>
9568
9569 * xdisp.c (display_line): If lines are continued, restore
9570 iterator's ascent/descent information to the values before the
9571 first glyph not fitting on the line.
9572
612839b6
GM
95732000-04-25 Gerd Moellmann <gerd@gnu.org>
9574
9575 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9576 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9577
9578 * dispnew.c (increment_matrix_positions): Renamed from
9579 increment_glyph_matrix_buffer_positions.
9580 (increment_row_positions): Renamed from
9581 increment_glyph_row_buffer_positions.
9582
9583 * dispextern.h: Change names of renamed functions from dispnew.c
9584 in prototypes.
9585
cc181e95
GM
95862000-04-24 Gerd Moellmann <gerd@gnu.org>
9587
abfcc168
GM
9588 * fileio.c (Fdo_auto_save): Create directories for auto-save
9589 list file if necessary.
9590
cc181e95
GM
9591 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9592 from buffer or frame.
9593 (automatic_hscrolling_p): New variable.
9594 (hscroll_windows): Scroll windows horizontally only if automatic
9595 hscrolling is allowed.
9596 (syms_of_xdisp): New variable `automatic-hscrolling'.
9597
9598 * frame.h (struct frame): Add member extra_line_spacing.
9599
9600 * xfns.c (x_set_line_spacing): New function.
9601 (Fx_create_frame): Set line spacing from resources.
9602 (Qline_spacing): New variable.
9603 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9604
cc181e95
GM
9605 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9606
9607 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9608 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9609 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9610 extra_line_spacing from default value.
9611 (init_buffer_once): Initialize default value of extra_line_spacing.
9612
9613 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9614 and extra3.
9615
9616 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9617 prompt_width. Add extra line spacing.
9618
9619 * term.c (produce_glyphs): Remove reference to struct it's
9620 prompt_width.
9621
9622 * dispextern.h (struct it): Remove member prompt_width, add
9623 extra_line_spacing.
9624
58827478
GM
96252000-04-22 Gerd Moellmann <gerd@gnu.org>
9626
9627 * dispnew.c (update_frame_line): When writing a whole line, make
9628 sure cursor is in the right row afterwards, otherwise a use of
9629 capability `ch' in cmgoto might leave the cursor in the row below.
9630
25a87f42
GM
96312000-04-21 Gerd Moellmann <gerd@gnu.org>
9632
9633 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9634
9635 * keyboard.c (timer_check): Fix typo in comment.
9636
54edf5c2
KH
96372000-04-21 Kenichi Handa <handa@etl.go.jp>
9638
9639 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9640 name change: ch -> character.
9641
3a64eef5
GM
96422000-04-20 Gerd Moellmann <gerd@gnu.org>
9643
9644 * keyboard.c (echo_message_buffer): New variable.
9645 (echo_now): Set echo_message_buffer to the echo area buffer used
9646 to display the echo.
9647 (cancel_echoing): Reset echo_message_buffer to nil.
9648 (read_char): Code rewritten that handles canceling an echo or
9649 echoing a dash, respectively.
9650
9651 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9652 directory doesn't exist.
9653
6142fdcb
DL
96542000-04-19 Dave Love <fx@gnu.org>
9655
9656 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9657 (concat): Don't allow numeric args.
9658 (Fconcat): Doc change.
6142fdcb 9659
ac6b5352
SM
96602000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9661
9662 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9663 instead define end_match(1|2) more carefully.
9664 Use GET_CHAR_BEFORE_2 for `begline'.
9665
cb9215e4
GM
96662000-04-19 Gerd Moellmann <gerd@gnu.org>
9667
5e3dac3f
GM
9668 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9669 on 64-bit systems where NULL is defined as `0'.
9670
9671 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9672 the `variable argument list' to make it work on Alpha.
9673
cb9215e4
GM
9674 * m/alpha.h (_LP64) [!_LP64]: Define.
9675 (ORDINARY_LINK): Define for NetBSD.
9676
9677 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9678
f532dca0
DL
96792000-04-19 Dave Love <fx@gnu.org>
9680
c750667e
DL
9681 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9682 change.
9683
9684 * Makefile.in (LIBS): Don't use.
9685 (GETLOADAVG_OBJ): Define again.
9686 (otherobj): Add GETLOADAVG_OBJ.
9687
f532dca0
DL
9688 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9689
1c7e22fd
GM
96902000-04-18 Gerd Moellmann <gerd@gnu.org>
9691
f6d3257b
GM
9692 * lread.c (read_filtered_event): Cancel and start busy cursor.
9693
427ec082 9694 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9695 that the per-character metrics may be null.
9696
e10f64e7
GM
96972000-04-17 Gerd Moellmann <gerd@gnu.org>
9698
0daee095
GM
9699 * buffer.c (clone_per_buffer_values): New function.
9700 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9701 clone_per_buffer_values if CLONE is not nil.
9702
e10f64e7
GM
9703 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9704
38687d43
DL
97052000-04-16 Dave Love <fx@gnu.org>
9706
9707 * Makefile.in: Remove obsolete localcpp stuff.
9708 (GETLOADAVG_OBJ): Don't define.
9709 (obj): Move LIBOBJS...
9710 (otherobj): ... to here.
9711 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9712 whitespace-only lines after the continuation (Irix).
9713
c21c7262
GM
97142000-04-14 Gerd Moellmann <gerd@gnu.org>
9715
9716 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9717
9718 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9719
314767c0
DL
97202000-04-14 Dave Love <fx@gnu.org>
9721
9722 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9723 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9724 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9725 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9726 NLIST_STRUCT.
9727
9728 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9729 autoconfiscated HAVE_GETLOADAVG.
9730
9731 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9732 BROKEN_MKTIME.
9733
a2522dca
GM
97342000-04-14 Gerd Moellmann <gerd@gnu.org>
9735
9736 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9737 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9738
33744b5d
DL
97392000-04-14 Dave Love <fx@gnu.org>
9740
c21c7262 9741 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9742 (INTERVAL_SRC): Convert to make variable.
9743 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9744 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9745 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9746 add LIBOBJS.
9747 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9748 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9749 (shortlisp): Add facemenu, float-sup, frame.
9750 (SOME_MACHINE_LISP): Remove them from here.
9751 (LIBES): Change unused LDLIBS to autoconf LIBS.
9752
9753 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9754
9d3d5916
KH
97552000-04-14 Kenichi Handa <handa@etl.go.jp>
9756
9757 * composite.c (update_compositions): If FROM and TO are not in a
9758 valid range, do nothing.
9759
198e3c7a
GM
97602000-04-13 Gerd Moellmann <gerd@gnu.org>
9761
52283633 9762 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9763
52283633 9764 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9765
9766 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9767 as TERMCAP_OBJ.
9768
055a28c9
EZ
97692000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9770
9771 * fileio.c (a_write): Remove redundant semi-colons.
9772 (e_write): Return -1 if failed to write all the data.
9773 This fixes the changes made at 1999-12-15.
9774
f5c75033
DL
97752000-04-12 Dave Love <fx@gnu.org>
9776
9777 * fns.c (mapcar1): Test for null vals to support mapc.
9778 (Fmapc): New function.
9779
0c3cfc51
EZ
97802000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9781
9782 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9783 (IT_frame_up_to_date): Support the buffer local value of
9784 cursor-type, if defined.
9785
33465a31
DL
97862000-04-10 Dave Love <fx@gnu.org>
9787
9788 * editfns.c (preceding-char, following-char): Doc fix.
9789
6ed56568
KR
97902000-04-10 Ken Raeburn <raeburn@gnu.org>
9791
9792 * Makefile.in (temacs): Revert 2000-03-12 change.
9793
7cf80d4e
JR
97942000-04-10 Jason Rumney <jasonr@gnu.org>
9795
9796 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9797
34f3f342
GM
97982000-04-10 Gerd Moellmann <gerd@gnu.org>
9799
1a1b1895
GM
9800 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9801 area buffer, if it's not set up yet.
9802
34f3f342
GM
9803 * indent.c (compute_motion): Set immediate_quit.
9804
be0dbdab
GM
98052000-04-09 Gerd Moellmann <gerd@gnu.org>
9806
52283633 9807 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9808 (realize_tty_face): Suppress boldness if colors are the inverse of
9809 the default colors, and tty_suppress_bold_inverse_default_colors_p
9810 is set.
9811 (Ftty_suppress_bold_inverse_default_colors): New function.
9812 (syms_of_xfaces): Defsubr it.
9813
be0dbdab
GM
9814 * buffer.c (Frestore_buffer_modified_p): New function.
9815 (syms_of_buffer): Defsubr it.
9816
e8413c3b
KR
98172000-04-08 Ken Raeburn <raeburn@gnu.org>
9818
87f67317
KR
9819 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9820 charset id (int) argument, not a charset (Lisp_Object).
9821
e8413c3b
KR
9822 * coding.h (code_convert_string): Declare.
9823 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9824 object, as the fourth argument to code_convert_string.
9825
52283633 9826 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9827 (Fset_fontset_font): Use EQ to compare lisp objects.
9828
7c752c80
KR
98292000-04-05 Ken Raeburn <raeburn@gnu.org>
9830
c0333abc
KR
9831 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9832 a pointer that looks like a lisp object.
9833 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9834 zero, instead see whether it's an integer object, since they can't
9835 have intervals.
9836 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9837
52283633
SM
9838 * dispnew.c (allocate_matrices_for_frame_redisplay)
9839 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9840 to convert between (unsigned) int values and lisp integers.
9841 * keyboard.c (read_key_sequence): Likewise.
9842 * lread.c (substitute_object_recurse): Likewise.
9843 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9844 * minibuf.c (do_completion, Fminibuffer_complete_word)
9845 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9846 * term.c (produce_special_glyphs): Likewise.
9847
9848 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9849 * print.c (print_preprocess, print_object): Likewise.
9850
9851 * search.c (compile_pattern): Use NILP when checking for nil.
9852
74e49b38
KR
9853 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9854 __OPTIMIZE__]: Provide a GNU C macro version that handles
9855 lisp-object unions.
9856 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9857 field, to better cope with ENABLE_CHECKING and calls that modify a
9858 Lisp_Object using its old value.
9859
685e5ed2
GM
98602000-04-04 Gerd Moellmann <gerd@gnu.org>
9861
c407c570
GM
9862 * window.c (compare_window_configurations): Signal an error
9863 if parameters C1 or C2 aren't window configurations.
9864
685e5ed2
GM
9865 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9866 AFTER_POTENTIAL_GC calls around calls to functions that can
9867 signal an error and thus invoke the debugger.
9868
587a49ab
GM
98692000-04-03 Gerd Moellmann <gerd@gnu.org>
9870
62f20204
GM
9871 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9872 an error if decoding fails.
9873
587a49ab
GM
9874 * keyboard.c (lispy_mouse_names): Variable removed.
9875 (Vlispy_mouse_stem): New variable.
9876 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9877 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9878 for any mouse button number. Increase size of mouse_syms and
9879 button_down_location as needed. Call modify_event_symbol with
9880 different arguments.
9881 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9882 Call modify_event_symbol with different arguments.
9883 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9884 for any button number. Call modify_event_symbol with different
9885 arguments.
9886 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9887 Accept a string for NAME_ALIST_OR_STEM.
9888
9889 * lisp.h (larger_vector): Add prototype.
9890
9891 * fns.c (larger_vector): Make externally visible.
9892
9893 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9894
2d1675e4
SM
98952000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9896
9897 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9898 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9899 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9900 we are between str1 and str2.
9901 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9902 (PATFETCH): Use `TRANSLATE'.
9903 (PATFETCH_RAW): Fetch multibyte char if applicable.
9904 (PATUNFETCH): Remove.
9905 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9906 When writing a char, write it directly into the pattern buffer rather
9907 than going needlessly through a temp char-array.
9908 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9909 multibyte magic and remove the useless `#ifdef emacs'.
9910 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9911 buffer.
9912
9913 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9914 conditional on `emacs'.
9915
9916 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9917
cc2d8c6b
KR
99182000-04-01 Ken Raeburn <raeburn@gnu.org>
9919
9920 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9921 non-union-type versions of XMARK and friends here, because XMARK
9922 and friends won't work on an integer field if NO_UNION_TYPE is not
9923 defined.
52283633 9924 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9925
52283633 9926 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9927 (syms_of_composite): Delete local var NARGS, pass an int as first
9928 argument to Fmake_hash_table.
9929
2387b382
KR
9930 * editfns.c (text_property_stickiness): Use NILP to test
9931 Lisp_Object boolean value.
9932 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9933 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9934 problems reading from and changing the same lisp value in an
9935 XSETSTRING call.
9936
27660e89
GM
99372000-04-01 Gerd Moellmann <gerd@gnu.org>
9938
9939 * term.c (TN_no_color_video): New variable.
9940 (term_init): Intitialize TN_no_color_video.
9941 (enum no_color_bit): New enumeration.
9942 (MAY_USE_WITH_COLORS_P): New macro.
9943 (turn_on_face): Use it to determine if attributes may be used
9944 combined with colors.
9945
3578db3c
KR
99462000-04-01 Ken Raeburn <raeburn@gnu.org>
9947
9948 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9949 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9950 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9951 proper accessor macros.
9952 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9953 (grow_mini_window): Fix typo getting int value of root->height.
9954
6fc556fd
KR
9955 * xdisp.c (compute_string_pos): Fix order of arguments to
9956 string_pos_nchars_ahead.
9957 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9958 count arg to variable-arg routines like Frun_hook_with_args and
9959 Fformat.
587a49ab
GM
9960 (back_to_previous_visible_line_start)
9961 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9962 fixed-arg routines like Fget_char_property and Fmake_string.
9963 (reconsider_clip_changes): Use XINT when comparing integer lisp
9964 objects, or passing them as int arguments.
587a49ab
GM
9965 (mark_window_display_accurate, insert_left_trunc_glyphs)
9966 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9967 storing or passing integer values as lisp objects.
9968 (set_cursor_from_row, highlight_trailing_whitespace): Use
9969 INTEGERP, not implicit test against zero, for glyph object.
9970 (try_window_id): Don't use make_number when we want an int value.
9971
9972 * xfaces.c (xlfd_symbolic_value): Make last argument a
9973 Lisp_Object, to be consistent with callers.
9974 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9975 (lface_hash): Apply XFASTINT to lisp values before folding in.
9976
9977 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9978 fill in window width and height. Pass an int, not a lisp object,
9979 as first arg to Finsert.
9980
6e7b2457
GM
99812000-04-01 Gerd Moellmann <gerd@gnu.org>
9982
610d841e
GM
9983 * xfaces.c (realize_basic_faces): Block input while realizing
9984 the faces.
9985
6e7b2457
GM
9986 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9987
9988 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9989
aa110c0c
GM
99902000-03-31 Gerd Moellmann <gerd@gnu.org>
9991
9992 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9993 or ASCII, handle case that per-char metric is null.
aa110c0c 9994
8801a864
KR
99952000-03-30 Ken Raeburn <raeburn@gnu.org>
9996
c6129d7e
KR
9997 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9998
52283633
SM
9999 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10000 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10001 pointer, using eassert.
10002 * frame.h (XFRAME): Likewise.
10003
52283633
SM
10004 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10005 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10006 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10007 * data.c (set_internal): Likewise.
52283633
SM
10008 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10009 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10010 * fileio.c (auto_save_1): Likewise.
10011 * insdel.c (check_markers): Likewise.
10012 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10013 * undo.c (record_insert): Likewise.
10014 * vmsproc.c (child_sig): Likewise.
10015 * window.c (unshow_buffer, window_loop): Likewise.
10016 * xterm.c (x_erase_phys_cursor): Likewise.
10017
8e7af858
GM
100182000-03-30 Gerd Moellmann <gerd@gnu.org>
10019
10020 * xfns.c (free_image_cache): Free the cache structure itself
10021 last, after all its members have been freed.
10022
10023 * lisp.h (xstrdup): Add prototype.
10024
10025 * alloc.c (xstrdup): Moved here from xfaces.c.
10026 (allocating_for_lisp): Variable removed.
52283633 10027 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10028
10029 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10030 of Fsymbol_value.
10031 (xstrdup): Moved to alloc.c.
10032
e0b8c689
KR
100332000-03-29 Ken Raeburn <raeburn@gnu.org>
10034
b96f9fb7
KR
10035 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10036
10037 * emacs.c (main): Fix sense of no-loadup test.
10038
e0b8c689
KR
10039 * config.in (ENABLE_CHECKING): Undef.
10040
10041 * lisp.h (struct interval): Replace "parent" field with a union of
10042 interval pointer and Lisp_Object; add new bitfield to use as
10043 discriminant. Change other flag fields to bitfields.
10044 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10045 is defined and the supplied test fails, print a message and abort.
10046 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10047
10048 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10049 pointers; abort if the value looks like a lisp object.
52283633
SM
10050 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10051 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10052 Modify for new interval parent definition.
10053
52283633
SM
10054 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10055 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10056 addressable lisp object in the interval structure.
10057 (die): New function.
10058 (suppress_checking): New variable.
10059
10060 * intervals.c (interval_start_pos): Just return 0 if there's no
10061 parent object.
10062
f83c5440
GM
100632000-03-29 Gerd Moellmann <gerd@gnu.org>
10064
10065 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10066 and earlier Emacs versions.
10067
10068 * keyboard.c (Ftop_level): Cancel busy-cursor.
10069
10070 * eval.c (call_debugger): Cancel busy-cursor.
10071
fdce64ff
KH
100722000-03-29 Kenichi Handa <handa@etl.go.jp>
10073
10074 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10075 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10076
f6a3f532
SM
100772000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10078
10079 * regex.c (analyse_first): New function obtained by ripping out most
10080 of re_compile_fastmap and generalizing it a little bit so that it
10081 can also just return whether a given (sub)pattern can match the empty
10082 string or not.
10083 (regex_compile): Use `analyse_first' to decide whether the loop-check
10084 needs to be done or not for *, +, *? and +? (the loop check is costly
10085 for non-greedy repetition).
10086 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10087
e9b309ac
DL
100882000-03-28 Dave Love <fx@gnu.org>
10089
52283633 10090 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10091
e9b309ac
DL
10092 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10093
ed0767d8
SM
100942000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10095
10096 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10097 an expression.
10098 (enum re_opcode_t): Update description of succeed_n.
10099 (PATFETCH): Always define.
10100 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10101 operators, char classes, shy-groups and intervals).
10102 Optimize special cases of intervals so as to only use succeed_n and
10103 jump_n when really needed.
10104 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10105 that we don't have to handle the special cases any more.
10106 Simplify on_failure_jump handling as well.
10107
e11e7e46
JR
101082000-03-28 Jason Rumney <jasonr@gnu.org>
10109
10110 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10111
88faab89
GM
101122000-03-27 Gerd Moellmann <gerd@gnu.org>
10113
182ff242
GM
10114 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10115
10116 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10117
182ff242
GM
10118 * alloc.c (mark_maybe_object): New function.
10119 (mark_memory): Use it.
10120 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10121 (setjmp_tested_p, longjmp_done): New variables.
10122 (test_setjmp): New function.
10123 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10124 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10125
c1005d06
GM
10126 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10127 to DEC_TEXT_POS and INC_TEXT_POS.
10128
10129 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10130 with parameter MULTIBYTE_P.
10131
52283633 10132 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10133
7439e5b9 10134 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10135 buffers because it looks for multibyte character byte sequences
10136 which don't exist in unibyte text.
7439e5b9 10137
d9c545da
GM
10138 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10139
11fd416e 10140 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10141 [DEBUG_X_COLORS]: New functions.
10142 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10143
10144 * xfns.c (x_set_cursor_color): Get color reference counts right.
10145
10146 * xterm.c (x_copy_color): New function.
10147 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10148
10149 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10150 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10151 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10152 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10153 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10154 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10155 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10156 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10157 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10158 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10159
11fd416e
GM
10160 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10161 names for handling per-buffer variables.
d9c545da
GM
10162
10163 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10164 instead of MAX_BUFFER_LOCAL_VARS.
10165 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10166
10167 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10168
88faab89
GM
10169 * xfns.c (x_specified_cursor_type): New function.
10170 (x_set_cursor_type): Use it.
10171
10172 * buffer.h (struct buffer): Add cursor_type.
10173
d80f42b7
SM
101742000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10175
10176 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10177 (print_partial_compiled_pattern, re_compile_fastmap):
10178 Handle new opcode.
d80f42b7
SM
10179 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10180 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10181 executing it as well as when popping it off the stack to find infinite
10182 loops in non-greedy repetition operators.
10183
89e80928
GM
101842000-03-26 Gerd Moellmann <gerd@gnu.org>
10185
3d4ff2dd
GM
10186 * doc.c (Qfunction_documentation): New variable.
10187 (syms_of_doc): Initialize Qfunction_documentation.
10188 (Fdocumentation): If FUNCTION is a symbol with non-nil
10189 `function-documentation' property, return a documentation derived
10190 from that.
10191
bd96bd79
GM
10192 * buffer.c (syms_of_buffer): Add default-cursor-type.
10193 (init_buffer_once): Don't let cursor_type have a local value
10194 in every buffer.
10195
19d1bc27
GM
10196 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10197 on buffer-local value of cursor_type.
10198 (x_draw_bar_cursor): Add parameter WIDTH.
10199
10200 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10201 (init_buffer_once): Set default cursor_type value to t.
10202 Mark cursor_type as local everywhere.
10203 (syms_of_buffer): New per-buffer variable cursor-type.
10204
89e80928
GM
10205 * buffer.h (struct buffer): Remove member local_var_flags,
10206 add local_flags.
10207 (MAX_BUFFER_LOCAL_VARS): New macro.
10208 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10209 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10210 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10211 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10212
52283633 10213 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10214
10215 * category.c (Fset_category_table): Use new macros for per-buffer
10216 variables.
10217
10218 * buffer.c (buffer_permanent_local_flags): Make a char array.
10219 (max_buffer_local_idx): New variable.
10220 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10221 for new handling of per-buffer variables.
10222 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10223 (init_buffer_once): Initialize per-buffer vars differently.
10224 Set max_buffer_local_idx.
10225
10226 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10227 variables.
10228
52283633 10229 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10230
10231 * data.c (do_symval_forwarding, store_symval_forwarding)
10232 (find_symbol_value, set_internal, default_value, Fset_default)
10233 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10234 per-buffer variables.
10235
10236 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10237
9a0dd3dc
GM
102382000-03-24 Gerd Moellmann <gerd@gnu.org>
10239
b68c375f
GM
10240 * xterm.c (x_term_init): Unblock input around call1 of
10241 Qvendor_specific_keysyms.
10242
9a0dd3dc
GM
10243 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10244 (find_defun_start): Consider an open parenthesis in column 0
10245 a defun start only if open_paren_in_column_0_is_defun_start is set.
10246 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10247
7973e637
SM
102482000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10249
10250 * eval.c (Fautoload): Add entry in load-history (if after dump).
10251 * lread.c (load-history): Update docstring.
10252
39210e90
GM
102532000-03-24 Gerd Moellmann <gerd@gnu.org>
10254
10255 * indent.c (Fvertical_motion): Always use the current buffer.
10256 Temporarily change the window's buffer, if necessary.
10257
72db3ab5
GM
102582000-03-23 Gerd Moellmann <gerd@gnu.org>
10259
10260 * xterm.c (fast_find_position): Make sure not to consider rows
10261 not visible in the window.
10262
990b2375
SM
102632000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10264
10265 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10266 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10267
ff4df011
JR
102682000-03-22 Jason Rumney <jasonr@gnu.org>
10269
10270 * w32menu.c (single_submenu): Set help string to NULL if none.
10271 (w32_menu_show): Set help string correctly.
10272 (add-menu-item): Set help string in MIIM_DATA for menu item.
10273 Load SetMenuItemInfoA explicitly.
10274 (w32_menu_display_help): New function.
427ec082 10275
ff4df011
JR
10276 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10277 (QCdata): Moved to xdisp.c.
10278
10279 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10280 (Vw32_charset_to_codepage_alist): Removed.
10281 (Vw32_charset_info_alist): New variable.
52283633
SM
10282 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10283 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10284 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10285 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10286 with TODO comment.
10287 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10288 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10289 Define Vw32_charset_info_alist and w32_charset symbols.
10290
102912000-03-22 Jason Rumney <jasonr@gnu.org>
10292
10293 * makefile.nt (w32bdf.obj): Update dependencies.
10294
10295 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10296
10297 * w32fns.c: Include fontset.h after dispextern.h.
10298 (Fx_create_frame): Do not create fontset.
10299 (w32_load_system_font): Doc fix.
10300 (Fx_close_connection): Free full_name if it is not shared.
10301
10302 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10303 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10304 Callers updated.
ff4df011
JR
10305 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10306 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10307 (w32_font_is_double_byte): New function, needs body.
10308 (x_append_glyph): Set glyph->glyph_not_available_p.
10309 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10310 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10311 character, convert it to a unibyte character.
10312 (struct glyph_string): Delete member `charset'.
10313 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10314 calculating it is found.
10315 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10316 the case that per char metric is not available correctly.
10317 (x_fill_glyph_string): Handle the case that the specific glyph is
10318 not available correctly.
10319 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10320 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10321 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10322 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10323 fontset. Don't call FS_LOAD_FONT.
10324
439d5cb4
KR
103252000-03-22 Ken Raeburn <raeburn@gnu.org>
10326
10327 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10328 (INT_LISPLIKE): New macro.
10329 (NULL_INTERVAL_P): Use it.
52283633
SM
10330 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10331 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10332 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10333
10334 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10335 explicit references to "parent" field of struct interval and
10336 associated unclean type conversions.
52283633
SM
10337 * intervals.c (create_root_interval, root_interval, rotate_right)
10338 (rotate_left, balance_possible_root_interval, split_interval_right)
10339 (split_interval_left, interval_start_pos, find_interval)
10340 (next_interval, previous_interval, update_interval)
10341 (adjust_intervals_for_insertion, delete_node, delete_interval)
10342 (adjust_intervals_for_deletion, merge_interval_right)
10343 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10344 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10345 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10346 Likewise.
10347 * syntax.c (update_syntax_table): Likewise.
10348
10349 * intervals.c (reproduce_tree_obj): New function, like
10350 reproduce_tree but takes a Lisp_Object for the parent. Declare
10351 with prototype.
10352 (graft_intervals_into_buffer): Use it when appropriate.
10353 (reproduce_tree): Declare with prototype.
10354 (balance_possible_root_interval): Check that the parent is a lisp
10355 object before trying to examine its type.
10356
ee1c5b21
GM
103572000-03-22 Gerd Moellmann <gerd@gnu.org>
10358
10359 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10360 as strings only if both are known to be strings.
10361
10362 * s/openbsd.h (LIBS_TERMCAP): Undef.
10363
1fb352e0
SM
103642000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10365
10366 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10367 definitions for non-Emacs compilation.
10368 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10369 outside of `#ifdef emacs'.
10370 (print_partial_compiled_pattern): Update.
10371 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10372 (re_compile_fastmap): Merge handling of charset and charset_not (for
10373 emacs and non-emacs compilation as well).
10374 Similarly for (not)categoryspec and (not)syntaxspec.
10375 Don't use the fastmap when reaching `anychar' since the added
10376 complexity is not justified.
10377 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10378 and (not)syntaxspec. Merge (not)categoryspec.
10379
fdaa1f77
KH
103802000-03-22 Kenichi Handa <handa@etl.go.jp>
10381
52283633
SM
10382 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10383 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10384 --without-x.
fdaa1f77 10385
d152fb46
DL
103862000-03-21 Dave Love <fx@gnu.org>
10387
10388 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10389 doc string.
10390
d2cafc8c
GM
103912000-03-21 Gerd Moellmann <gerd@gnu.org>
10392
10393 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10394 (lface_fully_specified_p): Don't check contents of
10395 LFACE_FONT_INDEX because that attribute is optional.
10396 (realize_x_face): Remove now unwarranted xassert.
10397
9111d4b5
KH
103982000-03-21 Kenichi HANDA <handa@etl.go.jp>
10399
10400 The following changes are to make font selection based on
10401 characters, not charset. In addition, they recover fontset
10402 facilities while utilizing the new font selection mechanism.
10403
6c4bfdc0
KH
10404 * Makefile.in (fontset.o): Depend on dispextern.h.
10405
10406 * alloc.c (mark_face_cache): Don't mark face->registry.
10407
9111d4b5
KH
10408 * dispextern.h (struct glyph): New member glyph_not_available_p.
10409 Use 22 bits for face_id.
10410 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10411 (struct face): Delete member registry, new member ascii_face.
10412 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10413 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10414 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10415 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10416
10417 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10418 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10419 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10420 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10421 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10422 (fs_free_face_fontset, fontset_font_pattern)
10423 (face_suitable_for_char_p, face_for_char)
10424 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10425 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10426 (FS_LOAD_FACE_FONT): New macro.
10427
10428 * fontset.c: All codes rewritten or adjusted for the change of
10429 fontset implementation. Now fontset is represented by char table.
52283633
SM
10430 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10431 Variables removed.
9111d4b5 10432 (my_strcasecmp): Function removed.
52283633 10433 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10434 (AREF, ASIZE): New macros.
52283633
SM
10435 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10436 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10437 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10438 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10439 (fontset_id_valid_p, font_family_registry, fontset_name)
10440 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10441 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10442 New functions.
10443 (fs_load_font): New arg FACE. Caller changed.
10444 (fs_query_fontset): Argument changed. Caller changed.
10445 (Fquery_fontset): call fs_query_fontset.
10446 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10447 Functions removed.
52283633
SM
10448 (clear_fontset_elements, check_registry_encoding)
10449 (check_fontset_name): New functions.
9111d4b5
KH
10450 (syms_of_fontset): Set char-table-extra-slots property of fontset
10451 to 3. Staticpro and initialize Vfontset_table and
10452 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10453
10454 * frame.h (struct frame): Member `fontset_data' removed.
10455 (FRAME_FONTSET_DATA): Macro removed.
10456
10457 * frame.c (make_frame): Don't allocate f->fontset_data.
10458 (Fdelete_frame): Don't free f->fontset_data.
10459
6c4bfdc0
KH
10460 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10461
9111d4b5
KH
10462 * xdisp.c (charset_at_position): Function removed.
10463 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10464 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10465 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10466 Likewise.
10467 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10468 FACE_FOR_CHARSET.
52283633
SM
10469 (get_next_display_element, append_space)
10470 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10471
10472 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10473 Variables removed.
10474 (clear_font_table, frame_update_line_height, load_face_font):
10475 Adjusted for the change of fontset implementation.
10476 (load_face_fontset_font): Function removed.
10477 (pixel_point_size): New function.
10478 (font_list): Argument type changed. Caller changed.
10479 (LFACE_FONT): New macro.
10480 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10481 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10482 Lisp_Object. Determine the font name by actually loading a font
10483 by the specified pattern. Set LFACE_FONT (lface) to the specified
10484 pattern. Even if a font is not found, don't try alternatives.
10485 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10486 (set_font_frame_param): If `font' is specified in lface, use it.
10487 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10488 (lface_same_font_attributes_p): Likewise.
10489 (make_realized_face): Arguent changed. Caller changed. Set
10490 face->ascii_face to face itself.
10491 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10492 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10493 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10494 (free_realized_multibyte_face): New function.
10495 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10496 changed. Caller changed.
10497 (try_font_list): Argument type changed.
10498 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10499 (choose_face_font): Argument changed. Handle fontset properly.
10500 (choose_face_fontset_font): Function removed.
10501 (realize_default_face, realize_named_face): Don't remove the
10502 former face here.
10503 (realize_face): Argument changed. Caller changed. Remove face
52283633 10504 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10505 (realize_x_face): Argument changed. Caller changed. For a
10506 multibyte character, share fontset with base_face. For a single
52283633 10507 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10508 (realize_tty_face): Argument changed. Caller changed.
10509 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10510 (face_at_buffer_position): Don't check multibyte_p for returning
10511 DEFAULT_FACE_ID.
10512 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10513 FACE_SUITABLE_FOR_CHARSET_P.
10514 (syms_of_xfaces): Remove code for Qx_charset_registry and
10515 Vface_default_registry.
10516
6c4bfdc0
KH
10517 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10518 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10519 (x_per_char_metric): Don't try FONT->default_char. Even if
10520 pcm->width is zero, glyph bits may exist.
10521 (x_encode_char): Always initialize char2b->byte1.
10522 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10523 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10524 (x_append_glyph): Set glyph->glyph_not_available_p.
10525 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10526 it->charset. Handle the case that per char metric is not
10527 available. If it->multibyte_p is zero and it->c is a multibyte
10528 character, convert it to a unibyte character.
10529 (struct glyph_string): Delete member `charset'.
10530 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10531 the case that per char metric is not available correctly.
10532 (x_fill_glyph_string): Handle the case that the specific glyph is
10533 not available correctly.
10534 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10535 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10536 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10537 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10538 fontset. Don't call FS_LOAD_FONT.
10539
10540 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10541 (x_create_tip_frame): Likewise.
10542 (Fx_close_connection): Free full_name of font_info.
10543
10544 * fns.c (optimize_sub_char_table): New function.
10545 (Foptimize_char_table): New function.
10546 (syms_of_fns): Defsubr Soptimize_char_table.
10547
b33dd3b0
GM
105482000-03-20 Gerd Moellmann <gerd@gnu.org>
10549
10550 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10551 only if buffer is displayed in some window.
10552
10553 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10554 (try_window_reusing_current_matrix): Don't call scroll run
10555 function if run's current and desired position are the same;
10556 this prevents cursor flickering.
10557
4e8a9132
SM
105582000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10559
10560 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10561
10562 * regex.c (RE_STRING_CHAR): New macro.
10563 (GET_CHAR_AFER_2): Remove.
10564 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10565 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10566 (print_partial_compiled_pattern, re_compile_fastmap)
10567 (re_match_2_internal): Remove on_failure_jump_exclusive.
10568 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10569 optimization only need to work for * (ie. can use of_keep_string_jump).
10570 Remove the special case for .*\n since it is now covered by the general
10571 optimization.
10572 (re_search_2): Don't bother with `room'.
10573 (skip_one_char): New function.
10574 (skip_noops): Simplify since `memory' is not needed any more.
10575 (mutually_exclusive_p): Restructure slightly to use `switch' and
10576 add handling for "all" remaining cases.
10577 (re_match_2_internal): Change on_failure_jump_smart to use
10578 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10579 rather than on_failure_jump_exclusive.
10580
2136fdd4
GM
105812000-03-19 Gerd Moellmann <gerd@gnu.org>
10582
10583 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10584 number of bits per RGB because it's everywhere used as the depth
10585 of the visual.
10586
10587 * term.c (calculate_costs): Remove code dealing with X frames.
10588
18e21ce8 105892000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10590
10591 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10592
d7b511c4
GM
105932000-03-18 Gerd Moellmann <gerd@gnu.org>
10594
10595 * lread.c (read_integer): Unread the last char not consumed.
10596
16b5d424
GM
105972000-03-17 Gerd Moellmann <gerd@gnu.org>
10598
10599 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10600 which are in the process of being deleted.
16b5d424 10601
1fa28578
GM
106022000-03-16 Gerd Moellmann <gerd@gnu.org>
10603
83488cce
GM
10604 * Makefile.in (mostlyclean): Add `*.core'.
10605 (clean): Add `bootstrap-emacs'.
10606
1fa28578
GM
10607 * lread.c (read_integer): New function.
10608 (read1): Support read syntax #o, #x, #b, #r.
10609
99633e97
SM
106102000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10611
1fa28578
GM
10612 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10613 make sure POINTER_TO_OFFSET gives the same value before and after
10614 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10615 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10616 (debug): Now only active if > 0 rather than if != 0.
10617 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10618 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10619 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10620 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10621 (store_op1, store_op2, insert_op1, insert_op2)
10622 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10623 (group_in_compile_stack): Move to after its arg's types are
10624 declared and add a prototype.
99633e97 10625 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10626 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10627 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10628 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10629 indentation of the greedy-op and shy-group code.
99633e97
SM
10630 (at_(beg|end)line_loc_p): Fix argument's types.
10631 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10632 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10633 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10634 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10635 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10636 QUIT unconditionally.
99633e97 10637
699238d9
GM
106382000-03-15 Gerd Moellmann <gerd@gnu.org>
10639
10640 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10641 a sole completion.
10642
10643 * process.c (send_process): Add a hint that the function
10644 can call Lisp code to its comment.
10645
10646 * lread.c (load_dangerous_libraries): New variable.
10647 (Vbytecomp_version_regexp): New variable.
10648 (safe_to_load_p): New function.
10649 (Fload): Handle files not compiled with Emacs specially.
10650 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10651
34e23e5a
GM
106522000-03-14 Gerd Moellmann <gerd@gnu.org>
10653
9c763cca
GM
10654 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10655
10656 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10657 support functions only if HAVE_X11R6_XIM is defined.
10658 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10659
10660 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10661
10662 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10663 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10664 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10665
10666 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10667 (HAVE_X11R6_XIM): Define.
10668
10669 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10670
34e23e5a
GM
10671 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10672 If set, call XSynchronize.
10673
66f0296e
SM
106742000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10675
34e23e5a
GM
10676 * regex.c: Declare a new type `re_char' used throughout the code
10677 for the string char type. It's `const unsigned char' to match the
10678 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10679 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10680 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10681 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10682 code duplication.
66f0296e
SM
10683
10684 * charset.h (GET_CHAR_AFTER_2): Remove.
10685 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10686
854a025c
KR
106872000-03-12 Ken Raeburn <raeburn@gnu.org>
10688
10689 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10690 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10691 of them try to use backquotes.
10692
b9d2c7e2
DL
106932000-03-12 Dave Love <fx@gnu.org>
10694
10695 * unexelf.c: Restore changes of 1999-10-19.
10696 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10697 fix its type and alignment; copy it from current process.
10698
5e5dff44
GM
106992000-03-12 Gerd Moellmann <gerd@gnu.org>
10700
9b2f3c38
GM
10701 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10702 has been found. Fix bug not computing timer's predecessor.
10703
427ec082 10704 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10705 file name.
10706
e1cff360
GM
10707 * window.c (Fsave_window_excursion): Doc fix.
10708
52283633 10709 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10710
e411ce4b
EZ
107112000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10712
10713 * msdos.c (vga_installed): New function, code moved from
10714 dos_set_window_size.
10715 (Qbar, Qcursor_type, outside_cursor): New variables.
10716 (syms_of_msdos): Intern and staticpro them.
10717 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10718 shape used outside Emacs when called for the first time.
10719 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10720 cursor shape used outside Emacs.
10721 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10722 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10723 type has changed.
10724 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10725 parameters specify the cursor. Make qreverse a global
10726 variable (renamed to Qreverse).
10727
80460654
GM
107282000-03-09 Gerd Moellmann <gerd@gnu.org>
10729
10730 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10731
95cd4c40
SM
107322000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10733
10734 This is a big redesign of failure-stack and register handling, prompted
10735 by bugs revealed when trying to add shy-groups. Overall, what happened
10736 is that loops are now structured a little differently, groups can be
10737 shy and the code is a little simpler.
10738
10739 * regex.h: Update the copyright.
10740 (RE_SHY_GROUPS): New value.
10741 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10742 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10743
80460654
GM
10744 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10745 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10746 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10747 for (start|stop)_memory since they now only take one argument (the
10748 second has becomes unnecessary).
52283633 10749 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10750 (print_compiled_pattern): Use %ld to printf long ints and flush to
10751 make debugging a little easier.
95cd4c40
SM
10752 (union fail_stack_elt): Make the integer unsigned.
10753 (struct fail_stack_type): Add a `frame' element.
10754 (INIT_FAIL_STACK): Init `frame' as well.
10755 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10756 (DEBUG_PUSH, DEBUG_POP): Remove.
10757 (NUM_REG_ITEMS): Remove.
10758 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10759 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10760 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10761 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10762 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10763 New macros.
80460654
GM
10764 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10765 address pushed is not the destination of the jump but the source
10766 of it instead.
95cd4c40
SM
10767 (NUM_FAILURE_ITEMS): Remove.
10768 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10769 registers before the actual failure point). Don't hardcode any
10770 meaning for str==NULL anymore.
95cd4c40 10771 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10772 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10773 Remove.
95cd4c40
SM
10774 (REG_UNSET_VALUE): Use NULL (why not?).
10775 (compile_range): Remove declaration since it doesn't exist.
10776 (struct compile_stack_elt_t): Remove inner_group_offset.
10777 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10778 (regex_grow_registers): Remove dead code.
10779 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10780 (regex_compile): Add shy-groups Change loops to use
10781 on_failure_jump_smart&jump instead of
10782 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10783 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10784 variable to me). Use `jump' instead of `jump_past_alt' and don't
10785 bother with push_dummy_failure in alternatives since it is now
10786 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10787 emacs' for (re)allocating the stack.
10788 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10789 from loop when bufp->can_be_null rather than jumping to `done'.
10790 Avoid jumping backwards so as to ensure termination. Use
10791 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10792 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10793 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10794 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10795 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10796 (lowest_active_reg, highest_active_reg)
10797 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10798 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10799 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10800 variables. Push register (in `start_memory') on the stack rather
10801 than storing it in old_reg(start|end). Remove the cycle detection
10802 from `stop_memory', replaced by the use of on_failure_jump_loop
10803 for greedy loops. Add code for the new on_failure_jump_<foo>.
10804 Remove ad-hoc code in `on_failure_jump' to push more registers in
10805 the case of a loop. Take out code from `maybe_pop_jump' into
10806 separate functions and adapt it to the semantics of
10807 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10808 and push_dummy_failure. Remove dummy_failure handling and
10809 handling of `failures to jump to on_failure_jump' (this last one
10810 was already dead code, it seems).
10811 (group_match_null_string_p, alt_match_null_string_p)
10812 (common_op_match_null_string_p): Remove.
95cd4c40 10813
7397acc4
DL
108142000-03-08 Dave Love <fx@gnu.org>
10815
10816 * config.in: Don't depend on __STDC__ for volatile.
10817 Add POINTER_TYPE, PTR, PROTOTYPES.
10818
10819 * hftctl.c, strftime.c: Use PROTOTYPES.
10820 * eval.c (find_handler_clause): Likewise.
10821
10822 * mem-limits.h: Use POINTER_TYPE.
10823
10824 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10825 (memory_warnings): Declare using POINTER_TYPE.
10826
5e91ff9e
GM
108272000-03-08 Gerd Moellmann <gerd@gnu.org>
10828
feab4fba
GM
10829 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10830
52283633 10831 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10832
5e91ff9e
GM
10833 * xfns.c: Remove obsolete code in #if 0.
10834 (Fx_focus_frame): New function.
10835
a735b7e1
KH
108362000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10837
10838 * coding.c (coding_category_name): Add coding-category-utf-8,
10839 coding-category-utf-16-be, coding-category-utf-16-le.
10840 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10841 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10842 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10843 (detect_coding_utf_8): New function.
10844 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10845 UTF_16_LOW_SURROGATE_P): New macros.
10846 (detect_coding_utf_16): New function
10847 (detect_coding_mask): When priorities are specified, skip any
10848 categories that have `nil' coding-system. Fix bug of returning
10849 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10850 returns a mask not set in PRIORITIES.
10851 (detect_eol_type_in_2_octet_form): New function.
10852 (detect_eol): selects detect_eol_type_XXX to call according to
10853 cooding->category_idx.
10854 (detect_coding_system): Remove `nil' coding-system in the result.
10855 (Fupdate_coding_systems_internal): Update all coding-categories.
10856
52283633
SM
10857 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10858 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10859 New macros.
10860 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10861 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10862 (CODING_CATEGORY_IDX_UTF_16_LE)
10863 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10864 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10865 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10866 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10867
9994cc69
GM
108682000-03-07 Gerd Moellmann <gerd@gnu.org>
10869
e9b4e5ff
GM
10870 * doc.c (Fdocumentation_property): If value is not a string,
10871 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10872
f7daf1e1
GM
10873 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10874 close the display with XtCloseDisplay. This caused a bus error
10875 on OpenWindows.
10876
9994cc69
GM
10877 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10878 complete but not unique.
10879
4336c705
GM
108802000-03-06 Gerd Moellmann <gerd@gnu.org>
10881
18bb0684
GM
10882 * process.c (send_process): Remove local variable `procname' that
10883 might become invalid when a GC happens. Instead, access the
10884 process name slot directly.
10885
4336c705
GM
10886 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10887 orig_height if set.
10888
10889 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10890 orig_height if set.
10891
515d0d0e
EZ
108922000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10893
10894 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10895 glyph matrices have been freed.
10896
100b3cbb
GM
108972000-03-05 Gerd Moellmann <gerd@gnu.org>
10898
50df5e5a 10899 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10900 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10901
10902 * xfns.c (QCdata): Moved to xdisp.c.
10903
10904 * xdisp.c (QCdata): Moved here from xfns.c.
10905 (syms_of_xdisp): Initialize QCdata.
10906
10907 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10908
10909 * window.c (coordinates_in_window): Use
10910 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10911 FRAME_INTERNAL_BORDER_WIDTH.
10912
100b3cbb 10913 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10914 it is obviously invalid.
100b3cbb
GM
10915
10916 * xterm.c (x_term_init): Create a colormap if not using the
10917 default visual.
10918
10919 * xterm.h (select_visual): Change prototype.
10920
10921 * xfns.c (select_visual): Rewritten. Recognize user-specified
10922 visual classes.
10923 (visual_classes): New variable.
10924
64d739c4
GM
109252000-03-04 Gerd Moellmann <gerd@gnu.org>
10926
10927 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10928 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10929 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10930 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10931 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10932 XtNcolormap resources.
10933 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10934 (Fx_create_frame): Initialize color members of x_output structure.
10935 (xpm_load): Pass colormap to XPM lib.
10936
10937 * xfaces.c (x_free_colors): Access colormap of frame using
10938 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10939 when default colormap is used.
10940
10941 * xterm.c (x_term_init): Set Colormap member of x_display_info
10942 structure. Copy colormap if resource `privateColormap' is
10943 specified (PseudoColor only).
10944 (x_setup_relief_color): Access colormap of frame using
10945 FRAME_X_COLORMAP.
10946
10947 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10948 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10949
c3cee013
JR
109502000-03-04 Jason Rumney <jasonr@gnu.org>
10951
10952 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10953 other non-platform-specific equivalents.
64d739c4 10954 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10955 specific functions and macros as their w32 equivalents where
10956 non-platform-specifics are not available.
10957 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10958 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10959 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10960 (frame_update_line_height): Use macros to access f->output_data.
10961 (defined_color): Remove FIXME comments; fixed.
10962 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10963 into #ifdef blocks. Add WINDOWSNT blocks.
10964 (Fx_list_fonts): Use macros for accessing font data.
10965 (set_lface_from_font_name): Different default fonts for X and
10966 WINDOWSNT.
10967 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10968 scalable for backward compatibility.
64d739c4 10969 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10970 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10971
64d739c4 10972 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10973 syms_of_w32faces.
10974
10975 * makefile.nt (w32faces.obj): Remove.
10976 (xfaces.obj): Add.
10977
807cc41c
JR
109782000-03-03 Jason Rumney <jasonr@gnu.org>
10979
10980 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10981 correct parameters.
10982
0007072a
KR
109832000-03-03 Ken Raeburn <raeburn@gnu.org>
10984
10985 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10986 standard ELF definitions here if the system header does not.
10987
71a6ba55
GM
109882000-03-03 Gerd Moellmann <gerd@gnu.org>
10989
10990 * xterm.c (PER_CHAR_METRIC): Removed.
10991 (x_per_char_metric_1, x_default_char): New functions.
10992 (x_per_char_metric): If font's default char is invalid, return
10993 metrics of a suitably chosen usable default char.
10994 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10995 char, replace occurrences of unprintable chars with a suitably
10996 chosen usable default char.
71a6ba55 10997
900fa1f1
GM
109982000-03-02 Gerd Moellmann <gerd@gnu.org>
10999
42f55fe0
GM
11000 * xterm.c (note_mouse_highlight): Return quickly if frame's
11001 glyph matrices have been freed.
11002
11003 * dispnew.c (free_glyphs): Block input while freeing matrices.
11004
900fa1f1
GM
11005 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11006
52283633
SM
11007 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11008 Use x_free_colors.
900fa1f1
GM
11009
11010 * dispextern.h (x_free_colors): Add prototype.
11011
11012 * xfaces.c (x_free_colors): New function.
11013 (unload_color, free_face_colors): Use it.
11014
2f950292
EZ
110152000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11016
11017 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11018
11019 * window.c [MSDOS]: Include msdos.h.
11020
54d04320
DL
110212000-03-02 Dave Love <fx@gnu.org>
11022
11023 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11024
11025 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11026 set C_OPTIMIZE_SWITCH for gcc.
11027
0ba93ac4
KH
110282000-03-02 Kenichi Handa <handa@etl.go.jp>
11029
11030 * coding.c (coding_save_composition): Be sure to allocate
11031 composition data area in coding even if there's no composition in
11032 the current run.
11033
a2bc11d4
JR
110342000-03-01 Jason Rumney <jasonr@gnu.org>
11035
11036 * w32term.c: Equivalent changes to those made to xterm.c on
11037 2000-02-25 and 2000-02-24.
11038
11039 * w32fns.c: Equivalent changes to those made to xfns.c on
11040 2000-02-25 and 2000-02-21.
11041
11042 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11043 correct line-end convention is followed.
11044
11045 * w32menu.c [HAVE_BOXES]: Remove #undef.
11046 (single_keymap_panes): Remove code for simulating checkmarks.
11047 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11048 Remove code for drawing simulated checkmarks.
11049 (w32_menu_show): make unibyte help string correctly.
11050 (add_menu_item): draw standard Windows checkmarks. Draw radio
11051 buttons as radio buttons if possible.
11052
72d19d75
GM
110532000-03-01 Gerd Moellmann <gerd@gnu.org>
11054
2df636f4
GM
11055 * sysdep.c (start_of_text): Don't define this function for NetBSD
11056 with ELF.
11057
427ec082 11058 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11059 Don't define.
11060 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11061 (LINKER): Don't undef if __NetBSD__ is defined.
11062
11063 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11064
11065 * fileio.c [__NetBSD__]: Define `unix'.
11066
72d19d75
GM
11067 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11068
ed4d0512
GM
110692000-02-29 Gerd Moellmann <gerd@gnu.org>
11070
50b1039f
GM
11071 * atimer.c (start_atimer): Don't abort when timers are stopped.
11072 (append_atimer_lists): New function.
11073 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11074 arbitrary lists of stopped and running atimers.
11075
ed4d0512
GM
11076 * atimer.c (cancel_atimer): Handle canceling an atimer when
11077 some timers are stopped.
11078
11079 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11080 after canceling it.
11081
11082 * fns.c (maybe_resize_hash_table): Handle case of new size
11083 coming out as being the same as old size.
11084
387023ee
JR
110852000-02-27 Jason Rumney <jasonr@gnu.org>
11086
11087 * makefile.nt: Add atimer.h to dependencies.
11088 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11089 * w32console.c: Only disable window system features for dispextern.h
11090 (initialize_w32_display): Build a display info for the console.
11091 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11092 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11093 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11094 as 2 button mice.
11095 * w32gui.h (struct W32FontStruct): Revert last change after change
11096 to xdisp.c.
11097 * w32menu.c (single_submenu): Set up help string.
11098 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11099 (w32_dialog_show): Set up help string.
11100 * w32term.c (w32_display_info_for_display): Remove unused function.
11101 (w32_draw_bitmap): Use pre-built bitmaps.
11102 (w32_initialize_display_info): New function to initialize parts of
11103 display info that are common to both GUI and console frames.
11104 (w32_term_init): Use w32_initialize_display_info. Do not set
11105 Vw32_num_mouse_buttons here, as it is not called for console
11106 frames. Build bitmaps for indicating truncated lines etc.
11107 (x_delete_display): Destroy pre-built bitmaps.
11108 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11109 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11110
4516715a
DL
111112000-02-27 Dave Love <fx@gnu.org>
11112
11113 * lisp.h: Add a bunch of prototypes.
11114
171ca836
KH
111152000-02-26 Kenichi Handa <handa@etl.go.jp>
11116
11117 * keyboard.c (read_char): Set `usec' correctly.
11118
4013921d
KH
111192000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11120
11121 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11122 `lambda', set reg[RRR] to the map index.
11123 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11124 reg[RRR] to 0. Otherwise, set it to -1.
11125
9244a058
GM
111262000-02-25 Gerd Moellmann <gerd@gnu.org>
11127
2df636f4 11128 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11129
18e21ce8 111302000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11131
f43d79c1
GM
11132 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11133 and contains a `:', prepend `/:'.
11134
11135 * window.c (select_window_1): If selected_window is nil,
11136 don't "swap out" the buffer's point.
11137 (Fset_window_configuration): Set selected_window to nil
11138 before calling Fselect_window.
11139 (unshow_buffer): Don't set point in buffer from window's point
11140 if another more recently selected window also shows the buffer.
11141
bed0c171
GM
111422000-02-25 Gerd Moellmann <gerd@gnu.org>
11143
449c3c52
GM
11144 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11145
f5b58615
GM
11146 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11147 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11148 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11149 New variables.
f5b58615
GM
11150 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11151 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11152 (hide_busy_cursor): New functions.
11153 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11154
11155 * minibuf.c (read_minibuf): Cancel busy-cursor.
11156
11157 * keyboard.c (command_loop_1): Call start_busy_cursor before
11158 Fcommand_execute and cancel_busy_cursor after it.
11159 (timer_check): Remove busy-cursor code.
11160 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11161 cursor timer.
11162
11163 * process.c (wait_reading_process_input): Remove busy-cursor code.
11164
11165 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11166 Fx_hide_busy_cursor.
11167
11168 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11169 Remove prototyoes.
11170 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11171
11172 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11173
11174 * xterm.c (XTread_socket): Remove busy-cursor code.
11175
4eb8436f
GM
11176 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11177 (build_frame_matrix_from_leaf_window): Put code handling
11178 glyph row's not being a slice of a frame row in #if 0.
11179 (sync_window_with_frame_matrix_rows): New function.
11180 (frame_row_to_window): New function.
11181 (mirror_line_dance): Handle copies between windows.
11182
3cb65b0e
GM
11183 * lread.c (Fload): Use `xfree' instead of `free'.
11184 (init_obarray): Use `xmalloc' instead of `malloc'.
11185
bed0c171
GM
11186 * window.c (Fset_window_buffer): Set WINDOW to the window
11187 after decoding.
2add4349
GM
11188 (coordinates_in_window): Take frame's internal border width
11189 into account.
bed0c171 11190
42088c12
GM
111912000-02-24 Gerd Moellmann <gerd@gnu.org>
11192
11193 * xterm.c (x_display_and_set_cursor): Display cursor of
11194 non-selected windows depending on the setting of
11195 cursor_in_non_selected_windows.
11196
11197 * xdisp.c (cursor_in_non_selected_windows): New variable.
11198 (syms_of_xdisp): DEFVAR_BOOL it.
11199
d1e103b2
GM
112002000-02-23 Gerd Moellmann <gerd@gnu.org>
11201
723e779c
GM
11202 * data.c (Fstring_to_number): If number is greater than what
11203 fits into an integer, return a float.
11204
d1e103b2
GM
11205 * eval.c (specbind): Remove references to
11206 keyword_symbols_constant_flag.
11207
11208 * data.c (keyword_symbols_constant_flag): Removed.
11209 (Fmakunbound, set_internal, syms_of_data): Remove references to
11210 keyword_symbols_constant_flag.
11211
11212 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11213
214f877f
KH
112142000-02-23 Kenichi Handa <handa@etl.go.jp>
11215
11216 * syntax.c (multibyte_syntax_as_symbol): New variable.
11217 (syms_of_syntax): Declare it as a Lisp variable.
11218 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11219 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11220 nonzero, treat all multibyte characters as symbol.
52283633 11221 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11222
130adcb7
EZ
112232000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11224
3cb65b0e 11225 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11226 a deleted frame.
130adcb7 11227
17cbbf95
GM
112282000-02-21 Gerd Moellmann <gerd@gnu.org>
11229
11230 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11231
11232 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11233 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11234
beb0bc36
DL
112352000-02-21 Dave Love <fx@gnu.org>
11236
11237 * frame.c (Vmouse_position_function): New variable.
11238 (Fmouse_position): Use it.
11239 (syms_of_frame): Install it.
11240
11241 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11242
1d92afcd
GM
112432000-02-20 Gerd Moellmann <gerd@gnu.org>
11244
11245 * fileio.c (Finsert_file_contents): Unbind the binding of
11246 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11247
11248 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11249 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11250 (specbind, unbind_to): Handle most common case of non-constant
11251 symbol with trivial value specially.
11252
11253 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11254
18e21ce8 112552000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11256
11257 * data.c (Fmake_variable_buffer_local): Doc fix.
11258 Init found_for_buffer to 0.
11259 (Fmake_variable_frame_local): If the variable has already
11260 been buffer-local, set the check_frame field.
11261
1d4311c3
EZ
112622000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11263
11264 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11265 produced for CODING_MODE_LAST_BLOCK requires.
11266
2dc95ddd
DL
112672000-02-18 Dave Love <fx@gnu.org>
11268
11269 * keyboard.c (echo_keystrokes): Remove declaration.
11270 (Vecho_keystrokes) New variable.
11271 (read_char, record_menu_key, read_key_sequence): Use it to allow
11272 use of float value.
11273 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11274
11275 * lread.c: Undef feature selection macros before defining.
11276
f0930f35
GM
112772000-02-18 Gerd Moellmann <gerd@gnu.org>
11278
11279 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11280 for symbols other than the symbol in question.
11281
e3d4de90
DL
112822000-02-17 Dave Love <fx@gnu.org>
11283
11284 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11285
0b378936
GM
112862000-02-17 Gerd Moellmann <gerd@gnu.org>
11287
d621caf7
GM
11288 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11289
0b378936
GM
11290 * alloc.c (enum mem_type): Compile unconditionally.
11291
3b451f74
EZ
112922000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11293
11294 * xfaces.c (tty_defined_color): Don't return faulire indication
11295 for unspecified-fg and unspecified-bg pseudo-colors.
11296
10689a01
GM
112972000-02-17 Gerd Moellmann <gerd@gnu.org>
11298
1216f5e4
GM
11299 * alloc.c (mark_object): Don't mark symbol names in pure space.
11300 (gc_sweep): Don't unmark symbol names in pure space.
11301
11302 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11303 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11304 [GC_MARK_STACK]: New defines.
427ec082 11305 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11306 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11307
11308 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11309
11310 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11311 allocate_buffer instead of xmalloc.
11312
11313 * alloc.c (toplevel): Include setjmp.h.
11314 (PURE_POINTER_P): New define.
11315 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11316 (Vdead) [GC_MARK_STACK]: New variable.
11317 (lisp_malloc): Add parameter TYPE, call mem_insert if
11318 GC_MARK_STACK is defined.
11319 (allocate_buffer): New function.
427ec082 11320 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11321 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11322 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11323 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11324 (MEM_NIL) [GC_MARK_STACK]: New define.
11325 (struct mem_node) [GC_MARK_STACK]: New structure.
11326 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11327 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11328 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11329 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11330 (mark_stack) [GC_MARK_STACK]: New functions.
11331 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11332 (clear_marks): Removed.
11333 (gc_sweep): Set free conses' car, free floats' type, free
11334 symbols' function to Vdead. Use lisp_free to free buffers.
11335 (init_alloc_once): Initialize Vdead.
11336 (survives_gc_p): Return non-zero for pure objects.
11337
11338 * alloc.c: Add comments throughout the file.
11339
2503c8b1
GM
11340 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11341 that unblocks alarms.
11342
8389e1e2
GM
11343 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11344 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11345 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11346
10689a01 11347 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11348
bfc17d18
KH
113492000-02-17 Kenichi Handa <handa@etl.go.jp>
11350
4a09dee0
KH
11351 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11352 avoid infinite error signaling. Allocate sufficient memory for
11353 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11354
2b927d02
SM
113552000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11356
11357 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11358 depends on the previous behavior.
11359
b49cb764
GM
113602000-02-16 Gerd Moellmann <gerd@gnu.org>
11361
11362 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11363
99e95407
GM
113642000-02-15 Gerd Moellmann <gerd@gnu.org>
11365
11366 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11367
11368 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11369 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11370 write(2).
11371
6ffd3cf7
RS
113722000-02-15 Richard M. Stallman <rms@gnu.org>
11373
11374 * data.c (set_internal): Don't make variable buffer-local
11375 if within a let-binding for the same buffer.
11376 (let_shadows_buffer_binding_p): New function.
11377
11378 * eval.c (specbind): For buffer-local value,
11379 record the current buffer also.
11380 (unbind_to): Cope with that change.
11381
cad53475
GM
113822000-02-15 Gerd Moellmann <gerd@gnu.org>
11383
11384 * window.c (Fsave_window_excursion): Doc fix.
11385
1aa963c8
SM
113862000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11387
11388 * syntax.c (back_comment): Make sure we only consider comment-starters
11389 of the relevant style and return -1 in case of a failure to find the
11390 beginning of the comment.
11391 (Fforward_comment): If back_comment fails, go back to the position just
11392 after the comment-end.
11393 (scan_lists): Add comment describing a very minor bug.
11394
b9b84fd3
SM
113952000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11396
11397 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11398 `completion-regexp-list' in the docstring.
11399
3a28db80
DL
114002000-02-14 Dave Love <fx@gnu.org>
11401
11402 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11403
fb4a568d
SM
114042000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11405
11406 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11407 to Emacs' syntax. Also fix the comment about set/not-set meanings
11408 since Emacs syntax is not the value 0 any more.
11409 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11410 since it's now part of RE_SYNTAX_EMACS.
11411
1063ebb5
DL
114122000-02-12 Dave Love <fx@gnu.org>
11413
52283633 11414 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11415
fb07a302
GM
114162000-02-12 Gerd Moellmann <gerd@gnu.org>
11417
11418 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11419
aaf2320c
DL
114202000-02-12 Dave Love <fx@gnu.org>
11421
11422 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11423
11424 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11425 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11426 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11427
11428 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11429
11430 * s/nextstep.h: Don't define HAVE_ALLOCA.
11431
11432 * config.in: Add vfork bits.
11433
eedf8bde
GM
114342000-02-12 Gerd Moellmann <gerd@gnu.org>
11435
11436 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11437 unwind function to undo the effect of stopping atimers.
11438
52283633 11439 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11440
11441 * atimer.c (stopped_atimers): New variable.
11442 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11443 New functions.
11444
11445 * atimer.h (stop_other_atimers, run_all_atimers)
11446 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11447
eedf8bde
GM
11448 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11449
8476c2f8
KR
114502000-02-11 Ken Raeburn <raeburn@gnu.org>
11451
11452 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11453 library may depend on jpeg.
11454 (atimer.o): Depends on atimer.c.
11455
0e85e4a3
KH
114562000-02-11 Kenichi Handa <handa@etl.go.jp>
11457
11458 * insdel.c (del_range_1): Call update_compositions.
11459 (del_range_both): Call update_compositions just once..
11460
97fa0cc8
DL
114612000-02-10 Dave Love <fx@gnu.org>
11462
11463 * xfns.c (create_frame_xic): Fix initialization of automatic
11464 aggregates for pcc.
11465
25566a3c
KH
114662000-02-09 Kenichi Handa <handa@etl.go.jp>
11467
11468 * ccl.c (CCL_MAKE_CHAR): New macro.
11469 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11470 registers by CCL_MAKE_CHAR before calling translate_char.
11471 <CCL_TranslateCharacterConstTbl> Likewise.
11472
69da54ba
DL
114732000-02-08 Dave Love <fx@gnu.org>
11474
11475 * lread.c (__EXTENSIONS__): Define.
11476
f7136ee8
GM
114772000-02-08 Gerd Moellmann <gerd@gnu.org>
11478
11479 * puresize.h (BASE_PURESIZE): Increase to 650000.
11480
7768790b
EZ
114812000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11482
11483 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11484 the help message.
11485
38fd211b
EZ
114862000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11487
11488 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11489 md, mh, mb, mr, and me to the fake termcap entry.
11490
66e4690f
KR
114912000-02-06 Ken Raeburn <raeburn@gnu.org>
11492
11493 * sound.c (sound_cleanup): Don't call device close routine if the
11494 function pointer is null.
11495
a75dfea0
AI
114962000-02-06 Andrew Innes <andrewi@gnu.org>
11497
11498 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11499 around image definitions and prototypes.
11500 (gamma_correct) [WINDOWSNT]: New prototype.
11501
11502 * w32term.c (x_make_frame_visible): Replace call to
11503 input_poll_signal with poll_for_input.
11504
11505 * window.c [WINDOWSNT]: Include w32term.h.
11506
11507 * xdisp.c [WINDOWSNT]: Include w32term.h.
11508
11509 * makefile.nt: Add dependencies on w32gui.h.
11510 (OBJ1): Include atimer.obj.
11511 ($(BLD)\atimer.obj): New dependency rule.
11512
11513 * w32.c (sigmask): New function (does nothing).
11514 (sigunblock): Ditto.
11515
11516 * frame.c [WINDOWSNT]: Include w32term.h.
11517
11518 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11519
11520 * lread.c (syms_of_lread): Fix literal newlines.
11521
11522 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11523 the string constant limit (2048 bytes) in MSVC.
11524 (main): Ditto.
11525
59ddecde
GM
115262000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11527
52283633 11528 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11529 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11530 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11531 dispatch the event.
11532
07590973
DL
115332000-02-04 Dave Love <fx@gnu.org>
11534
11535 * fileio.c: Remove some unused vars.
11536 (_GNU_SOURCE): Define (for euidaccess).
11537
11538 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11539
11540 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11541 gcpro1, gcpro2.
11542 (read_minibuf): Deal with allow_props correctly.
11543
649351f9
EZ
115442000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11545
11546 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11547
66e4690f 115482000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11549
11550 * search.c (compile_pattern): If a cache entry has a nil regexp,
11551 fill in that entry instead of clobbering a previously cached
11552 string regexp.
11553
66e4690f 115542000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11555
11556 * puresize.h (BASE_PURESIZE): Increase to 610000.
11557
d240a249
GM
115582000-02-02 Gerd Moellmann <gerd@gnu.org>
11559
11560 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11561 can GC.
11562
ca91fb26
KH
115632000-02-02 Kenichi Handa <handa@etl.go.jp>
11564
25660570
KH
11565 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11566 instead of incrementing ic directly.
11567 <CCL_WriteExprConst> Likewise.
11568 <ccl_set_expr>: Set ic to jump_address.
11569
ca91fb26
KH
11570 * fileio.c (e_write): Fix the handling of
11571 CODING_FINISH_INSUFFICIENT_SRC.
11572
2ede9689
DL
115732000-02-01 Dave Love <fx@gnu.org>
11574
11575 * editfns.c (Fpropertize): Doc fix.
11576
11577 * process.c (Fstart_process): Doc fix.
11578
11579 * eval.c: Fix various doc strings not to duplicate information
11580 from help-manyarg-func-alist.
11581
52283633 11582 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11583
11584 * doc.c (Vhelp_manyarg_func_alist): New variable.
11585 (Fdocumentation): Use it.
11586 (syms_of_doc): Define it.
11587
b6680a0e
GM
115882000-01-31 Gerd Moellmann <gerd@gnu.org>
11589
2cb750ba
GM
11590 * xterm.c (xim_open_dpy): Remove unused local variable.
11591
52283633 11592 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11593
11594 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11595 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11596
b6680a0e
GM
11597 * fns.c (sweep_weak_table): New function.
11598 (sweep_weak_hash_tables): Use it. Keep on marking until there
11599 is no more change.
11600
994c5afe
GM
116012000-01-30 Gerd Moellmann <gerd@gnu.org>
11602
11603 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11604 that XTread_socket does not crash by trying to call XNoOp on a
11605 closed display.
427ec082 11606
f00276e3
JR
116072000-01-30 Jason Rumney <jasonr@gnu.org>
11608
11609 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11610 Change selected_frame to SELECTED_FRAME ().
11611 (w32_console_mouse_position): Remove #ifndef MULE from around
11612 `insist' parameter.
11613
11614 * makefile.nt: Remove dosfns.obj.
11615
11616 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11617
11618 * w32fns.c (w32_defined_color): Check for valid frame before
11619 applying gamma correction. Eliminate dependency on frame elsewhere.
11620 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11621 (w32_to_x_font): Use resx and resy not height_in and width_in.
11622 (x_to_w32_font): Doc fix.
11623 (xlfd_strip_height): New function to strip and return font height.
11624 (w32_font_match): Compare height separately from rest of xlfd
11625 spec, using xlfd_strip_height.
11626
11627 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11628 width_in. Use w32_defined_color in place of defined_color.
11629
11630 * w32faces.c: Merge more of DOS and X specifics in preparation for
11631 merge with xfaces.c.
11632 (defined_color): Remove FIXME comment.
11633 (tty_color_name): Provide w32-specific function.
11634 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11635
11636 * w32console.c (turn_on_face, turn_off_face): Removed.
11637 (w32_face_attributes): New function.
11638 (Global_variables): Reduce scope where possible.
11639 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11640 fill attribute.
11641 (hl_mode): Don't modify text attributes.
11642 (write_glyphs): Don't do anything if len <= 0. Use
11643 w32_face_attributes to get attributes for drawing. Write
11644 terminating codes using char_attr_normal.
11645 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11646 (update_begin, update_end): Likewise.
11647 (vga_stdcolor_name): New function.
11648 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11649 (Fset_screen_color): Remove char_attr_reverse.
11650
b08e8bb2
GM
116512000-01-29 Gerd Moellmann <gerd@gnu.org>
11652
11653 * xfns.c (xic_set_preeditarea): Take window parameter and
11654 window-relative pixel-positions.
11655
11656 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11657 is its frame's selected window.
11658 (xim_instantiate_callback): Likewise.
11659
11660 * xfns.c (x_create_im): Removed.
11661 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11662 (supported_xim_styles): Renamed from supported_styles.
11663 (best_xim_style): Renamed from best_style.
11664 (create_frame_xic): Renamed from xic_create_frame.
11665 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11666
b08e8bb2
GM
116672000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11668
11669 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11670 our frames, call XFilterEvent with 2nd parameter `None'.
11671 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11672 returning XBufferOverflow.
52283633 11673 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11674 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11675 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11676 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11677 (xim_initialize, xim_close)
11678 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11679 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11680 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11681 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11682
11683 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11684 and `xim_styles'.
11685 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11686 `xic_style' and `xic_xfs'.
11687 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11688 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11689 (FRAME_XIM): Removed.
11690
11691 * xfns.c (supported_styles): New variable.
11692 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11693 (xic_create_xfontset, best_style, xic_create_frame)
11694 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11695 (xic_set_xfontset): New functions.
11696
142e109c
DL
116972000-01-28 Dave Love <fx@gnu.org>
11698
11699 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11700
11701 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11702
b02786f9
GM
117032000-01-28 Gerd Moellmann <gerd@gnu.org>
11704
d060bc9f
GM
11705 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11706 for *scratch* if it already existed.
11707
b02786f9
GM
11708 * emacs.c (USAGE): New macro.
11709 (main): Use it to display usage information.
11710
2c52d7e4
EZ
117112000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11712
11713 Support for the menu-help feature:
11714
52283633 11715 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11716
11717 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11718 part of the line to the termscript file.
11719 (IT_clear_to_end): Clear the entire line, not just its beginning.
11720 (menu_help_message, prev_menu_help_message): New variables.
11721 (IT_menu_make_room): Make room for the help_text member.
11722 (IT_menu_display): New argument disp_help; all callers changed.
11723 If disp_help is non-zero, store the help text of the active menu
11724 item in menu_help_message.
11725 (XMenuAddPane): Initialize the help_text member to NULL.
11726 (XMenuAddSelection): New argument help_text. Store it in the
11727 XMenu structure.
11728 (XMenuActivate): New argument help_callback. If the value of
11729 menu_help_message has changed since the last time, display the
11730 menu help message text while waiting for the mouse to move. Clear
11731 the echo area before exiting.
11732 (XMenuDestroy): Free the help_text member.
11733
ffe0bcd1
GM
117342000-01-27 Gerd Moellmann <gerd@gnu.org>
11735
11736 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11737 XMenuAddSelection. Pass help callback to XMenuActivate.
11738 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11739
50dbd23f
EZ
117402000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11741
11742 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11743 and EMACS_SET_USECS.
11744
f5941bf8
GM
117452000-01-26 Dave Love <fx@gnu.org>
11746
6c67ddee
DL
11747 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11748
f5941bf8
GM
11749 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11750 an error may be signalled.
11751
9e49c990
GM
117522000-01-26 Gerd Moellmann <gerd@gnu.org>
11753
fc3cb460
GM
11754 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11755 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11756
9e49c990
GM
11757 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11758
d0c037d8
GM
117592000-01-25 Gerd Moellmann <gerd@gnu.org>
11760
11761 * charset.c (Fstring): If there is a multibyte char among
11762 the args, always return a multibyte string.
11763
e12489f9
GM
117642000-01-25 Gerd Moellmann <gerd@gnu.org>
11765
11766 * sysdep.c (sys_select): Turn atimers off and on instead of
11767 recording and restoring old alarm handler
11768
11769 * process.c (toplevel): Include atimer.h.
11770 (create_process_1): Rewritten.
11771 (create_process): Use atimers instead of alarm.
11772 (wait_reading_process_input) [hpux]: Turn atimers off instead
11773 of turning off SIGALRM.
11774 (wait_reading_process_input): Turn off atimers instead off
11775 calling stop_polling.
11776
11777 * emacs.c (main): Call init_atimer.
11778
11779 * keyboard.c (toplevel): Include systime.h and atimer.h.
11780 (polling_for_input): Removed because unused.
11781 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11782 (poll_timer): New variable.
11783 (poll_for_input, poll_for_input_1): New functions.
11784 (start_polling, stop_polling): Rewritten.
11785
11786 * keyboard.h (polling_for_input): Removed.
427ec082 11787
e12489f9
GM
11788 * atimer.h, atimer.c: New files.
11789
11790 * Makefile.in (obj): Add atimer.o.
11791 (atimer.o): New target.
11792
11793 * blockinput.h (pending_atimers): Add extern declaration.
11794 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11795
11796 * lisp.h (popup_activated_flag): Add extern declaration.
11797
11798 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11799 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11800 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11801
11802 * xterm.c (toplevel): Include atimer.h.
11803 (toolkit_scroll_bar_interaction): New variable.
11804 (Fxt_process_timeouts): Removed.
11805 (x_process_timeouts): New function.
11806 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11807 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11808 (x_make_frame_visible): Call poll_for_input_1 instead of
11809 input_poll_signal. Don't call alarm.
11810 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11811
1e5279b9
DL
118122000-01-24 Dave Love <fx@gnu.org>
11813
6c67ddee 11814 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11815 Don't use -cckr -- apparently not now necessary.
11816
edf6aeb8
EZ
118172000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11818
11819 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11820 screen boundary.
11821
9badad41
JR
118222000-01-23 Jason Rumney <jasonr@gnu.org>
11823
11824 * w32fns.c (w32_defined_color): Apply gamma correction before
11825 trying to map to the palette.
11826 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11827 to w32_clear_rect.
11828
11829 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11830 here. Callers changed to always pass real device context.
11831 (w32_draw_bitmap): Likewise.
11832 (w32_get_glyph_overhangs): Likewise.
52283633 11833 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11834 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11835 pfnSetScrollInfo and SetScrollRange.
11836 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11837 back into MULE characters after decoding them.
11838 (x_get_glyph_face_and_encoding): Likewise.
11839 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11840 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11841 (x_produce_glyphs): Calculate per char metrics for a character
11842 that we know exists in default font when font_not_found_p is true.
11843
63bd786b
JR
118442000-01-22 Jason Rumney <jasonr@gnu.org>
11845
11846 * makefile.nt (intervals.obj, composite.obj): New modules.
11847 (composite.h): Added as dependency where appropriate.
11848
11849 * w32gui.h (XGCValue): New struct for emulating X GCs.
11850
11851 * w32term.h (XCharStruct): New struct for emulating X.
11852
11853 * w32console.c (turn_on_face, turn_off_face): New functions.
11854 (change_line_highlight): New prototype for new redisplay.
11855 (write_glyphs): Support multibyte text. Support faces.
11856
52283633 11857 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11858
11859 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11860 throughout. struct frame * in place of FRAME_PTR.
11861 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11862 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11863 (w32_get_arg): Renamed from x_get_arg.
11864 (Fx_file_dialog): New function.
11865 (w32_list_fonts): Check cache before asking system.
11866 (Vw32_enable_synthesized_fonts): New variable.
11867 (Vw32_enable_italics): Obsolete, removed.
11868
11869 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11870 Use SELECTED_FRAME macro.
11871
11872 * w32menu.c: Add skeleton support for help strings on menus.
11873 (add_menu_item): Native checkbox and radio support added, but not
11874 yet enabled due to bugs.
11875 (push_menu_item): Add parameters type, selection and help.
11876 Callers updated.
11877 Formatting changes to reduce unnecessary diffs with xmenu.c.
11878
11879 * w32select.c (Fw32_set_clipboard_data): Update call to
11880 find_charset_in_str.
11881
11882 * w32term.c: Complete rewrite for new redisplay based on new
11883 xterm.c with necessary sections merged back in from old w32term.c.
11884
6ffd3cf7 118852000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11886
11887 * data.c (set_internal): Further fix in same criterion.
11888
6ffd3cf7 118892000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11890
11891 * data.c (set_internal): Fix the criteria for whether
11892 to swap out the old cached binding.
11893
60af03f1
DL
118942000-01-19 Dave Love <fx@gnu.org>
11895
11896 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11897
f9be074f
KH
118982000-01-18 Kenichi Handa <handa@etl.go.jp>
11899
11900 * regex.c (re_compile_fastmap): While checking a range table for
11901 `charset', skip flag bits for a character class correctly.
11902
52b8dbf9
GM
119032000-01-17 Gerd Moellmann <gerd@gnu.org>
11904
d36100c9
GM
11905 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11906
52283633 11907 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11908
11909 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11910 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11911
11912 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11913 MENU_ITEMS_ITEM_.*.
11914 (MENU_ITEMS_ITEM_HELP): New enumerator.
11915 (push_menu_item): Add parameter HELP. Record help in menu_items.
11916 (single_menu_item, single_submenu, list_of_items): Call
11917 push_menu_item with new parameter.
11918 (single_submenu): Set help string in widget value.
11919 (menu_highlight_callback): New function.
11920 (set_frame_menubar): Call lw_create_widget with new
11921 parameter list.
11922 (xmenu_show, xdialog_show): Ditto.
11923
3139018f
GM
119242000-01-13 Gerd Moellmann <gerd@gnu.org>
11925
11926 * sound.c (Fplay_sound): Improve doc string.
11927
83c8f461
RS
119282000-01-11 Richard M. Stallman <rms@gnu.org>
11929
11930 * lisp.h (set_internal): Enter the new arg.
11931
11932 * eval.c (specbind): Record buffer-local variables specially,
11933 indicating which buffer's binding was saved.
11934 (unbind_to): Restore buffer-local variables specially
11935 in the proper buffer.
11936
11937 * data.c (set_internal): New arg BUF.
427ec082 11938
83c8f461
RS
11939 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11940 * data.c (Fset): Pass new arg to set_internal.
11941 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11942
1fab1775
GM
119432000-01-11 Gerd Moellmann <gerd@gnu.org>
11944
52283633 11945 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11946
83c8f461 119472000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11948
11949 * minibuf.c (Ftry_completion): Doc fix.
11950
7a85e4df
GM
119512000-01-11 Gerd Moellmann <gerd@gnu.org>
11952
11953 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11954 vector, too.
11955
a970dae4
AS
119562000-01-11 Andreas Schwab <schwab@suse.de>
11957
11958 * coding.c (code_convert_region): Initialize total_skip.
11959
c65d14ee
DL
119602000-01-08 Dave Love <fx@gnu.org>
11961
11962 * eval.c (Fuser_variable_p): Check customizability too.
11963
834938d2
GM
119642000-01-07 Gerd Moellmann <gerd@gnu.org>
11965
11966 * minibuf.c (Fcompleting_read): Doc fix.
11967
e0303cd6
GM
119682000-01-05 Gerd Moellmann <gerd@gnu.org>
11969
8a26744b
GM
11970 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11971 -L /usr/local/lib.
11972
e0303cd6
GM
11973 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11974 Check that input style is supported before trying to create an
11975 IC for it.
11976 (x_window): Call x_create_im.
427ec082 11977
2e471eb5
GM
119782000-01-04 Gerd Moellmann <gerd@gnu.org>
11979
560a7bd2
GM
11980 * xfns.c (current_gif_memory_src): New variable.
11981 (gif_load): Record the address of the current memory source
11982 in current_gif_memory_src.
11983 (gif_read_from_memory): Use current_gif_memory_src.
11984
f9ee84a3
GM
11985 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11986 macros statement form.
11987
d1299cde
GM
11988 * sound.c (struct sound): Renamed from struct sound_file.
11989 (struct sound): Add members `data' and `header_size'.
11990 (enum sound_attr): Add SOUND_DATA.
11991 (current_sound, current_sound_device): Variables renamed from
11992 sound_file and sound_device.
11993 (parse_sound): Parse :data.
11994 (parse_sound): Handle sound data in strings.
11995 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11996 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11997 needed header size.
11998 (wav_play, au_play): Play sounds from string data.
11999
2e471eb5
GM
12000 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12001
12002 * lisp.h: Add prototype for allocate_string_data.
12003
52283633 12004 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12005
12006 * alloc.c (mark_buffer): Remove code in #if 0.
12007 (gc_sweep): Ditto.
12008 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12009 (strings_consed): New variable.
12010 (allocate_string): Set it.
12011 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12012 (Fmemory_use_counts): Return strings_consed. Use Flist.
12013
12014 * alloc.c: General cleanup in comments etc. Remove conditional
12015 compilation for `standalone'.
12016
12017 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12018
12019 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12020 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12021 (DONT_COPY_FLAG): Removed.
12022 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12023 (struct sdata, struct sblock): New
12024 (struct string_block): Rewritten.
12025 (STRINGS_IN_STRING_BLOCK): New macro.
12026 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12027 (large_sblocks, string_blocks, string_free_list): New variables.
12028 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12029 (init_strings): Rewritten.
12030 (allocate_string, allocate_string_data, compact_small_strings)
12031 (free_large_strings, sweep_strings): New functions.
12032 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12033 (struct string_block_head, current_string_block)
12034 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12035 (STRING_PAD): Removed.
12036 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12037 (Fgarbage_collect): Don't set mark bit in large strings.
12038 (mark_object): Mark strings differently. Mark symbol names
12039 differently.
12040 (survives_gc_p): Test marked strings differently.
427ec082 12041 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12042 symbol names.
12043 (compact_strings): Removed.
12044
42608ba8
EZ
120452000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12046
12047 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12048 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12049
e0a09e1a
KH
120502000-01-04 Kenichi Handa <handa@etl.go.jp>
12051
dd9f0750 12052 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12053 in a non-empty buffer.
dd9f0750 12054
3c0f3b15 12055 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12056
44cd3ae5
GM
120572000-01-03 Gerd Moellmann <gerd@gnu.org>
12058
12059 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12060 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12061
12062 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12063
c182a70f
EZ
120642000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12065
12066 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12067 need to test for MSDOS frames.
12068
24480d5b
EZ
120692000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12070
12071 * dosfns.c (unspecified_colors): Remove.
12072 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12073 unspecified_bg.
12074 (msdos_stdcolor_name): Return strings for unspecified fore- and
12075 back-ground colors.
12076
12077 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12078 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12079 (tty_color_name): Return Lisp strings for unspecified fore- and
12080 back-ground colors.
12081 (Finternal_set_lisp_face_attribute): Remove the special treatment
12082 for Qunspecified_{f,b}g.
52283633 12083 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12084
047f434a
GM
120852000-01-03 Gerd Moellmann <gerd@gnu.org>
12086
12087 * xdisp.c (reseat_at_next_visible_line_start): Position before
12088 newline only if ending up on a newline.
12089 (next_element_from_ellipsis): Return success. Handle case of
52283633 12090 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12091 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12092 returns 0.
12093
d684c676
EZ
120942000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12095
12096 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12097 (Fcolor_supported_p): Renamed from face-color-supported-p.
12098
5fe1d139
EZ
120992000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12100
12101 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12102 list of colors renamed to tty-defined-color-alist.
12103 (tty_color_name): Pass the frame to tty-color-by-index.
12104 (realize_tty_face): tty-color-alist is now a function which
12105 accepts the frame as argument.
12106
52283633 12107 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12108
816be8b8
EZ
121092000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12110
12111 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12112 encode_terminal_code.
12113
b635321e
EZ
121142000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12115
12116 * dispnew.c (mode_line_string): Support termcap frames as well.
12117
9b784e96
GM
121182000-01-01 Gerd Moellmann <gerd@gnu.org>
12119
27189709
GM
12120 * syntax.c (Fforward_word): Undo previous change.
12121
12122 * editfns.c (Fconstrain_to_field): Don't constrain if
12123 inhibit-field-text-motion is non-nil.
12124 (Fline_beginning_position): Undo previous change.
12125 (Fline_end_position): Ditto.
12126
12127 * syntax.c (Fforward_word): Notice field boundaries only if
12128 inhibit-field-text-motion is nil.
12129
12130 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12131
12132 * editfns.c (Vinhibit_field_text_motion): New variable.
12133 (inhibit-field-text-motion): New DEFVAR_LISP.
12134 (Fline_beginning_position, Fline_end_position): Notice field
12135 boundaries only if inhibit-field-text-motion is nil.
12136
45158a91
GM
12137 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12138 All calls adjusted.
12139 (x_build_heuristic_mask): Likewise.
12140 (xbm_load_image_from_file): Change error output.
12141 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12142 (gif_load, gs_load, x_kill_gs_process): Ditto.
12143
9b784e96
GM
12144 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12145 color indices when accessing raster pixels.
63cec32f
GM
12146 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12147 one of :file or :data.
12148 (enum pbm_keyword_index): Add PBM_DATA.
12149 (pbm_format): Add :data.
12150 (pbm_image_p): Allow either :file or :data.
12151 (pbm_read_file): New function.
12152 (pbm_scan_number): Rewritten to read from string.
12153 (pbm_load): Support :data.
9b784e96 12154
2cb085db 12155See ChangeLog.8 for earlier changes.
6922b018
KH
12156
12157;; Local Variables:
49b3bd82 12158;; coding: iso-2022-7bit
6922b018 12159;; End: