(w32_createwindow): Undo last change.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
9ead1b60
AI
12001-09-05 Andrew Innes <andrewi@gnu.org>
2
3 * w32fns.c (w32_createwindow): Undo last change.
4
c3b497b3
GM
52001-09-05 Gerd Moellmann <gerd@gnu.org>
6
08e1d6df
GM
7 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
8
c3b497b3
GM
9 * xdisp.c (string_buffer_position): Use *single_char_property*
10 functions instead of the *single_property* functions.
11
8f860180
AI
122001-09-04 Andrew Innes <andrewi@gnu.org>
13
14 * w32term.c (w32_read_socket): Add more information to debugging output.
15
16 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
17 from Emacs frames, so that calls to GetClipBox in w32term.c
18 correctly report when part of a frame is visible (including
19 scrollbars, etc). This prevents repeated redrawing of frames when
20 only a scrollbar is visible.
21 (w32_wnd_proc): Add more frame information to debugging output.
22
2ee1aa00
SM
232001-09-03 Stefan Monnier <monnier@cs.yale.edu>
24
25 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
26
e3b22517
GM
272001-09-03 Gerd Moellmann <gerd@gnu.org>
28
7e376260
GM
29 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
30 help-echo for a string which doesn't have help-echo itself, use
31 get-char-property to obtain the help-echo from the string's buffer
32 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
33 have mouse-face, look ``under'' the string for mouse-face from an
34 overlay.
35 (fast_find_position): Add parameter STOP. In the final row, stop
36 before glyphs having STOP as object. Don't consider glyphs that
37 are not from a buffer.
38
e3b22517
GM
39 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
40
9a249bba
EZ
412001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
42
43 * fns.c (Fmd5): Doc fix.
44
c9979669
GM
452001-08-31 Gerd Moellmann <gerd@gnu.org>
46
47 * composite.c (update_compositions): Do nothing if
48 inhibit-modification-hooks is set.
49
9584e63a
GM
502001-08-30 Gerd Moellmann <gerd@gnu.org>
51
986ec8f2 52 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 53 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
54 glyph matrices etc. in a core dump.
55
92a25631
GM
56 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
57 (syms_of_xdisp): Initialize them.
58 (handle_single_display_prop): Don't change point, bind `object',
59 `position', and `buffer-position' instead to the object having the
2ee1aa00 60 `display' property, position in the object and position in the buffer.
92a25631 61
9584e63a
GM
62 * fileio.c (Finsert_file_contents): Don't change the multibyteness
63 of the buffer if REPLACE is non-nil.
64
d38633a3
GM
652001-08-29 Gerd Moellmann <gerd@gnu.org>
66
67 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
68
f4fccc1e
EZ
692001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
70
71 * w32term.c (x_set_glyph_string_background_width)
72 (show_mouse_face): Track the last changes in xterm.c.
73
eaaa65b0
GM
742001-08-28 Gerd Moellmann <gerd@gnu.org>
75
7b0870b2
GM
76 * xterm.c (x_set_glyph_string_background_width): Set the glyph
77 string's background width so that multi-line mouse-face is drawn
78 to the right edge of the window.
79 (show_mouse_face): Set the row's mouse_face_p flag after drawing
80 glyphs.
81
6b6e2422 82 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 83 before inserting/writing glyphs.
6b6e2422 84
eaaa65b0
GM
85 * xdisp.c (display_mode_element): Use string_byte_to_char to
86 determine character positions in strings, use chars_in_text
87 instead of strwidth.
88 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
89 a matrix as parameter; this is easier to use from GDB.
90
9ad62cf8
MB
912001-08-28 Miles Bader <miles@gnu.org>
92
2ee1aa00
SM
93 * textprop.c (Fprevious_single_char_property_change)
94 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 95
32171635
GM
962001-08-27 Gerd Moellmann <gerd@gnu.org>
97
47d57b22
GM
98 * fileio.c (Finsert_file_contents): Allocate, restore, and
99 free composition data in the case of REPLACE not being nil.
100
101 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
102 there exist overlay strings with newlines at POS.
103 (text_outside_line_unchanged_p): Return 0 if changes start at
104 START and overlays exist at START. Likewise for END.
105 (try_window_id): Give up if init_to_row_end returns 0.
106
32171635
GM
107 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
108 unconditionally.
109
e1249666
GM
1102001-08-24 Gerd Moellmann <gerd@gnu.org>
111
33954c45
GM
112 * keymap.c (access_keymap): Return the cdr of the binding of
113 a generic character instead of its definition (KEY . BINDING).
114
e1249666
GM
115 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
116 to 0 also in the REPLACE case.
117
fb4c6c96
AC
1182001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
119
120 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
121 open to determine whether file is readable (as for DOS_NT).
122
59ecf80b
GM
1232001-08-23 Gerd Moellmann <gerd@gnu.org>
124
125 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
126 coding.type is coding_type_no_conversion or coding_type_raw_text,
127 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
128 non-nil instead of just setting enable_multibyte_characters in the
129 buffer to nil.
130
40e33037
GM
1312001-08-22 Gerd Moellmann <gerd@gnu.org>
132
374388c3
GM
133 * dispextern.h (struct face_cache): Add member
134 menu_face_changed_p.
135
136 * xfaces.c (menu_face_changed_default): New variable.
137 (menu_face_changed_count): Variable removed.
138 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
139 the menu_face_changed_default flag, otherwise set the FRAME's
140 menu_face_changed_p flag if the `menu' face has been changed.
141 Prevent calling set_font_frame_param if FRAME is t.
142 (make_face_cache): Initialize cache's menu_face_changed_p
143 from menu_face_changed_default.
144 (realize_basic_faces): Look into the frame's face cache to
145 determine if the menu appearance needs updating.
146
40e33037
GM
147 * keymap.c (access_keymap): Fix last change to not consider
148 IDX when it has modifiers.
149
859ea4b8
GM
1502001-08-21 Gerd Moellmann <gerd@gnu.org>
151
152 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
153 . BINDING) exists, where GENERIC-CHAR is the generic character of
154 the charset of IDX, return BINDING unless there exists a binding
155 for IDX itself.
156
e8660d73
GM
1572001-08-16 Gerd Moellmann <gerd@gnu.org>
158
cca1b1d7
GM
159 * xrdb.c (SYSV): Don't define on Solaris 2.
160 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
161
e8660d73 162 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 163 of the screen line, not text line, containing IT's current position.
e8660d73 164
93aba6fc
GM
1652001-08-15 Gerd Moellmann <gerd@gnu.org>
166
288d4e06
GM
167 * window.c (window_scroll_pixel_based): Don't recenter if
168 PT is partially visible in the window.
169
3452efc2
SM
170 * xterm.c (expose_window_tree, expose_window, expose_line):
171 Return 1 when overwriting mouse-face.
82f053ab
GM
172 (expose_frame): If mouse-face was overwritten, redo it.
173
93aba6fc
GM
174 * xfaces.c (x_update_menu_appearance): Don't call
175 set_frame_menubar, let the next redisplay do it.
176
858a55c1
AI
1772001-08-14 Andrew Innes <andrewi@gnu.org>
178
179 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
180 drawing glyph string.
181
3a990b67
EZ
1822001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
183
184 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
185 running HI-UX/MPP.
186
04386463
GM
1872001-08-14 Gerd Moellmann <gerd@gnu.org>
188
189 * xfaces.c (x_update_menu_appearance): Save and restore value of
190 interrupt_input_blocked.
191
3e6385a4
GM
1922001-08-13 Gerd Moellmann <gerd@gnu.org>
193
b0e619b4
GM
194 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
195 a line start, move back to the line start.
3452efc2 196
0de73d5a
GM
197 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
198 exactly when a mini-buffer is active.
199
3e6385a4
GM
200 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
201 in units of 1/8 character on non window-system frames.
202 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
203
d1b5f629
EZ
2042001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
205
206 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
207 a doc string.
208
eaa2319f
GM
2092001-08-09 Gerd Moellmann <gerd@gnu.org>
210
8e3189f0
GM
211 * keyboard.c (Vpre_help_message): New variable.
212 (syms_of_keyboard): Initialize and staticpro it.
213 (show_help_echo): Record current message before displaying a
214 help-echo, and restore that message when clearing the help.
215
eaa2319f
GM
216 * xfns.c (x_create_im): Remove prototype.
217
218 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
219
220 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 221
eaa2319f
GM
2222001-08-08 Gerd Moellmann <gerd@gnu.org>
223
224 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 225 windows whose height has changed, disable partially visible lines.
eaa2319f 226
17fdcfc8
GM
2272001-08-07 Gerd Moellmann <gerd@gnu.org>
228
22d01aed 229 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 230 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 231
17fdcfc8
GM
232 * xdisp.c (start_display): Don't try to determine the continuation
233 lines width if lines are truncated. It's superfluous and leads to
234 incorrect results if POS is not visible in the window after
235 reseating the iterator at the previous line start.
236
8e3fe78e
GM
2372001-08-06 Gerd Moellmann <gerd@gnu.org>
238
239 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
240
98a8938c
GM
2412001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
242
243 * alloc.c (init_stack): Remove declaration.
244
18f9986a
GM
2452001-08-03 Gerd Moellmann <gerd@gnu.org>
246
5e1f85e0
GM
247 * keyboard.c (read_key_sequence): Check that key is an integer
248 before comparing it with quit_char.
249 (add_command_key): Use larger_vector.
250 (read_char_x_menu_prompt): Instead of converting symbol and
251 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 252 which cannot be confused with valid events.
5e1f85e0
GM
253 (read_char): When reading from Vunread_command_events, check for
254 events of the form (EVENT . disabled) instead of
255 (EVENT . nil).
256
18f9986a
GM
257 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
258 a float, determine the max height from the frame's height.
259
fbc7f2a6
GM
2602001-08-02 Gerd Moellmann <gerd@gnu.org>
261
262 * xdisp.c (redisplay_internal): Take message_cleared_p into
263 account only if minibuf_level == 0.
264
81b1a79d
GM
2652001-08-01 Gerd Moellmann <gerd@gnu.org>
266
e5c60873
GM
267 * xdisp.c (redisplay_internal): Add a check for the last
268 displayed message.
3452efc2 269
6e019995
GM
270 * xdisp.c (message_cleared_p): New variable.
271 (clear_message): Set message_cleared_p when clearing the current
272 message.
273 (redisplay_internal): Look at message_cleared_p to capture
274 the case that the echo area should be cleared.
275
308a74d8
GM
276 * keyboard.c (command_loop_1): Fix spelling of
277 resize_echo_area_exactly.
278
3452efc2 279 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
280
281 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
282
81b1a79d
GM
283 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
284 current matrix when the window gets smaller.
285
ada329e6
EZ
2862001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
287
288 * print.c (strout): Cast the character passed to insert_char to
289 unsigned char, to avoid sign extension when it is promoted to int.
290
ed86208c
GM
2912001-07-31 Gerd Moellmann <gerd@gnu.org>
292
293 * fileio.c (Finsert_file_contents): Don't treat a return value
294 of 0 from emacs_read as an IO error.
295
6594ac22
GM
2962001-07-30 Gerd Moellmann <gerd@gnu.org>
297
cef68af5
GM
298 * keyboard.c (abs): New macro.
299 (double_click_fuzz): New variable.
300 (make_lispy_event): Use it to determine what makes a double-click.
301 (syms_of_keyboard): DEFVAR_INT it.
302
6594ac22
GM
303 * xmenu.c (set_frame_menubar): Take into account that
304 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
305 <raeburn@gnu.org>.
306
75c5350a
GM
3072001-07-27 Gerd Moellmann <gerd@gnu.org>
308
309 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
310
311 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
312 of row's visible height.
313
314 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
315 deal with the first overlay string having an image `display' property.
316 (try_window_reusing_current_matrix, compute_line_metrics):
317 Fix computation of row's visible height for the case that part of the
75c5350a
GM
318 row is invisible above and part of the row is at the same time
319 invisible below the window.
320
ac49effe
GM
3212001-07-26 Gerd Moellmann <gerd@gnu.org>
322
323 * xfns.c (x-show-tip): Doc fix.
3452efc2 324
ac49effe
GM
325 * xfns.c (Vx_max_tooltip_size): New variable.
326 (syms_of_xfns): DEFVAR_LISP it.
327 (Fx_show_tip): Set frame's window_width to the width of the
328 window. Use a maximum tooltip size specified by
329 Vx_max_tooltip_size, if that has valid contents.
330 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 331
8c3b00cb
AI
3322001-07-26 Andrew Innes <andrewi@gnu.org>
333
334 * w32term.c (x_display_list): New variable.
335 (w32_term_init): Set it.
336
337 * w32term.h (x_display_list): New extern.
338
16098288
GM
3392001-07-26 Gerd Moellmann <gerd@gnu.org>
340
341 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
342 is non-nil, instead of when redisplaying_p is non-zero.
343 See comment there.
16098288
GM
344 (mark_window_display_accurate_1): Add an assertion.
345
64c5be50
GM
3462001-07-25 Gerd Moellmann <gerd@gnu.org>
347
e743f599
GM
348 * dispextern.h (struct it): Increase size of ctl_chars to 16.
349
563b384d
GM
350 * xfns.c (Fx_file_dialog): Block/unblock input while processing
351 events so that we get a chance of processing expose events.
352
64c5be50
GM
353 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
354
296808a5
GM
3552001-07-24 Gerd Moellmann <gerd@gnu.org>
356
357 * xfns.c (valid_image_p): Protect better against invalid image
358 specifications. Previous code could signal an error.
359
5247262a
GM
3602001-07-23 Gerd Moellmann <gerd@gnu.org>
361
3452efc2 362 * indent.c (current_column): Fix column computation in the
f1004faf
GM
363 presence of display table entries.
364 (current_column_1, Fmove_to_column, compute_motion): Likewise.
365
dd42b31a
GM
366 * dispnew.c (adjust_glyph_matrix): In the optimization for
367 windows whose height has changed, use the new window height
368 to compute which rows to invalidate.
369
9e5a7f2a
GM
370 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
371 (MAX_10_EXP): New macro.
372 (Fformat): Use it.
373
5247262a
GM
374 * coding.c (code_convert_region): Handle the multibyte case if
375 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
376
177ab8ce
GM
3772001-07-20 Gerd Moellmann <gerd@gnu.org>
378
6e07c0a5
GM
379 * dispextern.h (struct face): Change type of `stipple' to
380 int; it's an ID.
381
177ab8ce
GM
382 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
383
b5b80599
GM
3842001-07-19 Gerd Moellmann <gerd@gnu.org>
385
4e2a256b
GM
386 * dispnew.c (update_window): Don't set the cursor at the end
387 of the update if display update has been paused.
388
3452efc2 389 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 390
c1fd9232
KR
3912001-07-18 Ken Raeburn <raeburn@gnu.org>
392
393 * fns.c (Fset_char_table_default): Check that a charset is defined
394 before checking its dimension.
395
928a85c1
KR
3962001-07-17 Ken Raeburn <raeburn@gnu.org>
397
398 * coding.c (setup_coding_system): Don't do any designation based
399 on reg_bits if charset is not yet defined.
400
fb4c6c96 401 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
402 pointer, using eassert.
403
de11c1ea
GM
4042001-07-17 Gerd Moellmann <gerd@gnu.org>
405
3452efc2
SM
406 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
407 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 408
467f1209
GM
4092001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
410
411 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
412
c3d6be34
GM
4132001-07-16 Gerd Moellmann <gerd@gnu.org>
414
c1d61a7d
GM
415 * fileio.c (unwind_read): Function removed.
416 (read_non_regular, read_non_regular_quit): New functions.
417 (Finsert_file_contents): When reading from non-regular files,
418 arrange to catch a `quit' and terminate the loop. Rearrange
419 code so that a `quit' when reading from a regular file doesn't
420 insert text in the buffer.
421
c3d6be34
GM
422 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
423 Clear faces afterwards.
424 (clear_font_table): Take a x_display_info parameter. Don't free
425 fonts being the default font of any frame on the given display.
426
e06aa1f9
GM
4272001-07-13 Gerd Moellmann <gerd@gnu.org>
428
429 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
430 instead of CHAR_STRING which can signal an error.
431
432 * charset.c (char_to_string_1): Extracted from char_to_string.
433 Return -1 instead of signaling an error.
434 (char_to_string): Use it.
435
436 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
437
176c92e6
SM
4382001-07-12 Stefan Monnier <monnier@cs.yale.edu>
439
440 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
441 is t, don't try to append anything to it.
442
1c56232f
EZ
4432001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
444
445 * dired.c (file_name_completion): Pass dp->d_name to
446 Fstring_match, not elt, which is always nil here.
447
1d2b2268
GM
4482001-07-12 Gerd Moellmann <gerd@gnu.org>
449
450 * xselect.c (x_decline_selection_request): Handle errors
451 caused by receivers that have vanished.
452
453 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
454 ignoring events on foreign windows in #if 0. Always dispatch
455 the event after checking it with x_handle_property_notify.
456
457 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
458 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
459 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
460 (toplevel): Add prototypes for file-local functions.
461 (x_atom_to_symbol): Remove DPYINFO parameter.
462
fe5a0162
SM
4632001-07-11 Stefan Monnier <monnier@cs.yale.edu>
464
465 * w32menu.c (menubar_selection_callback, w32_menu_show):
466 Initialize `entry' to nil.
467 (w32_dialog_show): Remove unused `save_wv' variable.
468 (name_is_separator): Recognize "--:foo" and "--foo-bar".
469
a777242c
GM
4702001-07-11 Gerd Moellmann <gerd@gnu.org>
471
8ee5b6a3
GM
472 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
473
d0e2444e
GM
474 * fileio.c (unwind_read): Print a message when discarding inserted
475 text or switching the buffer to unibyte. Change parameter.
476 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 477
a777242c
GM
478 * fileio.c (unwind_read): New function.
479 (Finsert_file_contents): Record it as unwind-function for
480 the case that reading is interrupted by C-g.
481
ae794295
GM
4822001-07-10 Gerd Moellmann <gerd@gnu.org>
483
fe5a0162 484 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
485 update when scrolling_window returns 0.
486
6b05fae3
GM
487 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
488
489 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 490 for the case that x_decode_color signals an error.
6b05fae3 491
ae794295
GM
492 * xdisp.c (add_to_log): Do nothing if called asynchronously.
493
bb6e8cee
GM
4942001-07-09 Gerd Moellmann <gerd@gnu.org>
495
496 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
497 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
498 around ioctls.
499
36b40a8a
EZ
5002001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
501
24b97d4b
EZ
502 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
503 doc string line for dos-timezone-offset.
504
36b40a8a
EZ
505 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
506 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
507 (syms_of_msdos): Add \n\ at the end of a line in the doc string
508 line for dos-unsupported-char-glyph.
36b40a8a
EZ
509
510 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
511
0967b4b0
GM
5122001-07-05 Gerd Moellmann <gerd@gnu.org>
513
f25cfe53
GM
514 * sound.c: Include Emacs' header files with #include "...".
515
0967b4b0
GM
516 * eval.c (specbind): Additionally record the buffer that was
517 current when a buffer-local or frame-local variable was bound.
518
c347a1c3
GM
5192001-07-04 Gerd Moellmann <gerd@gnu.org>
520
521 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
522 to unibyte characters in unibyte buffers.
523
6332ca8a
GM
5242001-07-03 Gerd Moellmann <gerd@gnu.org>
525
38472d44
GM
526 * eval.c (specbind): If SYMBOL has a frame-local binding, record
527 the frame on the binding stack. Change format of entries for
528 local bindings on the binding stack to '(SYMBOL . WHERE)'.
529 (unbind_to): Handle unbinding a frame-local variable.
530
6332ca8a 531 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 532 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
533 (dump_glyph_row): Print row's continuation_lines_width.
534 (try_window_id): Take the shortcut if ZV is visible in the
535 window, but there are actually no changes at ZV.
536
63d1b174
GM
5372001-07-02 Gerd Moellmann <gerd@gnu.org>
538
4c175203
GM
539 * xterm.h (x_free_dpy_colors): Add prototype.
540
541 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
542 right number of arguments.
543
0b54ce28
GM
544 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
545 ($(lwlibdir)TAGS): New target.
4c175203 546 (TAGS): Fix dependency list.
0b54ce28 547
63d1b174
GM
548 * xterm.c (x_list_fonts): Make sure XFreeFont is called
549 with input blocked.
550
d827466c
GM
5512001-06-30 Gerd Moellmann <gerd@gnu.org>
552
553 * emacs.c (main): Remove extern declaration for sys_nerr, which
554 isn't used and causes a compilation error with GCC 3.0 on
555 FreeBSD 4.3.
556
b5cb1ada
GM
5572001-06-27 Gerd Moellmann <gerd@gnu.org>
558
a5d3ec3f 559 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 560 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
561 (toplevel): Include <signal.h> and syssignal.h.
562
b5cb1ada
GM
563 * sound.c (vox_configure, vox_close): Turn off atimers
564 around ioctls.
565
d9bad487
GM
5662001-06-26 Gerd Moellmann <gerd@gnu.org>
567
fdbb67fe
GM
568 * keyboard.c (read_char) <non_reread>: Record the previous idle
569 start time before calling timer_stop_idle.
570 (read_char) <reread_first>: After processing a help-echo event,
571 restore the previous idle start time.
572
d9bad487
GM
573 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
574 the start of invisible text.
575 (setup_for_ellipsis): New function.
576 (next_overlay_string): After all overlay strings have been
577 processed, display an ellipsis if necessary.
578 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
579 (push_it): Initialize display_ellipsis_p on the iterator's stack.
580
581 * dispextern.h (struct iterator_stack_entry): Add member
582 display_ellipsis_p.
583
2b9c25e0
GM
5842001-06-25 Gerd Moellmann <gerd@gnu.org>
585
80de57df
GM
586 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
587 on the value of the wait-for-wm frame parameter.
588
589 * xterm.h (struct x_output): Add member wait_for_wm.
590
591 * xfns.c (Qwait_for_wm): New variable.
592 (x_frame_parms): Add entry for `wait-for-wm".
593 (x_set_wait_for_wm): New function.
594 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
595 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
596
2b9c25e0
GM
597 * xdisp.c (try_window_id) <all changes below window end>: Don't
598 take this shortcut if ZV is visible in the window.
599 (try_window_id): When checking for window start being in changed
600 text, don't check that the buffer's size has changed.
601
f772775c
RS
6022001-06-23 Richard M. Stallman <rms@gnu.org>
603
604 * minibuf.c (Fcompleting_read): Doc fix.
605
fa9090b8
GM
6062001-06-19 Gerd Moellmann <gerd@gnu.org>
607
608 * composite.c (Ffind_composition_internal): Accept ZV
609 and a string's end position as POS.
610
f6f1beba
GM
6112001-06-18 Gerd Moellmann <gerd@gnu.org>
612
613 * composite.c (Ffind_composition_internal): Check POS
614 for validity.
615
0ae83348
EZ
6162001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
617
618 * editfns.c (Fmessage_box): If the frame is not under a window
619 system, output the message in the echo area.
620
e4cdc335
RS
6212001-06-14 Richard M. Stallman <rms@gnu.org>
622
623 * xdisp.c (try_window_id): When EOB is visible, don't treat
624 insertion at EOB as if it were "off the bottom of the screen."
625
a55a5f3c
AI
6262001-06-11 Andrew Innes <andrewi@gnu.org>
627
628 * w32proc.c (create_child): Add new parameter is_gui_app.
629 (w32_executable_type): Add new parameter is_gui_app.
630 (sys_spawnve): Use it.
631 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
632 SIGQUIT. This matches better how the signals are interpreted by
633 MSVC compiled programs.
634 (syms_of_ntproc): Update docstring.
635
1b85dc1c
SM
6362001-06-02 Stefan Monnier <monnier@cs.yale.edu>
637
638 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
639 well otherwise note_mouse_highlight might optimize away highlighting
640 if we pass over that same overlay again.
641
b75f8eab
EZ
6422001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
643
644 * lread.c (Fload): Document that the argument is run via
645 substitute-in-file-name.
646
94843cc1
GM
6472001-05-31 Gerd Moellmann <gerd@gnu.org>
648
b14659e6
GM
649 * Makefile.in (bootstrap-doc): New target.
650 (bootstrap-emacs): Depend on it.
651
0894672f
GM
652 * fileio.c (Fdo_auto_save): Don't try to create the directory of
653 auto-save-list-file-name when shutting down Emacs, because
654 creating the directory might signal an error, and leaves
655 Emacs in a strange state.
656
94843cc1
GM
657 * term.c: (tty_cursor_hidden): New variable.
658 (update_begin): Don't call tty_hide_cursor. Clean up.
659 (update_end, set_terminal_window, set_scroll_region): Clean up.
660 (ring_bell, reset_terminal_modes): Clean up.
661 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
662 on tty_cursor_hidden.
663 (write_glyphs): Call tty_hide_cursor.
664
db3a49a6
SM
6652001-05-30 Stefan Monnier <monnier@cs.yale.edu>
666
667 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
668
8bd189fb
GM
6692001-05-30 Gerd Moellmann <gerd@gnu.org>
670
6f1be3b9
GM
671 * xfns.c (enum image_value_type): New enumerator
672 IMAGE_STRING_OR_NIL_VALUE.
673 (parse_image_spec): Handle it.
674 (xbm_format, pbm_format): Use it for :foreground and :background.
675 (xbm_load, pbm_load): Check for nil color names.
676
8bd189fb
GM
677 * xterm.c (note_mouse_highlight): If an overlapping overlay
678 exists, but we find that we highlight the same overlay as before,
679 don't do the highlighting again.
680
7bdba03c
GM
6812001-05-29 Gerd Moellmann <gerd@gnu.org>
682
4c329aa8
GM
683 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
684 Protect unibyte strings created by replacing their multibyte
685 equivalents in menu_items.
686
e15e2828
GM
687 * keymap.c (Fsingle_key_description): NUL-terminate the string
688 buffer before calling build_string.
689
7bdba03c
GM
690 * callproc.c (Fcall_process): Deal with decode_coding returning
691 CODING_FINISH_INCONSISTENT_EOL.
692
89c8dc6c
GM
6932001-05-28 Gerd Moellmann <gerd@gnu.org>
694
db3a49a6 695 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
696 an item's name with its key description in case the description
697 is a multibyte string.
698
699 * keymap.c (Fsingle_key_description): Create a multibyte string
700 only if necessary.
701
eb04d6cd
GM
702 * macros.c (Fstart_kbd_macro): Doc fix.
703
8bd6307f
GM
704 * xterm.c (cursor_in_mouse_face_p): New function.
705 (x_draw_stretch_glyph_string): Use it to choose a different GC
706 when drawing a cursor within highlighted text.
707
e26c4089
GM
708 * editfns.c (char_property_eq): Put in #if 0.
709
710 * indent.c (string_display_width): Put in #if 0.
711
712 * lread.c (Fload): Remove unused label.
713
89c8dc6c
GM
714 * termcap.c (speeds): Put in #if 0.
715
9a1211f2
GM
7162001-05-18 Gerd Moellmann <gerd@gnu.org>
717
29148a3f
GM
718 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
719
9a1211f2
GM
720 * xfaces.c (xlfd_point_size): Don't divide pixel size from
721 transformation matrix by 10.
722
09393d07
GM
7232001-05-16 Gerd Moellmann <gerd@gnu.org>
724
725 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
726 only if it's equal to the former foreground pixel color.
db3a49a6 727 (x_set_foreground_color, x_set_background_color)
09393d07
GM
728 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
729
460e6bae
GM
7302001-05-16 Dave Love <fx@gnu.org>
731
732 * insdel.c (signal_before_change, signal_after_change): Consider a
733 local change hook which changes the buffer.
99c78ce8
GM
734
735 * process.c (read_process_output): Don't call signal_after_change
736 and update_compositions after insert_from_string_before_markers.
737
dbcf3c03
GM
7382001-05-16 Gerd Moellmann <gerd@gnu.org>
739
a90b3d3c
GM
740 * xfaces.c (split_font_name): Use the right field when
741 checking for `[...]' syntax.
742
1b7818b4
GM
743 * buffer.c (copy_overlays): New function.
744 (clone_per_buffer_values): Use it.
745
746 * buffer.h (OVERLAY_PLIST): New macro.
747
9bae8781
GM
748 * keymap.c (Fsingle_key_description): Replace a build_string with
749 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
750
dbcf3c03
GM
751 * fontset.c (Ffontset_info): Check that face is non-null
752 before accessing its fields.
753
8a1ae4dd
GM
7542001-05-15 Gerd Moellmann <gerd@gnu.org>
755
18a0a39e
GM
756 * keyboard.c (read_key_sequence): Prevent generating a fake
757 prefix key twice.
758
e335b66a
GM
759 * xfaces.c (split_font_name): Handle `[...]' for the right
760 font name fields.
761
8a1ae4dd
GM
762 * ccl.c (ccl_driver): Don't copy remaining bytes in case
763 of CCL_STAT_INVALID_CMD.
764
3cf80731
SM
7652001-05-14 Stefan Monnier <monnier@cs.yale.edu>
766
33568849
SM
767 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
768 in <var> has no default value yet.
769
3cf80731
SM
770 * xfaces.c (try_alternative_families): First try the FAMILY.
771 And if nothing is found in the end, try again with scalable fonts.
772 (try_font_list): Let try_alternative_families do a bit more of
773 the work. Only use FAMILY if it is not nil.
774 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
775
933b0249
GM
7762001-05-14 Gerd Moellmann <gerd@gnu.org>
777
58e5af83
GM
778 * xterm.c (note_mouse_highlight): Avoid changing the mouse
779 pointer shape when show_mouse_face has already done it.
33568849 780
58e5af83 781 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
782 full-width rows.
783
7b16a6bf
GM
784 * xfaces.c (split_font_name): Make sure to leave the loop
785 with the right value of `i'.
3cf80731 786
933b0249
GM
787 * xfaces.c (split_font_name): Handle matrix transformations
788 in the pixel and point size fields of XLFD font names.
789 (xlfd_point_size): Likewise.
790
dddcbf00
EZ
7912001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
792
3cf80731 793 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
794 (x_to_w32_font): Add prototype.
795
7689ef0b
EZ
796 * regex.c (malloc, realloc, free) [emacs]: Undefine before
797 redefining, to avoid compiler warnings.
798
e7c15bba
EZ
799 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
800
dddcbf00
EZ
801 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
802 (w32_get_bdf_glyph): Cast between unsigned char and char when
803 passing arguments to subroutines, to shut up compiler warnings.
804 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
805 GET_HEX_VAL.
806
807 * xfaces.c: Include keyboard.h before frame.h, not after it.
808
809 * widget.c: Include keyboard.h before frame.h.
810
811 * w32term.h (struct image, struct face): Forward declaration, to
812 avoid compiler warnings.
813
7bd2d083
GM
8142001-05-11 Gerd Moellmann <gerd@gnu.org>
815
47e72862
GM
816 * keyboard.c (read_key_sequence): Don't modify events when
817 generating fake prefix keys (mode-line, scroll-bar, ...) since
818 this prevents proper processing of such events when pushed back
819 into unread-command-events.
820
dd5f324b
GM
821 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
822 actually redrawn. Make the function static.
823 (note_mouse_highlight): Fix a case where the mouse cursor
824 was changed back to the text cursor.
825
826 * xterm.h (clear_mouse_face): Remove prototype.
827
d88a79d4
GM
828 * xdisp.c (try_window_id): Fix the fix and set the right
829 window_end_vpos.
830
831 * xdisp.c (try_window_id): Fix computation of window end in the
832 case that lines were deleted at the end of the window. Add some
833 more debug_method_adds.
0416532f 834
7bd2d083
GM
835 * xfaces.c (try_alternative_families): New function.
836 (try_font_list): Use it. If ATTRS specifies a family, check
837 fonts from that family first.
838 (choose_face_font): Remove code setting the family part of
839 the pattern to nil.
840
23fca891
GM
8412001-05-10 Gerd Moellmann <gerd@gnu.org>
842
ff9aa2ca
GM
843 * xdisp.c (try_window_id): Fix case of all changes before
844 the window start.
7b2654b5 845
23fca891
GM
846 * xdisp.c (try_window_id): Add some xasserts.
847
e9726794
GM
8482001-05-09 Gerd Moellmann <gerd@gnu.org>
849
850 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
851
9e53a675
GM
8522001-05-09 Dave Love <fx@gnu.org>
853
854 * xdisp.c (GIVE_UP): Fix for K&R C.
855
0d487c52
GM
8562001-05-09 Gerd Moellmann <gerd@gnu.org>
857
fe88d421
GM
858 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
859
0d487c52
GM
860 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
861 back to the text cursor shape without need.
862
1e9fc92e
GM
8632001-05-07 Gerd Moellmann <gerd@gnu.org>
864
a2a6232e
GM
865 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
866
867 * dispextern.h (inverse_video): Declare extern.
868
1e9fc92e
GM
869 * keyboard.c (delete_kboard): Handle the case that selected_frame
870 has been deleted in the course of x_connection_closed.
871
12949a7f
EZ
8722001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
873
7b2654b5
SM
874 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
875 Fix the change from 2001-04-30.
12949a7f 876
2fa2f461
GM
8772001-05-03 Gerd Moellmann <gerd@gnu.org>
878
a779d213
GM
879 * xfns.c (file_dialog_unmap_cb): New function.
880 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
881 where a dialog is closed via the window manager.
882
7b2654b5 883 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
884 the window start or all below the window end mostly rewritten.
885 (redisplay_window): Move the tests if try_window_id is
886 applicable to try_window_id.
887 (GIVE_UP): New macro.
888
3356df63
GM
8892001-05-02 Gerd Moellmann <gerd@gnu.org>
890
a39202f6 891 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
892 currently being updated, mark the frame garbaged.
893 Fix computation of rows intersecting the exposed rectangle.
a39202f6 894 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 895
3356df63
GM
896 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
897 again if it has already been drawn.
898
a9d2fd1d
SM
8992001-05-01 Stefan Monnier <monnier@cs.yale.edu>
900
901 * syntax.c (update_syntax_table): Check that oldi has the same
902 properties as old_prop before deciding not to invalidate.
903
c95fc5f1
GM
9042001-04-30 Gerd Moellmann <gerd@gnu.org>
905
a9793e45
GM
906 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
907 read-only text that is so because of text properties.
908
c95fc5f1 909 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 910 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
911 windows that are components of a Lucid menu bar.
912
5a5d9185
GM
9132001-04-27 Gerd Moellmann <gerd@gnu.org>
914
915 * term.c (turn_on_face): Fix reverse video handling on terminals
916 that don't support colors.
917
ba973f7a
GM
9182001-04-26 Gerd Moellmann <gerd@gnu.org>
919
920 * editfns.c (save_excursion_restore): Don't use XBUFFER on
921 a non-buffer.
922
8c56a983
GM
9232001-04-25 Gerd Moellmann <gerd@gnu.org>
924
a728644c
GM
925 * term.c (toggle_highlight): New function.
926 (turn_on_face): Change handling of reverse video.
927
7b2654b5
SM
928 * process.c (wait_reading_process_input):
929 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 930
bfd8410f
GM
931 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
932 of the number of overlays to check.
933
be2488ca
GM
934 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
935
8c56a983
GM
936 * xdisp.c (try_window_id): Fix a case where window_end_pos
937 and window_end_bytepos were not adjusted.
938
522d42f7
GM
9392001-04-23 Gerd Moellmann <gerd@gnu.org>
940
941 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
942 zero instead of -1.
943
78c1afb6
EZ
9442001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
945
a9d2fd1d
SM
946 * process.c (wait_reading_process_input) [!subprocesses]:
947 Don't reference waiting_for_user_input_p, it's not defined in the
948 branch without async subprocesses support.
78c1afb6 949
a2fab450
GM
9502001-04-19 Gerd Moellmann <gerd@gnu.org>
951
a122a38e
GM
952 * keyboard.c (delete_kboard): Prevent a dangling reference
953 from current_kboard to KB, which is freed.
954
a9d2fd1d
SM
955 * process.c (wait_reading_process_input):
956 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
957 read_key_sequence aware of buffer changes from under it.
958
0f8d6dc7
GM
9592001-04-18 Gerd Moellmann <gerd@gnu.org>
960
eeffb293
GM
961 * xfaces.c (Qscalable_fonts_allowed): New variable.
962 (realizing_basic_faces_p): Removed.
2fa2f461
GM
963 (x_face_list_fonts): Special handling for realizing_basic_faces_p
964 removed.
eeffb293 965 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
966 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
967 for scalable-fonts-allowed to t.
eeffb293 968
0f8d6dc7
GM
969 * fileio.c (Finsert_file_contents): If the file size returned from
970 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 971 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 972
eec2d1de
EZ
9732001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
974
975 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
976 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
977 (__memalign_hook): Make the two prototypes consistent.
978
f4f480bd
GM
9792001-04-17 Gerd Moellmann <gerd@gnu.org>
980
981 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
982 matrix of mini-windows.
983
52283633
SM
9842001-04-12 Stefan Monnier <monnier@cs.yale.edu>
985
986 * intervals.c (find_interval): Don't rebalance during signal handling.
987
ec2423c9
GM
9882001-04-11 Gerd Moellmann <gerd@gnu.org>
989
30cb0001 990 * fns.c: Include blockinput.h.
52283633 991
ec2423c9
GM
992 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
993
719d83ad
GM
9942001-04-10 Gerd Moellmann <gerd@gnu.org>
995
60f8d735
GM
996 * fns.c (Fcompare_strings): Fix return values.
997
afffeb57
GM
998 * window.c (window_scroll): Change the meaning of N to mean
999 N screen-fulls or N lines.
1000 (window_scroll_pixel_based, window_scroll_line_based)
1001 (scroll_command, Fscroll_other_window): Change accordingly.
1002
52283633
SM
1003 * window.c (window_scroll_pixel_based, Frecenter):
1004 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1005 height of the window.
1006
1007 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1008 instead of using it.last_visible_y for the height of the window.
52283633 1009
719d83ad 1010 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1011 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1012
1013 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1014 able to write to hidden and system files. From Dan Holmsand
1015 <dan@eyebee.com>.
719d83ad 1016
8ddf3ee1
GM
1017 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1018 Holmsand <dan@eyebee.com>.
719d83ad 1019
522ed7fb
GM
10202001-04-09 Gerd Moellmann <gerd@gnu.org>
1021
9170e5d4
GM
1022 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1023
522ed7fb
GM
1024 * window.c (window_internal_height): Return 1 less if the
1025 window has a header line.
1026
1027 * xdisp.c (try_window_id): When scrolling on a terminal, take
1028 the change of window_internal_height into account.
1029
ceeb3d7d
EZ
10302001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1031
1032 * gmalloc.c (align): If the argument SIZE would overflow
1033 __malloc_ptrdiff_t, fail right away.
1034
63685b9d
GM
10352001-04-06 Gerd Moellmann <gerd@gnu.org>
1036
1037 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1038 Make sure the tooltip is completely visible.
1039 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1040
1041 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1042
1043 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1044
3ffb33bb
DL
10452001-04-06 Dave Love <fx@gnu.org>
1046
52283633
SM
1047 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1048 Fix test of `from'.
3ffb33bb 1049
869fb12c
GM
10502001-04-06 Gerd Moellmann <gerd@gnu.org>
1051
52283633 1052 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1053
869fb12c
GM
1054 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1055
441bf856
GM
10562001-04-05 Gerd Moellmann <gerd@gnu.org>
1057
4d664b04
GM
1058 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1059
52283633 1060 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1061
30ca89f5
GM
1062 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1063 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1064
1065 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1066 shell widget's position only if it is non-null.
1067
52283633
SM
1068 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1069 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1070
81a81c0f
GM
1071 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1072 FILENAME to bring it in synch with the documentation.
1073
441bf856
GM
1074 * xfaces.c (realizing_basic_faces_p): Renamed from
1075 realize_default_face_p.
1076 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1077 (realize_default_face): Don't set the flag.
1078
702a1e8e
GM
10792001-04-04 Gerd Moellmann <gerd@gnu.org>
1080
1013f4e3
GM
1081 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1082
52283633
SM
1083 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1084
1013f4e3
GM
1085 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1086 the buffer that was used for echoing.
1087
702a1e8e
GM
1088 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1089 (first_font_matching): Removed unused function.
1090 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1091 (may_use_scalable_font_p): Remove parameter FONT; rename
1092 parameter NAME to FONT.
1093 (x_face_list_fonts): Fix missing bounds check.
1094 (realizing_default_face_p): New variable.
1095 (realize_default_face): Set and clear that flag.
1096 (x_face_list_fonts): When called during the realization of the
1097 default face, and no matching fonts are found when ignoring
1098 scalable fonts and fonts matching a regexp from
1099 face-ignored-fonts, try without ignoring fonts.
1100
f9dbcda4
GM
11012001-04-03 Gerd Moellmann <gerd@gnu.org>
1102
ad18ffb1
GM
1103 * xfns.c (postprocess_image): New function.
1104 (lookup_image): Call it for all image types except PostScript.
1105 (x_kill_gs_process): Call postprocess_image.
1106
f9dbcda4
GM
1107 * xterm.c (x_use_underline_position_properties): New variable.
1108 (x_draw_glyph_string): Use it.
1109 (syms_of_xterm): DEFVAR_BOOL it.
1110
651f03b6
GM
11112001-04-02 Gerd Moellmann <gerd@gnu.org>
1112
1113 * xterm.c (x_alloc_nearest_color_1): New function.
1114 (x_alloc_nearest_color): Use it.
1115 (x_color_cells): Take a Display as argument, instead of a frame.
1116 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1117 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1118 (x_initialize): Register cvt_string_to_pixel as resource converter
1119 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1120
73d75a62
GM
11212001-03-30 Gerd Moellmann <gerd@gnu.org>
1122
b2046df8
GM
1123 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1124 (set_iterator_to_next): If a string from a display property ends,
1125 consider the case that this might also be the end of an
1126 overlay string having the display property.
1127
52283633 1128 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1129
87d8eba4
GM
1130 * xdisp.c (reseat_to_string): Undo last change.
1131
73d75a62
GM
1132 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1133 matrix of a window when the header line changes, when
1134 new rows are allocated, or when the width changes.
1135
911a2406
EZ
11362001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1137
52283633 1138 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1139
aea51abe
EZ
11402001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1141
1142 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1143 deprecated.
1144
176bc847
GM
11452001-03-29 Gerd Moellmann <gerd@gnu.org>
1146
ed31fabf
GM
1147 * data.c (Fsubr_interactive_form): New function.
1148 (syms_of_data): Defsubr it.
1149
176bc847
GM
1150 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1151 (live_float_p, live_misc_p): Return 1 only if the offset of the
1152 pointer in its block is >= 0.
1153
e59d0e9d
GM
11542001-03-28 Paul Eggert <eggert@twinsun.com>
1155
1156 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1157 microseconds calcuation. Avoid double-rounding problem.
1158 In doc string, warn that the result is approximate.
1159
f827b862
GM
11602001-03-28 Gerd Moellmann <gerd@gnu.org>
1161
30a3f61c
GM
1162 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1163 bind `inhibit-eval-during-redisplay' to t.
1164
1165 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1166
1167 * xdisp.c (inhibit_eval_during_redisplay)
1168 (Qinhibit_eval_during_redisplay): New variables.
1169 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1170 don't eval, return nil instead.
1171 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1172 Initialize Qinhibit_eval_during_redisplay.
1173
e719f5ae
GM
1174 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1175 the iterator's multibyte_p flag.
1176
deb2613a
GM
1177 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1178 instead of setting it to zero; it's incremented for each frame
1179 where the menu face is changed.
1180
52283633
SM
1181 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1182 change bottom shadow accordingly.
1183
1184 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1185 intersections here.
1186 (expose_window): Do it here instead.
52283633 1187 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1188
f827b862
GM
1189 * bytecode.c (BYTE_CODE_QUIT): New macro.
1190 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1191
4bde0ebb
GM
11922001-03-27 Gerd Moellmann <gerd@gnu.org>
1193
607ec83c
GM
1194 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1195 Give up if matrix starts in an ellipsis.
1196 (init_from_display_pos): Do nothing if POS doesn't specify
1197 a dpvec_index but the iterator has such a position.
1198
0245398f
GM
1199 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1200
aba25348
GM
1201 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1202 x/y position is (0, 0) after destroying the menu bar, restore
1203 its original position.
1204
4bde0ebb
GM
1205 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1206 (init_from_display_pos): Use it.
1207 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1208
8cdb267e
GM
12092001-03-26 Gerd Moellmann <gerd@gnu.org>
1210
1211 * xdisp.c (try_window_id): Undo last change.
1212
9948db79
EZ
12132001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1214
1215 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1216
1217 * buffer.c (syms_of_buffer): Doc fix.
1218
2eddf899
GM
12192001-03-26 Gerd Moellmann <gerd@gnu.org>
1220
1221 * xfaces.c (x_update_menu_appearance): Use local variable
1222 popup_path for setting font resources.
1223
6c145d35
EZ
12242001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1225
6a65b1b5
EZ
1226 * frame.c (Fframe_list): Don't reference tip_frame if
1227 HAVE_WINDOW_SYSTEM is not defined.
1228
6c145d35
EZ
1229 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1230 <wl@gnu.org>.
1231
d74c1900
GM
12322001-03-25 Gerd Moellmann <gerd@gnu.org>
1233
20fbd925
GM
1234 * xdisp.c (init_from_display_pos): Test invisible property
1235 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1236
927c5b3b
GM
1237 * xdisp.c (redisplay_internal) <update one window>: Make sure
1238 last_arrow_position and last_arrow_string are set.
1239
d74c1900
GM
1240 * frame.c (Fframe_list): Don't return a tooltip frame.
1241
091f8878
GM
12422001-03-23 Gerd Moellmann <gerd@gnu.org>
1243
52283633
SM
1244 * xdisp.c (mark_window_display_accurate_1): New function,
1245 extracted from mark_window_display_accurate.
1246 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1247 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1248 (mark_window_display_accurate): Use it.
1249 (redisplay_internal): Use it for the selected window.
1250 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1251 for the selected frame.
1252
ac90c44f
GM
1253 * xdisp.c Use make_number, for readability.
1254 (try_window_id): Disable rows below the window end.
1255 (try_window_reusing_current_matrix): Use cursor_row_p.
1256 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1257 of rows.
1258 (init_from_display_pos): If POS specifies a position in a display
1259 vector, maybe get the iterator set up for that ellipsis.
43c09969 1260
091f8878
GM
1261 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1262
991786dd
EZ
12632001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1264
1265 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1266
6c29b43c
GM
12672001-03-23 Gerd Moellmann <gerd@gnu.org>
1268
1269 * xfaces.c (x_update_menu_appearance): Use a different path
1270 for Lucid popup menus.
1271
d8731202
SM
12722001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1273
1274 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1275
1276 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1277 (string_buffer_position): Use `make_number'.
1278
f61a541b
GM
12792001-03-22 Gerd Moellmann <gerd@gnu.org>
1280
3c9e997b
GM
1281 * xfaces.c (x_update_menu_appearance): Renamed from
1282 x_set_menu_face_resources. Use different resources for popups.
1283
1284 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1285 (GC_CHECK_STRING_BYTES): Don't define.
1286
364cd450
GM
1287 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1288 Removed, together with subroutines.
1289 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1290 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1291
d8731202
SM
1292 * dispextern.h (x_set_menu_resources_from_menu_face):
1293 Remove prototype.
364cd450 1294
d8731202 1295 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1296 Remove calls to x_set_menu_resources_from_menu_face.
1297
d8731202
SM
1298 * xfaces.c (xm_set_menu_resources_from_menu_face):
1299 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1300
1301 * xmenu.c: Include widget.h.
1302 (single_submenu): Return int. Some cleanup.
1303 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1304
140330de
GM
13052001-03-21 Gerd Moellmann <gerd@gnu.org>
1306
1307 * xterm.c (x_update_window_end): Handle overwritten mouse face
1308 also for tool bar windows.
1309 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1310 DRAW is DRAW_IMAGE_RAISED.
1311
1741905c
GM
13122001-03-20 Gerd Moellmann <gerd@gnu.org>
1313
fa88947e
GM
1314 * print.c (syms_of_print): Doc fixes.
1315
1741905c
GM
1316 * fns.c (Fmd5): Doc fix.
1317
ade0bee1
GM
13182001-03-19 Gerd Moellmann <gerd@gnu.org>
1319
357e7376
GM
1320 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1321 Clear area of the frame not occupied by the scroll bar.
1322
c2c097cc
GM
1323 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1324 tip frame's root window buffer to *tip* right after creating
1325 the frame.
1326
ade0bee1
GM
1327 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1328 is an integer don't have to be for space characters.
1329
88c6e37e
GM
13302001-03-16 Gerd Moellmann <gerd@gnu.org>
1331
52283633
SM
1332 * indent.c (current_column, current_column_1, Fmove_to_column)
1333 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1334
c62eed76
KH
13352001-03-15 Kenichi Handa <handa@etl.go.jp>
1336
1337 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1338 drawing glyph string.
1339
c899e7e6
GM
13402001-03-15 Gerd Moellmann <gerd@gnu.org>
1341
d0bbfc99
GM
1342 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1343 (command_loop_1): Undo last change.
1344
03d1a189
GM
1345 * xterm.c (fast_find_position): Return the correct vpos.
1346
c899e7e6 1347 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1348 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1349 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1350 Call store_symval_forwarding with BUF null.
1351 (set_internal): Call store_symval_forwarding with the BUF
1352 parameter passed to set_internal. Formerly, the value was always
1353 set in the current buffer; the buffer recorded in specbind for
1354 this case wasn't used.
1355 (arith_driver): Reindent.
1356
52283633
SM
1357 * buffer.c (swap_out_buffer_local_variables):
1358 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1359
1360 * lisp.h (store_symval_forwarding): Change prototype.
1361
1362 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1363
57ac7c81
GM
13642001-03-14 Gerd Moellmann <gerd@gnu.org>
1365
697617d9
GM
1366 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1367 FOR_DELETION. Avoid resizing the mini-window of the selected
1368 frame if FOR_DELETION is set.
1369 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1370 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1371 signature.
1372
1373 * window.c (Fset_window_configuration): Change call to
1374 do_switch_frame to new format.
1375
1376 * keyboard.c (quit_throw_to_read_char): Change call to
1377 do_switch_frame to new format.
1378
1379 * lisp.h (do_switch_frame): Change prototype.
1380
819dce0f
GM
1381 * frame.c (Fframe_parameters): In the `buffer-list' frame
1382 parameter, store the buffer list of FRAME, not the list of the
1383 selected frame.
1384
57ac7c81
GM
1385 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1386 box just because the glyph row's full_width_p flag is set.
1387
65008712
GM
13882001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1389
1390 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1391 skip the padding blanks inserted in extend_face_to_end_of_line,
1392 before checking for trailing whitespace.
1393
159cf431
GM
13942001-03-13 Gerd Moellmann <gerd@gnu.org>
1395
52283633 1396 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1397 Remove special handling for LessTif/Motif.
1398 (toplevel): Don't include Xm/Xm.h.
1399
52283633
SM
1400 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1401 Remove workaround code for LessTif; it doesn't work anymore.
1402
2564ea1b 1403 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1404 Xm/ScrollBarP.h.
afcdc0a1 1405
52283633
SM
1406 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1407 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1408 contemporary LessTif.
1409
52283633
SM
1410 * xfaces.c (xm_set_menu_resources_from_menu_face):
1411 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1412
159cf431
GM
1413 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1414 removing button grabs.
1415
c6f7429a
KH
14162001-03-13 Kenichi Handa <handa@etl.go.jp>
1417
cb82d767
KH
1418 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1419 and clip-large-size-font as obsolete.
1420
c6f7429a
KH
1421 * lread.c (read_multibyte): Check the validity of multibyte
1422 sequence. If invalid, return the first byte.
1423
760cefb5
GM
14242001-03-12 Gerd Moellmann <gerd@gnu.org>
1425
1426 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1427 before running the command; timer functions or process
1428 filters may have set it.
1429
5141f9d0
EZ
14302001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1431
1432 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1433 Doc fix.
1434
b6a15240
GM
14352001-03-12 Gerd Moellmann <gerd@gnu.org>
1436
1437 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1438 to sprintf.
1439
95522746
GM
14402001-03-09 Gerd Moellmann <gerd@gnu.org>
1441
db14cfc5
GM
1442 * dispextern.h (string_buffer_position): Add prototype.
1443
52283633 1444 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1445 (single_display_prop_string_p): New functions.
1446
1447 * xterm.c (note_mouse_highlight): If there's no help-echo on
1448 a string, look at the buffer text ``under'' it.
1449
1450 * keyboard.c (make_lispy_event): Add string info to the event,
1451 analogous to what's done on mode lines.
1452 (read_key_sequence): For a click on a string, consider `local-map'
1453 and `keymap' of that string.
1454
52283633
SM
1455 * keyboard.c (make_lispy_event, make_lispy_movement):
1456 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1457
1458 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1459
1460 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1461 POS; return void.
1462
95522746
GM
1463 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1464 flags argument to emacs_open; it seems to conflict with O_EXCL.
1465
898a399d
KH
14662001-03-09 Kenichi Handa <handa@etl.go.jp>
1467
28cd4910
KH
1468 * composite.h (struct composition): Change types of members;
1469 glyph_len to unsigned, width to unsigned short.
898a399d 1470
4cdf6a6c
AI
14712001-03-08 Andrew Innes <andrewi@gnu.org>
1472
1473 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1474 menu titles.
1475
129004d3
GM
14762001-03-08 Gerd Moellmann <gerd@gnu.org>
1477
221dd3e7
GM
1478 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1479 instead of nil.
1480
52283633 1481 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1482 help-echo in strings.
1483 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1484 (fast_find_string_pos): New function.
1485
52283633
SM
1486 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1487 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1488
1489 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1490 Handle `mouse-face'.
1491
1492 * dispextern.h (face_at_string_position): Change prototype.
1493
52283633 1494 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1495
129004d3
GM
1496 * keyboard.c (make_lispy_event): Avoid generating drag events
1497 if the mouse hasn't actually moved to another buffer position.
52283633 1498
80c8ab8c
DL
14992001-03-08 Dave Love <fx@gnu.org>
1500
129004d3 1501 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1502
989521fd
GM
15032001-03-08 Gerd Moellmann <gerd@gnu.org>
1504
1505 * process.c (Fset_process_window_size): Fix a typo.
1506
bb5c338d
KH
15072001-03-08 Kenichi Handa <handa@etl.go.jp>
1508
1509 * coding.c (detect_coding_sjis): Do more rigid check.
1510 (detect_coding_big5): Likewise.
1511 (decode_coding_sjis_big5): Likewise.
1512 (Fdetect_coding_region): Call detect_coding_system with tailing
1513 anchor byte `\0' for more rigid detection.
52283633 1514 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1515 (Fdetect_coding_string): Likewise.
1516
8b8f9197
SM
15172001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1518
1519 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1520 a string before extracting its data.
1521
3bdf2660
GM
15222001-03-07 Gerd Moellmann <gerd@gnu.org>
1523
1524 * window.c (Frecenter): Rewrite code handling negative values
1525 of ARG on graphical frames.
1526
15272001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1528
1529 * window.c (displayed_window_lines): If W->start is outside the
1530 accessible portion of the buffer, call start_display with BEGV or
1531 ZV instead of W->start.
1532
471f86b9
GM
15332001-03-07 Gerd Moellmann <gerd@gnu.org>
1534
2ab62c6c
GM
1535 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1536
471f86b9
GM
1537 * process.c (Fset_process_filter): Don't crash if the input
1538 file descriptor of PROCESS is closed.
1539 (Fset_process_window_size): Likewise.
1540
101922c3
GM
15412001-03-06 Kenichi Handa <handa@etl.go.jp>
1542
1543 * xterm.c (XTflash): Make the timeout of select shorter, and call
1544 select repeatedly until the desired time expires.
1545
45d051a7
GM
15462001-03-06 Gerd Moellmann <gerd@gnu.org>
1547
1548 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1549
1550 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1551
1552 * lisp.h (Vwindow_list): Declare extern.
1553
8f372c46
EZ
15542001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1555
1556 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1557
f16a7aa5
GM
15582001-03-06 Gerd Moellmann <gerd@gnu.org>
1559
157ae273
GM
1560 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1561 to detect a case where we have to highlight a different region
1562 despite not having left the currently highlighted region.
1563 Set mouse_face_overlay in the x_display_info.
45d051a7 1564 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1565
1566 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1567
1568 * buffer.c (mouse_face_overlay_overlaps): New function.
1569
1570 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1571 (Qmouse_face): Declare extern.
1572
f16a7aa5
GM
1573 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1574 if face_change_count is non-zero.
1575
827afcac
KH
15762001-03-06 Kenichi Handa <handa@etl.go.jp>
1577
1578 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1579 that the source is unibyte.
1580
14c7242e
DL
15812001-03-05 Dave Love <fx@gnu.org>
1582
827afcac 1583 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1584
c28b847b
GM
15852001-03-05 Gerd Moellmann <gerd@gnu.org>
1586
1587 * minibuf.c (read_minibuf): Clean up the binding stack if
1588 called noninteractively.
1589
b86644f2
KH
15902001-03-05 Kenichi Handa <handa@etl.go.jp>
1591
1592 * coding.c (syms_of_coding): Docstring modified.
1593
203682cc 15942001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1595
1596 * charset.c (char_to_string): If a single byte char has modifier
1597 bits that can't be reflected to the character code, ignore them
45d051a7 1598 instead of signaling an error.
b86644f2 1599
e30bd7b7
EZ
16002001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1601
1602 * s/msdos.h: Update copyright notice.
1603
1604 * dosfns.h: Update copyright notice.
1605
1606 * dosfns.c: Update copyright notice.
1607
1608 * msdos.c: Update copyright notice.
1609
b52b65bd
GM
16102001-03-02 Gerd Moellmann <gerd@gnu.org>
1611
1612 * xterm.c (glyph_rect): New function.
1613 (XTmouse_position): Use it to raise the threshold for mouse
1614 movement event generation.
1615
53c4b1e6
EZ
16162001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1617
1618 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1619 specifies (reverse . t), reverse the initial screen colors.
1620 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1621 but we are reversing the colors, set bg_set, not fg_set.
1622 Likewise for setting background-color and reversing: set fg_set.
1623 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1624 in effect.
1625
1626 * xfaces.c (Finternal_set_lisp_face_attribute)
1627 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1628 parameters alist.
1629
f964b4d7
GM
16302001-03-02 Gerd Moellmann <gerd@gnu.org>
1631
ef53d75e
GM
1632 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1633 to a single slash in the middle of file names.
1634
52283633 1635 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1636 Accept only alphanumeric time zone names.
1637
f964b4d7
GM
1638 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1639 or width area.
1640 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1641 a widget to zero height.
52283633 1642
c3c45f65
GM
16432001-03-01 Gerd Moellmann <gerd@gnu.org>
1644
1645 * window.c (Fwindow_end): Call move_it_past_eol only if
1646 ending up on a partially visible line.
1647
028d739a
DL
16482001-03-01 Dave Love <fx@gnu.org>
1649
1650 * ccl.c (Fccl_execute): Doc fix.
1651
57c5889c
GM
16522001-03-01 Gerd Moellmann <gerd@gnu.org>
1653
35f59f6b
GM
1654 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1655 of the tool bar before calling x_figure_window_size.
1656
f84ff02c
GM
1657 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1658 NULL after destroying it, otherwise XTread_socket can access a
1659 destroyed widget when input is unblocked.
1660
8b8f9197 1661 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1662
57c5889c
GM
1663 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1664 same name as before, although there was a change in fontsets.
1665
224227d1
KR
16662001-02-28 Ken Raeburn <raeburn@gnu.org>
1667
4560730a
KR
1668 * lisp.h (Fframe_parameter): Declare.
1669
224227d1 1670 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1671 Lisp_Object.
224227d1 1672
ece93c02
GM
16732001-02-28 Gerd Moellmann <gerd@gnu.org>
1674
11ef99b9
GM
1675 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1676 NULL instead.
1677
1678 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1679 NULL instead.
1680
ece93c02
GM
1681 * alloc.c (toplevel): Include process.h.
1682 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1683 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1684 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1685 (allocate_vector, allocate_hash_table, allocate_window)
1686 (allocate_frame, allocate_process, allocate_other_vector):
1687 New functions.
ece93c02
GM
1688 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1689 (mark_maybe_pointer): New function.
52283633 1690 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1691 remain and not Lisp_Objects.
1692 (min_heap_address, max_heap_address): New variables.
1693 (mem_find): Return MEM_NIL if START is below min_heap_address or
1694 above max_heap_address.
1695 (mem_insert): Compute min_heap_address and max_heap_address.
1696
1697 * process.c (make_process): Use allocate_process.
1698
1699 * frame.c (make_frame): Use allocate_frame.
1700
1701 * window.c (make_window, make_dummy_parent): Use allocate_window.
1702 (Fcurrent_window_configuration): Use allocate_other_vector.
1703
1704 * lisp.h (allocate_vectorlike): Remove prototype.
1705 (allocate_vector, allocate_other_vector, allocate_frame)
1706 (allocate_window, allocate_process, allocate_hash_table):
1707 Add prototypes.
1708
1709 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1710 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1711
063af457
KH
17122001-02-27 Kenichi Handa <handa@etl.go.jp>
1713
1714 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1715 treat the produced bytes as a valid multibyte sequence.
1716
1717 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1718 (ccl_driver) <CCL_WriteMultibyteChar2>:
1719 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1720 <ccl_finish>: Set ccl->eight_bit_control properly.
1721
1722 * ccl.h (struct ccl_program): New member eight_bit_control.
1723
f58c6494
SM
17242001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1725
1726 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1727 accessible_keymaps_char_table.
1728 (accessible_keymaps_char_table): Obey `is_metized'.
1729 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1730 Lisp_Object.
1731
c596c392
GM
17322001-02-26 Gerd Moellmann <gerd@gnu.org>
1733
1734 * dispnew.c: Check HAVE_TERM_H before including term.h.
1735
425de386
AI
17362001-02-24 Andrew Innes <andrewi@gnu.org>
1737
1738 * makefile.w32-in: Update copyright notice.
1739
2ba11bbd
SM
17402001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1741
1742 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1743
66c56ed1
KH
17442001-02-24 Kenichi Handa <handa@etl.go.jp>
1745
4c1593ce
KH
1746 * Makefile.in (lisp): Add international/utf-8.elc.
1747
66c56ed1
KH
1748 * fontset.c (Fnew_fontset): Fix handling of the case that an
1749 element of FONTLIST is a cons of family and registry.
1750
796ead7e
JR
17512001-02-23 Jason Rumney <jasonr@gnu.org>
1752
1753 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1754 to height unconditionally.
1755
1756 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1757 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1758 (x_insert_glyphs): Call window_box_left to obtain the left
1759 x-coordinate of the area to shift.
1760
1761 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1762 safe_run_hooks.
1763
f6839838
AI
17642001-02-22 Andrew Innes <andrewi@gnu.org>
1765
52283633 1766 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1767 ($(BLD)\dispnew.obj):
1768 ($(BLD)\editfns.obj):
1769 ($(BLD)\fileio.obj):
1770 ($(BLD)\filelock.obj):
1771 ($(BLD)\keyboard.obj):
1772 ($(BLD)\w32proc.obj):
1773 ($(BLD)\process.obj):
1774 ($(BLD)\sysdep.obj): Ditto.
1775
1776 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1777 header files.
52283633
SM
1778 ($(BLD)/dispnew.$(O)):
1779 ($(BLD)/editfns.$(O)):
1780 ($(BLD)/fileio.$(O)):
1781 ($(BLD)/filelock.$(O)):
1782 ($(BLD)/keyboard.$(O)):
1783 ($(BLD)/w32proc.$(O)):
1784 ($(BLD)/process.$(O)):
f6839838
AI
1785 ($(BLD)/sysdep.$(O)): Ditto.
1786
c224f70b
GM
17872001-02-22 Gerd Moellmann <gerd@gnu.org>
1788
51695746
GM
1789 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1790 at the start of the function, check that the \n in it->c is
1791 from the iterator's current position.
52283633 1792
a61b7058
GM
1793 * xdisp.c (handle_single_display_prop): Add parameter
1794 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1795 properties which replace the display of text with something else.
1796 (handle_display_prop): Call handle_single_display_prop with
1797 additional argument saying if we already replaced text display
1798 with something else. Use AREF.
52283633 1799 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1800 (decode_mode_spec_coding): Use AREF and ASIZE.
1801
3473f362
GM
1802 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1803 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1804 * vmstime.h: Files removed.
52283633 1805
2bb58df3
GM
1806 * unexencap.c, unexfx2800.c: Files removed.
1807
c224f70b
GM
1808 * dispnew.c (direct_output_for_insert): Give up if we are showing
1809 a message or just cleared the message because we might need to
1810 resize the echo area window or display an empty echo area.
1811
ffc9ff0c
GM
18122001-02-21 Gerd Moellmann <gerd@gnu.org>
1813
0528abe1
GM
1814 * xdisp.c (redisplay_internal): Do the
1815 mark_window_display_accurate after all windows have been
1816 redisplayed because this call resets flags in buffers which are
1817 needed for proper redisplay.
1818
52283633
SM
1819 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1820 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1821 the old names.
1822
52283633
SM
1823 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1824 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1825
1826 * msdos.h (struct x_output): Rename busy_window to
1827 hourglass_window, busy_p to hourglass_p.
1828
52283633
SM
1829 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1830 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1831
1832 * xfns.c: Rename everything containing *busy_cursor* and similar
1833 to *hourglass*.
1834 (syms_of_w32fns): Rename x-busy-pointer-shape to
1835 x-hourglass-pointer-shape, display-busy-cursor to
1836 display-hourglass, busy-cursor-delay to hourglass-delay.
1837
1838 * w32fns.c: Rename everything containing *busy_cursor* and similar
1839 to *hourglass*.
1840 (syms_of_w32fns): Rename x-busy-pointer-shape to
1841 x-hourglass-pointer-shape, display-busy-cursor to
1842 display-hourglass, busy-cursor-delay to hourglass-delay.
1843
1844 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1845 of its busy_p flag.
1846
1847 * dispextern.h (start_hourglass, cancel_hourglass)
1848 (display_hourglass_p): Renamed from *busy_cursor*.
1849
ab2c5f0a
GM
18502001-02-20 Gerd Moellmann <gerd@gnu.org>
1851
d17e49a8
GM
1852 * keyboard.c (read_char): When an event from unread-command-events
1853 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1854
fa97adf6
GM
1855 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1856 equal to the current buffer.
1857
ab2c5f0a
GM
1858 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1859 nil, otherwise we're left with truncate_lines t when a message
1860 is printed with message-truncate-lines bound to t.
1861
aeac019e
GM
18622001-02-19 Gerd Moellmann <gerd@gnu.org>
1863
c8bc6f65
GM
1864 * window.c (Fmove_to_window_line): Undo last change.
1865 (displayed_window_lines): Call line_bottom_y to determine
1866 the line's bottom position.
1867
1868 * dispextern.h (line_bottom_y): Add prototype.
1869
52283633 1870 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1871 (pos_visible_p): Use it.
1872
980a2d69
GM
1873 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1874 set redisplaying_p to 0 here instead of in Frecursive_edit.
1875 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1876 set redisplaying_p.
1877
52283633 1878 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1879 New variables.
1880 (syms_of_xdisp): Initialize new variables.
1881 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1882 Specbind `inhibit-menubar-update' when updating the menu bar.
1883
65048e97
GM
1884 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1885 safe_run_hooks.
1886
1887 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1888 safe_run_hooks.
1889
a57c4026
GM
1890 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1891 is null.
1892
aeac019e
GM
1893 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1894 to the start of the file.
1895
76846b31
GM
18962001-02-16 Gerd Moellmann <gerd@gnu.org>
1897
f3f053f3 1898 * window.c (set_window_buffer): Fix last change.
52283633 1899
f3f053f3
GM
1900 * window.c (set_window_buffer): Set window's vscroll to 0.
1901
dad75588
GM
1902 * window.c (coordinates_in_window): Increase width of area
1903 where the vertical line can be dragged.
1904
c220b753
GM
1905 * xterm.c (x_set_glyph_string_background_width): Extend the
1906 background face to the end of the drawing area in the text
1907 area, only.
1908
c56b1c1b
GM
1909 * xdisp.c (handle_single_display_prop): Set iterator's position
1910 to where the `display' property starts, like for images.
1911 (dump_glyph): New function.
1912 (dump_glyph_row): Use it. Dump info about marginal areas.
1913
1914 * dispnew.c (direct_output_for_insert): Recognize more cases where
1915 glyphs can be written instead of being inserted.
1916
1917 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1918 the left x-coordinate of the area to shift.
1919
76846b31
GM
1920 * dired.c (directory_files_internal): Set result list to nil
1921 before retrying.
1922
0fc71a77
KH
19232001-02-15 Kenichi Handa <handa@etl.go.jp>
1924
1925 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1926 invalid multibyte sequence, treat *SRC as a character of
1927 eight-bit-graphic.
1928
25078b54
EZ
19292001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1930
1931 * textprop.c (Fset_text_properties): Doc fix.
1932
8399f8a0
GM
19332001-02-15 Gerd Moellmann <gerd@gnu.org>
1934
1935 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1936
9a2a6f73
DL
19372001-02-14 Dave Love <fx@gnu.org>
1938
1939 * coding.c: Doc and message fixes.
1940
bf853fee
AI
19412001-02-14 Andrew Innes <andrewi@gnu.org>
1942
1943 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1944 Emacs frame above the screen size.
1945
78c663d8
GM
19462001-02-14 Gerd Moellmann <gerd@gnu.org>
1947
1948 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1949
7cc9f69f
GM
19502001-02-13 Gerd Moellmann <gerd@gnu.org>
1951
0a411995
GM
1952 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1953 case that TO ends up beyond ZV after running before-change-functions.
1954
5ddc1b75
GM
1955 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1956 the selected window if it is showing the buffer in question.
1957
7cc9f69f
GM
1958 * dired.c (directory_files_internal): Initialize errno.
1959 (toplevel): Include errno.h.
1960
2e6621ca
GM
19612001-02-13 Kenichi Handa <handa@etl.go.jp>
1962
1963 * xfaces.c (best_matching_font): New parameter width_ratio.
1964 Multiply avgwidth by width_ratio.
1965 (choose_face_font): Call best_matching_font with width_ratio
1966 calculated from the column width of C.
1967
60222d69
AI
19682001-02-12 Andrew Innes <andrewi@gnu.org>
1969
1970 The following changes are to draw box lines inside characters area
1971 if line-width is negative.
52283633 1972
60222d69
AI
1973 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1974 face->box_line_width is negative.
1975 (x_produce_stretch_glyph): Likewise.
1976 (x_produce_glyphs): Likewise.
1977 (x_estimate_mode_line_height): Likewise.
1978 (x_draw_glyph_string_background): Likewise.
1979 (x_draw_glyph_string_foreground): Likewise.
1980 (x_draw_composite_glyph_string_foreground): Likewise.
1981 (x_draw_glyph_string_box): Likewise.
1982 (x_draw_image_foreground): Likewise.
1983 (x_draw_image_relief): Likewise.
1984 (x_draw_image_foreground_1): Likewise.
1985 (x_draw_image_glyph_string): Likewise.
1986
9804b846
KH
19872001-02-09 Kenichi Handa <handa@etl.go.jp>
1988
1989 The following changes are to draw box lines inside characters area
1990 if line-width is negative.
52283633 1991
9804b846
KH
1992 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1993 face->box_line_width is negative.
1994 (x_produce_stretch_glyph): Likewise.
1995 (x_produce_glyphs): Likewise.
1996 (x_estimate_mode_line_height): Likewise.
1997 (x_draw_glyph_string_background): Likewise.
1998 (x_draw_glyph_string_foreground): Likewise.
1999 (x_draw_composite_glyph_string_foreground): Likewise.
2000 (x_draw_glyph_string_box): Likewise.
2001 (x_draw_image_foreground): Likewise.
2002 (x_draw_image_relief): Likewise.
2003 (x_draw_image_foreground_1): Likewise.
2004 (x_draw_image_glyph_string): Likewise.
2005
2006 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2007 and :line-width can be negative.
52283633 2008 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2009
49be9f70
JR
20102001-02-09 Jason Rumney <jasonr@gnu.org>
2011
2012 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2013 characters the same as ASCII and latin-1.
2014 (x_display_and_set_cursor): Check for the focus frame's selected
2015 window instead of selected_window.
2016 (x_after_update_window_line): Don't clear if frame's internal
2017 border width is zero.
2018 (x_new_font): Don't change a tooltip's size.
2019 (w32_initialize): Set char_ins_del_ok to 1.
2020
2021 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2022 (x_set_font): If font hasn't changed, avoid recomputing
2023 faces and other things.
52283633
SM
2024 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2025 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2026 (x_create_tip_frame): Prevent changing the tooltip's
2027 background color by specifying a color for the default font
2028 in .Xdefaults.
2029 (Qcancel_timer): New variable.
2030 (syms_of_w32fns): Initialize and staticpro it.
2031 (Fx_hide_tip, Fx_show_tip): Use it.
2032 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2033 the timer.
2034 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2035
2036 * w32.c (init_environment): Duplicate local string before putenv.
2037
555e35d2
SZ
20382001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2039
2040 * charset.c (Fstring): A typo.
2041
19c92c94
KH
20422001-02-09 Kenichi Handa <handa@etl.go.jp>
2043
e47a1c33
KH
2044 * charset.c (Fstring): If all arguments are less than 256, return
2045 a unibyte string.
2046
2047 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2048 return a unibyte string.
2049
19c92c94
KH
2050 * coding.c (code_convert_region): After detecting a coding, if
2051 nothing found, set coding->composing to COMPOSITION_NO.
2052 (decode_coding_string): Likewise.
2053
d8e675f5
SM
20542001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2055
2056 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2057 to avoid overflow.
2058
bd503487
KH
20592001-02-07 Kenichi Handa <handa@etl.go.jp>
2060
2061 * charset.c (parse_str_to_multibyte): New function.
2062
2063 * charset.h (parse_str_to_multibyte): Extern it.
2064
2065 * print.c (print_string): If we are going to print a unibyte
2066 string into a multibyte buffer, convert the string to multibyte by
2067 str_to_multibyte.
2068
a8370d72
AI
20692001-02-06 Andrew Innes <andrewi@gnu.org>
2070
2071 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2072 been created. It seems we can get sent window messages such as
2073 WM_ERASEBKGND before we properly update a frame.
2074
c363a1d6
GM
20752001-02-06 Gerd Moellmann <gerd@gnu.org>
2076
2077 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2078 Avoid some unnecessary cursor positioning.
2079
a08332c0
GM
20802001-02-05 Gerd Moellmann <gerd@gnu.org>
2081
52283633 2082 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2083 (LFACE_AVGWIDTH): New macro.
2084 (LFACEP): Use AREF.
2085 (check_lface_attrs): Check LFACE_AVGWIDTH.
2086 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2087 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2088 (merge_face_vectors): Check LFACE_AVGWIDTH.
2089 (Finternal_make_lisp_face): Use AREF.
2090 (xm_set_menu_resources_from_menu_face)
2091 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2092 (Finternal_lisp_face_empty_p): Use AREF.
2093 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2094 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2095 Compare average widths..
2096 (best_matching_font): Arrange for comparing average widths.
2097
52283633
SM
2098 * dispextern.h (enum lface_attribute_index):
2099 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2100
5cb3c8d4
DL
21012001-02-05 Dave Love <fx@gnu.org>
2102
2103 * puresize.h: Revert last change following loadup.el change.
2104
193fba87
AI
21052001-02-05 Andrew Innes <andrewi@gnu.org>
2106
2107 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2108 invocation of temacs, to work with Windows 2000.
2109 (bootstrap-emacs): Ditto.
2110
e16f52ce
GM
21112001-02-05 Gerd Moellmann <gerd@gnu.org>
2112
7a58ab59
GM
2113 * xterm.c (x_display_and_set_cursor): Check for the focus
2114 frame's selected window instead of selected_window.
2115
e89aaabd
GM
2116 * xdisp.c (try_scrolling): If point is in the line below the
2117 window, make sure to move the iterator at least a canonical
2118 char height down.
2119
52283633 2120 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2121
789ce875
KH
21222001-02-05 Kenichi Handa <handa@etl.go.jp>
2123
52283633
SM
2124 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2125 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2126 (ccl_driver): If the CCL program is terminated because of
2127 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2128 destination instead of throwing them away.
2129
20b28f82
GM
21302001-02-02 Gerd Moellmann <gerd@gnu.org>
2131
79fb38c0
GM
2132 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2133 faces and other things.
2134
20b28f82
GM
2135 * xdisp.c (get_next_display_element): Fix case of empty
2136 display table entry.
2137
5a72551e
EZ
21382001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2139
eb24d0bf
EZ
2140 * editfns.c (Fconstrain_to_field): Doc fix.
2141
6a3f48c7
EZ
2142 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2143 into `thoroughly', to make it consistent with the doc string.
2144
5a72551e
EZ
2145 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2146
01acdb05
GM
21472001-02-01 Gerd Moellmann <gerd@gnu.org>
2148
0353b28f
GM
2149 * search.c (search_buffer): Call set_search_regs with a byte
2150 position, not a character position.
2151
01acdb05
GM
2152 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2153 minibuffer-only,
2154
e86b5133
EZ
21552001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2156
2157 * frame.c (Fmodify_frame_parameters): Doc fix.
2158
7442878f
GM
21592001-01-31 Gerd Moellmann <gerd@gnu.org>
2160
01acdb05
GM
2161 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2162 identifier which is not reserved by Standard C.
52283633 2163
7442878f
GM
2164 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2165
2166 * window.c (enum window_part): New enumeration.
2167 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2168 Qright_bitmap_area.
2169 (coordinates_in_window): Return an enumerator from enum
2170 window_part. Fix handling of right scroll bar.
2171 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2172 `right-fringe' instead of `left-bitmap-area' and
2173 `right-bitmap-area'. Use enumerators from enum window_part
2174 instead of hard-coded integers.
52283633
SM
2175 (check_window_containing, window_from_coordinates):
2176 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2177 (syms_of_window): Replace Qleft_bitmap_area and
2178 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2179
7c132cba
EZ
21802001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2181
2182 * editfns.c (Fformat_time_string): Doc fix.
2183
c359dd9e
SM
21842001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2185
2186 * keymap.c (Fwhere_is_internal): Use the first valid binding
2187 if no ascii binding is found (when firstonly is t).
2188
ce070307
GM
21892001-01-31 Gerd Moellmann <gerd@gnu.org>
2190
b4f30ec5
GM
2191 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2192 instead of Finteractive_p.
2193
2194 * lisp.h (interactive_p): Add prototype.
2195
2196 * eval.c (interactive_p): New function.
2197 (Finteractive_p): Use it.
2198
ce070307
GM
2199 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2200
f57b6e64
DL
22012001-01-31 Dave Love <fx@gnu.org>
2202
d61c7afe
DL
2203 * .gdbinit (hook-run): Define to run xreload.
2204
f57b6e64
DL
2205 * textprop.c (Fset_text_properties): Fix newline in doc string.
2206
eef93f99
GM
22072001-01-30 Gerd Moellmann <gerd@gnu.org>
2208
52283633
SM
2209 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2210 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2211
2212 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2213 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2214 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2215
2216 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2217 height.
2218
d9c1f6f9
DL
22192001-01-30 Dave Love <fx@gnu.org>
2220
2221 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2222 AFTER_POTENTIAL_GC.
2223
e8f044a0
GM
22242001-01-29 Gerd Moellmann <gerd@gnu.org>
2225
52283633
SM
2226 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2227 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2228
8e1db7b3
EZ
22292001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2230
2231 * textprop.c (Fset_text_properties): Doc fix.
2232
4eefd9d2
GM
22332001-01-29 Gerd Moellmann <gerd@gnu.org>
2234
2235 * xdisp.c (forward_to_next_line_start): Remove xassert.
2236
fccb8288
EZ
22372001-01-29 Jason Rumney <jasonr@gnu.org>
2238
4eefd9d2 2239 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2240 returning without releasing it.
2241
76581eab
KH
22422001-01-29 Kenichi Handa <handa@etl.go.jp>
2243
2244 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2245 for '^', '$', and '\0'.
2246
83a96b4d
AC
22472001-01-28 Andrew Choi <akochoi@i-cable.com>
2248
5604ec34
AC
2249 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2250 regex for '^', '$', and '\0'.
2251
83a96b4d
AC
2252 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2253 only if current_sblock has been initialized.
2254
2255 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2256 terminal frame even if it is the only visible frame.
2257
c09a6440
KH
22582001-01-28 Kenichi Handa <handa@etl.go.jp>
2259
2260 * fontset.c (font_family_registry): Even if FONTNAME conform to
2261 XLFD, if it specifies other fields than family and registry,
52283633 2262 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2263 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2264 a signle byte character. Don't set FAMILY part to nil here.
2265 It is handled by the caller choose_face_font.
c09a6440
KH
2266 (Fnew_fontset): Call font_family_registry with FORCE 0.
2267 (Fset_fontset_font): Likewise.
2268
4dcd74e6
GM
22692001-01-27 Gerd Moellmann <gerd@gnu.org>
2270
2271 * xdisp.c (display_line): Don't treat a newline as fitting
2272 on the line.
2273
d2906bf8
GM
22742001-01-26 Gerd Moellmann <gerd@gnu.org>
2275
0130fe1a
GM
2276 * window.c (size_window): Set the window's orig_top to nil when
2277 changing heights, so that a future shrink_mini_window won't
2278 restore a bogus height.
2279
550f0e6a
GM
2280 * frame.c (do_switch_frame): If selected frame has a mini-window,
2281 resize that to exact size.
2282
b7b20fbd
GM
2283 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2284
a47b7816
GM
2285 * xdisp.c (display_line): Simplify check for glyphs fitting
2286 entirely in the line.
2287
d2906bf8
GM
2288 * xfns.c (xic_style): New variable.
2289 (create_frame_xic): Move static variable to global scope for
550f0e6a 2290 the case that `static' gets defined away.
d2906bf8 2291
73df2b1e
KH
22922001-01-26 Kenichi Handa <handa@etl.go.jp>
2293
2294 * coding.c (decode_coding): Set a flag for inhibiting
2295 inconsistent eol.
2296 (code_convert_region): Always set saved_coding_symbol.
2297 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2298 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2299
6613cfc4
GM
23002001-01-25 Gerd Moellmann <gerd@gnu.org>
2301
c5e6e06b
GM
2302 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2303 XClearArea.
2304
2305 * xterm.c (x_after_update_window_line): Don't clear if frame's
2306 internal border width is zero.
2307 (x_clear_area): New function.
2308 (x_after_update_window_line, x_clear_end_of_line)
2309 (x_scroll_bar_create, x_scroll_bar_set_handle)
2310 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2311 instead of XClearArea.
2312
2313 * xterm.h (x_clear_area): Add prototype.
2314
6613cfc4
GM
2315 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2316 which doesn't seem necessary anymore with Lesstif 0.92.
2317
650cc6cc
DL
23182001-01-25 Dave Love <fx@gnu.org>
2319
34ac3367
DL
2320 * puresize.h (BASE_PURESIZE): Up to 720000.
2321
650cc6cc
DL
2322 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2323
5e37dc22
GM
23242001-01-25 Gerd Moellmann <gerd@gnu.org>
2325
e1e441f9
GM
2326 * xdisp.c (echo_area_display): Don't call redisplay_internal
2327 when Emacs is shutting down. We can't run hooks etc. that
2328 would be necessary to do a redisplay.
2329
5e37dc22
GM
2330 * lread.c (read_integer): Use type EMACS_INT instead of int.
2331
0fb94c7f
EZ
23322001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2333
2334 * ccl.c (ccl_driver): Fix last change.
2335
e3778624
KH
23362001-01-25 Kenichi Handa <handa@etl.go.jp>
2337
2338 * ccl.h (sturct ccl_program): New member suppress_error.
2339
bb264518 2340 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2341 insert error message to the output.
2342 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2343
2344 * coding.h (struct coding_system): New member suppress_error.
2345
2346 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2347 (Fset_terminal_coding_system_internal): Set the member
2348 suppress_error to 1.
2349 (Fset_safe_terminal_coding_system_internal): Likewise.
2350
245ed2b1
SM
23512001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2352
2353 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2354 as if it was a `charset'.
2355
f9aaedb6
GM
23562001-01-24 Gerd Moellmann <gerd@gnu.org>
2357
2358 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2359 value in where_is_cache; the next lookup in the cache returns
2360 something bogus if we do.
2361
c3902c3e
EZ
23622001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2363
2364 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2365 if HAVE_WINDOW_SYSTEM isn't defined.
2366
3497f73e
GM
23672001-01-24 Gerd Moellmann <gerd@gnu.org>
2368
e7e41584
GM
2369 * fns.c (sweep_weak_table): Fix code taking items out of
2370 the hash collision chain. Some cleanup.
2371
3497f73e
GM
2372 * xterm.c (x_new_font): Don't change a tooltip's size.
2373
2374 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2375 background color by specifying a color for the default font
2376 in .Xdefaults.
2377
3d48e687
KH
23782001-01-24 Kenichi Handa <handa@etl.go.jp>
2379
96531b20
KH
2380 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2381 a workaround for SunOS 4's cc.
2382 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2383 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2384 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2385 statement.
3d48e687 2386
a30629d2
GM
23872001-01-23 Gerd Moellmann <gerd@gnu.org>
2388
2389 * xterm.c (x_set_window_size_1): New function extracted from
2390 x_set_window_size.
2391 (x_set_window_size): Use it.
2392 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2393 doesn't have a widget, like tooltips.
2394
5a43decf
EZ
23952001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2396
52283633 2397 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2398
b0e98867
KH
23992001-01-23 Kenichi Handa <handa@etl.go.jp>
2400
2401 * fns.c (Fset_char_table_default): Fix to make sub char-table
2402 correctly.
2403
50606b4c
GM
24042001-01-22 Gerd Moellmann <gerd@gnu.org>
2405
cb2ddc53 2406 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2407 a desired tool bar string, even if there are no tool bar items.
2408
57c28064
GM
2409 * xdisp.c (Ftool_bar_lines_needed): New function.
2410 (syms_of_xdisp): Defsubr it.
2411
50606b4c
GM
2412 * editfns.c (Fformat): Don't extend text properties from arguments
2413 to padding chars in the result.
2414
2f169c38
EZ
24152001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2416
2417 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2418
0f32f023
AI
24192001-01-20 Andrew Innes <andrewi@gnu.org>
2420
52283633 2421 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2422 (w32_initialize): Don't set term hooks that aren't actually needed
2423 in windowed mode.
2424
2425 * xfaces.c (realize_default_face):
2426 (realize_face):
2427 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2428
2429 * xdisp.c (handle_single_display_prop): Remove references to
2430 FRAME_W32_CONSOLE_P.
2431
52283633 2432 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2433
2434 * frame.h (output_method): Remove output_w32_console method.
2435 (FRAME_W32_CONSOLE_P): Remove macro.
2436
2437 * frame.c (Qw32_console): Remove variable.
2438 (Fframep): Remove references to it.
2439 (syms_of_frame): Ditto.
2440 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2441
2442 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2443 redefinition.
2444
7173eada
KH
24452001-01-20 Kenichi Handa <handa@etl.go.jp>
2446
2447 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2448
755b45ce
AI
24492001-01-19 Andrew Innes <andrewi@gnu.org>
2450
2451 * w32.c (init_environment): Add a version-independent site-lisp
2452 directory to EMACSLOADPATH, after the version dependent one.
2453
0a949811
GM
24542001-01-19 Gerd Moellmann <gerd@gnu.org>
2455
8501998a
GM
2456 * editfns.c (Fbuffer_substring): Doc fix.
2457
52283633
SM
2458 * xdisp.c (message_dolog, message2, message2_nolog):
2459 Rename parameter LEN to NBYTES.
0a949811 2460
e6ebcbbe
KH
24612001-01-19 Kenichi Handa <handa@etl.go.jp>
2462
200ecca2
KH
2463 * charset.c (strwidth): Use c_string_width.
2464 (c_string_width): New function.
2465 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2466 Caller changed.
2467
2468 * charset.h (c_string_width, lisp_string_width): Extern them.
2469
52283633 2470 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2471
e6ebcbbe
KH
2472 * indent.c (check_composition): Check validity of composition.
2473
200ecca2
KH
2474 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2475 characters by calling c_string_width.
2476 (x_consider_frame_title): Get byte length of frame tile string
2477 correctly.
2478 (display_mode_element): Pay attention to width of non-ASCII
2479 characters by calling strwidth.
2480
8692ca92
GM
24812001-01-18 Gerd Moellmann <gerd@gnu.org>
2482
8962e303
GM
2483 * xfns.c (Qcancel_timer): New variable.
2484 (syms_of_xfns): Initialize and staticpro it.
2485 (Fx_hide_tip, Fx_show_tip): Use it.
2486 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2487 the timer.
2488 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2489
91523be9
GM
2490 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2491
2492 * window.h (WINDOW_LIVE_P): New macro.
2493
b0b7ed0e
GM
2494 * window.c (window_size_fixed): New variable.
2495 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2496 the doc string.
2497
06bccf8e
GM
2498 * eval.c (specbind): If binding a per-buffer variable which
2499 doesn't have a buffer-local value in the current buffer, change
2500 the global value by changing the value of the symbol bound in all
2501 buffers not having their own value, to make it consistent with
2502 what happens with other buffer-local variables.
2503
8692ca92
GM
2504 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2505
2506 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2507 when searching for a newline.
2508
bb3a3b50
KH
25092001-01-18 Kenichi Handa <handa@etl.go.jp>
2510
2511 * xdisp.c (display_string): Fix previous change.
2512
c2cc16fa
JR
25132001-01-18 Jason Rumney <jasonr@gnu.org>
2514
2515 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2516 GLYPH_DEBUG is defined.
2517 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2518 true for images with `:ascent 100'.
2519 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2520 meantime, use face MOUSE_FACE_ID.
2521 If first glyph isn't a character glyph, use the ASCII NUL
2522 character to determine the face.
2523 (expose_area): Do not treat left margin specially.
2524 (note_mode_line_highlight): If no local_map, check global keymap.
2525 (note_mouse_highlight): Initialize overlay.
52283633 2526 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2527 (show_scroll_bars): Remove unused function.
2528 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2529 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2530 Clip to row.
52283633 2531 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2532 (x_free_frame_resources): Unload relief colors.
2533
9c11f79e
GM
25342001-01-17 Gerd Moellmann <gerd@gnu.org>
2535
3aec8722 2536 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2537 get_next_display_element when the newline is already found.
2538 This may change the iterator's position, when its current position is
3aec8722
GM
2539 equal to the iterator's stop_charpos.
2540
f3ffc2c3
GM
2541 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2542 zero, use this method only at the end of a line.
2543
52283633 2544 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2545 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2546 if SCALABLE_FONTS_P is set.
52283633 2547
d26d6fd9
GM
2548 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2549 so that scalable fonts are included.
2550
9c11f79e
GM
2551 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2552 In the cache, use a key containing the information if scalable
2553 fonts are included.
2554 (x_load_font): Adapt to change of keys in the font cache.
2555
25562001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2557
d26d6fd9
GM
2558 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2559 XListFonts to take advantage of font caching.
2560
9c11f79e
GM
2561 * xterm.c (x_list_fonts): Ensure caching font information when
2562 called for a null frame, which is the case frequently when Emacs
2563 starts.
2564
51446987
GM
25652001-01-17 Gerd Moellmann <gerd@gnu.org>
2566
f864120f
GM
2567 * xfns.c (QCconversion): Replaces QCalgorithm.
2568
2569 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2570
2571 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2572 of :algorithm.
52283633 2573
e37d1417
GM
2574 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2575 not everything could be displayed.
2576
51446987
GM
2577 * line.h, x-list-font.c: Files removed because unused.
2578
9ad4f3e5
AI
25792001-01-17 Andrew Innes <andrewi@gnu.org>
2580
2581 * dired.c (directory_files_internal): Convert result from readdir
2582 to a unibyte string initially, to avoid possible misinterpretation
2583 of some bytes as the internal form of Emacs characters.
2584
2eda09b5
KH
25852001-01-17 Kenichi Handa <handa@etl.go.jp>
2586
2587 * fns.c (concat): Be sure to avoid putting the same `composition'
2588 property on the adjacent regions.
2589
826f3788
GM
25902001-01-16 Gerd Moellmann <gerd@gnu.org>
2591
52283633 2592 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2593 (Fscroll_right, Fscroll_left): Set it here instead, if called
2594 interactively.
2595
d57b83b3
GM
2596 * buffer.c (Fset_buffer_modified_p): Set buffer's
2597 prevent_redisplay_optimizations_p flag.
2598
826f3788 2599 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2600 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2601 with additional arg.
2602
2603 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2604 Change prototype.
826f3788 2605
826f3788
GM
2606 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2607 FROM_WHERE, for debugging.
2608
261d788b
KH
26092001-01-16 Kenichi Handa <handa@etl.go.jp>
2610
2611 * ccl.c (Fregister_ccl_program): Handle the return value of
2612 resolve_symbol_ccl_program correctly.
52283633 2613 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2614
bccee4f2
GM
26152001-01-15 Gerd Moellmann <gerd@gnu.org>
2616
e4ded23c
GM
2617 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2618 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2619
2620 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2621 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2622 the display; we didn't open it.
2623
bccee4f2
GM
2624 * dispnew.c (save_or_restore_current_matrices): Function removed.
2625 (save_current_matrix, restore_current_matrix): New functions.
2626 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2627 restore the frame's current matrix. Due to the glyph pointer
2628 setup done in adjust_glyph_matrix, there is no easy way to make
2629 saving the current matrix in the desired matrix generally correct,
2630 so don't try it.
2631
ebeccffa
KH
26322001-01-15 Kenichi Handa <handa@etl.go.jp>
2633
2634 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2635 truncation glyphs.
2636 (display_line): Optimize for wide characters.
e4ded23c 2637 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2638 partially. On ttys, produce more than one truncation glyph for
2639 multi-column characters that don't fit on the line.
2640
64388126
KH
26412001-01-13 Kenichi Handa <handa@etl.go.jp>
2642
52283633
SM
2643 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2644 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2645
8edb0a6f
JR
26462001-01-13 Jason Rumney <jasonr@gnu.org>
2647
2648 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2649 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2650 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2651 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2652
52283633
SM
2653 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2654 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2655 (x_draw_image_glyph_string): Adapt to change of image margins.
2656
2657 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2658 variables.
2659
2660 * w32bdf.c (search_file_line, get_cached_font_char)
2661 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2662
2663 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2664
2665 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2666 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2667 (Fw32_send_sys_command): Remove unused variables.
2668 (w32_msg_pump): Add parentheses.
2669
2670 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2671 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2672 Add parentheses.
2673
4956d1ef
GM
26742001-01-12 Gerd Moellmann <gerd@gnu.org>
2675
b30623be
GM
2676 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2677 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2678 being a pair of margins.
2679 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2680 to DEFVAR_LISP. Extend doc.
2681
2682 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2683 margins.
2684 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2685 pair of integers `(X . Y)', use X for the horizontal and Y for the
2686 vertical margin.
2687 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2688 (parse_image_spec): Check it.
52283633
SM
2689 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2690 (tiff_format, gif_format, gs_format):
2691 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2692
52283633
SM
2693 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2694 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2695 (x_draw_image_glyph_string): Adapt to the change of image margins.
2696
2697 * dispextern.h (struct image): Replace member `margin' with
2698 `hmargin' and `vmargin'.
2699
4554cc79
GM
2700 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2701 and GLYPHS.
2702
2703 * dispnew.c (update_text_area): Put code which decrements the
2704 stop position when the row's face extends to the end of the
3bffc665 2705 line in #if 0.
4554cc79 2706
3cccce8d
GM
2707 * xfns.c (x_set_mouse_color): Fix color allocation.
2708
4956d1ef
GM
2709 * keyboard.c: Call get_local_map with new argument list.
2710
2711 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2712
2713 * intervals.h (enum map_property): Removed.
2714 (get_local_map): Change prototype.
2715
2716 * keymap.c: Call get_local_map with new argument list.
2717 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2718
2c2ff7f2
GM
27192001-01-11 Gerd Moellmann <gerd@gnu.org>
2720
a23887b9
GM
2721 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2722 of the size needed for the tool bar string. For the last image,
2723 use a `display' property that reaches to the end of the string.
2724
a7ee2d2e
GM
2725 * xselect.c (selection_request_dpyinfo): New variable.
2726 (x_handle_selection_request): Set it.
2727 (x_selection_request_lisp_error): Don't call
2728 x_decline_selection_request if selection request's display has
2729 been closed.
2730
52283633
SM
2731 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2732 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2733
457b792c
GM
27342001-01-10 Dave Love <fx@gnu.org>
2735
2736 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2737 ${SOME_MACHINE_LISP}, not ${lisp}.
2738
c1efd260
GM
27392001-01-10 Gerd Moellmann <gerd@gnu.org>
2740
52283633
SM
2741 * xdisp.c (display_line): On ttys, produce more than one truncation
2742 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2743
ac95a621
GM
2744 * xselect.c (x_reply_selection_request): Add a comment.
2745
c1efd260
GM
2746 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2747 XkbGetNames instead of XkbGetKeyboard.
2748
1bfb1345
DL
27492001-01-10 Dave Love <fx@gnu.org>
2750
2751 * sysdep.c (random): Revert the declaration.
2752
38119822
GM
27532001-01-09 Gerd Moellmann <gerd@gnu.org>
2754
52283633
SM
2755 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2756 Call function string_bytes.
35f464a7
GM
2757 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2758
2759 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2760 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2761 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2762 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2763 the current sblock.
2764 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2765 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2766 after sweeping strings, and at the end.
2767 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2768
38119822
GM
2769 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2770 ensure that pop_message is called.
2771
2772 * keyboard.c (Fexecute_extended_command): Use a
2773 record_unwind_protect to ensure that pop_message is called.
2774
2775 * lisp.h (push_message_unwind): Add prototype.
2776
2777 * xdisp.c (push_message_unwind): New function.
2778
2779 * fileio.c (do_auto_save_unwind): Do the pop_message here
2780 instead of in Fdo_auto_save.
2781 (Fdo_auto_save): Don't call pop_message.
2782
f47a9ec4
KR
27832001-01-08 Ken Raeburn <raeburn@gnu.org>
2784
2785 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2786 in inner block.
2787
a758f97d
GM
27882001-01-08 Gerd Moellmann <gerd@gnu.org>
2789
6d0afc03
GM
2790 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2791 when increasing window's vscroll.
2792
a758f97d
GM
2793 * macros.c (Qkbd_macro_termination_hook): New variable.
2794 (syms_of_macros): Initialize and staticpro it.
2795 (pop_kbd_macro): Run kbd-macro-termination-hook.
2796
2797 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2798
1bfb1345 27992001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2800
2801 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2802 arglist, for documentation's sake.
2803
0dac6924
AI
28042001-01-06 Andrew Innes <andrewi@gnu.org>
2805
2806 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2807 of *.pdb.
2808
8182406a
AI
28092001-01-05 Andrew Innes <andrewi@gnu.org>
2810
2811 * term.c (update_end): Don't check updating_frame; for some reason
2812 this can be 0 sometimes, such as after dismissing a popup menu,
2813 and isn't necessary given the explicit frame argument.
2814
3828218c
GM
28152001-01-05 Gerd Moellmann <gerd@gnu.org>
2816
2817 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2818 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2819
2f5ded21
GM
28202001-01-04 Gerd Moellmann <gerd@gnu.org>
2821
52283633 2822 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2823
2824 * xfns.c (x_create_tip_frame): Preserve the value of
2825 face_change_count around the creation of the tip frame.
52283633 2826
2f5ded21
GM
2827 * xfns.c (last_show_tip_args): New variable.
2828 (compute_tip_xy): New function.
2829 (Fx_show_tip): Reuse an existing tip frame, if possible.
2830 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2831
dfad65fa
DL
28322001-01-04 Dave Love <fx@gnu.org>
2833
64d4ec0f
DL
2834 * editfns.c (Fformat): Doc fix.
2835
dfad65fa
DL
2836 * systime.h (set_file_times): Prototype.
2837
2838 * widget.h (EmacsFrameSetCharSize_): Prototype.
2839
2840 * sysdep.c (random, srandom): Declare explicitly.
2841
2842 * dispextern.h (move_it_vertically_backward): Declare.
2843
85fe3b5e
GM
28442001-01-04 Gerd Moellmann <gerd@gnu.org>
2845
0f2ac578
GM
2846 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2847 like in Fx_create_frame.
2848
482cca61
GM
2849 * xfaces.c (set_font_frame_param): Don't do anything for
2850 non-graphical frames.
2851
85fe3b5e
GM
2852 * window.c (Fdelete_other_windows): Set window's window_end_valid
2853 to nil when changing the window's start. Don't change the
2854 window's start when its top position hasn't changed. If we do,
2855 this will set the window's optional_new_start, which act's like a
2856 force_start during redisplay with C-x 1 M-> under particular
2857 circumstances (see report from Per Starback to emacs-pretest-bug
2858 from 2000-12-13.).
2859
3e99d3b4
GM
28602001-01-03 Gerd Moellmann <gerd@gnu.org>
2861
a77dc1ec
GM
2862 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2863 short cut at the start of the function. Add an assertion.
2864 (reseat_at_next_visible_line_start): Add an assertion.
2865
2f3cad6c
GM
2866 * window.c (Frecenter): When changing the window start, set the
2867 window's window_end_valid to nil.
2868 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2869
2870 * dispextern.h (move_it_past_eol): Add prototype.
2871
2872 * xdisp.c (move_it_past_eol): New function.
2873
3e99d3b4
GM
2874 * window.c (Fwindow_end): Doc fix.
2875
28762001-01-03 Dave Love <fx@gnu.org>
2877
52283633 2878 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2879
bafb434c
GM
28802001-01-03 Gerd Moellmann <gerd@gnu.org>
2881
2882 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2883 the enabled_p flag of the glyph row at window_end_vpos to 0.
2884 (handle_single_display_prop): Fix last change.
2885
5297fb00
RS
28862001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2887
2888 * window.c (Frecenter): Doc fix.
2889
13d6a61c
AI
28902001-01-02 Andrew Innes <andrewi@gnu.org>
2891
2892 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2893
2894 * frame.h (output_method): Add output_w32_console method.
2895 (FRAME_W32_CONSOLE_P): New macro.
2896
2897 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2898 use output_w32_console method.
2899 (Qw32_console): New Lisp_Object.
2900 (Fframep): Return it.
2901 (syms_of_frame): Init it.
52283633 2902 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2903
2904 * xfaces.c (realize_default_face): Set face foreground and
2905 background to unspecified for w32_console frames.
2906 (realize_face): Realize face cache for w32_console frames.
2907 (realize_tty_face): Accept w32_console frames.
2908
52283633 2909 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2910 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2911 necessary, even if running interactively.
2912
2913 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2914 w32_console frames.
2915
52283633
SM
2916 * w32term.c (x_update_begin):
2917 (x_update_end):
2918 (x_clear_frame):
2919 (x_ins_del_lines):
2920 (x_change_line_highlight):
2921 (x_delete_glyphs):
2922 (w32_ring_bell):
2923 (x_update_begin):
2924 (x_update_end):
2925 (w32_reassert_line_highlight):
2926 (w32_frame_rehighlight):
13d6a61c
AI
2927 (w32_frame_raise_lower): Do nothing if not w32 frame.
2928
2929 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2930
2931 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2932 system doesn't tell us directly.
2933 (Fx_display_visual_class): Implement properly.
2934
d6bb0c0d
GM
29352001-01-02 Gerd Moellmann <gerd@gnu.org>
2936
2937 * window.c (Frecenter): Handle centering in graphical frames
2938 specially. Centering on the basis of line counts doesn't work
2939 reliably with variable-height lines.
52283633 2940
315f5865
EZ
29412001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2942
2943 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2944 and al[].
2945
52283633 2946 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2947 (update_compositions): Remove unused variable `hook'.
2948
2949 * intervals.c (get_local_map): Remove unused variable `tem'.
2950
2951 * doprnt.c (doprnt1): Remove unused variable `size'.
2952
2953 * fns.c (Flength): Remove unused variable `tail'.
2954 (Fdelete): Remove unused variable `size'.
2955
2956 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2957 and `gcpro2'.
2958
52283633 2959 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2960
2961 * data.c (find_symbol_value): Remove extra 3rd argument in the
2962 call to swap_in_symval_forwarding.
2963
52283633 2964 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2965
2966 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2967 (trivial_regexp_p): Remove unused variable `c'.
2968 (boyer_moore): Remove unused variable `k'.
2969
2970 * indent.c (current_column): Remove unused variable `stopchar'.
2971 (Fcompute_motion): Remove unused variable `contin'.
2972
2973 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2974
2975 * dired.c (directory_files_internal): Fix a typo in a comment.
2976 Remove an unused variable `handler'.
52283633 2977 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2978 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2979 on BSD4_2.
2980
52283633 2981 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2982
2983 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2984 and `buf'.
2985 (Fmarker_insertion_type): Remove unused variable `buf'.
2986
2987 * insdel.c (make_gap): Remove unused variable `result'.
2988
52283633 2989 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2990 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2991 (menu_bar_items): Remove unused function-scope variable `tem'.
2992
2993 * fontset.c (fontset_ref): Remove unused variable `i'.
2994 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2995 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2996 (make_fontset_for_ascii_face): Remove unused variable `name'.
2997 (fs_load_font): Remove unused variable `font_idx'.
52283633 2998 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2999 (list_fontsets): Remove unused variable `tail'.
3000 (Fnew_fontset): Remove unused variables `family' and `registry'.
3001 (accumulate_font_info): Remove unused variable `tmp'.
3002 (Ffontset_font): Remove unused variable `id'.
3003 (syms_of_fontset): Remove unused variable `i'.
3004
3005 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3006 to x_term_init.
3007 (lookup_image): Remove unused variable `file'.
3008 (xbm_load): Remove unused variables `bitmap_data', `height', and
3009 `width'. Remove function-local variable `i', leave the
3010 block-local one.
3011 (gif_load): Remove unused variable `inc'.
3012
52283633 3013 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3014 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3015 leave only the one in the inner block.
3016
3017 * xfaces.c (face_fontset, realize_default_face): Remove unused
3018 variable `fontset'.
3019 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3020
3021 * term.c (encode_terminal_code): Remove unused variable `c'.
3022
3023 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3024 char *' instead of `char *'.
3025
3026 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3027 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3028 (Fchar_category_set): Remove unused variables `val', `charset',
3029 `c1' and `c2'.
3030
52283633
SM
3031 * coding.c (detect_coding_iso2022, setup_coding_system):
3032 Remove unused variable `i'.
315f5865
EZ
3033 (detect_coding_mask): Remove unused variable `idx'.
3034 (detect_coding): Remove unused variable `i'.
3035 (ccl_coding_driver): Remove unused variable `result'.
3036 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3037 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3038 (encode_coding_string): Remove unused variables `gcpro1' and
3039 `saved_coding_symbol'.
3040 (Ffind_coding_systems_region_internal): Remove function-local
3041 variable args[], leave only the block-local one.
3042 (code_convert_region1): Remove unused variable `len'.
3043
3044 * charset.c (char_printable_p): Remove unused variable `chars'.
3045 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3046 (str_to_multibyte): Remove unused variable `c'.
3047
3048 * window.c (size_window): Remove block-local variable `min_size'.
3049
3050 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3051 `header_line_height'.
3052 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3053 enum display_element_type.
3054
1a8a9daf
GM
30552001-01-02 Gerd Moellmann <gerd@gnu.org>
3056
6dde6abc 3057 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3058 statements that call X. Save away the error message in a local copy.
3059
1883b2c6
GM
3060 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3061 the start.
3062
a13be207
GM
3063 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3064 in or at the start of invisible text.
3065
1a8a9daf
GM
3066 * dispnew.c (update_window): Don't check_current_matrix_flags.
3067
3608c0f9
JR
30682001-01-01 Jason Rumney <jasonr@gnu.org>
3069
3070 * w32fns.c (x_figure_window_size): Do not allow new_height and
3071 new_width of frame to override specified values.
3072
abb1acc4
KH
30732000-12-30 Kenichi Handa <handa@etl.go.jp>
3074
52283633 3075 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3076
762a68ec
GM
30772000-12-29 Gerd Moellmann <gerd@gnu.org>
3078
52283633 3079 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3080 (update_window) [GLYPH_DEBUG]: Call it.
3081 (scrolling_window): Prevent including current rows which are below
3082 what's displayed in the window.
3083
3084 * xdisp.c (try_window_reusing_current_matrix)
3085 <new start <= old start>: Disable rows in the current matrix
3086 which are below the window after scrolling.
52283633 3087
762a68ec
GM
3088 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3089 is zero. It's not worth the complexity.
3090 (invisible_text_between_p): Put in #if 0 because unused.
3091
2d5912c1
GM
30922000-12-28 Gerd Moellmann <gerd@gnu.org>
3093
46f6a258
GM
3094 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3095 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3096
89f93679
GM
3097 * keyboard.c (echo_char): If C is an integer, always call
3098 push_key_description. Former code could signal an invalid
3099 character error.
3100
3101 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3102 If set, print multibyte text.
3103 (Fsingle_key_description): Call push_key_description with
3104 FORCE_MULTIBYTE set.
3105 (describe_buffer_bindings): Likewise.
3106
3107 * lisp.h (push_key_description): Add prototype.
3108
c06017fb
GM
3109 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3110 around the call to redisplay_internal.
3111
f1d2ce7f
GM
3112 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3113
2d5912c1
GM
3114 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3115
9371f831
KH
31162000-12-28 Kenichi Handa <handa@etl.go.jp>
3117
3118 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3119 (ccl_driver): New local variable `extra_bytes'.
3120
3121 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3122
52283633
SM
3123 * coding.c (setup_coding_system):
3124 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3125 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3126
0c80628a
KH
31272000-12-28 Kenichi Handa <handa@etl.go.jp>
3128
3129 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3130 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3131 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3132 (decode_composition_emacs_mule): New function.
3133 (decode_coding_emacs_mule): Decode composition sequence by calling
3134 decode_composition_emacs_mule.
3135 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3136 (encode_coding_emacs_mule): Changed from macro to function.
3137 If a text contains compositions, encode them correctly.
0c80628a
KH
3138 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3139 that decoding and encoding are required.
3140
3e32cc27
GM
31412000-12-27 Gerd Moellmann <gerd@gnu.org>
3142
5e25feee
GM
3143 * xfaces.c (PT_PER_INCH): New macro.
3144 (xlfd_point_size): Compute real point size from font's pixel size.
3145 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3146 instead of 72.
3147
892d8fcd
GM
3148 * .gdbinit: Comment out the line pointing to the Lesstif source
3149 directory.
3150
12c8b416
GM
3151 * window.c (Frecenter): Use displayed_window_lines instead
3152 of window_internal_height.
3153
6061fbf0
GM
3154 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3155 instead of x-toolkit-scroll-bars-p.
3156 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3157
3158 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3159 instead of x-toolkit-scroll-bars-p.
3160 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3161
3e32cc27
GM
3162 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3163 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3164 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3165 New variables.
3166 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3167 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3168 (build_frame_matrix_from_leaf_window): Remove unused code.
3169 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3170 redisplay history.
3171 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3172 (update_window) [GLYPH_DEBUG]: Likewise.
3173 (syms_of_display): Defsubr dump-redisplay-history.
3174
31798cfe
GM
31752000-12-23 Gerd Moellmann <gerd@gnu.org>
3176
f717c2ba
GM
3177 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3178 the end of the prompt. Set echo_after_prompt to the offset
3179 of echoptr in echobuf.
3180
aeb2b8fc
GM
3181 * xdisp.c (init_from_display_pos): Pop until the iterator's
3182 stack is empty; there may be frames for stretch or images
3183 on the stack.
3184
31798cfe
GM
3185 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3186 (save_or_restore_current_matrix): New function for the same
3187 purpose, but more efficient.
3188 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3189
f8156156
EZ
31902000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3191
3192 * xdisp.c (syms_of_xdisp): Fix last change.
3193
bdd6d4e8
GM
31942000-12-23 Gerd Moellmann <gerd@gnu.org>
3195
3196 * xdisp.c (syms_of_xdisp): Doc fix.
3197
3198 * xdisp.c (redisplay_window): Remove label restore_buffers;
3199 use finish_scroll_bars instead to make sure that scroll bars
3200 are redeemed. If we don't do this, flickering can result from
3201 scroll bars being destroyed and recreated.
3202
9436cdf9
JR
32032000-12-22 Jason Rumney <jasonr@gnu.org>
3204
3205 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3206 in the wrong colors when the foreground is not black.
3207 (expose_window): Don't redraw the window that's currently being
3208 updated.
3209
951f9df5
GM
32102000-12-22 Gerd Moellmann <gerd@gnu.org>
3211
856ff7a7
GM
3212 * window.c (size_window): When setting the window's too_small_ok
3213 flag, compare old size with minimum size depending on WIDTH_P,
3214 don't compare with window_min_width.
52283633 3215
951f9df5
GM
3216 * window.c (delete_window): Simplify somewhat.
3217 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3218 freeing window matrices. The flag windows_or_buffers_changed is
3219 set, so the next redisplay will consider all windows; this should
3220 suffice.
3221
886bc933
KH
32222000-12-22 Kenichi Handa <handa@etl.go.jp>
3223
3224 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3225
3226 * ccl.h (struct ccl_program): New member cr_consumed.
3227
3228 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3229 (CCL_READ_CHAR): Handle EOL conversion here.
3230 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3231
177f4e88
GM
32322000-12-21 Gerd Moellmann <gerd@gnu.org>
3233
52283633 3234 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3235
3236 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3237 otherwise tabs of different size compare equal.
3238
3239 * callint.c (Fcall_interactively): Prevent a compiler warning.
3240
3241 * print.c (print_unwind): Return nil.
3242 (PRINTDECLARE): Initialize all local variables.
3243 (print_preprocess): Add a default case.
3244
8e15274f
GM
3245 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3246
3247 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3248
52283633 3249 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3250 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3251
3252 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3253
3254 * dispnew.c (ensure_frame_matrix): Removed.
3255 (save_frame_matrix, restore_frame_matrix): New functions.
3256 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3257
3258 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3259 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3260
99012074
AI
32612000-12-21 Andrew Innes <andrewi@gnu.org>
3262
3263 * w32term.c (x_update_begin): Regenerate the palette here, rather
3264 than for each window.
3265
3266 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3267 palette is NULL, since this corrupts memory! Also get
3268 display_info reference from frame.
3269
29ef7d2d
JR
32702000-12-21 Jason Rumney <jasonr@gnu.org>
3271
3272 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3273
3274 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3275 to avoid returning without releasing it.
3e27fa1f 3276
3f9d67a6
KH
32772000-12-21 Kenichi Handa <handa@etl.go.jp>
3278
587fc3f9
KH
3279 * keymap.c (push_key_description): Don't convert eight-bit-control
3280 and eight-bit-graphic to multibyte character.
3281
3f9d67a6
KH
3282 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3283 generic character and CODE1 is nil, return the smallest character
3284 in CHARSET.
3285
774ba8c9
DL
32862000-12-20 Dave Love <fx@gnu.org>
3287
3288 * s/osf5-0.h (NSIG): Don't redefine.
3289
88416888
SM
32902000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3291
3292 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3293 excluding menu-bar and tool-bar.
3294 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3295 (menu_item_p): Remove.
3296 (where_is_internal_1): Don't ignore menu-items.
3297
a6426c6f
GM
32982000-12-20 Gerd Moellmann <gerd@gnu.org>
3299
03ff8aab
GM
3300 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3301 into account.
3302
3303 * window.c (make_window): Initialize window's min_hscroll.
3304 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3305 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3306 to zero.
3307 (struct saved_window): New member min_hscroll.
3308 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3309 (Fset_window_configuration): Set window's min_hscroll.
3310 (save_window_save): Save window's min_hscroll.
3311 (compare_window_configurations): Compare min_hscroll values.
3312
3313 * window.h (struct window): New member min_hscroll.
3314
3315 * keyboard.c (echo_prompt): Prevent a compiler warning.
3316
8de4aaf8
GM
3317 * xdisp.c (try_cursor_movement): Fix last change. The real
3318 condition is that PT is at the end of the row, and should
3319 be displayed at the start of the next row.
52283633 3320
3f7e3031
GM
3321 * xdisp.c (try_cursor_movement): If we end on a partially
3322 visible line, end we already decided to scroll, return -1.
3323
a6426c6f
GM
3324 * dispextern.h (ensure_frame_matrix): Add prototype.
3325
3326 * window.c (delete_window, Fsplit_window)
3327 (Fset_window_configuration): Call ensure_frame_matrix.
3328
52283633
SM
3329 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3330 New functions.
a6426c6f
GM
3331 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3332 completed, call fake_current_matrices instead of marking frame
3333 garbaged.
3334
57fa2774
JR
33352000-12-20 Jason Rumney <jasonr@gnu.org>
3336
3337 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3338
d925df90
EZ
33392000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3340
3341 * fns.c (Frequire): Doc fix.
3342
7b93a85b
GM
33432000-12-19 Gerd Moellmann <gerd@gnu.org>
3344
52283633 3345 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3346
c74e645b
GM
3347 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3348 currently displaying a message.
3349
7b93a85b
GM
3350 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3351 xterm.h.
3352 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3353
90d97e64
AI
33542000-12-18 Andrew Innes <andrewi@gnu.org>
3355
3356 * w32.c (w32_strerror): New function.
3357
3358 * w32.h (w32_strerror): New extern.
3359
3360 * w32fns.c (Fw32_shell_execute): Use it.
3361
91c9e6ce
GM
33622000-12-18 Gerd Moellmann <gerd@gnu.org>
3363
3364 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3365
6f4745e2
EZ
33662000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3367
3368 * msdos.c (IT_set_face): Obey inverse_video.
3369
c9e088ce
KH
33702000-12-18 Kenichi Handa <handa@etl.go.jp>
3371
3372 * dired.c (directory_files_internal): Always return decoded filenames.
3373
c3695f5f
GM
33742000-12-18 Gerd Moellmann <gerd@gnu.org>
3375
52d8e4ff
GM
3376 * xterm.c (x_connection_closed): Prevent being called recursively
3377 because of an error condition in XtCloseDisplay.
52283633 3378
62be9979
GM
3379 * xdisp.c (init_iterator): If noninteractive, and the frame's
3380 face cache is null, make one.
3381
52283633 3382 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3383
c3695f5f
GM
3384 * process.c (wait_reading_process_input): Check for pending
3385 input when running timers.
3386
78555fbe
EZ
33872000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3388
52283633 3389 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3390
b2b36264
KH
33912000-12-18 Kenichi Handa <handa@etl.go.jp>
3392
3393 * process.c (read_process_output): Don't run a filter if the code
3394 decoder produces nothing but carryover.
3395
9c543fbf
AI
33962000-12-17 Andrew Innes <andrewi@gnu.org>
3397
3398 * w32.c (sys_rename): Only check errno against EEXIST, and not
3399 EACCES, when determining whether rename failed because the target
3400 exists. This was resulting in indefinite looping on Windows 9x if
3401 the source file was locked by another process.
3402
3403 * w32fns.c (Ffile_system_info): New function.
3404 (syms_of_w32fns): Defsubr it.
3405
10c2b5a8
GM
34062000-12-17 Gerd Moellmann <gerd@gnu.org>
3407
b0228ace
GM
3408 * window.c (coordinates_in_window): Fix computation for
3409 position on vertical line between mode lines.
3410
10c2b5a8
GM
3411 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3412 Don't alter tip_frame or tip_window.
3413 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3414 was deleted.
3415
c844a81a
GM
3416 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3417 Don't alter tip_frame or tip_window.
3418 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3419 was deleted.
3420
6c825f8e
EZ
34212000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3422
3423 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3424 be consistent with the doc string. Reported by NAKAJIMA Mikio
3425 <minakaji@osaka.email.ne.jp>.
3426
af4bb4c8
KH
34272000-12-16 Kenichi Handa <handa@etl.go.jp>
3428
3429 * xfaces.c (Vface_ignored_fonts): New variable.
3430 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3431 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3432
8062e53a
GM
34332000-12-15 Gerd Moellmann <gerd@gnu.org>
3434
e87b8809
GM
3435 * dispnew.c (update_window): Detect pending input every nth line
3436 updated, i.e. do it depending on real work done, and not on the
3437 vpos of the line.
3438
3439 * xterm.c (expose_window): Don't redraw the window that's
3440 currently being updated.
3441
a6768cc5
GM
3442 * window.c (Fset_window_point): Remove test for
3443 cursor_in_non_selected_windows.
3444
4ea7fdca
GM
3445 * lread.c (read1): Recognize end of file after `\\'.
3446
8062e53a
GM
3447 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3448 not unwind_create_frame.
3449
bb7959c1
GM
34502000-12-15 Dave Love <fx@gnu.org>
3451
3452 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3453 bcopy & al.
3454
3455 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3456
ced04c42
KH
34572000-12-15 Kenichi Handa <handa@etl.go.jp>
3458
c5443913
KH
3459 * coding.c (setup_coding_system): Clear all members of the struct
3460 coding_system at first.
bc137305
KH
3461 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3462 argument.
3463 (code_convert_region): Don't override coding->src_multibyte and
3464 coding->dst_multibyte.
c5443913 3465
ced04c42
KH
3466 * fns.c (Fmd5): Docstring improved.
3467
c2d7f289
MB
34682000-12-15 Miles Bader <miles@gnu.org>
3469
3470 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3471 are actually marked as mode-lines; otherwise use
3472 estimate_mode_line_height.
3473
9d7d9263
GM
34742000-12-14 Gerd Moellmann <gerd@gnu.org>
3475
3476 * editfns.c (Fformat): Prevent a buffer overrun when the format
3477 specifies a precision.
3478
7cf0153a
EZ
34792000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3480
3481 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3482 argument is outside the range [2..3].
3483
1de0f662
AI
34842000-12-14 Andrew Innes <andrewi@gnu.org>
3485
3486 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3487 nothing to do. Bind inhibit-quit.
3488 (tip_frame): Make it a Lisp_Object.
3489 (x_create_tip_frame): Set tip_frame after it has been added to
3490 Vframe_list.
3491 (Fx_show_tip): Don't set tip_frame here.
52283633 3492 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3493 (unwind_create_frame, unwind_create_tip_frame): New functions.
3494 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3495 while a frame is only partially constructed.
3496
3497 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3498 (x_free_frame_resources): New function.
3499 (x_destroy_window): Use it.
3500
02387dcc
GM
35012000-12-14 Gerd Moellmann <gerd@gnu.org>
3502
3503 * xfns.c (Fx_backspace_delete_keys_p): New function.
3504 (syms_of_xfns): Defsubr it.
3505
3506 * config.in (HAVE_XKBGETKEYBOARD): Add.
3507
0544ef49
KH
35082000-12-14 Kenichi Handa <handa@etl.go.jp>
3509
98d62747
KH
3510 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3511 Always store string in multibyte representation in echobuf.
3512 (echo_char): Always store string in multibyte representation in
3513 echobuf.
3514 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3515 (read_key_sequence): Adjusted for the change of echo_prompt.
3516
a20193cd
KH
3517 * fns.c (Fmd5): Docstring improved.
3518
191b83b6
KH
3519 * lisp.h (detect_coding_system): Prototype adjusted.
3520
0544ef49
KH
3521 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3522 (detect_coding_emacs_mule, detect_coding_iso2022,)
3523 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3524 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3525 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3526 (detect_coding_mask, detect_coding_system): New argument
3527 MULTIBYTEP. Callers changed.
1da1bb05
KH
3528 (decode_coding_string): Set coding->src_multibyte and
3529 coding->dst_multibyte before calling detect_coding and detect_eol.
3530 Update them after some coding system is detected.
52283633 3531
d5b3eb1b
SM
35322000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3533
3534 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3535
3536 * keyboard.c (menu_bar_items, tool_bar_items):
3537 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3538
f7f8bb69
GM
35392000-12-13 Gerd Moellmann <gerd@gnu.org>
3540
52283633 3541 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3542 New variables.
3543 (unwind_create_frame, unwind_create_tip_frame): New functions.
3544 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3545 while a frame is only partially constructed.
3546
3547 * xterm.h (x_free_frame_resources): Declare.
3548
3549 * xterm.c (x_free_frame_resources): New function.
3550 (x_destroy_window): Use it.
3551
e10da507
GM
3552 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3553 don't interrupt the update for pending input initially, i.e.
3554 update at least some lines.
3555
3556 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3557
d5b3eb1b 3558 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3559
3560 * xfns.c (gray_bitmap_bits): Declare `char *'.
3561
90aa2856
GM
35622000-12-12 Gerd Moellmann <gerd@gnu.org>
3563
3564 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3565 lines start with a relief line.
3566
a308c9cd
DL
35672000-12-12 Dave Love <fx@gnu.org>
3568
3569 * window.c (Fdisplay_buffer): Doc fix.
3570 (Fwindow_list): Remove unused var.
3571
3572 * buffer.h (mmap_set_vars): Declare.
3573
3574 * window.h (Fset_window_point): Declare.
3575
d575011f
EZ
35762000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3577
bf6282d2 3578 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3579 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3580 variable `area'. When looking for a row under (X,Y), give up if some
3581 of the previous rows is not enabled.
d575011f 3582
ecf4d726
GM
35832000-12-12 Gerd Moellmann <gerd@gnu.org>
3584
2ebf6139
GM
3585 * window.c (Fset_window_point): If displaying cursors in windows
3586 other than the selected window, make sure redisplay updates
3587 other windows to show the new value of point in the window.
3588
3589 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3590
bfdb75ee
GM
3591 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3592 the buffer is the sole visible buffer when in the mini-buffer.
3593
52283633 3594 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3595 Bind `inhibit-read-only' to t.
3596 (unwind_with_echo_area_buffer): Use AREF.
3597
c0006262
GM
3598 * xfns.c (Fx_hide_tip): Simplified.
3599
52283633
SM
3600 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3601 instead of `1'.
e9a59cad 3602
ecf4d726
GM
3603 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3604
e5959a9a
GM
36052000-12-11 Gerd Moellmann <gerd@gnu.org>
3606
a3642e49 3607 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3608
44b5a125
GM
3609 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3610 nothing to do. Bind inhibit-quit.
3611 (tip_frame): Make it a Lisp_Object.
3612 (x_create_tip_frame): Set tip_frame after it has been added to
3613 Vframe_list.
3614 (Fx_show_tip): Don't set tip_frame here.
3615
3616 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3617
3618 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3619 Lisp_Object.
3620
3621 * dispextern.h: Change external declaration of tip_frame.
3622
d990421f
GM
3623 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3624 return an empty string.
3625
4db87380
GM
3626 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3627 of the window's update_mode_line flag, since the former is set by
3628 force-mode-line-update, not the latter. This makes
3629 column-number-mode slightly faster.
52283633 3630
e5959a9a
GM
3631 * xdisp.c (try_window_id) <all changes above window start>:
3632 Set the cursor.
3633
169fe44e
GM
36342000-12-11 Paul Eggert <eggert@twinsun.com>
3635
3636 * config.in (HAVE_FTELLO): Remove.
3637 (HAVE_FSEEKO): Add.
3638 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3639 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3640 HAVE_FTELLO.
3641 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3642 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3643
59ec59ae
MB
36442000-12-11 Miles Bader <miles@gnu.org>
3645
3646 * window.c (displayed_window_lines): Don't round up when
3647 converting empty space at bottom to lines.
ff904dd6
MB
3648 Handle non-newline-terminated final lines properly.
3649 (Fwindow_text_height): New function (used to be in lisp).
3650 (syms_of_window): Initialize it.
59ec59ae 3651
42ebfa31
SM
36522000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3653
3654 * syntax.c (scan_lists): Check that the right quote char has the
3655 right Sstring syntax when jumping over strings.
3656 (init_syntax_once): Use Smax rather than 13.
3657
5cdb3cf3
MB
36582000-12-09 Miles Bader <miles@gnu.org>
3659
3660 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3661 with PARTIALLY, inverting the sense.
3662 (window_scroll_pixel_based): Scroll partially visible lines into
3663 place if we hit the beginning or end of the buffer.
a12167c5
MB
3664 (displayed_window_lines): Don't include partially visible lines.
3665 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3666
842b2a94
GM
36672000-12-08 Gerd Moellmann <gerd@gnu.org>
3668
3669 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3670
3671 * tparam.c (tparam1): Change the way buffers are reallocated to be
3672 portable and less obfuscated.
3673
3674 * termcap.c (tgetent): Change the way buffers are reallocated to
3675 be portable and less obfuscated.
3676
3677 * macros.c (store_kbd_macro_char): Change the way buffers are
3678 reallocated to be portable and less obfuscated.
3679
3680 * lread.c (read1): Change the way buffers are reallocated to be
3681 portable and less obfuscated.
3682
3683 * doc.c (Fsubstitute_command_keys): Change the way buffers
3684 are reallocated so that it is portable.
3685
137cad7c
EZ
36862000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3687
3688 * dosfns.c (Ffile_system_info): New function.
3689 (syms_of_dosfns): Defsubr it.
3690
5c7f629c
SM
36912000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3692
3693 * alloc.c (gc_sweep): Add comment.
3694
959e647d
GM
36952000-12-07 Gerd Moellmann <gerd@gnu.org>
3696
52283633
SM
3697 * sound.c (vox_configure): Change order of ioctls.
3698 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3699 Ignore errors when changing volume.
3700 (vox_close): Don't reset the device.
3701
926b7e5e
GM
3702 * process.c (read_process_output): Make sure the process marker's
3703 position is valid when the process buffer is changed in
3704 after-change functions. W3 does that.
52283633 3705
959e647d
GM
3706 * xfns.c (x_free_gcs): New function.
3707
3708 * xterm.h (x_free_gcs): Add prototype.
3709
3710 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3711 freeing GCs here.
3712
3713 * xterm.c (x_destroy_window): Call x_free_gcs so that
3714 resources of non-toolkit X windows will be freed.
3715
478ea067
AI
37162000-12-07 Andrew Innes <andrewi@gnu.org>
3717
3718 * w32fns.c (xlfd_charset_of_font): Fix last change.
3719
fbee3231
DL
37202000-12-06 Dave Love <fx@gnu.org>
3721
67292061
DL
3722 * md5.h (__P): Don't define -- it comes from config.h.
3723
fbee3231
DL
3724 * strftime.c: Change some #if foo to #ifdef foo.
3725
4ee87dbb
AI
37262000-12-06 Andrew Innes <andrewi@gnu.org>
3727
3728 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3729
52283633 3730 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3731 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3732 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3733
9765b4a4
GM
37342000-12-06 Gerd Moellmann <gerd@gnu.org>
3735
d285b373
GM
3736 * alloc.c (gc_sweep): Prevent symbols read during loadup
3737 from being freed.
3738
384333ee
GM
3739 * xdisp.c (underlying_face_id): New function.
3740 (handle_face_prop, face_before_or_after_it_pos): Use it
3741 to determine the face ``under'' a string. Let strings inherit
3742 the face of the buffer under them.
3743
3744 * xfaces.c (face_at_string_position): Update function comment.
52283633 3745
d4b72d58
GM
3746 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3747 matrix if the window's left position has changed; we need to
3748 redraw it in this case.
3749
3750 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3751
e1d05387
GM
3752 * window.c (coordinates_in_window): Check mouse on mode-line or
3753 header-line first.
3754
eb1b0c74
GM
3755 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3756 advertized by the function documentation.
3757
d94d636f
GM
3758 * window.c (syms_of_window): Doc fix.
3759
3887b449
GM
3760 * sound.c (vox_configure): Set volume for left and right channel.
3761 (sound_cleanup): Return nil.
3762
efc8f57a
GM
3763 * xdisp.c (move_it_by_lines): Fix paren typo.
3764
9765b4a4
GM
3765 * xterm.c (x_load_font): Don't use the font's max_bounds for
3766 computing the height of the font. If max_bounds' ascent or
3767 descent are greater than the font's ascent or descent, this means
3768 glyphs overlap, which should be handled now by redisplay.
3769
6529ed87
GM
3770 * window.c (Veven_window_heights): New variable.
3771 (syms_of_window): DEFVAR_LISP it.
3772 (Fdisplay_buffer): Check Veven_window_heights before evening the
3773 window heights.
52283633 3774
0eb2ecde
MB
37752000-12-06 Miles Bader <miles@gnu.org>
3776
3777 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3778 update `default-frame-alist' instead of setting no frame parameters.
3779
03d7a167
KH
37802000-12-06 Kenichi Handa <handa@etl.go.jp>
3781
3782 * composite.c (update_compositions): Fix typo (use the correct
3783 variable).
3784
5f8803c2
JR
37852000-12-05 Jason Rumney <jasonr@gnu.org>
3786
3787 * md5.h: Remove underscores from function declarations.
3788 (__attribute__, __alignof__) [!__GNUC__]: Define.
3789
3790 * md5.c: Delay include of md5.h until after namespace cleaning.
3791
c28a075b
JR
3792 * makefile.w32-in (fns.o): Depend on md5.h
3793 (md5.o): New target.
3794 (sunfns.o): Remove.
3795
3796 * makefile.nt: Likewise.
3797
ff3c7056
JR
37982000-12-05 Jason Rumney <jasonr@altavista.net>
3799
3800 * w32term.c (expose_area): Complete last change.
3801
0c21eeeb
KR
38022000-12-05 Ken Raeburn <raeburn@gnu.org>
3803
3804 * minibuf.c: Include intervals.h.
3805
f201d732
JR
38062000-12-05 Jason Rumney <jasonr@gnu.org>
3807
3808 * w32term.c (x_produce_glyphs): If a font for a component of
3809 a composition is not found, use 1 pixel dot ascent and 0 dot
3810 descent value to avoid displaying terribly tall empty boxes.
3811 (expose_area): Pass x-coordinate relative to the exposed
3812 area to x_draw_glyphs instead of a window-relative coordinate.
3813
21999ab9
GM
38142000-12-05 Gerd Moellmann <gerd@gnu.org>
3815
4d2036e4
GM
3816 * xdisp.c (next_element_from_ellipsis): Save face before selective
3817 display in saved_face_id, and set face_before_selective_p.
3818 (reseat_1): Reset face_before_selective_p.
3819 (append_space, extend_face_to_end_of_line): If iterator's
3820 face_before_selective_p is set, use the face from saved_face_id.
3821 (extend_face_to_end_of_line): For tty frames, make sure to
3822 use the right face id when producing spaces at the end of
3823 the line.
3824
3825 * dispextern.h (struct it): Add face_before_selective_p.
3826
52be17cc
GM
3827 * keyboard.c (record_char): Don't record identical help-echo
3828 events in recent_keys.
3829
8a4f36cc
GM
3830 * xterm.c [USE_X_TOOLKIT]: Close the display.
3831 (xim_close_dpy): Handle case that the display has been closed.
3832
57d6e381
GM
3833 * xterm.c (x_destroy_window): Reset the frame's X window after
3834 destroying it.
3835
21999ab9
GM
3836 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3837 variable window_width.
3838 (line_draw_cost): Fix code skipping over spaces at the end of the
3839 line when must_write_spaces is not set.
3840 (scrolling_window): Fix code inserting runs in list of all runs.
3841
91372bb7
KH
38422000-12-05 Kenichi Handa <handa@etl.go.jp>
3843
3844 * coding.c (setup_coding_system): Be sure to initialize
3845 coding->category_idx.
3846
6c083b4c
GM
38472000-12-04 Gerd Moellmann <gerd@gnu.org>
3848
0c68ce6f 3849 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3850
6452929e
GM
3851 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3852 area to x_draw_glyphs instead of a window-relative coordinate.
3853
d7f31e22
GM
3854 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3855 error in the message.
3856
ae18aa3b
GM
3857 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3858 timer after having read a key. It's not good for code reading
3859 several keys in a loop, like an input method.
3860
caa15ef7
GM
3861 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3862 record undo information for format-decode.
3863
3864 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3865 current buffer is read-only, not if it isn't.
3866
6c083b4c
GM
3867 * keyboard.c (record_char): Record `help-echo' input events
3868 in recent_keys only if they display some help. Don't record
3869 `help-echo' events as macro char.
3870
caa15ef7
GM
38712000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3872
3873 * editfns.c (save_excursion_restore): Don't move point
3874 in another window if it is showing the wrong buffer.
3875 Avoid the call to Fwindow_live_p, for speed.
3876
5a13529b
KH
38772000-12-04 Kenichi Handa <handa@etl.go.jp>
3878
e225faa7
KH
3879 * xfaces.c (struct font_name): New member registry_priority.
3880 (split_font_name): Initialize the above member to zero.
3881 (concat_font_list): New function.
3882 (font_list): Include fonts of all alternative registries.
3883 (FONT_POINT_SIZE_QUANTUM): New macro.
3884 (better_font_p): Ignore point size difference less than
3885 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3886
e89648b4
KH
3887 * xterm.c (x_produce_glyphs): If a font for a component of
3888 a composition is not found, use 1 pixel dot ascent and 0 dot
3889 descent value to avoid displaying terribly tall empty boxes.
3890
5a13529b
KH
3891 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3892
d7935eb6
KR
38932000-12-03 Ken Raeburn <raeburn@gnu.org>
3894
3895 * coding.h (code_convert_string1): Declare.
3896
3897 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3898
52283633 3899 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3900
0dd5e255
JR
39012000-12-02 Jason Rumney <jasonr@gnu.org>
3902
3903 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3904 correctly for single byte character case.
3905 (w32_per_char_metric): Do not try to make any assumptions about
3906 the metrics of BDF fonts.
250cfece 3907 (x_estimate_mode_line_height): If `mode-line' face
52283633 3908 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3909 (note_mouse_highlight): Change the cursor shape on the vertical
3910 border between windows [not enabled].
3911
3912 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3913
3914 * w32fns.c (Fx_create_frame): Reintroduce the call to
3915 face-set-after-frame-defaults.
3916 (Vx_window_horizontal_drag_shape): New variable.
3917 (syms_of_xfns): DEFVAR_LISP it.
3918 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3919 enabled].
0dd5e255 3920
b5d8d2ca
GM
39212000-12-02 Simon Josefsson <simon@josefsson.org>
3922
3923 * fns.c (Fmd5): Use a different logic to decide the coding system
3924 to use.
3925
3926 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3927
fbb87147
EZ
39282000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3929
52283633 3930 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3931
447e9da0
GM
39322000-12-01 Gerd Moellmann <gerd@gnu.org>
3933
7708ced0
GM
3934 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3935 height for YNegative.
3936 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3937 height; also see comment there.
3938
447e9da0
GM
3939 * window.c (coordinates_in_window): Handle computations for
3940 positions on the vertical bar and fringes differently for
3941 window-system frames. Consider some pixels near the vertical bar
3942 as on the bar if the frame doesn't have vertical scroll bars.
3943 Associate positions between mode or header lines with the
3944 right window, the left one.
3945
86d1db20
JR
39462000-12-01 Jason Rumney <jasonr@gnu.org>
3947
3948 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3949
3950 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3951 invalid frame.
3952
a1d58e5b
GM
39532000-12-01 Gerd Moellmann <gerd@gnu.org>
3954
52283633 3955 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3956 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3957 (save_window_save, Fset_window_configuration): Save/restore
3958 window's orig_top and orig_height.
3959
89c609af
JR
39602000-12-01 Jason Rumney <jasonr@gnu.org>
3961
4d177746 3962 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3963
89c609af
JR
3964 * w32fns.c (x_set_cursor_color): Fix last change.
3965
eccc05db
GM
39662000-11-30 Gerd Moellmann <gerd@gnu.org>
3967
31b6671b
GM
3968 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3969 sure that the next redisplay displays the minibuffer, so that
3970 the cursor will be replaced with what the minibuffer wants.
3971
eccc05db
GM
3972 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3973 #ifndef instead of using #if.
3974 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3975 USE_TOOLKIT_SCROLL_BARS is defined.
3976
162de750
JR
39772000-11-30 Jason Rumney <jasonr@gnu.org>
3978
3979 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3980 x_display_cursor.
3981
693c4692
GM
39822000-11-30 Gerd Moellmann <gerd@gnu.org>
3983
3984 * fns.c (Fmd5): Doc fix.
3985
b5d8d2ca 39862000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3987
3988 * fns.c (Fmd5): New function.
3989 (syms_of_fns): Defsubr md5.
3990
3991 * Makefile.in (obj): Add md5.o
3992
b02cd40b
GM
39932000-11-30 Gerd Moellmann <gerd@gnu.org>
3994
edfb795e
GM
3995 * md5.h, md5.c: New files, taken from glibc.
3996
df3aedcf
GM
3997 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3998
b02cd40b 3999 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4000 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4001
8b5176cd
SM
40022000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4003
4004 * eval.c (Frun_hooks): Allow 0 arguments.
4005
346598f1
GM
40062000-11-29 Gerd Moellmann <gerd@gnu.org>
4007
f9396e03
GM
4008 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4009 is over the menu bar widget, say it's not on the frame.
4010
4a967a9b
GM
4011 * xfns.c (Fx_create_frame): Reintroduce the call to
4012 face-set-after-frame-defaults.
4013
346598f1
GM
4014 * eval.c (Fsignal): Reset handling_signal.
4015
222456a1
JR
40162000-11-28 Jason Rumney <jasonr@gnu.org>
4017
4018 * w32menu.c (add_menu_item): Reset menu item text when changing
4019 type to radio button.
4020
8049ddc0
GM
40212000-11-28 Gerd Moellmann <gerd@gnu.org>
4022
346598f1 4023 * xselect.c: Update copyright.
f4f4ee4d 4024
bebe4a2c
GM
4025 * window.c (coordinates_in_window): If on a mode or header line,
4026 but sufficiently close to its start, return ``on vertical
4027 border''. This gives us a way to drag windows horizontally when
4028 using toolkit scroll bars.
4029
4030 * xterm.c (note_mouse_highlight): Change the cursor shape
4031 on the vertical border between windows.
4032
4033 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4034
4035 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4036 (syms_of_xfns): DEFVAR_LISP it.
4037 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4038
8d2c2642
GM
4039 * textprop.c (text_read_only): New function.
4040 (verify_interval_modification): Use it instead of signaling
4041 `text-read-only'. This makes it easier to catch this error
52283633 4042 with a breakpoint.:
8d2c2642 4043
52283633 4044 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4045 not end of line, which includes CR.
4046
5a2bae6c
KH
40472000-11-28 Kenichi Handa <handa@etl.go.jp>
4048
4049 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4050 include no-conversion.
4051
ae31f84d
JR
40522000-11-27 Jason Rumney <jasonr@gnu.org>
4053
4054 * w32fns.c (w32_load_system_font): Always mark font as double byte
4055 if codepage is unicode.
4056
67f1cf4c
GM
40572000-11-27 Gerd Moellmann <gerd@gnu.org>
4058
4a74d071 4059 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4060 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4061
902ae620
GM
4062 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4063 `vertical-line', `mode-line' and `header-line' events.
4064
4065 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4066 of a character, a TAB for instance. This is easier than to set
4067 up the iterator exactly, and it's not a frequent case, so the
4068 additional effort wouldn't really pay off.
4069
c1e279c2
AC
40702000-11-26 Andrew Choi <akochoi@i-cable.com>
4071
67f1cf4c 4072 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4073 init_window_once.
4074
a609568a
JR
40752000-11-25 Jason Rumney <jasonr@gnu.org>
4076
52283633
SM
4077 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4078 Args to window_from_coordinates should be pixel coordinates.
48b21762 4079
a609568a
JR
4080 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4081 redisplay handles them properly.
4082
a658d039
MB
40832000-11-25 Miles Bader <miles@gnu.org>
4084
4085 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4086
d3416cca
JR
40872000-11-24 Jason Rumney <jasonr@gnu.org>
4088
4089 * w32.c (init_environment): Set LANG environment variable based on
4090 locale settings, if not set.
4091
4092 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4093 making tool bar smaller. When clearing the frame, also
4094 clear current matrices. Clear frame when tool bar disappears.
4095 Don't use more lines for the tool-bar than is available.
4096 (x_change_window_heights): New function.
4097
ba193890
GM
40982000-11-24 Gerd Moellmann <gerd@gnu.org>
4099
2be8f184
GM
4100 * xdisp.c (init_from_display_pos): If POS says we're already after
4101 an overlay string ending at POS, make sure to pop the iterator
4102 because it will be in front of that overlay string. When POS is
4103 ZV, we've thereby also ``processed'' overlay strings at ZV.
4104
ba193890
GM
4105 * xfaces.c (lface_from_face_name): Function comment fix.
4106
1862a24e
MB
41072000-11-24 Miles Bader <miles@gnu.org>
4108
4109 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4110 apply `mode-line-inverse-video' -- zero means force display using
4111 the default face, non-zero means display using the specialized face.
4112 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4113
f07fa1b8
KH
41142000-11-23 Kenichi Handa <handa@etl.go.jp>
4115
4116 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4117 hard coded `4'.
4118
2bcdf662
EZ
41192000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4120
4121 * coding.c (decode_coding_emacs_mule): Fix the case of
4122 CODING_EOL_LF, which used uninitialized value of c.
4123
ba8299ff
SM
41242000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4125
4126 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4127
f4117c4d
GM
41282000-11-22 Gerd Moellmann <gerd@gnu.org>
4129
03e757c1
GM
4130 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4131 buffer object.
4132
f4117c4d
GM
4133 * frame.h (struct frame): Replace desired_tool_bar_items,
4134 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4135 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4136
4137 * frame.c (make_frame): Change initialization of tool bar
4138 items accordingly.
4139
4140 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4141 Change references to members deleted from struct frame to use the
f4117c4d
GM
4142 new ones.
4143
4144 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4145 references to members deleted from struct frame to use the new ones.
f4117c4d 4146
52283633 4147 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4148
4149 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4150
4151 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4152 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4153 from struct frame to use the new ones.
4154
f8e2f3f2
MB
41552000-11-23 Miles Bader <miles@gnu.org>
4156
4157 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4158 the face's inverse-video attribute, rather than overriding it.
4159
60e8e0a5
GM
41602000-11-22 Gerd Moellmann <gerd@gnu.org>
4161
4162 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4163 making tool bar smaller.
4164
92dd1b29
DL
41652000-11-22 Dave Love <fx@gnu.org>
4166
4167 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4168
e672fdce
MB
41692000-11-22 Miles Bader <miles@gnu.org>
4170
3a17d6cc
MB
4171 * keyboard.c (Vminibuffer_message_timeout): New variable.
4172 (command_loop_1): Use it to determine message timeout.
4173 (syms_of_keyboard): Initialize it.
4174
60e8e0a5 4175 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4176
e9655d81
KH
41772000-11-22 Kenichi Handa <handa@etl.go.jp>
4178
4179 * sysdep.c: Move the code for declaring h_errno after #include
4180 <netdb.h>.
4181
77270fac
GM
41822000-11-21 Gerd Moellmann <gerd@gnu.org>
4183
cd913aae
GM
4184 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4185 the menu bar when the tooltip is unmapped.
4186
77270fac
GM
4187 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4188 sole visible buffer when we're currently in the mini-buffer, and
4189 give up if so.
52283633 4190
556635d6
JR
41912000-11-21 Jason Rumney <jasonr@gnu.org>
4192
4193 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4194 put on the clipboard.
4195 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4196 copy of what Emacs last put there. If they are the same, do not
52283633 4197 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4198
5b7bde64
MB
41992000-11-22 Miles Bader <miles@gnu.org>
4200
4201 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4202 (syms_of_minibuf): Initialize it.
4203 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4204 to prompt, don't make read-only.
4205
ff23e1dd
GM
42062000-11-21 Gerd Moellmann <gerd@gnu.org>
4207
52283633
SM
4208 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4209 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4210
7aaf4388
GM
4211 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4212
f5f47add 4213 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4214
ff23e1dd
GM
4215 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4216
37c35586
KH
42172000-11-21 Kenichi Handa <handa@etl.go.jp>
4218
4219 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4220 ... #endif scope.
4221
ff9ab414
GM
42222000-11-20 Gerd Moellmann <gerd@gnu.org>
4223
52283633 4224 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4225 screen supports it.
4226
29a01b72
GM
4227 * s/gnu-linux.h: Don't use `#cpu'.
4228
09dfdf85
GM
4229 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4230 not defined in mman.h.
4231
52283633 4232 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4233 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4234 and store an index in the XClientMessageEvent. Storing a
4235 Lisp_Object or pointer can fail on a 64 bit system, since X only
4236 transfers 32 bits.
52283633
SM
4237 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4238
81459ac9
DL
42392000-11-20 Dave Love <fx@gnu.org>
4240
4241 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4242
56c13ae6
GM
42432000-11-20 Gerd Moellmann <gerd@gnu.org>
4244
4245 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4246
495a6df3
KH
42472000-11-20 Kenichi Handa <handa@etl.go.jp>
4248
2bcf3714
KH
4249 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4250 by WIDTH.
4251
495a6df3
KH
4252 * alloc.c (make_string): Fix previous change. Be sure to make
4253 unibyte string correctly.
4254
6d950f4c
GM
42552000-11-19 Gerd Moellmann <gerd@gnu.org>
4256
39b39373
GM
4257 * window.c (Fwindow_list): Change parameter list to be XEmacs
4258 compatible.
4259 (window_list_1): New function.
4260 (window_loop): Use it instead of Fwindow_list.
4261
b95b34e5
GM
4262 * sysdep.c (emacs_ospeed): New variable.
4263 (toplevel): Don't declare ospeed extern.
4264 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4265
4266 * termcap.c (ospeed): Remove.
4267 (tputs) [!emacs]: Remove unused code.
4268 (tgetent): Avoid a compiler warning.
4269
e83dc917
GM
4270 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4271 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4272 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4273
4274 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4275 removed.
4276 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4277 Take the X display as additional argument.
4278 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4279 `Widget' is a pointer type that's not easily stored in Lisp_Object
4280 form in a portable way.
52283633 4281
6d950f4c
GM
4282 * dispnew.c (update_text_area): Fix last change.
4283
e47306e6
GM
42842000-11-18 Gerd Moellmann <gerd@gnu.org>
4285
fb3cd89b
GM
4286 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4287
4288 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4289 clear current matrices.
4290
edaa9aed
GM
4291 * buffer.c (mmap_enlarge): Don't print a message on stderr
4292 if mapping new memory at the end of the existing region fails.
4293
e47306e6
GM
4294 * dispnew.c (update_text_area): Don't skip over equal glyphs
4295 when the last current glyph overlaps the glyph to its right.
4296
509633e3
MB
42972000-11-18 Miles Bader <miles@gnu.org>
4298
4299 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4300 lines that *end* with "..." too (that's the most common case!).
4301
d392e9c5
GM
43022000-11-18 Gerd Moellmann <gerd@gnu.org>
4303
67988445
GM
4304 * xdisp.c (resize_mini_window): Temporarily change to the
4305 mini-window's buffer if necessary.
1bfdbe43 4306
d392e9c5
GM
4307 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4308 the tooltip obscures less text under it.
4309
43102000-11-17 Gerd Moellmann <gerd@gnu.org>
4311
4312 * puresize.h (BASE_PURESIZE): Increase to 700000.
4313
92bb977f
JR
43142000-11-18 Jason Rumney <jasonr@gnu.org>
4315
4316 * w32term.c (w32_draw_bitmap): Use face to set colors.
4317
26fbf20b
DL
43182000-11-17 Dave Love <fx@gnu.org>
4319
4320 * lread.c (Fload): Fix #ifdef for pcc.
4321
100b593b
GM
43222000-11-17 Gerd Moellmann <gerd@gnu.org>
4323
4324 * xdisp.c (pos_visible_p): Compute the default character height
4325 differently.
4326
a288d0d1
GM
43272000-11-16 Gerd Moellmann <gerd@gnu.org>
4328
cac94de6 4329 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4330 knowing the line's height; use the default font's height in that case.
cac94de6 4331
a288d0d1
GM
4332 * xfaces.c (weight_table): Add `demi' with the same meaning as
4333 `demibold'.
4334
981fb6f6
KH
43352000-11-16 Kenichi Handa <handa@etl.go.jp>
4336
2cca872d 4337 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4338 (clear_glyph_row): Delete local static variable null_row.
4339
e5fa381b
JR
43402000-11-15 Jason Rumney <jasonr@gnu.org>
4341
4342 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4343 (w32_alloc_lighter_color): Use new brightness calculations from
4344 xterm.c. Scale delta to be in the range expected by W32.
4345 (w32_draw_relief_rect): Use frame relief colors.
4346
8e42f043
GM
43472000-11-15 Gerd Moellmann <gerd@gnu.org>
4348
6d133d1f
GM
4349 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4350 (Qinhibit_default_face_x_resources): New variable.
4351 (syms_of_frame): Initialize it.
4352 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4353
4354 * xdisp.c (pos_visible_p): Improve function comment.
4355
4356 * lisp.h (BINDING_STACK_SIZE): New macro.
4357
8e42f043
GM
4358 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4359 reading the directory if readdir returns null and errno is EAGAIN
4360 or EINTR.
4361
e8c87124
SM
43622000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4363
4364 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4365 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4366 Set amount_to_scroll to max of dx and scroll_step so that
4367 scroll-conservatively doesn't defeat scroll-step>1.
4368 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4369 scroll-conservatively for line-at-a-time scrolling.
4370
5f0c971d
GM
43712000-11-14 Gerd Moellmann <gerd@gnu.org>
4372
4373 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4374 extra argument.
4375
4376 * xdisp.c (current_mode_line_height, current_header_line_height):
4377 New variables.
4378 (init_xdisp): Initialize them.
4379 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4380 and use exact mode line heights if it is set.
4381
4382 * lisp.h (pos_visible_p): Change prototype.
4383
4384 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4385 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4386 and current_header_line_height first.
52283633
SM
4387 (current_mode_line_height, current_header_line_height):
4388 Declare extern.
5f0c971d 4389
d7361edf
MB
43902000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4391
4392 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4393 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4394 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4395
ee5e440a
MB
43962000-11-14 Miles Bader <miles@gnu.org>
4397
4398 * xterm.c (x_alloc_lighter_color): Include an additive component
4399 too for dark colors, because FACTOR isn't enough.
4400 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4401 New macros.
4402
5ca020fc
GM
44032000-11-13 Gerd Moellmann <gerd@gnu.org>
4404
4405 * keyboard.c (show_help_echo): Call message3_nolog with number of
4406 bytes in the help string as 2nd parameter, instead of the number
4407 of characters.
4408
9d348294
MB
44092000-11-13 Miles Bader <miles@gnu.org>
4410
4411 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4412 (Fload): Use new openp return protocol.
4413 Don't try to use Vload_source_file_function to load .elc files.
4414 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4415 openp return protocol.
4416 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4417
1729bb9a
KH
44182000-11-11 Kenichi Handa <handa@etl.go.jp>
4419
4e677396
KH
4420 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4421
4422 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4423 Defined these macros.
4424 (NLIST_STRUCT): Avoid re-defining it.
4425
1729bb9a
KH
4426 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4427 -I/usr/contrib/X11R6/include.
4428 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4429
a82fe213
JR
44302000-11-10 Jason Rumney <jasonr@gnu.org>
4431
4432 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4433
4434 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4435 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4436
4437 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4438 (Qw32_charset_vietnamese): New symbol.
4439 (xlfd_charset_of_font): New function.
4440 (w32_load_system_font): Use it.
4441 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4442 when Vw32_charset_info_alist is nil to ensure default face always
4443 has font. Use Fcar and Fcdr for safety.
4444 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4445 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4446 pseudo-codepages for special cases.
4447 (w32_to_x_font): New parameter to allow charset portion to be
4448 specified where there is many to one mapping. Callers changed.
4449 (w32_list_fonts): Avoid listing fonts that won't display.
4450
52d89894
GM
44512000-11-10 Gerd Moellmann <gerd@gnu.org>
4452
4453 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4454 (font_list_1): Renamed from font_list.
4455 (font_list): New function, trying alternative registries from
4456 Vface_alternative_font_registry_alist.
4457 (Finternal_set_alternative_font_registry_alist): New function.
4458 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4459 Vface_alternative_font_registry_alist.
4460 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4461
651cd3da
KR
44622000-11-09 Ken Raeburn <raeburn@gnu.org>
4463
4464 * lisp.h (Flooking_at): Declare.
4465
388ac098
GM
44662000-11-09 Gerd Moellmann <gerd@gnu.org>
4467
778fbc46 4468 * dired.c (directory_files_internal): Fix a braino.
52283633 4469
388ac098
GM
4470 * dired.c (directory_files_internal): Add missing GCPRO's.
4471 Some cleanup.
4472
ecaedde1
GM
44732000-11-08 Gerd Moellmann <gerd@gnu.org>
4474
f7eb32aa
GM
4475 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4476 (resize_mini_window): Return quickly if Vresize_mini_window is
4477 nil. Don't return if Vmax_mini_window_height is nil.
4478
4479 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4480 (syms_of_xdisp): Initialize them.
4481 (resize_mini_window): Act according to the setting of
4482 Vresize_mini_window.
4483 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4484
ecaedde1
GM
4485 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4486 scroll bar widget after configuring it, so that it will appear at
4487 the right position from the start.
4488 (XTredeem_scroll_bar): Cleaned up.
4489
3747ef2c
KH
44902000-11-08 Kenichi Handa <handa@etl.go.jp>
4491
4492 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4493 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4494 division by two.
4495
4496 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4497
03391420
DL
44982000-11-07 Dave Love <fx@gnu.org>
4499
7758f1c1 4500 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4501
4502 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4503
b5de343d
GM
45042000-11-07 Gerd Moellmann <gerd@gnu.org>
4505
acad3c0b
GM
4506 * window.c (Fset_window_configuration): Don't try to preserve
4507 point in the current buffer, if that buffer is displayed in more
4508 than one window.
4509
b5de343d
GM
4510 * xfaces.c (lookup_named_face): If default face isn't realized,
4511 try to realize it. Return -1 if not successful.
4512 (Fx_list_fonts): Handle case that face cannot be determined.
4513 (Fface_font): Likewise.
4514
cdb1fe49
GM
45152000-11-06 Gerd Moellmann <gerd@gnu.org>
4516
4517 * window.c (displayed_window_lines): Detect partially
4518 visible lines at the bottom correctly.
4519
d3a67486
SM
45202000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4521
4522 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4523 when ensuring we don't do visit in indirect buffer.
4524
ff8dd5d5
KH
45252000-11-06 Kenichi Handa <handa@etl.go.jp>
4526
4527 * composite.h (compose_chars_in_text): Add prototype.
4528
4529 * composite.c (Vcomposition_function_table): New variable.
4530 (Qcomposition_function_table): New variable.
4531 (run_composition_function): Call
4532 Vcompose_chars_after_function with three arguments.
4533 (compose_chars_in_text): New function.
4534 (syms_of_composite): Modified the doc-string of
4535 Vcompose_chars_after_function. Declare composition-function-table
4536 as a lisp variable, and initialize it.
4537
4538 * xfns.c (x_encode_text): Suppress producing escape sequences for
4539 composition.
4540
4541 * xselect.c: Include composite.h.
4542 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4543
d1145f85
AI
45442000-11-05 Andrew Innes <andrewi@gnu.org>
4545
4546 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4547
4548 * sysdep.c (read_input_waiting): Remove extraneous argument to
4549 read_socket_hook.
4550
4551 * w32fns.c (Fx_server_version): Include w32_build_number in the
4552 return list.
4553
4554 * w32heap.c (w32_build_number): New variable.
4555 (cache_system_info): Set it.
4556
4557 * w32heap.h (w32_build_number): Add extern.
4558
4559 * emacs.c (syms_of_emacs): Update docstring for
4560 system-configuration, to reflect the actual usage on MS-Windows.
4561
e85ee976
GM
45622000-10-31 Gerd Moellmann <gerd@gnu.org>
4563
26dcb81b
GM
4564 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4565 process idle timers while waiting for another event.
4566
52283633 4567 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4568 the default face are colored.
4569
e85ee976
GM
4570 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4571 window height hasn't changed.
4572
01b220b6
JR
45732000-10-31 Jason Rumney <jasonr@gnu.org>
4574
4575 * w32term.c (x_produce_glyphs): Handle composite characters.
4576 (x_draw_glyph_string_foreground)
4577 (x_draw_composite_glyph_string_foreground): Restore old font.
4578
4e6b7204
MB
45792000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4580
4581 * minibuf.c (read_minibuf): Reset the undo history just before
4582 starting the recursive-edit.
4583
d4358b37
GM
45842000-10-30 Gerd Moellmann <gerd@gnu.org>
4585
563f68f1
GM
4586 * xfaces.c (menu_face_change_count): New variable.
4587 (Finternal_set_lisp_face_attribute): Increment it for changes
4588 of the `menu' face.
4589 (realize_basic_faces): Reflect changes in the `menu' faces
4590 in menu bars.
4591
82e274d1
GM
4592 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4593 dy obtained from the iterator's y-position after moving from
4594 scroll_margin_pos to PT; see comment there.
52283633 4595
0dbf9fd2
GM
4596 * xdisp.c (safe_eval_handler): Call add_to_log.
4597
906b3b14
GM
4598 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4599 is not a symbol or string.
4600
d4358b37
GM
4601 * xdisp.c (echo_area_display): Don't perform a display update from
4602 inside redisplay. The update will happen anyway at the end of
4603 redisplay, and it can confuse redisplay (GC messages while
4604 redisplaying, for instance.)
4605
70c825df
SM
46062000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4607
cf9b4b0b
SM
4608 * xrdb.c (x_load_resources): Use the class name in the defaults.
4609
70c825df
SM
4610 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4611 (regex_compile): Catch bogus \(\1\).
4612
a1d34b1e
GM
46132000-10-30 Gerd Moellmann <gerd@gnu.org>
4614
cae71efe
GM
4615 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4616 RGB values.
52283633 4617
35efe0a1
GM
4618 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4619 we have a color cache, check that the cached color equals the
4620 allocated color. If not, clear the color cache.
4621
1d3baf74
GM
4622 * window.c (displayed_window_lines): Change buffers if necessary.
4623 Fix computation of displayed lines.
4624
a1d34b1e
GM
4625 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4626 update_menu_bindings to DEFVAR_BOOL.
4627
70737ea9
KH
46282000-10-30 Kenichi Handa <handa@etl.go.jp>
4629
70c825df 4630 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4631
fa0cb51d
KH
4632 * puresize.h (BASE_PURESIZE): Increase to 680000.
4633
70737ea9
KH
4634 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4635
0e4c08e8
JR
46362000-10-29 Jason Rumney <jasonr@gnu.org>
4637
4638 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4639
4640 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4641 (w32_cache_char_metrics): Handle possibility that 'x' does not
4642 exist in a BDF font.
4643 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4644
4645 * w32bdf.h (bdffont): Add nchars.
4646
4647 * w32bdf.c (set_bdf_font_info): Set it.
4648 (w32_BDF_TextOut): Swap byte order of double byte characters.
4649 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4650
45b84006
EZ
46512000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4652
4653 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4654 don't override the colors in frame's param_alist, unless they are
4655 unspecified.
4656
4657 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4658 reverse the effect of the highlight flag.
4659
caf9deee
KR
46602000-10-27 Ken Raeburn <raeburn@gnu.org>
4661
4662 * window.h (Fwindow_live_p): Declare.
4663
ae0b9b46
KR
4664 * undo.c (record_delete): Check that last_undo_buffer is really a
4665 buffer before applying XBUFFER to it.
4666
4667 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4668 Faref.
4669
02067692
SM
46702000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4671
4672 * lisp.h (KEYMAPP): New macro.
4673 (get_keymap): Remove.
4674 (get_keymap_1): Rename get_keymap.
4675
4676 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4677
4678 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4679
4680 * xmenu.c (single_submenu): Use KEYMAPP.
4681 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4682 Use KEYMAPP rather than Fkeymapp.
4683
4684 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4685
4686 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4687 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4688 Use KEYMAPP rather than Fkeymapp.
4689 (single_submenu): Use KEYMAPP.
4690 (w32_menu_show, w32_dialog_show): Use TRUE.
4691
4692 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4693
4694 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4695 (Fkeymapp): Use KEYMAPP.
4696 (get_keymap): Rename from get_keymap_1. Remove old def.
4697 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4698 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4699 (Fminor_mode_key_binding): Don't raise an error if the binding
4700 is not a keymap.
4701 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4702 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4703
4704 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4705 Allow Vspecial_event_map to be autoloaded.
4706 (menu_bar_items): Fetch the keymap rather than using keymapp.
4707 (menu_bar_one_keymap): No need to follow func-indirect any more.
4708 (parse_menu_item): get_keymap_1 -> get_keymap.
4709 (tool_bar_items): Fetch the keymap rather than using keymapp.
4710 (read_key_sequence): Use KEYMAPP.
4711
4712 * intervals.c (get_local_map): Use get_keymap rather than following
4713 function-indirections explicitly.
4714
4715 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4716
f9d80af3
JR
47172000-10-27 Jason Rumney <jasonr@gnu.org>
4718
4719 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4720 point, as Windows has oversized fonts.
4721
4722 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4723
a3ba27da
GM
47242000-10-27 Gerd Moellmann <gerd@gnu.org>
4725
4726 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4727 (freehook, reallochook): Handle null pointer arguments.
4728 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4729
aa3b80cc
SM
47302000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4731
4732 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4733 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4734 Giving in to popular pressure to shut up the compiler with casts.
4735
e24e84cc
GM
47362000-10-27 Gerd Moellmann <gerd@gnu.org>
4737
4738 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4739 signed value, and use a default value computed from the font's
4740 maximum descent.
4741
05ea7ef2
MB
47422000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4743
4744 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4745 that specify a negative underline position can still use underlines.
4746
4747 * window.c (Fpos_visible_in_window_p): Make POS default to
4748 WINDOW's point, not the current buffer's point.
4749
0b95284b
DL
47502000-10-26 Dave Love <fx@gnu.org>
4751
4752 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4753 when it's necessary.
4754
6c5b90af
GM
47552000-10-26 Gerd Moellmann <gerd@gnu.org>
4756
8b6d9dc9
GM
4757 * window.c (size_window): Compute size difference from sum of old
4758 child window sizes instead of from parent's size.
4759
6bc92b2e
GM
4760 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4761 Handle obscured lines at the top of the window.
4762
4763 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4764 down after the last error condition check.
4765
6c5b90af
GM
4766 * frame.c (Fdelete_frame): Run delete-frame-hook.
4767
42f92d4d
KH
47682000-10-26 Kenichi Handa <handa@etl.go.jp>
4769
4770 * coding.c (decode_coding): Fix previous change (check also
4771 CODING_MODE_LAST_BLOCK).
4772
d97151cb
SM
47732000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4774
e7efc503
SM
4775 * regex.c: More `unsigned char' -> `re_char' changes.
4776 Also change several `int' into `re_wchar_t'.
4777 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4778 (PUSH_FAILURE_POINTER): Don't cast any more.
4779 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4780 We want GCC to complain, since this piece of code makes
4781 re_match non-reentrant, which *should* be fixed.
4782 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4783 (EXTEND_BUFFER): Use RETALLOC.
4784 (SET_LIST_BIT): Don't cast.
4785 (re_wchar_t): New type.
4786 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4787 that those two functions will always properly return.
4788 (IMMEDIATE_QUIT_CHECK): Cast to void.
4789 (analyse_first): Use recursion rather than an explicit stack.
4790 (re_compile_fastmap): Can't fail anymore.
4791 (re_search_2): Don't check re_compile_fastmap for failure.
4792 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4793 Now also sets the new value (passed in a new argument).
4794 (re_match_2_internal): Use it.
4795 Also, use a new var `reg' of type size_t when looping through regs
4796 rather than reuse the inappropriate `mcnt'.
4797
d97151cb
SM
4798 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4799 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4800 (where_is_internal): Renamed from Fwhere_is_internal.
4801 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4802 (Fwhere_is_internal): New function wrapping where_is_internal.
4803 (where_is_internal_1): Handle the case where we're filling the cache.
4804 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4805
d5789b65
MB
48062000-10-25 Miles Bader <miles@gnu.org>
4807
4808 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4809
4ecda532
GM
48102000-10-25 Gerd Moellmann <gerd@gnu.org>
4811
4812 * window.c (pos_fully_visible_p): Removed.
4813 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4814 if position is visible and/or fully visible.
4815
4816 * lisp.h (pos_visible_p): Add prototype.
4817
4818 * xdisp.c (pos_visible_p): New function.
4819
68c3a137
KH
48202000-10-25 Kenichi Handa <handa@etl.go.jp>
4821
4822 * process.c (send_process): If OBJECT is t, it means that the data
4823 is from C string, but we should encode it. Before calling
4824 setup_raw_text_coding_system, be sure to flush out data by the
4825 previous coding system.
4826
7ae1c032
MB
48272000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4828
ff4dcd4b
MB
4829 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4830 assignment of startpos to prev when startpos == pos.
4831
7ae1c032
MB
4832 * editfns.c (find_field): Set the field stickiness correctly from
4833 overlay fields. Use renamed `text_property_stickiness'.
4834 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4835 Only check text properties, not overlays.
7ae1c032
MB
4836 * textprop.c (get_char_property_and_overlay): New function.
4837 (Fget_char_property): Use it.
4838 * intervals.h (get_char_property_and_overlay): Add declaration.
4839
49801145
SM
48402000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4841
4842 * keymap.c: Use AREF, ASET and ASIZE macros.
4843 (Fmake_sparse_keymap): Docstring fix.
4844 (synkey): Remove.
4845 (shadow_lookup): Move up.
4846 Handle the case where lookup-key returns an integer.
4847 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4848 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4849 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4850 Simplify/rewrite the keymap-finding code.
4851 Add check for command shadowing, using shadow_lookup.
4852
39e776cd
SM
48532000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4854
4855 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4856 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4857 a symbol.
4858
2488aba5
AI
48592000-10-24 Andrew Innes <andrewi@gnu.org>
4860
4861 * dired.c (directory_files_internal_unwind): New function.
4862 (directory_files_internal): Use it to ensure closedir is called
4863 even if expand-file-name or file-attributes throw, eg. because of
4864 a user interrupt. Also enable immediate_quit while calling
4865 re_search, so that matching can be interrupted as well.
4866
b94fdf61
AI
48672000-10-24 Andrew Innes <andrewi@gnu.org>
4868
4869 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4870 NT-Emacs only.
4871 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4872 so that re_search functions only quit when callers expect them to.
4873
48742000-10-24 Kenichi Handa <handa@etl.go.jp>
4875
4876 * regex.c (regex_compile): Change the way of handling a range from
4877 a char less than 256 to a char not less than 256.
4878
1946f901
GM
48792000-10-24 Gerd Moellmann <gerd@gnu.org>
4880
7ae2f10f
GM
4881 * window.c (size_window): Prevent setting window's width or
4882 height to a negative value (esp. with XSETFASTINT).
4883
5dcab13e
GM
4884 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4885 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4886 (protect_malloc_state) [GC_MALLOC_CHECK &&
4887 GC_PROTECT_MALLOC_STATE]: New function.
4888 (PROTECT_MALLOC_STATE): New macro.
4889 (__malloc_initialize, morecore, _malloc_internal)
4890 (_free_internal) _realloc_internal): Use it to make _heapinfo
4891 read-only outside of gmalloc.
4892
63e1b552
GM
4893 * keymap.c: Update copyright.
4894
1946f901
GM
4895 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4896 a symbol.
4897
4fa09beb
GM
48982000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4899
4900 * filelock.c (unlock_all_files): Use unlock_file to expand each
4901 buffer's file_truename before trying remove its lock file.
4902
23afac01
EZ
49032000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4904
4905 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4906 or CRLF, decode EOLs.
4907
04448b95
KH
49082000-10-24 Kenichi Handa <handa@etl.go.jp>
4909
4910 * window.c (Fdisplay_buffer): Fix doc.
4911
3090a5a5
JR
49122000-10-23 Jason Rumney <jasonr@gnu.org>
4913
4914 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4915 ASCII font of default fontset on Windows.
4916
4917 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4918 xterm.c comment below).
4919
4920 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4921
a83fee2c
GM
49222000-10-23 Gerd Moellmann <gerd@gnu.org>
4923
4924 * xterm.c (x_connection_closed): Reset handling_signal.
4925
52283633 4926 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4927
6ffdb539
MB
49282000-10-23 Miles Bader <miles@gnu.org>
4929
4930 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4931 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4932 maintain old behavior.
4933 * minibuf.c (Fminibuffer_complete): Likewise.
4934
7f1c969b
MB
49352000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4936
4937 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4938 that when a font can't be exactly centered, it errs up rather than
4939 down.
4940
23afac01 49412000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4942
52283633 4943 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4944
1a578e9b
AC
49452000-10-23 Andrew Choi <akochoi@i-cable.com>
4946
4947 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4948
4949 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4950 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4951
4952 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4953 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4954 syms_of_search, x_term_init, and init_keyboard before calling
4955 init_window_once. Also, call syms_of_xmenu.
4956
4957 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4958 default fontset to Monaco.
4959
4960 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4961 NewMacWindow and DisposeMacWindow.
4962 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4963 instead of calling NewMacWindow and setting fields of
4964 f->output_data.mac directly. Call init_frame_faces.
4965 (Fdelete_frame) [macintosh]: Remove unused code.
4966 (Fmodify_frame_parameters) [macintosh]: Call
4967 x_set_frame_parameters instead of mac_set_frame_parameters.
4968
4969 * frame.h [macintosh]: Define menu_bar_lines field in struct
4970 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4971
4972 * keyboard.c [macintosh]: Include macterm.h.
4973 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4974 and menu_bar_activate_event type events as for X and NT.
4975 (make_lispy_event) [macintosh]: Construct lisp events of type
4976 MENU_BAR_EVENT as for X and NT.
4977
4978 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4979 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4980 (sys_subshell) [macintosh]: Remove definition entirely.
4981 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4982 Vwindow_system_version here. Remove initialization of
4983 Vx_bitmap_file_path.
4984 (read_input_waiting): Correct the number of parameters passed to
4985 read_socket_hook.
4986 Move all Macintosh functions to mac/mac.c.
4987
4988 * term.c [macintosh]: Include macterm.h.
4989
4990 * window.c [macintosh]: Include macterm.h.
4991
4992 * xdisp.c [macintosh]: Include macterm.h. Declare
4993 set_frame_menubar and pending_menu_activation.
4994 (echo_area_display) [macintosh]: Do not return if terminal frame
4995 is the selected frame.
4996 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4997 Allow only the selected frame to set menu bar.
4998 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4999 calling FRAME_EXTERNAL_MENU_BAR (f).
5000 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5001
5002 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5003 and check_x. Declare XCreateGC. Define x_create_gc and
5004 x_free_gc. Initialize font_sort_order.
5005 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5006 but call x_list_fonts instead of w32_list_fonts.
5007 (Finternal_face_x_get_resource) [macintosh]: Do not call
5008 display_x_get_resource.
5009 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5010 (realize_x_face) [macintosh]: Load the font if it is specified in
5011 ATTRS.
52283633 5012 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5013
1ffbabe3
SM
50142000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5015
5016 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5017 is nil: since we go to the end of submap anyway, we'd end up
5018 setting nil to nil.
5019 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5020 doesn't obey autoload.
5021
bed43f1d
EZ
50222000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5023
1ffbabe3 5024 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5025
ea4233a7
JR
50262000-10-21 Jason Rumney <jasonr@gnu.org>
5027
5028 * w32term.c (w32_cache_char_metrics): Double check that font is
5029 really fixed pitch before trusting tmPitchAndFamily.
5030
f3d3c491
AI
50312000-10-21 Andrew Innes <andrewi@gnu.org>
5032
5033 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5034
5035 * w32term.h: Extern decl for w32_cache_char_metrics.
5036
5037 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5038
5039 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5040 (w32_unload_font): Free per_char array if present.
5041
5042 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5043 cached information in emulated XFontStruct to handle common cases
5044 quickly. Do not allocate XCharStruct for return.
5045 (w32_native_per_char_metric): New function.
5046 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5047 allocating one.
5048 (x_produce_glyphs): Don't get an HDC. Change calls to
5049 w32_per_char_metric to match arg change above. Remove calls to
5050 free results.
5051 (w32_get_glyph_overhangs): Ditto.
5052 (w32_cache_char_metrics): New function.
5053
5054 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5055 ($(BLD)/casefiddle.$(O)): Remove compile command.
5056 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5057 ($(BLD)/dispnew.obj):
5058 ($(BLD)/keyboard.obj):
5059 ($(BLD)/w32inevt.obj):
5060 ($(BLD)/w32bdf.obj):
5061 ($(BLD)/alloc.obj):
5062 ($(BLD)/buffer.obj):
5063 ($(BLD)/editfns.obj):
5064 ($(BLD)/emacs.obj):
5065 ($(BLD)/fileio.obj):
5066 ($(BLD)/fns.obj):
5067 ($(BLD)/indent.obj):
5068 ($(BLD)/insdel.obj):
5069 ($(BLD)/intervals.obj):
5070 ($(BLD)/minibuf.obj):
5071 ($(BLD)/print.obj):
5072 ($(BLD)/scroll.obj):
5073 ($(BLD)/sysdep.obj):
5074 ($(BLD)/textprop.obj):
5075 ($(BLD)/widget.obj):
f3d3c491
AI
5076 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5077 ($(BLD)/term.obj): Add dependency on dispextern.h.
5078
52283633
SM
5079 * makefile.nt ($(BLD)\dispnew.obj):
5080 ($(BLD)\keyboard.obj):
5081 ($(BLD)\w32inevt.obj):
5082 ($(BLD)\w32bdf.obj):
5083 ($(BLD)\alloc.obj):
5084 ($(BLD)\buffer.obj):
5085 ($(BLD)\editfns.obj):
5086 ($(BLD)\emacs.obj):
5087 ($(BLD)\fileio.obj):
5088 ($(BLD)\fns.obj):
5089 ($(BLD)\indent.obj):
5090 ($(BLD)\insdel.obj):
5091 ($(BLD)\intervals.obj):
5092 ($(BLD)\minibuf.obj):
5093 ($(BLD)\print.obj):
5094 ($(BLD)\scroll.obj):
5095 ($(BLD)\sysdep.obj):
5096 ($(BLD)\textprop.obj):
5097 ($(BLD)\widget.obj):
f3d3c491
AI
5098 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5099 ($(BLD)\term.obj): Add dependency on dispextern.h
5100
18ad4821
EZ
51012000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5102
5103 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5104 with an additional argument of Qt.
5105
de54681a
MB
51062000-10-21 Miles Bader <miles@gnu.org>
5107
5108 * window.c (pos_fully_visible_in_window_p): New function.
5109 (Fpos_visible_in_window_p): Add FULLY argument.
5110 Use pos_fully_visible_in_window_p.
5111 (window_scroll_pixel_based, window_scroll_line_based): Update
5112 calls to Fpos_visible_in_window_p.
5113 * lisp.h (Fpos_visible_in_window_p): Update prototype
5114
13c844fb
GM
51152000-10-20 Gerd Moellmann <gerd@gnu.org>
5116
5117 * alloc.c (toplevel): Conditionalize compilation of mem_*
5118 functions differently.
52283633 5119
d9506268
JR
51202000-10-20 Jason Rumney <jasonr@gnu.org>
5121
5122 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5123 mem_init where it used to be. mem_z etc not defined otherwise.
5124
8094989b
GM
51252000-10-20 Gerd Moellmann <gerd@gnu.org>
5126
5127 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5128 GC_MALLOC_CHECK.
5129 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5130 structure definition and related variabled to the top of the file.
5131 Include this code when GC_MALLOC_CHECK is defined.
5132 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5133 register/unregister allocated region.
5134 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5135 which isn't allocated.
5136 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5137 something which is already in use.
5138 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5139 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5140 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5141 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5142
5143 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5144 _malloc_internal instead of malloc.
5145 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5146 of free.
5147
ea456eb4
AI
51482000-10-20 Andrew Innes <andrewi@gnu.org>
5149
5150 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5151 Windows.
5152 (my_strftime) <macro>: Don't use macro arg list when redefining as
5153 _strftime_copytm.
5154 (my_strftime) <function>: Supply 0 as ut argument.
5155
e64c3a75
JR
51562000-10-19 Jason Rumney <jasonr@altavista.net>
5157
5158 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5159 including dispextern.h, as it stops faces from working.
5160
5161 * w32fns.c (Fx_create_frame): Don't bother calling
5162 face-set-after-frame-default since the caller does it for us
5163 anyway. Clean up calls to x_get_arg to be consistent with X.
5164
5165 * w32term.c (x_produce_glyphs): Handle
5166 unibyte_display_via_language_environment correctly.
5167 (w32_draw_box_rect): Fix the calculation of width and height.
5168
5169 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5170 as it has stopped working.
5171 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5172 menu-bar.
5173
17401c97
GM
51742000-10-19 Gerd Moellmann <gerd@gnu.org>
5175
5176 * eval.c (skip_debugger): Prevent a compiler warning.
5177 (Fcondition_case): Likewise.
5178 (Fbacktrace_frame): Use a null interactive spec.
5179
773272d8
KH
51802000-10-19 Kenichi Handa <handa@etl.go.jp>
5181
5182 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5183
a42943e9
GM
51842000-10-18 Gerd Moellmann <gerd@gnu.org>
5185
e50517d9
GM
5186 * strftime.c: Sync with glibc, file version 1.78.
5187 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5188 should no longer be used according to ISO 8601.
5189
9035a35a
GM
5190 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5191 no map for meta_prefix_char, don't try to use it as a keymap.
5192 Instead, if T_OK is non-zero, look up a default binding, if any,
5193 otherwise, if T_OK is zero, return nil.
5194
a42943e9
GM
5195 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5196 (x_to_xcolors, png_load): Use x_query_color.
5197
52283633
SM
5198 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5199 New functions.
a42943e9
GM
5200 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5201 which can be slow.
5202 (x_copy_color, x_alloc_lighter_color): Likewise.
5203
5204 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5205 (x_query_color, x_query_colors): Add prototype.
5206
5207 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5208 check_string_bytes only if not noninteractive, increase count to 50.
5209
00de2987
MB
52102000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5211
5212 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5213 markers correctly.
5214
54918e2b
GM
52152000-10-17 Gerd Moellmann <gerd@gnu.org>
5216
1f0b3fd2
GM
5217 * alloc.c (pure_bytes_used): Renamed from pureptr.
5218 (ALIGN): New macro.
5219 (pure_alloc): New function.
5220 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5221 Use it.
5222 (Fpurecopy): Use PURE_POINTER_P.
5223
68c5d1db
GM
5224 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5225 PT has moved backward.
52283633 5226
9a038881
GM
5227 * xdisp.c (cursor_row_p): Take continued lines into account.
5228
361b097f
GM
5229 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5230 string's size_byte.
5231 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5232 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5233 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5234 string allocated.
5235
54918e2b
GM
5236 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5237 of selective display off while searching for the next line start.
5238
03ed0806
KH
52392000-10-17 Kenichi Handa <handa@etl.go.jp>
5240
5241 * Makefile.in (term.o): Depend on dispextern.h.
5242
7e05cdaf
SM
52432000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5244
5245 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5246
a6801fd1
GM
52472000-10-16 Gerd Moellmann <gerd@gnu.org>
5248
483de32b
GM
5249 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5250 the iterator at the beginning, so that they can be set later on,
5251 for instance in reseat_at_next_visible_line_start, without being
5252 overwritten.
5253
a6801fd1
GM
5254 * xfns.c (pbm_format): Add :foreground and :background keywords.
5255 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5256 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5257
dbf1fcc1
EZ
52582000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5259
5260 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5261
52283633 5262 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5263
5264 * msdos.c (IT_set_face): Compare highlighted face with the default
5265 face, and invert colors if these faces' colors are identical.
5266 (Fmsdos_remember_default_colors): Don't swap foreground and
5267 background colors in initial_colors[].
5268 (IT_set_frame_parameters): Don't swap frame's foreground and
5269 background pixels. If ALIST includes "(reverse . t)", swap
5270 foreground-color and background-color properties in frame's
5271 param_alist. If the original frame's param_alist doesn't specify
5272 the colors, store unspecified-fg and unspecified-bg, reversed if
5273 required.
5274
5275 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5276 the colors are unspecified and reversed, reverse fore- and back-
5277 ground in the returned value.
5278 (Fframe_parameter): Ditto.
5279
b41fe2c3 52802000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5281
3a6b59d9
GM
5282 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5283 get_last_unchanged_at_beg_row.
5284 (find_first_unchanged_at_end_row): Renamed from
5285 get_first_unchanged_at_end_row.
5286 (find_first_unchanged_at_end_row): Convert assertions to
5287 unconditional tests which abort. When looking for a row in
5288 unchanged text, don't go further back than first_text_row.
5289
b41fe2c3
GM
5290 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5291 Don't add in the last line's height when deciding if the new
5292 position is below the scroll margin.
9d1af64f 5293
b41fe2c3 52942000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5295
5296 * editfns.c (Fconstrain_to_field): Check carefully for field
5297 boundaries if either OLD_POS or NEW_POS has a non-nil field
5298 property, even if they're the same.
5299
c412cb7b
KH
53002000-10-16 Kenichi Handa <handa@etl.go.jp>
5301
5302 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5303 height for XFillRectangle.
5304
5586f3eb
SM
53052000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5306
5307 * syntax.c (Fstring_to_syntax): New function extracted from
5308 Fmodify_syntax_entry.
5309 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5310 (skip_chars, Fforward_comment): Remove unused variables.
5311 (syms_of_syntax): Add defsubr for string-to-syntax.
5312 (describe_syntax): Add code for comment and string fences.
5313
db785038
SM
53142000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5315
5316 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5317 Do the meta->esc mapping. Call get_keyelt before returning.
5318 Start scanning from the second element (the first is always `keymap')
5319 to make it easier to detect when we reach a parent map.
5320 Handle the case of inheriting from a symbol whose function is a map.
5321 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5322 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5323 (get_keyelt, Flookup_key): Update call to access_keymap.
5324 Remove the meta->esc mappings.
5325 (define_as_prefix): Delete old disabled code.
5326 (menu_item_p): New function.
5327 (where_is_internal_1): Skip over the few remaining menu items.
5328 * lisp.h (access_keymap): Update prototype.
5329 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5330 Update call to access_keymap.
5331 (follow_key, read_key_sequence): Update calls to access_keymap.
5332 Remove the meta->esc mappings.
5333
cafafe0b
GM
53342000-10-13 Gerd Moellmann <gerd@gnu.org>
5335
a2e2a7f6
GM
5336 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5337 with additional argument.
5338
cafafe0b
GM
5339 * xdisp.c (cursor_row_p): New function.
5340 (try_cursor_movement, display_line): Use it.
52283633 5341
cafafe0b
GM
5342 * xdisp.c (append_space): Also save/restore iterator's current
5343 character and its length.
5344
5345 * xdisp.c (init_from_display_pos): Add an assertion.
5346 (handle_stop): Don't set iterator's add_overlay_start.
5347 (handle_invisible_prop): Likewise.
5348 (load_overlay_strings): If text under an overlay is invisible,
5349 take both before- and after-strings into account when the iterator
5350 is positioned either at the start or at the end of the overlay.
5351 (forward_to_next_line_start): Rewritten.
5352 (reseat_at_next_visible_line_start): Rewritten.
5353 (set_iterator_to_next): Add parameter RESEAT_P.
5354
5355 * dispextern.h (struct it): Remove member add_overlay_start.
5356 (set_iterator_to_next): Change prototype.
5357
c744452b
KH
53582000-10-13 Kenichi Handa <handa@etl.go.jp>
5359
5360 * coding.c (code_convert_region): Be sure to initialize
5361 coding->category_idx.
e4a3f4e1
KH
5362 (decode_coding_string): Set coding->src_multibyte and
5363 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5364 (encode_coding_string): Set coding->src_multibyte and
5365 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5366
321fd26f
SM
53672000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5368
5369 * xfns.c (Fx_create_frame): Don't bother calling
5370 face-set-after-frame-default since the caller does it for us anyway.
5371
76832439
EZ
53722000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5373
5374 * window.c (coordinates_in_window): Fix detection of vertical line
5375 on character terminals.
5376
2483cf58
GM
53772000-10-12 Gerd Moellmann <gerd@gnu.org>
5378
5379 * editfns.c (save_excursion_save): Additionally record the
5380 selected window.
5381 (save_excursion_restore): If buffer was visible in a window, and a
5382 different window was selected, and the old selected window is
5383 still live, restore point in that window.
5384
eb991b25
KH
53852000-10-12 Kenichi Handa <handa@etl.go.jp>
5386
8a0eba09
KH
5387 * xterm.c (x_produce_glyphs): Handle
5388 unibyte_display_via_language_environment correctly.
5389
20401fcc
KH
5390 * regex.c (regex_compile): Change the way of handling a range from
5391 unibyte char to multibyte char.
5392
5393 * syntax.c (skip_chars): Change the way of handling a range from
5394 unibyte char to multibyte char.
5395
eb991b25
KH
5396 * process.c (read_process_output): Cancel previous change.
5397
365dd325
EZ
53982000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5399
c1b096cb
EZ
5400 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5401
365dd325
EZ
5402 * charset.c (Ffind_charset_string): Doc fix.
5403 (Ffind_charset_region): Doc fix.
5404
eb483c2b
KH
54052000-10-11 Kenichi Handa <handa@mule.m17n.org>
5406
5407 * process.c (read_process_output): Fix previous change. Adjust
5408 multibyteness of text to insert in a buffer by
52283633 5409 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5410
b40bfb99
AS
54112000-10-10 Andreas Schwab <schwab@suse.de>
5412
5413 * alloc.c (mark_object): Remove all workarounds installed on
5414 1993-08-08.
5415
caff31d4
KH
54162000-10-10 Kenichi Handa <handa@etl.go.jp>
5417
52283633 5418 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5419 (base64_encode_1): Make it work for a text of multibyte form.
5420 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5421 case. Don't call str_to_multibyte because base64_decode_1
5422 produces correct multibyte form for eight-bit codes.
52283633 5423 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5424 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5425 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5426 codes.
5427
5428 * charset.h (CHAR_STRING): Optimized for single byte characters.
5429
cba026ef
AS
54302000-10-09 Andreas Schwab <schwab@suse.de>
5431
5432 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5433 -1 after socket is closed, to fall through to error processing.
5434
1e21fe48
EZ
54352000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5436
5437 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5438 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5439 background-color, change also the colors of the default face for
5440 this frame.
5441
a640322e
EZ
54422000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5443
5444 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5445 them extern (they are defined on xfaces.c).
5446 (syms_of_msdos): Don't intern and don't staticpro
5447 Qbackground_color and Qforeground_color.
5448
a115794c
EZ
54492000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5450
5451 * frame.c (Fframe_parameter): For non-windowed frames, if
5452 f->param_alist says foreground or background color is unspecified,
5453 call tty_color_name to return the color name computed from the
5454 frame's current colors.
5455
f5533b63
DL
54562000-10-06 Dave Love <fx@gnu.org>
5457
5458 * terminfo.c (ospeed): Don't declare.
5459
5460 * sysdep.c: Don't include string.h.
5461 (h_errno): Declare conditional also on TRY_AGAIN.
5462
5463 * charset.c (Ffind_charset_string): Doc fix.
5464
52283633 5465 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5466 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5467 error messages.
5468
2b06561a
DL
54692000-10-05 Dave Love <fx@gnu.org>
5470
5471 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5472 position like menu-bar.
5473
ca839c85
GM
54742000-10-05 Gerd Moellmann <gerd@gnu.org>
5475
5476 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5477
5478 * xdisp.c (handle_single_display_prop): Use safe_call1.
5479 (safe_call): Renamed from call_function.
5480 (safe_call1): New function.
5481 (handle_fontified_prop): Use safe_call1 instead of call1.
5482 (safe_eval): Renamed from eval_form.
5483 (safe_eval_handler): Renamed from eval_handler.
5484 (handle_single_display_prop, display_mode_element): Use safe_eval
5485 instead of eval_form.
5486
5487 * xfaces.c (merge_face_heights): Use safe_call instead of
5488 call_function.
5489
5490 * keyboard.c (show_help_echo): Use safe_call instead of
5491 call_function; use safe_eval instead of eval_form.
5492
5493 * lisp.h (safe_call): Renamed from call_function.
5494 (safe_eval): Renamed from eval_form.
5495 (safe_call1): Add prototype.
5496
a3489ece
MB
54972000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5498
5499 * xfns.c (image_ascent): Rearrange ascent calculation for the
5500 has-a-font case.
5501
35810b6f
SM
55022000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5503
5504 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5505 (where_is_internal_1): Don't bother ignoring menu-items any more.
5506
3dc78168
GM
55072000-10-04 Gerd Moellmann <gerd@gnu.org>
5508
5509 * keyboard.c (update_menu_bindings): New variable.
5510 (parse_menu_item): Use AREF. If update_menu_bindings
5511 is 0, don't update menu bindings.
5512 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5513
1efc2bb9
EZ
55142000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5515
5516 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5517 to `mark_object'.
5518
3f679f55
SM
55192000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5520
5521 * syntax.c (forw_comment): Match nestedness of ender/starter.
5522 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5523 (prev_char_comstart_first): Remove.
5524 (back_comment): Check two-char comment markers more carefully
5525 to better handle overlapping cases like *//* or /* */* */ ...
5526 Match nestedness of ender/starter.
5527
2021ab61
DL
55282000-10-02 Dave Love <fx@gnu.org>
5529
5530 * config.in (HAVE_GAI_STRERROR): Add undef.
5531
5532 * process.c (Fopen_network_stream): Use it.
5533
5534 * m/alpha.h (NO_REMAP): Don't define.
5535
64e6cc18
GM
55362000-10-02 Gerd Moellmann <gerd@gnu.org>
5537
5538 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5539 return with a string converted to an integer or vice versa when
5540 Vmocklisp_arguments is t.
5541 (Fsignal): Likewise. The function can return for `quit'.
5542 (struct gcpro): Declare member `var' to point to a volatile
5543 Lisp_Object.
5544
5545 * eval.c (error): Prevent compiler warning.
5546
b1904cd9
SM
55472000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5548
5549 * keymap.c (keymap_memberp): New function.
5550 (Fset_keymap_parent): Use it.
5551 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5552 Use keymap_memberp to avoid creating cycles.
5553 (access_keymap): Use KEYMAPP.
5554
71c9ec51
GM
55552000-09-30 Gerd Moellmann <gerd@gnu.org>
5556
5557 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5558 gai_strerror. Make sure xerrno is set if connect fails. Improve
5559 error recovery.
71c9ec51 5560
c70c6b58
JR
55612000-09-29 Jason Rumney <jasonr@gnu.org>
5562
5563 * w32term.c (w32_char_font_type, w32_encode_char)
5564 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5565 (w32_bdf_per_char_metric): New function.
5566 (w32_per_char_metric): Use it.
5567 (x_draw_glyph_string_background): Always draw background for BDF
5568 glyphs.
5569
5570 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5571 GDI object which is a scarce resource.
5572
5573 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5574 (get_quoted_string): Fix limit on memchr search.
5575 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5576 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5577 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5578 (get_cached_font_char, cache_char_offset): Use macro
5579 BDF_CODEPOINT_RANGE_COVER_P.
5580 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5581 (clear_cached_bitmap_slots): New function.
5582 (GET_HEX_VALUE): G-Z, g-z are not hex.
5583 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5584 (get_bitmap_with_cache): Use new cache implementation.
5585 (create_offscreen_bitmap): New function.
5586 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5587
5588 * w32term.c (x_produce_glyphs): If the distance from the current
5589 position to the next tab stop is less than a canonical character
5590 width, use the tab stop after that.
5591 (x_draw_glyphs): Handle case START and END are out of bounds more
5592 carefully.
5593 (x_clear_mouse_face): Block/unblock input.
5594 (x_display_and_set_cursor): Don't show a hollow box cursor for
5595 buffers whose cursor_type is nil.
5596
fe01239f
GM
55972000-09-29 Gerd Moellmann <gerd@gnu.org>
5598
52283633 5599 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5600
5601 * dispextern.h (updating_frame): Declare extern.
5602
e7c52f1f
AS
56032000-09-29 Andreas Schwab <schwab@suse.de>
5604
5605 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5606
de6e1f7c
GM
56072000-09-29 Gerd Moellmann <gerd@gnu.org>
5608
25126faa
GM
5609 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5610 use its function definition.
5611 (tool_bar_items): Likewise.
5612
de6e1f7c 5613 * lisp.h (fatal): Declare NO_RETURN.
52283633 5614
454ee39b
KH
56152000-09-29 Kenichi Handa <handa@etl.go.jp>
5616
5617 * keymap.c: Remove the line "#undef NULL".
5618
96301c5f
GM
56192000-09-28 Gerd Moellmann <gerd@gnu.org>
5620
52283633 5621 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5622
efffeeb4
DL
56232000-09-28 Dave Love <fx@gnu.org>
5624
ecb8b666
DL
5625 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5626
dc3cd20f
DL
5627 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5628
5629 * .gdbinit (xreload): Note its need on GNU/Linux.
5630
efffeeb4
DL
5631 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5632 r_alloc, r_alloc_free.
5633
8610d903
KH
56342000-09-28 Kenichi Handa <handa@etl.go.jp>
5635
5636 * syntax.c (skip_chars): Handle negation correctly.
5637
8901d1ac
GM
56382000-09-27 Gerd Moellmann <gerd@gnu.org>
5639
6f22f1ad
GM
5640 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5641 with non-zero FORCE_P argument.
5642
52283633 5643 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5644 Add assertions.
5645
5646 * xdisp.c (window_box_height): Add an assertion.
5647
5648 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5649 tool-bar than is available.
5650 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5651
36f1966f
DL
56522000-09-27 Dave Love <fx@gnu.org>
5653
efffeeb4 5654 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5655
31d929e5
GM
56562000-09-26 Gerd Moellmann <gerd@gnu.org>
5657
c98863bf
GM
5658 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5659 instead of BITS_PER_INT.
5660 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5661 EMACS_UINT, respectively.
5662 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5663
5664 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5665
5666 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5667
77072ab1
GM
5668 * window.c (freeze_window_starts): Construct last argument for
5669 foreach_window differently.
5670
5671 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5672
5673 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5674 EMACS_UINT instead of `int' and `unsigned int'.
5675 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5676
5677 * frame.h (struct frame): Make the `nothing' member of union
5678 output_data an EMACS_INT.
5679
52283633 5680 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5681 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5682 size in the sdata structure.
5683 (SDATA_NBYTES, SDATA_DATA): New macros.
5684 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5685 differently for the different layout of the sdata structure.
5686 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5687 in sdata.
5688 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5689 Check that size recorded in the string size and size recorded in
5690 the sdata structure agree.
5691
3e60b029
DL
56922000-09-25 Dave Love <fx@gnu.org>
5693
5694 * buffer.c: Include stdio.h.
5695
5696 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5697
3e60b029
DL
5698 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5699
5700 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5701 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5702 (__malloc_extra_blocks): Declare as __malloc_size_t.
5703
8ff16b4e
GM
57042000-09-25 Gerd Moellmann <gerd@gnu.org>
5705
755a2ccd
GM
5706 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5707
d8b4516f
GM
5708 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5709 (read_char): If help-echo is showing, preserve the echo area
5710 when redisplaying.
5711
5712 * xdisp.c (help_echo_showing_p): New variable.
5713 (set_message): Reset it to 0.
5714 (init_xdisp): Initialize help_echo_showing_p.
5715
5716 * dispextern.h (help_echo_showing_p): Declare extern.
5717
5718 * config.in: Fix typo in __GNUC_MINOR__.
5719
5720 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5721
b11af2dd
GM
5722 * s/freebsd.h (POSIX_SIGNALS): Define.
5723
8ff16b4e
GM
5724 * xterm.c (x_clear_mouse_face): Block/unblock input.
5725
844eb643
DL
57262000-09-24 Dave Love <fx@gnu.org>
5727
5728 * fns.c (base64_encode_1): Fix last change.
5729
b30ab1b3
GM
57302000-09-22 Gerd Moellmann <gerd@gnu.org>
5731
5732 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5733
5734 * xdisp.c (try_window_reusing_current_matrix): More fixes
5735 for the case window has a header-line.
5736
c6cbe5f0
DL
57372000-09-22 Dave Love <fx@gnu.org>
5738
4c7c1f3f
DL
5739 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5740 a doc string.
5741
5742 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5743
c6cbe5f0
DL
5744 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5745
550a625e
GM
57462000-09-21 Gerd Moellmann <gerd@gnu.org>
5747
4c7c1f3f 5748 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5749 for GCC >= 2.5.
5750
52283633
SM
5751 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5752 Declare NO_RETURN.
fca99116 5753
80d26f99
GM
5754 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5755 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5756 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5757 warnings.
52283633 5758
80d26f99
GM
5759 * marker.c (byte_char_debug_check): Return void.
5760
623a0aae
GM
5761 * xfns.c (Fx_create_frame): Set default frame parameter value
5762 for tool-bar-lines to 1.
5763
5764 * dispnew.c (scrolling_window): Compare y-positions of rows
5765 equal at the start. Some simplification.
5766
5767 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5768 reused rows' y-position in the case window has a header-line, and
5769 new window start is greater than old window start.
5770
42ac0ae5
GM
5771 * process.c (process_sent_to): New variable.
5772 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5773 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5774 Declare more parameters volatile.
5775
550a625e
GM
5776 * lread.c (Vrecursive_load_depth_limit): New variable.
5777 (Fload): Check recursive loads whose recursion depth exceeds
5778 Vrecursive_load_depth_limit.
5779 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5780
8320414c
GM
57812000-09-20 Gerd Moellmann <gerd@gnu.org>
5782
f46c275e
GM
5783 * fileio.c (Fread_file_name): Doc fix.
5784
5785 * editfns.c (Fmessage_or_box): Doc fix.
5786
5787 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5788
b7e11c5b 5789 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5790
8320414c
GM
5791 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5792 symbols are specified, add color translations to the cache.
52283633 5793 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5794 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5795 xpm_cache_color.
5796 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5797 structures to xpm_init_color_cache.
5798
da1608d9
GM
57992000-09-19 Gerd Moellmann <gerd@gnu.org>
5800
52283633 5801 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5802
6badfa25
AI
58032000-09-19 Andrew Innes <andrewi@gnu.org>
5804
5805 * makefile.nt (bootstrap-emacs): Don't change directory.
5806
3a5f42bb
KH
58072000-09-19 Kenichi Handa <handa@etl.go.jp>
5808
1b7649bd
KH
5809 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5810
3a5f42bb
KH
5811 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5812 If output buffer is too small, signal an appropriated error.
5813
9f83cf0b
DL
58142000-09-18 Dave Love <fx@gnu.org>
5815
52283633 5816 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5817 (current_active_maps): Remove redundant get_local_map call.
5818
28c7826c
GM
58192000-09-18 Gerd Moellmann <gerd@gnu.org>
5820
5cefa566
GM
5821 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5822 cursor for buffers whose cursor_type is nil.
52283633 5823
6fed3546
GM
5824 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5825 a feature to implement that is already implemented.
5826 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5827 warnings.
5828
5829 * xfns.c (x_clear_image_1): New function.
5830 (x_clear_image): Use it.
52283633 5831 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5832
05b1f851
GM
5833 * dispnew.c (update_window): Move test for invisible lines
5834 at the top to update_window_line.
5835 (update_window_line): Handle invisible lines here.
5836
f4779de9
GM
5837 * xfns.c (clear_image_cache): Clear current matrices of all
5838 frames sharing an image cache. Block input while freeing
5839 images. Fix timestamp comparison.
5840 (x_clear_image): Also free the mask.
5841
28c7826c
GM
5842 * xfns.c (lookup_image): Block input while loading the image so
5843 that we won't get interrupted in a state where the image isn't yet
5844 set up completely.
5845 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5846 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5847 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5848 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5849
b7412313
GM
58502000-09-16 Gerd Moellmann <gerd@gnu.org>
5851
5852 * dispnew.c (update_window): Make sure to make desired rows
5853 current even if they are completely invisible at the top
5854 of a window.
5855
47e351a3
GM
58562000-09-15 Gerd Moellmann <gerd@gnu.org>
5857
7f8f1edc
GM
5858 * xfns.c (lookup_image): Build mask before applying an algorithm.
5859 Recognize algorithm `disabled'.
5860 (cross_disabled_images): New variable.
5861 (COLOR_INTENSITY): New macro.
5862 (x_detect_edges): Use COLOR_INTENSITY.
5863 (x_disable_image): New function.
5864 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5865
5866 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5867 disabled state, don't apply an image transformation algorithm if
5868 the user specified an image for the disabled state. Use
28c7826c 5869 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5870 user hasn't specified an image.
5871
ebb8f116
GM
5872 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5873 allocation functions with the XPM lib.
5874 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5875 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5876 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5877 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5878 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5879 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5880 functions, if possible, because these handle color allocation
5881 failure more gracefully.
5882 (Fimage_mask_p): New function.
5883
47e351a3
GM
5884 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5885 (Qedge_detection, Qheuristic): New symbols.
5886 (syms_of_xfns): Initialize new symbols.
5887 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5888 `algorithm (edge-detection ...)'.
5889 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5890 (tiff_format, gif_format, gs_format): Add `:mask'.
5891 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5892 (GIF_MASK, GS_MASK): New enumerators.
5893 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5894 (emboss_matrix, laplace_matrix): New variables.
5895 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5896 (x_edge_detection): New functions.
5897 (x_laplace): Rewritten in terms of x_detect_edges.
5898 (x_build_heuristic_mask): If image has a mask, free it.
5899
fe83b953
AI
59002000-09-14 Andrew Innes <andrewi@gnu.org>
5901
5902 * makefile.w32-in: Revert to Unix line endings.
5903
3021e816
AI
59042000-09-14 Andrew Innes <andrewi@gnu.org>
5905
5906 * makefile.w32-in: Standardize indentation somewhat.
5907 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5908 cater for differences between shells.
5909
5910 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5911
2a32b5ea
GM
59122000-09-14 Gerd Moellmann <gerd@gnu.org>
5913
5914 * xterm.c (x_produce_glyphs): If the distance from the current
5915 position to the next tab stop is less than a canonical character
5916 width, use the tab stop after that.
5917
b4331e96
DL
59182000-09-14 Dave Love <fx@gnu.org>
5919
5920 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5921
ef9e4345
GM
59222000-09-14 Gerd Moellmann <gerd@gnu.org>
5923
085536c2
GM
5924 * xdisp.c (handle_fontified_prop): While running fontification
5925 functions, bind `fontification-functions' and
5926 `after-change-functions' to nil.
5927
ef9e4345
GM
5928 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5929 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5930
5931 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5932
5933 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5934 USE_MMAP_FOR_BUFFERS.
5935
5936 * insdel.c (make_gap): Use enlarge_buffer_text.
5937
5938 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5939 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5940 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5941 from former r_alloc_* functions in ralloc.c.
52283633 5942 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5943 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5944 (mmap_init) [REL_ALLOC_MMAP]: New function.
5945 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5946 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5947 BUFFER_FREE.
5948
5949 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5950 (enlarge_buffer_text): Add prototype.
5951
5952 * ralloc.c: Remove everything having to do with the use of mmap.
5953
f8608968
GM
59542000-09-13 Gerd Moellmann <gerd@gnu.org>
5955
2a494b2d
GM
5956 * sound.c (Fplay_sound): Doc fix.
5957
8c907a56
GM
5958 * keyboard.c: Avoid some more compiler warnings.
5959 (parse_tool_bar_item): Ignore cached key bindings.
5960
f8608968
GM
5961 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5962 and allocation of Lisp data.
5963
6ab70e9a
GM
59642000-09-12 Gerd Moellmann <gerd@gnu.org>
5965
d12d0a9b
GM
5966 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5967 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5968 defaults first.
5969
6ab70e9a
GM
5970 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5971
63c36c3c
KH
59722000-09-12 Miyashita Hisashi <himi@meadowy.org>
5973
5974 * ccl.c: Comment fixed.
5975 (MAX_MAP_SET_LEVEL): Increased to 30.
5976 (PUSH_MAPPING_STACK): Enclose with do-while block.
5977 (POP_MAPPING_STACK): Likewise.
5978 (stack_idx_of_map_multiple): New variable.
5979 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5980 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5981 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5982 (ccl_driver) <CCL_MapSingle>: Likewise.
5983 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5984 with the case where looking up process reaches to the end of
5985 map-set, and call CCL programs as the above change.
5986
7ee3bd7b
GM
59872000-09-11 Gerd Moellmann <gerd@gnu.org>
5988
8ec8a5ec
GM
5989 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5990 that might be clobbered by longjmp.
5991 (check_x_display_info, x_decode_color, create_frame_xic)
5992 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5993 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5994
f74b0705
GM
5995 * lread.c (init_lread): Set Vloads_in_progress to nil.
5996 (Fload): Show list of recursively loaded files, when signaling an
5997 error.
5998
7ee3bd7b
GM
5999 * lread.c (Vloads_in_progress): New variable.
6000 (record_load_unwind): New function.
6001 (Fload): Check for recursive loads.
6002 (syms_of_lread): Initialize Vloads_in_progress.
6003 (read_integer, read1): Avoid some compiler warnings.
6004
6005 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6006 compiler warnings.
6007
974e1e5b
MB
60082000-09-11 Miles Bader <miles@gnu.org>
6009
6010 * editfns.c (Fbuffer_string): Doc fix.
6011
9824c4e3
GM
60122000-09-10 Gerd Moellmann <gerd@gnu.org>
6013
6014 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6015
6a72fdd1
KR
60162000-09-09 Ken Raeburn <raeburn@gnu.org>
6017
6018 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6019 whether to include other header files.
6020
28e6fb66
GM
60212000-09-09 Gerd Moellmann <gerd@gnu.org>
6022
52283633 6023 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6024 by Fmemq as a boolean.
28e6fb66 6025
7f8b6551
SM
60262000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6027
6028 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6029
a8710abf
GM
60302000-09-08 Gerd Moellmann <gerd@gnu.org>
6031
d1a02881
GM
6032 * ralloc.c (mmap_fd): Remove initializer which can make it
6033 read-only in a dumped Emacs.
6034 (mmap_fd_1): New variable.
6035 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6036 restore it from there.
6037 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6038 unconditionally so that mmap_fd can be initialized there.
6039 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6040 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6041 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6042
c454aac1
GM
6043 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6044
6045 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6046 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6047
fc653ef2
GM
6048 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6049
3015eec0
GM
6050 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6051 inheritance.
6052
bfe0ee88
GM
6053 * xdisp.c (try_window_id): When trying to locate cursor in
6054 unchanged rows at the top, handle the case that we can't find it.
6055
a8710abf
GM
6056 * xterm.c (x_draw_glyphs): Handle case START and END are out
6057 of bounds more carefully.
6058
6b7d4ae4
DL
60592000-09-08 Dave Love <fx@gnu.org>
6060
423193c5
DL
6061 * s/sol2.h (REL_ALLOC_MMAP): Define.
6062 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6063
6064 * ralloc.c: Don't include string.h (redundant).
6065 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6066 [!MAP_ANON]: Include fcntl.h.
6067 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6068 (r_alloc, r_re_alloc, r_alloc_free)
6069 (mmap_enlarge, mmap_set_vars): Use it.
6070 (r_alloc_init_fd): New function.
6071 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6072 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6073 malloc type.
6074
6075 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6076 Remove vm-limit.o.
6077
6b7d4ae4
DL
6078 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6079 change to __NetBSD__.
6080
44d31981
KH
60812000-09-08 Kenichi Handa <handa@etl.go.jp>
6082
6083 * search.c (compile_pattern): Check the multibyteness of cached
6084 string and PATTERN.
6085
aad40737
MB
60862000-09-08 Miles Bader <miles@gnu.org>
6087
6088 * xfaces.c (default_face_vector): Function removed.
6089 (Finternal_merge_in_global_face): Restore old global/local
6090 attribute override order. Use inline loop instead of calling
6091 default_face_vector.
6092
91a211b5
GM
60932000-09-07 Gerd Moellmann <gerd@gnu.org>
6094
6095 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6096 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6097 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6098 where necessary, in case POINTER_TYPE is `void'.
6099
03419440
EZ
61002000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6101
6102 * frame.c (make_terminal_frame): Initialize frame foreground and
6103 background colors to unspecified, for the initial instance of an
6104 MSDOS frame.
6105
f46f845b
GM
61062000-09-07 Gerd Moellmann <gerd@gnu.org>
6107
24f76fbf
GM
6108 * ralloc.c (mmap_find): Fix overlap computation.
6109 (mmap_enlarge): Compute nbytes before trying to find an
6110 overlapping region.
6111
f46f845b
GM
6112 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6113 instead of `!='.
6114
6115 * lread.c (syms_of_lread): Change value of regexp
6116 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6117
6118 * xmenu.c (xdialog_show): When looking up the selection in
6119 menu_items, take `quote' boundaries into account; this corresponds
6120 to a nil ITEM in x-popup-dialog.
6121
3c014385
KH
61222000-09-07 Kenichi Handa <handa@etl.go.jp>
6123
fd6f711b
KH
6124 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6125 not 0x81.
6126 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6127
3c014385 6128 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6129 encoding, not decoding. Fix the handling of latin-jisx0201.
6130 Check for the charset katakana-jisx0201 too.
3c014385 6131 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6132 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6133
0da3ecef
GM
61342000-09-07 Gerd Moellmann <gerd@gnu.org>
6135
ab0ee409
GM
6136 * xfaces.c (Vparam_value_alist): New variable.
6137 (syms_of_xfaces): Initialize it.
6138 (Finternal_set_lisp_face_attribute): Avoid more consing.
6139
6140 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6141 specially.
6142 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6143 (Qbackground_mode): New variable.
6144 (syms_of_frame_1): Initialize Qbackground_mode.
6145
6146 * lisp.h (Qdisplay): Declare extern.
1091dd67 6147
0da3ecef
GM
6148 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6149 change face on all frames, and change the default for new frames.
6150
b14654b9
DL
61512000-09-07 Dave Love <fx@gnu.org>
6152
6153 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6154
d24fd56f
KH
61552000-09-07 Kenichi Handa <handa@etl.go.jp>
6156
794f3670
KH
6157 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6158
0fddd0dc
KH
6159 * charset.c: Include composite.h
6160 (lisp_string_width): New function.
6161 (Fstring_width): Call lisp_string_width instead of strwidth.
6162
6163 * Makefile.in (charset.o): Depends on composite.h.
6164
d24fd56f
KH
6165 * process.c (read_process_output): Before inserting the decoded
6166 text in the buffer, adjust the multibyteness.
6167
fa0b693c
GM
61682000-09-06 Gerd Moellmann <gerd@gnu.org>
6169
52283633 6170 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6171 buffer's text buffer is null, map new memory.
6172
0a58f946
GM
6173 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6174 POINTER_TYPE and size_t.
6175 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6176 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6177 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6178 [REL_ALLOC_MMAP]: New macros.
6179 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6180 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6181 [REL_ALLOC_MMAP]: New functions.
6182
6183 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6184 before and after unexec.
6185
6186 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6187 text buffers if necessary.
6188
6189 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6190 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6191 in prototypes.
6192
fa0b693c
GM
6193 * config.in (HAVE_MMAP): Add #undef.
6194
877055f6
GM
61952000-09-05 Gerd Moellmann <gerd@gnu.org>
6196
08ba3862
GM
6197 * frame.c (Qdisplay_type): New variable.
6198 (syms_of_frame_1): Initialize it.
6199 (Fframe_parameter): New function that avoids consing.
6200 (syms_of_frame): Defsubr it.
6201
66ffe51c
GM
6202 * buffer.c (Fother_buffer): Consider buffers as invisible when
6203 they are displayed in a window on an invisible frame.
6204
877055f6
GM
6205 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6206 get-largest-window always return nil.
6207
bb970e67
GM
62082000-09-04 Gerd Moellmann <gerd@gnu.org>
6209
6210 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6211 variable; recognize Emacs 19 elc files.
6212
7a3d0e0e
MB
62132000-09-04 Miles Bader <miles@gnu.org>
6214
6215 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6216 before initially popping up the menu, so the menu doesn't flash
52283633 6217 when the face settings are significantly different from the defaults.
7a3d0e0e 6218
14473664
SM
62192000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6220
6221 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6222 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6223 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6224 (BIT_UNIBYTE): Remove.
6225 (re_match_2_internal): Delete corresponding code and streamline the
6226 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6227 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6228 (re_wctype_t): New type.
6229 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6230 (regex_compile): Use them and fix handling of overly long char classes.
6231
c1174479
AI
62322000-09-03 Andrew Innes <andrewi@gnu.org>
6233
f8803e97
AI
6234 * makefile.w32-in: Change to DOS line endings.
6235
c1174479
AI
6236 * s/ms-w32.h (ORDINARY_LINK): New define.
6237
6238 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6239 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6240
6241 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6242 (distclean): Delete them here instead.
6243
44ef7cf6
AI
6244 * w32proc.c (compare_env): Convert to uppercase for comparison,
6245 not lowercase, to match how the native Windows shell works.
6246
49b3bd82
JR
62472000-09-03 Jason Rumney <jasonr@gnu.org>
6248
6249 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6250 CVS changes the line-ends when checking in/out on DOS/Windows.
6251
6252 * makefile.nt (emacs): Do not change directory to run temacs, as
6253 the load-path is set relative to current directory.
6254
a3d35a39
MB
62552000-09-03 Miles Bader <miles@gnu.org>
6256
6257 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6258
d276b0cf
GM
62592000-09-02 Gerd Moellmann <gerd@gnu.org>
6260
715e84c9
GM
6261 * xdisp.c (redisplay_mode_lines): New function.
6262 (display_mode_lines): Return number of mode lines displayed.
6263 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6264 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6265
8892f40b
GM
6266 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6267 string.h and strings.h.
6268 (index) [HAVE_INDEX]: Add prototype.
6269
d276b0cf
GM
6270 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6271 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6272
6273 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6274 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6275
38404229
GM
62762000-09-01 Gerd Moellmann <gerd@gnu.org>
6277
6278 * lread.c (read1): Accept `?' as symbol constituent, for
6279 compatiblity with XEmacs.
6280
c0f9ea08
SM
62812000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6282
6283 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6284 (struct re_pattern_buffer): Remove newline_anchor.
6285 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6286 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6287 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6288 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6289 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6290 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6291 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6292 Get rid of references to newline_anchor.
6293 (regcomp): Allocate and precompute a fastmap.
6294
8c0f83fe
GM
62952000-08-31 Gerd Moellmann <gerd@gnu.org>
6296
6297 * lread.c (openp): GCPRO local variable `filename'.
6298
4bb91c68
SM
62992000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6300
6301 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6302
6303 * regex.c: Merge some changes from GNU libc. Add prototypes.
6304 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6305 Use memcmp and memcpy instead of bcopy and bcmp.
6306 (init_syntax_once): Use ISALNUM.
6307 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6308 (REG_UNSET_VALUE): Remove. Use NULL instead.
6309 (REG_UNSET, re_match_2_internal): Use NULL.
6310 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6311 New macros.
6312 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6313 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6314 (regex_compile): In handle_interval, return an error rather than try to
6315 unfetch the interval if we can't find the closing brace.
6316 Obey the RE_NO_GNU_OPS syntax bit.
6317 (TOLOWER): New macro.
6318 (regcomp): Use it.
6319 (regexec): Allocate regs.start and regs.end as one block.
6320
5226a931
GM
63212000-08-30 Gerd Moellmann <gerd@gnu.org>
6322
868dd24b
GM
6323 * xdisp.c (echo_area_display): Check display_completed instead
6324 of calling detect_input_pending.
6325
6326 * dispnew.c (update_frame): Only set display_completed here; move
6327 the update_begin and update_end calls here from update_frame_1.
6328 (update_frame_1): Don't set display_completed here, don't call
6329 update_begin/update_end.
6330
5226a931
GM
6331 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6332 instead of store_frame_param.
6333
2a8bd25f
GM
63342000-08-29 Gerd Moellmann <gerd@gnu.org>
6335
6336 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6337 desired window matrix hasn't been displayed, use the current row
6338 instead. Make sure that only those frame rows are updated for
6339 which there exists a corresponding enabled desired row.
52283633 6340
ba3478d9
MB
63412000-08-29 Miles Bader <miles@gnu.org>
6342
6343 * xfaces.c (default_face_vector): New function.
6344 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6345
87d0f685
GM
63462000-08-29 Gerd Moellmann <gerd@gnu.org>
6347
6348 * lread.c (openp): Prevent temporary string passed to
6349 Ffile_readable_p from being garbage collected.
6350
6fa86045
DL
63512000-08-28 Dave Love <fx@gnu.org>
6352
6353 * keymap.c (store_in_keymap): Add `static' to declaration.
6354
bb17930d
GM
63552000-08-28 Gerd Moellmann <gerd@gnu.org>
6356
6357 * emacs.c, callint.c, doc.c, editfns.c
6358 (toplevel) [HAVE_STRING_H]: Include string.h.
6359 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6360 (index): Remove prototypes which might conflict with non-standard
6361 definitions of index/strchr.
6362
6363 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6364 (rindex): Define only if !HAVE_RINDEX.
6365
6366 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6367
6368 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6369
87188200
MB
63702000-08-28 Miles Bader <miles@gnu.org>
6371
6372 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6373 made inconsistent by a font-related attribute in FROM.
6374 (merge_face_inheritance): Add function comment.
6375
41a68aef
KH
63762000-08-28 Kenichi Handa <handa@etl.go.jp>
6377
6378 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6379 the 4th arg (PREV_EVENT) Qt to suppress input method.
6380
f7c436c1
SM
63812000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6382
0b32bf0e
SM
6383 * regex.c: Indent cpp directives and remove parens after `defined'.
6384 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6385 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6386 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6387 (re_compile_pattern): Use size_t for length.
6388 (init_syntax_once): Move to a better place.
6389 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6390 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6391
f7c436c1
SM
6392 * syntax.c (back_comment): Detect cases where a comment-starter is
6393 actually inside another comment as in: /* a // b */ c // d \n.
6394 Make it clear that `comstart_pos' is unused for nested comments.
6395
6396 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6397 (KEYMAPP): New macro.
6398 (Fkeymap_parent, Fset_keymap_parent): Use it.
6399 (fix_submap_inheritance): Mark it static.
6400 (define_as_prefix, describe_buffer_bindings, describe_command)
6401 (describe_translation, describe_map): Complete prototypes.
6402
6403 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6404
6405 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6406 to better match the key-lookup behavior.
6407
6288c62f
GM
64082000-08-27 Gerd Moellmann <gerd@gnu.org>
6409
6410 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6411 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6412
e931344e
EZ
64132000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6414
6415 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6416 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6417 (xterm.o): Depend on coding.h
6418
d10dfeef
KH
64192000-08-26 Kenichi Handa <handa@etl.go.jp>
6420
6421 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6422 the corresponding '#endif'.
6423
2d73e8d3
MB
64242000-08-26 Miles Bader <miles@gnu.org>
6425
6426 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6427 * xfaces.c (QCinherit): New variable.
6428 (syms_of_xfaces): Initialize it.
6429 (LFACE_INHERIT): New macro.
6430 (Finternal_get_lisp_face_attribute)
52283633 6431 (merge_face_vector_with_property)
2d73e8d3
MB
6432 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6433 (check_lface_attrs): Allow new types of face height. Check
6434 inherit attribute.
6435 (CYCLE_CHECK): New macro.
6436 (merge_face_inheritance): New function.
6437 (merge_face_vectors): Merge inherited faces too. Add F and
6438 CYCLE_CHECK arguments.
6439 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6440 (lookup_named_face, lookup_derived_face, realize_named_face)
6441 (face_at_string_position, face_at_buffer_position): Supply
6442 new F and CYCLE_CHECK arguments to merge_face_vectors.
6443 (merge_face_heights): New function.
52283633 6444 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6445 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6446 handle relative face heights.
6447 (lface_same_font_attributes_p): Compare heights using EQ.
6448
6ce974d4
KH
64492000-08-26 Kenichi Handa <handa@etl.go.jp>
6450
6451 * charset.c (char_to_string): Check the character validity.
52283633 6452 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6453
dc1e502d
SM
64542000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6455
6456 * regex.c (PUSH_FAILURE_COUNT): New macro.
6457 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6458 Handle popping of a register's or a counter's data.
6459 (POP_FAILURE_POINT): Use the new name.
6460 (re_match_2_internal): Push counter data on the stack for succeed_n,
6461 jump_n and set_number_at and remove misleading dead code in succeed_n.
6462
bd9d0f3f
GM
64632000-08-25 Gerd Moellmann <gerd@gnu.org>
6464
6465 * xdisp.c (redisplay_internal): If considering all windows on all
6466 frames, update the display for each frame as soon as possible,
6467 instead of first building all desired matrices for all frames, and
6468 then updating them all.
6469 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6470
aa5b8e15
GM
64712000-08-24 Gerd Moellmann <gerd@gnu.org>
6472
17494071
GM
6473 * bytecode.c (mark_byte_stack): Add a comment.
6474
52283633
SM
6475 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6476 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6477 a graphical frame.
6478
c543db81
KH
64792000-08-24 Kenichi Handa <handa@etl.go.jp>
6480
d246d5f5
KH
6481 * minibuf.c (do_completion): Always use compare-string, not
6482 string-equal because the latter doesn't pay attention to
6483 multibyteness of strings.
6484
c543db81
KH
6485 * process.c (create_process): Don't setup raw-text coding here.
6486 (Fopen_network_stream): Don't set coding->src_multibyte and
6487 coding->dst_multibyte here.
6488 (read_process_output): For process filter, return unibyte string
6489 if default-enable-multibyte-characters is nil.
6490 (send_process): If OBJECT is multibyte text, be sure to encoded it
6491 by the specified coding system for the process. Otherwise, setup
6492 raw-text coding.
52283633 6493 (init_process): Don't initialize default-process-coding-system here.
c543db81 6494
9b47cfe0
EZ
64952000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6496
6497 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6498 <scroll-down-aggressively>: Likewise.
6499
f5a36960
KH
65002000-08-23 Kenichi Handa <handa@etl.go.jp>
6501
6502 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6503 zero. Set coding->produced_char correctly.
6504
69a7ffa7
AI
65052000-08-22 Andrew Innes <andrewi@gnu.org>
6506
6507 * makefile.w32-in: New file.
6508
6509 * unexw32.c (unexec): Ignore old_name, and use the actual location
6510 of the current executable instead. Base new_name on this.
6511
6512 * w32proc.c (create_child): Remove reference to security
6513 descriptor, which isn't needed and doesn't compile with mingw32.
6514
6515 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6516 up dllimport attributes.
6517 (x_update_window_end): Update prototype.
6518
6519 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6520 extern, which screws up dllimport attributes.
6521
6522 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6523 up dllimport attributes.
6524
6525 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6526 screws up dllimport attributes.
6527
6528 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6529 up dllimport attributes.
6530 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6531 screws up dllimport attributes.
6532
6533 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6534 up dllimport attributes.
6535
6536 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6537 screws up dllimport attributes.
6538
6539 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6540 screws up dllimport attributes.
6541
6542 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6543 up dllimport attributes.
6544
6545 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6546 unnecessary extern, which screws up dllimport attributes.
6547 (main): Ditto.
6548
6549 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6550 up dllimport attributes.
6551
6552 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6553 unnecessary extern, which screws up dllimport attributes.
6554
6555 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6556 screws up dllimport attributes.
6557
6558 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6559 up dllimport attributes.
6560
6561 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6562
52283633
SM
6563 * w32bdf.c (search_file_line):
6564 (set_bdf_font_info):
6565 (seek_char):
6566 (w32_get_bdf_glyph):
69a7ffa7
AI
6567 (w32_BDF_to_x_font): Fix compile warnings.
6568
52283633 6569 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6570
6571 * w32select.c: Include keyboard.h before frame.h.
6572
6573 * w32fns.c (max): Define macro.
6574 (JOHAB_CHARSET): Define if not known.
6575 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6576 (Fx_show_tip): Synch with X version.
6577
6578 * w32xfns.c: Include keyboard.h before frame.h.
6579
6580 * w32fns.c: Include keyboard.h before frame.h.
6581
6582 * w32term.c: Include keyboard.h before frame.h.
6583
6584 * fontset.c: Include keyboard.h before frame.h.
6585
6586 * w32inevt.c: Include keyboard.h before frame.h.
6587 (MOUSE_MOVED): Define if not known.
6588
6589 * minibuf.c: Include keyboard.h before frame.h.
6590
6591 * keyboard.c: Include keyboard.h before frame.h.
6592
6593 * indent.c: Include keyboard.h before frame.h.
6594
6595 * dispnew.c: Include keyboard.h before frame.h.
6596
6597 * buffer.c: Include keyboard.h before frame.h.
6598
6599 * alloc.c: Include keyboard.h before frame.h.
6600
6601 * print.c: Include keyboard.h before frame.h.
6602
6603 * process.c: Include keyboard.h before frame.h.
6604
6605 * scroll.c: Include keyboard.h before frame.h.
6606
6607 * sysdep.c: Include keyboard.h before frame.h.
6608
6609 * term.c: Include keyboard.h before frame.h.
6610
6611 * window.c: Include keyboard.h before frame.h.
6612
6613 * xdisp.c: Include keyboard.h before frame.h.
6614 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6615
6616 * frame.c: Include keyboard.h before frame.h.
6617
6618 * w32heap.h: Undefine min, max.
6619
6620 * w32gui.h: Undefine min, max.
6621
6622 * unexw32.c: Change PUCHAR to PCHAR.
6623 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6624 (relocate_offset):
6625 (get_section_info):
69a7ffa7
AI
6626 (copy_executable_and_dump_data): Remove unnecessary static defs.
6627 (copy_executable_and_dump_data): Fix compile warnings.
6628
6629 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6630
6631 * w32console.c (min): Define macro.
6632 (clear_frame, write_glyphs): Fix compile warning.
6633
52283633 6634 * w32proc.c (compare_env):
69a7ffa7
AI
6635 (find_child_console): Fix compile warning.
6636
6637 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6638 sys_errlist instead of _sys_errlist.
6639 (get_emacs_configuration_options): New function.
6640
6641 * s/ms-w32.h (sys_nerr): Provide default definition.
6642 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6643 name with _ prepended.
6644 (NSIG): Define if not known.
6645 (get_emacs_configuration): Provide extern declaration.
6646 (get_emacs_configuration_options): Provide extern declaration.
6647 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6648
6649 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6650 (map_w32_filename):
69a7ffa7
AI
6651 (read_unc_volume): Fix compile warning.
6652
6653 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6654 definitions from being used.
6655
6656 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6657
52283633 6658 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6659 (open_unc_volume): Make arg const.
6660
6661 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6662 (read_input_waiting): Remove excess parameter.
6663
6664 * w32.c (init_environment): Call _access.
6665 (check_windows_init_file): Call _close.
6666 (init_user_info): Call _putenv.
6667 (init_environment): Call _putenv and _strdup.
6668 (init_ntproc): Reset volume info cache on startup.
6669
6670 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6671 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6672 cannot override the CRT malloc.
6673
6674 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6675 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6676
6677 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6678 unless we are linking with a static CRT.
6679 (RVA_TO_PTR): Cast result to unsigned char*.
6680
6681 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6682 (add_volume_info): Use xstrdup.
6683
25060080
SM
66842000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6685
6686 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6687 (do_completion, Fminibuffer_complete_word): Use it.
6688 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6689 var so it can take non-boolean values.
6690
6917e6bb
GM
66912000-08-21 Gerd Moellmann <gerd@gnu.org>
6692
acb7cc89 6693 * editfns.c (find_field): Formatting changes.
52283633 6694 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6695 changed to prototypes, some new protypes added, some functions
6696 made static.
6697
6698 * lisp.h (set_time_zone_rule): Add prototype.
6699 (use_dialog_box): External declaration.
6700
0bbfdc25
GM
6701 * keyboard.c (gen_help_event): Add parameter SIZE.
6702 (kbd_buffer_events_waiting): Slightly rewritten.
6703 (clear_event): New function.
6704 (kbd_buffer_get_event): Use it, and clear the input_events of
6705 HELP_EVENTs.
6706 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6707 don't fill the newly created array with nils.
6708 (toplevel): Convert some old-style function forward declarations
6709 to prototypes.
6710
6711 * keyboard.h (gen_help_event): Change prototype.
6712
6713 * xterm.c (XTread_socket): Change calls to gen_help_event.
6714
6715 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6716
6917e6bb
GM
6717 * eval.c (Fmacroexpand): Doc fix.
6718
e5cd3d11
JR
67192000-08-20 Jason Rumney <jasonr@gnu.org>
6720
6721 * w32term.h (x_display_info_for_display): Remove as this function
6722 does not exist on W32.
6723
6724 * w32term.c (help_echo_window): New variable.
6725 (syms_of_w32term): staticpro it.
6726 (note_mode_line_highlight): Set it.
6727 (XTextExtents16): Removed as there is no equivalent on W32.
6728 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6729 the X way of doing this will not work for W32.
6730 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6731 (x_draw_image_foreground): Avoid drawing outside of the clip area
6732 when image doesn't have a mask.
6733 (note_mouse_highlight): Process overlays in the right order of
6734 priority. Set help_echo_window.
6735 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6736 because that's more visible for large images.
6737
6738 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6739 name to single_keymap_panes.
6740 (w32_menu_show): Set wv->title when dealing with titles.
6741 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6742
6e69ab8c
MB
67432000-08-21 Miles Bader <miles@gnu.org>
6744
6745 * minibuf.c (do_completion): Try again if we rewrite the input
6746 string, but no completion was done, so that any completion message
6747 will be correct.
6748
511bd4eb
GM
67492000-08-20 Gerd Moellmann <gerd@gnu.org>
6750
6751 * xfaces.c (lface_equal_p): Compare strings differently.
6752 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6753 (realize_tty_face): Use them.
6754 (syms_of_xfaces): Initialize new variables.
6755 (map_tty_color): New function, extracted from realize_tty_face.
6756 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6757 foreground or background color, store the new color name in the
6758 realized face; previous code trying to do this had no effect.
6759 (realize_tty_face): Use map_tty_color.
6760 (Fclear_face_cache): Set face_change_count and ensure thorough
6761 redisplay.
6762
1433385f
GM
67632000-08-19 Gerd Moellmann <gerd@gnu.org>
6764
511bd4eb
GM
6765 * undo.c (record_first_change, record_marker_adjustment): Don't
6766 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6767
419ac0a2
KH
67682000-08-18 Kenichi Handa <handa@etl.go.jp>
6769
6770 * coding.c (decode_coding_string): Set members consumed,
6771 consumed_char, produced, produced_char of *coding correctly. If
6772 decode_coding doesn't consume any byte, don't try anymore.
6773 (encode_coding_string): Likewise.
6774
7eb9e30d
GM
67752000-08-18 Gerd Moellmann <gerd@gnu.org>
6776
511bd4eb
GM
6777 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6778 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6779
6780 * xdisp.c (redisplay_internal): Compare windows for equality with
6781 EQ, instead of applying XWINDOW to something that might not
6782 be a window.
52283633 6783
dd34a735
KH
67842000-08-18 Kenichi Handa <handa@etl.go.jp>
6785
6786 * fontset.c (Finternal_char_font): Search only the selected frame
6787 for a window of the current buffer.
6788
385ff9e3
GM
67892000-08-18 Gerd Moellmann <gerd@gnu.org>
6790
511bd4eb 6791 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6792 Lisp_Objects.
6793
385ff9e3
GM
6794 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6795 second half of a HELP_EVENT is found at the start of kbd_buffer.
6796
d6abb4c7
MB
67972000-08-18 Miles Bader <miles@gnu.org>
6798
4618074a
MB
6799 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6800
d6abb4c7
MB
6801 * editfns.c (save_restriction_save): Rewrite to use markers.
6802 (save_restriction_restore): Rewrite to understand new form of data
6803 saved by save_restriction_save.
6804 (Fsave_restriction): Remove cautionary note in doc-string.
6805
a7b28523
GM
68062000-08-17 Gerd Moellmann <gerd@gnu.org>
6807
6808 * fileio.c (build_annotations): Add a comment explaining the
6809 return value of format-annotate-function. Replace a spurious call
6810 to Flength with a CONSP test. Call format-annotate-function with
6811 a fifth arg specifying how many times the function is been called
6812 in a row, to let it choose temporary buffers appropriately.
6813
03c9ed77
DL
68142000-08-17 Dave Love <fx@gnu.org>
6815
6816 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6817 declare make_temp_name twice.
6818
52283633 6819 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6820 (unreadpure): Give it an arg.
6821
6822 * unexalpha.c: Prototype fatal_unexec, mark_x,
6823 update_dynamic_symbols. Declare unexec as void.
6824
6825 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6826 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6827
6828 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6829 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6830
6831 * alloca.c: Use #error.
6832 [POINTER_TYPE]: Use it.
6833
6834 * eval.c (Fdefvar): Doc fix.
6835
6836 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6837 INITIALIZE_INTERVAL.
6838
6839 * buffer.h: Avoid DECLARE_INTERVALS.
6840
6841 * config.in: Add size_t.
6842
aae41d97
EZ
68432000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6844
6845 * w16select.c (set_clipboard_data): If there's not enough memory
6846 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6847 expects. In case of other failures, return 3.
6848 (system_error_msg): New error message.
6849 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6850 system_error_msg.
6851
65aa5e85
GM
68522000-08-16 Gerd Moellmann <gerd@gnu.org>
6853
6854 * term.c (write_glyphs): Also turn off inverse video after turning
6855 off other appearances in case TS_exit_attribute_mode is not equal
6856 to TS_end_standout_mode.
6857 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6858 with the same face.
6859 (turn_off_face): Reset standout_mode only if
6860 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6861 is equal to TS_end_standout_mode.
6862
ece23901
KH
68632000-08-16 Kenichi Handa <handa@etl.go.jp>
6864
9d7bcb2e
KH
6865 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6866 sequence at the end of the source block.
6867
ece23901
KH
6868 * ccl.c (Fccl_program_p): Docstring modified.
6869 (Fccl_execute): Likewise.
6870 (Fccl_execute_on_string): Likewise.
6871
5e30eaa2
EZ
68722000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6873
6874 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6875
290602fd
KH
68762000-08-16 Kenichi Handa <handa@etl.go.jp>
6877
6878 The following changes are mainly to fix bugs of
6879 encode/decode-coding-string failing if encoding/decoding return
6880 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6881 variable conversion_buffer.
6882
6883 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6884 decrement dst_end to avoid buffer overflow in the later call of
6885 string_as_multibyte
6886
6887 * coding.h (conversion_buffer_size, conversion_buffer)
6888 (get_conversion_buffer): Extern deleted.
6889
6890 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6891 (conversion_buffer, conversion_buffer_size): Variables deleted.
6892 (get_conversion_buffer): Function deleted.
6893 (struct conversion_buffer): New structure.
6894 (MAX_ALLOCA): New macro.
6895 (allocate_conversion_buffer): New macro.
6896 (extend_conversion_buffer, free_conversion_buffer): New functions.
6897 (ccl_coding_driver): Set coding->result.
6898 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6899 this is the last block of source.
6900 (encode_coding): Likewise. Handle the source block as the last
6901 one only when the whole source text is consumed.
6902 (decode_coding_string): Handle the case that the output buffer is
6903 too small to decode the whole source text. Use
6904 allocate_conversion_buffer, extend_conversion_buffer and
6905 free_conversion_buffer, not get_conversion_buffer.
6906 (encode_coding_string): Likewise.
6907 (init_coding): Function deleted.
52283633 6908 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6909
6910 * emacs.c (main): Don't call init_coding.
6911
52283633 6912 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6913
6914 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6915 (insert_glyphs): Likewise.
6916
6917 * w32console.c (write_glyphs): Use a locally declared
6918 conversion_buffer.
6919
b9f80d41
EZ
69202000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6921
6922 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6923 member of display_info is NULL.
6924
32dc52f7
GM
69252000-08-15 Gerd Moellmann <gerd@gnu.org>
6926
52283633 6927 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6928
32dc52f7 6929 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6930 appearances with capability `me'.
32dc52f7
GM
6931 (write_glyphs): Switch on inverse video before each face change.
6932
4eb22d33
DL
69332000-08-14 Dave Love <fx@gnu.org>
6934
6935 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6936 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6937 (lisp_free): Declare and make static.
6938
6939 * window.c: Fix embedded comment.
6940 (syms_of_window): Fix doc string.
6941
90cbf47e
GM
69422000-08-14 Gerd Moellmann <gerd@gnu.org>
6943
52283633 6944 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6945 make sure to print `C-' before `M-', like in the manual.
6946
440fc135
GM
69472000-08-11 Gerd Moellmann <gerd@gnu.org>
6948
6949 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6950 since they aren't relocated anymore.
52283633 6951 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6952
6953 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6954 partially visible line which is smaller than the window's height.
440fc135 6955
6e264fad
KH
69562000-08-11 Kenichi Handa <handa@etl.go.jp>
6957
6958 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6959 the multibyte form of eight-bit-control characters.
6e264fad
KH
6960 (Fccl_execute_on_string): Initialize ccl->multibyte.
6961
6962 * ccl.h (struct ccl_program): New member multibyte.
6963
6964 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6965
c371f69a
KH
69662000-08-11 Kenichi Handa <handa@etl.go.jp>
6967
6968 * regex.c (regex_compile) <normal_char>: Pay attention to
6969 multibyteness.
6970 (analyse_first) <exactn>: Setup fastmap correctly for
6971 eight-bit-control characters.
6972
69732000-08-11 Kenichi Handa <handa@etl.go.jp>
6974
52283633 6975 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6976
6977 * keyboard.c (make_lispy_event): Handle the new event type
6978 multibyte_char_keystroke.
6979
6980 * xterm.c: Include coding.h.
6981 (XTread_socket): Work around a bug of XmbLookupString. If the
6982 input is from XIM, decode it according to the current locale. In
6983 that case, generate multibyte_char_keystroke events.
6984
b8ddbe71
KH
69852000-08-11 Kenichi Handa <handa@etl.go.jp>
6986
6987 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6988 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6989
47589c8c
GM
69902000-08-10 Gerd Moellmann <gerd@gnu.org>
6991
6992 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6993 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6994 (move_it_in_display_line_to): Record iterator's ascent and descent
6995 before producing glyphs, and restore them when we know the glyph
6996 doesn't fit on the line.
6997 (move_it_to): Restructured so that it's easier to debug. If
6998 moving to a vpos, and not moving to an x or character position,
6999 stop as soon as the specified vpos is reached; don't move further
7000 into that line because that might change the computed line height.
7001 (try_cursor_movement): New function, extracted from the cursor
7002 movement branch of redisplay_window. If ending on a partially
7003 visible line, don't try to scroll if the cursor line is taller
7004 than the window.
7005 (redisplay_window): Use try_cursor_movement.
7006
7007 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7008 because that function doesn't cope with variable-height lines.
7009
7010 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7011 box cursor because that's better visible for large images.
52283633 7012
c51bacd6
MB
70132000-08-10 Miles Bader <miles@gnu.org>
7014
7015 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7016
bea56df7
GM
70172000-08-10 Gerd Moellmann <gerd@gnu.org>
7018
7019 * xdisp.c (Vmessages_buffer_name): New variable.
7020 (message_dolog): Use it.
7021 (syms_of_xdisp): Initialize it.
7022
99cd7364
EZ
70232000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7024
52283633 7025 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7026 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7027 redundant now that keyboard.h is included.
7028
7d093d56
EZ
70292000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7030
7031 * keyboard.c (kbd_buffer_events_waiting): New function.
7032
7033 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7034
7035 * msdos.c: Include keyboard.h.
7036 (XMenuActivate): Empty no_event events from the event buffer. If
7037 no events are left after that, call clear_input_pending.
7038 (mouse_clear_clicks): New function, code moved from mouse_init.
7039 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7040 mouse driver to ``forget'' any past clicks.
7041
7042 * Makefile.in (msdos.o): Depend on keyboard.h.
7043
41e757a6
GM
70442000-08-09 Gerd Moellmann <gerd@gnu.org>
7045
8e7bd231
GM
7046 * lisp.h (input_pending): External declaration.
7047
7048 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7049
8e7bd231
GM
7050 * xdisp.c (echo_area_display): Display thoroughly if input is
7051 pending. Bind redisplay-dont-pause to t during the redisplay.
7052 in case input is pending.
7053
7054 * dispnew.c (Qredisplay_dont_pause): New variable.
7055 (syms_of_display): Initialize and staticpro it.
7056 (update_frame_1): Don't interrupt the display for pending input if
7057 redisplay_dont_pause is set.
52283633 7058
43028b7e
GM
7059 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7060
41e757a6
GM
7061 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7062
2f2174fa
KH
70632000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7064
7065 * callproc.c (Fcall_process): Terminate the unwind-protect around
7066 the post-read-conversion of coding system.
7067
0a6fd67e
MB
7068 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7069 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7070 * buffer.h (overlays_at): Update prototype.
7071 * xdisp.c (next_overlay_change): Update call to overlays_at.
7072 * xfaces.c (face_at_buffer_position): Likewise.
7073 * textprop.c (Fget_char_property): Likewise.
7074 * xterm.c (note_mouse_highlight): Likewise.
7075
0c80756e
MB
7076 * minibuf.c (do_completion): Don't consider a simple change of
7077 case as `completion'.
7078
975f250a
KR
70792000-08-08 Ken Raeburn <raeburn@gnu.org>
7080
52283633 7081 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7082 * undo.c (record_delete): Make sure last_point_position_buffer is
7083 a buffer before comparing pointers.
7084
7085 * coding.h (decode_coding_string): Declare.
7086
7087 * intervals.h (Fprevious_single_char_property_change): Declare.
7088
7089 * textprop.c (Fprevious_single_char_property_change): Don't do
7090 arithmetic directly on lisp objects.
7091
52283633 7092 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7093
7094 * keyboard.h (menu_item_eval_property): Declare.
7095
7096 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7097 reuse as buffer name, instead of recreating (and discarding) every
7098 time a message is logged.
7099 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7100 (current_message_1, truncate_message_1, set_message_1)
7101 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7102 (current_message, truncate_echo_area, display_echo_area)
7103 (resize_echo_area_axactly): Changed calls.
b347b3fd 7104
975f250a 7105 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7106 Lisp object.
975f250a 7107 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7108 must be an integer, not a Lisp object.
975f250a 7109
46dc9912
KH
71102000-08-08 Kenichi Handa <handa@etl.go.jp>
7111
7112 * charset.c (Fchar_width): Doc fix.
7113
9f6d1a6c
GM
71142000-08-08 Gerd Moellmann <gerd@gnu.org>
7115
7116 * charset.c (Fstring_width): Doc fix.
7117
ff3d9573
GM
71182000-08-07 Gerd Moellmann <gerd@gnu.org>
7119
41e757a6 7120 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7121 line, clear ascent and descent members of the iterator structure;
7122 the height of the continued line does not affect the height of the
7123 continuation line.
7124 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7125 line taller than the window.
7126 (redisplay_window) <forced window start>: Handle case that the
7127 middle of the window is not found in any row.
7128 (dump_glyph_row): Show more information.
7129 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7130 first text line in a glyph matrix.
7131
7132 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7133 of the clip area when image doesn't have a mask.
7134
70fc58b3
GM
7135 * fns.c (sweep_weak_table): Fix survival conditions for
7136 key-or-value and key-and-value weakness.
7137
7138 * .gdbinit (xhashtable): New command.
7139
ac0e96ee
GM
7140 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7141 tables out of the list of all weak hash tables.
7142
ff3d9573
GM
7143 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7144 a new buffer is created, make sure echo_area_buffer[] references
7145 the new buffer.
7146
e0d8827b
EZ
71472000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7148
7149 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7150 the doc string.
7151
c6f35378
KH
71522000-08-07 Kenichi Handa <handa@etl.go.jp>
7153
7154 * syntax.c (skip_chars): Fix previous change. Make the handling
7155 of unibyte string consistent with that of regex search.
7156
1fd4c450
GM
71572000-08-05 Gerd Moellmann <gerd@gnu.org>
7158
e49aa397
GM
7159 * xmenu.c (popup_get_selection): Use xfree instead of free.
7160
7161 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7162
7163 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7164
7165 * callproc.c (child_setup): Use xfree instead of free.
7166
7167 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7168 instead of malloc.
7169 (run_mac_command, closedir): Use `xfree' instead of `free'.
7170
7171 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7172
7173 * eval.c (error): Use xfree instead of free.
7174
1fd4c450
GM
7175 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7176
7177 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7178 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7179
82d497fc
KH
71802000-08-05 Kenichi Handa <handa@etl.go.jp>
7181
7182 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7183 conversion.
7184
59f953a2
NF
71852000-08-04 Noah Friedman <friedman@splode.com>
7186
7187 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7188 docstring.
7189
688351f2
GM
71902000-08-04 Gerd Moellmann <gerd@gnu.org>
7191
7192 * syntax.c (skip_chars): Fix typo in error message.
7193
2dad51cc
AS
71942000-08-04 Andreas Schwab <schwab@suse.de>
7195
7196 * m/ia64.h: Moved from s/ia64.h.
7197
99bb2c60
KH
71982000-08-04 Kenichi Handa <handa@etl.go.jp>
7199
082a1df2
KH
7200 * process.c (read_process_output): Big simplification. Handle
7201 composition and post-read-conversion of coding system correctly.
7202 (send_process): Handle composition correctly.
7203
7204 * callproc.c (Fcall_process): Handle post-read-conversion of
7205 coding system if any.
7206
99bb2c60
KH
7207 * coding.c (decode_coding_iso2022): More strict check for handling
7208 single shifting.
082a1df2
KH
7209 (coding_restore_composition): Pay attention to the case that
7210 cmp_data is not set properly (because of invalid code in the
7211 source text).
7212 (run_pre_post_conversion_on_str): Include text properties in the
7213 resulting string.
7214 (decode_coding_string): Set members of coding correctly.
99bb2c60 7215
f4988be7
GM
72162000-08-03 Gerd Moellmann <gerd@gnu.org>
7217
7218 * s/ia64.h: New file.
7219
7220 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7221 Use NULL instead of 0 at the end of variable argument list of
7222 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7223 sizeof (int) < sizeof (void *).
7224
7225 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7226 of variable argument lists of XtVaGetValues and XtVaSetValues.
7227
7228 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7229 variable argument lists of XtVaGetValues and XtVaSetValues.
7230
ead53494
GM
72312000-08-02 Gerd Moellmann <gerd@gnu.org>
7232
7233 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7234 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7235
7236 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7237 prototype.
7238
7239 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7240 in call to Fsingle_key_description.
7241
7242 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7243 Callers changed.
7244
72452000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7246
7247 * window.c (display_buffer_reuse_frames): New variable.
7248 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7249 frames displaying BUFFER.
52283633 7250 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7251
10b0f752
MB
72522000-08-01 Miles Bader <miles@gnu.org>
7253
7254 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7255 when to constrain NEW_POS (they were pretty screwed up before).
7256
16425c4a
EZ
72572000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7258
7259 * msdos.c (run_msdos_command): Save and restore the master
7260 environment, for the case that child_setup signals an error.
7261 When mirroring slashes in DOS shell commands, don't fail when
7262 argv[2] has embedded blanks.
da288c14
EZ
7263 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7264 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7265 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7266
7267 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7268 using alloca; free it after run_msdos_command returns.
7269
27f73852
DL
72702000-07-27 Dave Love <fx@gnu.org>
7271
52283633
SM
7272 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7273 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7274
7275 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7276
c0261b5e
EZ
72772000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7278
7279 * editfns.c (lisp_time_argument): Fix last change.
7280
b548072f
GM
72812000-07-27 Gerd Moellmann <gerd@gnu.org>
7282
3ab82477
GM
7283 * fns.c (Fdelete): Make it work on vectors and strings in addition
7284 to lists.
7285
b548072f
GM
7286 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7287 (syms_of_fns): Initialize new variables.
52283633 7288 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7289 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7290 weakness, with t meaning the same as `key-and-value'.
7291
91ae8751
KH
72922000-07-27 Kenichi Handa <handa@etl.go.jp>
7293
7294 * coding.h (struct coding_system): Member safe_charset deleted.
7295
7296 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7297 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7298 New variables.
91ae8751
KH
7299 (coding_safe_chars): New function.
7300 (CODING_SAFE_CHAR_P): New macro.
7301 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7302 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7303 (detect_coding_iso2022): New local variable safe_chars.
7304 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7305 safe_charsets member of the coding system.
7306 (decode_coding_iso2022): New local variable safe_chars.
7307 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7308 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7309 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7310 (ENCODE_UNSAFE_CHARACTER): New macro.
7311 (encode_coding_iso2022): New local variable safe_chars. Check
7312 unsafe chars.
7313 (setup_coding_system): Delete the code to initialize
7314 coding->safe_charses
7315 (intersection, find_safe_codings): New functions.
7316 (Ffind_coding_systems_region_internal): New function.
7317 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7318 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7319 variable and initialize it.
7320
7321 * fns.c (char_table_ref_and_index): New function.
7322
7323 * lisp.h (char_table_ref_and_index): Add prototype.
7324
34a7a267
SS
73252000-07-26 Sam Steingold <sds@gnu.org>
7326
7327 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7328 (Ffloat_time): New built-in Lisp function.
34a7a267 7329
a95cb10a
GM
73302000-07-26 Gerd Moellmann <gerd@gnu.org>
7331
3353ef5a
GM
7332 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7333 for the character code.
7334
7335 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7336 GNU/Linux.
7337
a95cb10a
GM
7338 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7339 if called for a popup menu.
7340 (xmenu_show): Store help string in widget values.
7341
b4a12321
DL
73422000-07-26 Dave Love <fx@gnu.org>
7343
7344 * syswait.h: Move some definitions.
7345 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7346 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7347 perspicuous definitions.
7348 (WTERMSIG): Fix bit pattern used.
7349
13f5ad37
KH
73502000-07-26 Kenichi Handa <handa@etl.go.jp>
7351
7352 * print.c (print_object): If vector printing is truncated, print
7353 "..." to indicate it as well as the case of list printing.
7354
070fe99c
GM
73552000-07-25 Gerd Moellmann <gerd@gnu.org>
7356
969065c3
GM
7357 * xdisp.c (next_element_from_display_vector): Improve comments.
7358
7359 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7360 for the character code, and the rest for the face id as in 20.x.
7361 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7362
7363 * window.c (window_display_table): Cleaned up.
7364
070fe99c
GM
7365 * syntax.c (Fforward_word): Add last arg nil in call of
7366 Fconstrain_to_field.
7367
bad77ef7
EZ
73682000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7369
969065c3 7370 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7371 identical but for the letter-case, don't call
7372 barf_or_query_if_file_exists.
bad77ef7 7373
c28da489
MB
73742000-07-25 Miles Bader <miles@gnu.org>
7375
7376 * editfns.c (find_field): Honor special `boundary' fields.
7377 (Qboundary): New variables.
7378 (syms_of_editfns): Initialize Qboundary.
7379 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7380 Use scan_buffer instead of find_before_next_newline, because it
7381 allows us to detect the boundary case where there's a newline at
7382 the search limit.
7383 * lisp.h (Fconstrain_to_field): Update external declaration.
7384
e3c31fd5
GM
73852000-07-24 Gerd Moellmann <gerd@gnu.org>
7386
7387 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7388 if that is nil.
c28da489 7389
c66c29a2
DL
73902000-07-24 Dave Love <fx@gnu.org>
7391
7392 * s/sunos4-0.h, s/sol2.h:
7393 (LIBS_TERMCAP): Move from m/sparc.h.
7394
7395 * m/sparc.h (TERMINFO): Moved to system files (probably only
7396 relevant for sunos4 judging by its vintage).
7397 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7398 __arch64__.
7399
fbe0a958
EZ
74002000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7401
7402 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7403 name to single_keymap_panes.
7404
7d88e5c9
AS
74052000-07-24 Andreas Schwab <schwab@suse.de>
7406
7407 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7408
e024b101
GM
74092000-07-24 Gerd Moellmann <gerd@gnu.org>
7410
7411 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7412 parameters instead of using int parameters. Expect FN to accept
7413 EMACS_INT parameters.
7414 (display_echo_area, resize_echo_area_axactly, current_message)
7415 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7416 with new argument list.
7417 (resize_mini_window_1): New callback function.
7418 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7419 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7420
25c1a9ce
KH
74212000-07-24 Kenichi Handa <handa@etl.go.jp>
7422
7423 * fontset.c (fontset_ref): Remove INLINE declaration.
7424 (fontset_ref_via_base): Likewise.
7425 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7426 to downcase.
7427
7f987ac0
EZ
74282000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7429
7430 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7431 correct order of priority. If help echo was found in an overlay,
7432 use that overlay as the object in which the help echo was found.
7433
e2db3069
MB
74342000-07-22 Miles Bader <miles@gnu.org>
7435
7436 * textprop.c (Fprevious_single_char_property_change): The initial
7437 property value should be from the position preceding POSITION, not
7438 following it.
7439
5e3203e4
EZ
74402000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7441
7442 * coding.c (syms_of_coding): Doc fix for
7443 inhibit-iso-escape-detection.
7444
62145073
GM
74452000-07-21 Gerd Moellmann <gerd@gnu.org>
7446
c20aeb83
GM
7447 * xterm.c (note_mouse_highlight): Process overlays in the right
7448 order of priority.
34a7a267 7449
743934db
GM
7450 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7451
7452 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7453 overlay, use that overlay as the object in which the help was found.
743934db 7454
d1dc7e43 7455 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7456
62145073
GM
7457 * window.c (foreach_window): Instead of a fake variable argument
7458 list, take one USER_DATA argument.
7459 (foreach_window_1): Likewise, and call callback functions with two
7460 args, the window and USER_DATA.
7461 (struct check_window_data): New struct.
7462 (check_window_containing): Use it.
7463 (window_from_coordinates): Set up a struct check_window_data for
7464 foreach_window.
7465 (add_window_to_list, freeze_window_start): Change parameters
7466 according to new calling convention.
7467
7468 * window.h (foreach_window): Change prototype.
7469
7470 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7471
74722000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7473
7474 * xmenu.c (menu_help_callback): Call show_help_echo with
7475 additional arguments OBJECT and POS.
7476
11270583
KH
74772000-07-21 Kenichi Handa <handa@etl.go.jp>
7478
07b14857
KH
7479 * data.c (Faset): Allow storing any multibyte character in a
7480 string. Convert unibyte string to multibyte if necessary.
7481
11270583
KH
7482 * xfns.c (x_encode_text): New function.
7483 (x_set_name): Use x_encode_text.
7484 (x_set_title): Likewise.
7485
7486 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7487
7488 * xterm.h (x_encode_text): Add prototype.
7489
bc75b4fd
DL
74902000-07-20 Dave Love <fx@gnu.org>
7491
7492 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7493 xfree, not free.
7494
48c14970
EZ
74952000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7496
7497 * msdos.c (help_echo_window): New variable.
7498 (syms_of_msdos): Initialize and staticpro it.
7499 (IT_note_mode_line_highlight): Set help_echo_window.
7500 (IT_note_mouse_highlight): Ditto.
7501 (dos_rawgetc): Store help_echo_window in the second event produced
7502 for HELP_EVENTs.
7503
7504 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7505 Record the object that generated the help echo and the position of
7506 that object in help_echo_object and help_echo_pos. Record that
7507 some glyphs in a row are displayed in mouse-face.
7508 (IT_update_begin): Don't clear mouse highlight unless one of the
7509 enabled glyph rows is marked as being displayed in mouse-face.
7510 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7511 and position recorded in help_echo_object and help_echo_pos to the
7512 event queue.
7513 (IT_menu_display): Accept a new argument PN: the pane number of
7514 the current menu pane. Record the pane number and the item
7515 number of the item which has associated help string.
7516 (XMenuActivate): Update the prototype for help_callback in
7517 function declaration. Call IT_menu_display with the current menu
7518 pane number as an additional argument. Call help_callback with
7519 two additional arguments: the pane number and the item number of
7520 the menu item associated with the help text.
7521 (help_echo_object, help_echo_pos): New variables.
7522 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7523
7524 * msdos.h (XMenuActivate): Update prototype.
7525
4279296d
GM
75262000-07-19 Gerd Moellmann <gerd@gnu.org>
7527
47db06aa
GM
7528 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7529 Add some more prototypes.
7530
7531 * xterm.c, xterm.h: Add some more prototypes.
7532
7533 * lisp.h (Fnext_single_char_property_change): Add prototype.
7534
7535 * dispnew.c (direct_output_for_insert): Remove confusing
7536 outer local variable mouse_face_overwritten_p.
7537 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7538
4279296d
GM
7539 * alloc.c (allocate_string_data): Don't copy old string contents.
7540
670acd62
KH
75412000-07-19 Kenichi Handa <handa@etl.go.jp>
7542
7543 * coding.c (code_convert_region): Delete text properties before
7544 shrinking the conversion region.
7545
7cea38bc
GM
75462000-07-18 Gerd Moellmann <gerd@gnu.org>
7547
dc1cac59
GM
7548 * dispnew.c (update_text_area): Write the whole row if it
7549 has mouse-face in it.
7550
85a8aca9
GM
7551 * xfaces.c (face-alternative-font-family-alist): Remove
7552 DEFVAR_LISP; staticpro instead.
7553
34a7a267 7554 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7555 new arguments.
7556
7557 * keyboard.c (show_help_echo): Add parameter WINDOW.
7558 (read_char): Call show_help_echo with window extracted from Lisp
7559 help event.
7560 (gen_help_event): Add parameter WINDOW.
7561
7562 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7563
7564 * xterm.c (help_echo_window): New variable.
52283633 7565 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7566 (XTread_socket): Pass help_echo_window to gen_help_event.
7567 (syms_of_xterm): Initialize and staticpro help_echo_window.
7568
f8276b77
DL
75692000-07-18 Dave Love <fx@gnu.org>
7570
52283633 7571 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7572
088831a6
GM
75732000-07-18 Gerd Moellmann <gerd@gnu.org>
7574
3d6cd763
GM
7575 * alloc.c (allocate_string_data): If string had already data
7576 assigned, copy old contents to new string data.
7577
7578 * coding.c (syms_of_coding): Fix typo in spelling of variable
7579 `inhibit-iso-escape-detection'.
7580
088831a6
GM
7581 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7582
7583 * Makefile.in: Add dependencies on dispextern.h.
7584 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7585 `free'; both can conflict with system header files.
7586
bc8a8d55
KH
75872000-07-18 Kenichi Handa <handa@etl.go.jp>
7588
7589 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7590 undefined.
7591
069f5950
DL
75922000-07-18 Dave Love <fx@gnu.org>
7593
7594 * window.c (Fwindow_list): Declare arg `window'.
7595
aa96c820
KH
75962000-07-18 Kenichi Handa <handa@etl.go.jp>
7597
7598 * coding.c (setup_coding_system): Don't override the explicitly
7599 specified designations.
7600
06be8d32
MB
76012000-07-15 Miles Bader <miles@gnu.org>
7602
7603 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7604 from `text_property_eq' and `text_property_stickiness', respectively.
7605 (find_field, Fconstrain_to_field, char_property_eq)
7606 (char_property_stickiness): Changed to call char-property functions
7607 instead of text-property-only ones.
7608
7609 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7610 `next_single_char_property_change'). Do more error checking, and
7611 cleanup limit behavior.
7612 (Fprevious_single_char_property_change): New function.
7613 (syms_of_textprop): Initialize new subrs.
7614
7615 * xdisp.c (display_prop_end, invisible_text_between_p):
7616 Call Fnext_single_char_property_change instead of
7617 next_single_char_property_change.
7618
3fddcdc3
JR
76192000-07-15 Jason Rumney <jasonr@gnu.org>
7620
7621 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7622 after menu is finished with.
7623 (add_menu_item): Only consider wv->title as a menu title.
7624 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7625
7626 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7627 null title.
7628 (FONT_REGEXP): Remove unused macro, and its sub-components.
7629 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7630
7631 * w32term.c (help_echo_object, help_echo_pos): New variables.
7632 (note_mode_line_highlight): Store additional information about the
7633 help-echo in help_echo_object and help_echo_pos. Check both
7634 `local-map' and `keymap' properties for changing the cursor
7635 (note_mouse_highlight): Store additional information about the
7636 help-echo in help_echo_object and help_echo_pos.
7637 (note_tool_bar_highlight): Set help_echo_object to nil and
7638 help_echo_pos to -1.
7639 (w32_read_socket): Use gen_help_event instead of filling
7640 input_events manually.
7641 (syms_of_w32term): Staticpro help_echo_object.
7642 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7643 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7644 (x_clear_mouse_face): New function.
7645 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7646 (x_update_window_begin): No need to turn off the mouse
7647 highlight here.
7648 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7649 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7650 (x_fill_stretch_glyph_string): Consume runs of stretch
7651 glyphs instead of a single one.
7652 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7653 with new argument list.
7654 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7655 (x_append_glyph, x_append_composite_glyph)
7656 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7657 changes in struct glyph starting 1999-12-27. See comments for
7658 xterm.c on 2000-07-05.
7659
178c5d9c
SS
76602000-07-14 Sam Steingold <sds@gnu.org>
7661
7662 * xfaces.c (realize_x_face): Fix the last patch:
7663 check `default_face' before dereferencing.
7664
6fe533f6
DL
76652000-07-14 Dave Love <fx@gnu.org>
7666
069f5950 7667 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7668
dd7b81cf
KH
76692000-07-14 Kenichi Handa <handa@etl.go.jp>
7670
0693904a 7671 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7672 default_face's fontset, not using the default fontset.
0693904a 7673
dd7b81cf
KH
7674 * coding.c (inhibit_iso_escape_detection): New variable.
7675 (syms_of_coding): Make it a Lisp variable.
7676 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7677 nonzero, ignore ISO2022's escape sequence.
7678
d5aa31d8
GM
76792000-07-14 Gerd Moellmann <gerd@gnu.org>
7680
e5acf0ca
GM
7681 * alloca.c (malloc) [emacs]: Define as xmalloc.
7682
bd23a692
GM
7683 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7684 use that instead of the mouse position. Add parameters DX and DY.
7685
7686 * dispextern.h (Fx_show_tip): Adjust number of parameters
7687 in prototype.
7688
9662da0b
GM
7689 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7690 if HELP is a function, call it with OBJECT and POS as parameters
7691 to get the help to display.
7692 (gen_help_event, kbd_buffer_store_help_event): New functions.
7693 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7694 (read_char): Call show_help_echo with new parameters.
7695
178c5d9c 7696 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7697 Add prototypes.
7698
7699 * xterm.c (help_echo_object, help_echo_pos): New variables.
7700 (note_mode_line_highlight): Store additional information about the
7701 help-echo in help_echo_object and help_echo_pos. Check both
7702 `local-map' and `keymap' properties for changing the cursor
7703 (note_mouse_highlight): Store additional information about the
7704 help-echo in help_echo_object and help_echo_pos.
7705 (note_tool_bar_highlight): Set help_echo_object to nil and
7706 help_echo_pos to -1.
7707 (XTread_socket): Use gen_help_event instead of filling
7708 input_events manually.
7709 (syms_of_xterm): Staticpro help_echo_object.
7710
7711 * xmenu.c (menu_highlight_callback): Use
7712 kbd_buffer_store_help_event instead of setting up and input_event
7713 structure manually.
7714
7715 * xdisp.c (eval_form): GCPRO argument sexpr.
7716 (call_function): New function.
7717 (handle_single_display_prop): Use call_function and FUNCTIONP
7718 instead of checking whether if font_height is a symbol and
7719 using eval_form.
7720
7721 * eval.c (internal_condition_case_2): New function.
7722
7723 * lisp.h (FUNCTIONP): New macro.
7724 (internal_condition_case_2, call_function): Add prototypes.
7725
d5aa31d8
GM
7726 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7727 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7728 Always set `arg' member of input_events.
7729 (construct_menu_click): Unused function removed.
7730
7731 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7732
7733 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7734 (construct_drag_n_drop, x_scroll_bar_handle_click)
7735 (w32_read_socket): Always set `arg' member of input_events.
7736
7737 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7738
7739 * lisp.h (eval_form): Add prototype.
7740
7741 * xdisp.c (eval_form): Make it externally visible.
7742
0f1a9b23
GM
77432000-07-13 Gerd Moellmann <gerd@gnu.org>
7744
7745 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7746 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7747 consing. For prefix events, store the frame in the `arg' slot of
7748 the event, otherwise store the key there.
7749 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7750 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7751
7752 * xmenu.c (menu_highlight_callback): Store help string in the
7753 `arg' member of the input event; don't cons.
7754 (menubar_selection_callback): Use the `arg' slot of input events
7755 to queue additional information, instead of consing.
7756
7757 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7758
7759 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7760 TOOL_BAR_EVENTs.
7761 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7762
7763 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7764 input events to queue additional information, instead of consing.
7765
7766 * keyboard.c (kbd_buffer_gcpro): Renamed from
7767 kbd_buffer_frame_or_window. Now used for all Lisp objects
7768 referenced from the input queue.
7769 (kbd_buffer_store_event): Always use structure assignment for
7770 copying input events. Record all Lisp objects referenced from
7771 events in kbd_buffer_gcpro.
7772 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7773 differently from input events. Test for prefix menu_bar_events
7774 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7775 event in kbd_buffer_gcpro to nil.
7776 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7777 frame_or_window is equal to its arg member as prefix events.
7778 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7779 used by an input event to nil.
7780 (init_keyboard): Use two times the size of the input queue
7781 for kbd_buffer_gcpro.
7782 (syms_of_keyboard): Likewise.
7783
52283633
SM
7784 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7785 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7786
7787 * termhooks.h (struct input_event): Add member `arg'.
7788 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7789 (USER_SIGNAL_EVENT): Renamed from user_signal.
7790
7791 * xfaces.c (ASET): Remove definition.
7792
7793 * lisp.h (AREF, ASET, ASIZE): New macros.
7794
7795 * fontset.c (AREF, ASIZE): Remove definitions.
7796
7797 * fns.c (AREF): Remove definition.
178c5d9c 7798
0f1a9b23
GM
7799 * composite.c (AREF): Remove definition.
7800
712eaef2
GM
78012000-07-12 Gerd Moellmann <gerd@gnu.org>
7802
d8ee7803
GM
7803 * dispnew.c (redraw_overlapped_rows): Add missing local.
7804 (scrolling_window): Remove debug code.
7805
712eaef2
GM
7806 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7807 Before scrolling, turn off a mouse-highlight in the window
7808 being scrolled.
7809
7810 * xterm.c (x_update_window_end): Add parameter
7811 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7812 redisplay in XTframe_up_to_date.
7813 (x_clear_mouse_face): New function.
7814 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7815
7816 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7817 current glyph row.
7818 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7819 it when any row is written to that contains glyphs highlighted in
7820 mouse-face.
7821 (update_window): Call the window update end hook with new
7822 parameter MOUSE_FACE_OVERWRITTEN_P.
7823 (direct_output_for_insert): Give up if row contains mouse-face.
7824
7825 * dispextern.h (struct redisplay_interface): Add parameter
7826 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7827 (clear_mouse_face): New function pointer member.
7828
02010917
SM
78292000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7830
7831 * syntax.c (back_comment): Use one switch rather than a few `if's.
7832 Obey open_paren_in_column_0_is_defun_start.
7833 When reverting to the `slow' method, try to nicely handle the case
7834 of nested comments by checking that the comment-starter we found
7835 does indeed match the comment-ender.
7836 (scan_sexps_forward, scan_sexps_forward):
7837 Ignore excessive opening parenthesis rather than throwing an error.
7838
d76c03ea
GM
78392000-07-11 Gerd Moellmann <gerd@gnu.org>
7840
7841 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7842 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7843
7844 * dispnew.c (direct_output_forward_char): Give up if currently
7845 displaying a message instead of the minibuffer contents.
7846
7847 * xterm.c (x_update_window_begin): No need to turn off the mouse
7848 highlight here.
7849 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7850 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7851
7852 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7853 compare the mouse_face_p flags of both rows.
7854
7855 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7856
d55ead18
EZ
78572000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7858
7859 * keyboard.c (show_help_echo): Accept additional parameter
7860 ok_to_overwrite_keystroke_echo.
7861 (read_char): Call show_help_echo with a zero
7862 ok_to_overwrite_keystroke_echo argument.
52283633 7863 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7864 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7865 ok_to_overwrite_keystroke_echo argument.
7866 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7867 non-zero ok_to_overwrite_keystroke_echo argument.
7868
df75b1a3
GM
78692000-07-10 Gerd Moellmann <gerd@gnu.org>
7870
4b92c49a
GM
7871 * xdisp.c (try_window_id): If changes are all below what is
7872 displayed in the window, and point is in the window, we still
7873 might have to find point on the display.
7874
7875 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7876 glyphs instead of a single one.
7877 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7878 with new argument list.
7879 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7880
df75b1a3
GM
7881 * keymap.c (get_keymap_1): Add comment that this function can GC.
7882 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7883 comment that functions can GC.
7884 (Fset_keymap_parent): GCPRO arg KEYMAP.
7885
4314cf3e
EZ
78862000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7887
7888 * msdos.c (XMenuActivate): After exiting the menu, restore the
7889 echo area message and erase it.
7890
ab49ce15
KH
78912000-07-10 Kenichi Handa <handa@etl.go.jp>
7892
7893 * fontset.c (Ffontset_info): Make the return value more compatible
7894 with that of Emacs 20.
7895
090a072f
GM
78962000-07-07 Gerd Moellmann <gerd@gnu.org>
7897
7898 * eval.c (Fsignal): Handle case that backtrace_list is null.
7899
f92de4a6
KH
79002000-07-07 Kenichi Handa <handa@etl.go.jp>
7901
7902 * ccl.c (Fccl_execute): Typo fixed.
7903
dd8888a1
GM
79042000-07-06 Gerd Moellmann <gerd@gnu.org>
7905
e5c81191 7906 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7907
dd8888a1
GM
7908 * window.c (Fwindow_list): Reverse list at the end.
7909 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7910 means allow windows on OWINDOW's frame, only.
7911 (window_loop): Simplified; use Fwindow_list.
7912
7913 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7914
485266d0
GM
79152000-07-05 Gerd Moellmann <gerd@gnu.org>
7916
7917 * xterm.c (XTread_socket): Increment handling_signal at the start,
7918 decrement it at the end.
7919
7920 * eval.c (handling_signal): New variable.
7921 (Fsignal): Abort if handling_signal is non-zero.
7922
7923 * lisp.h (handling_signal): External declaration.
178c5d9c 7924
485266d0
GM
7925 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7926
80fcd514
KR
79272000-07-05 Ken Raeburn <raeburn@gnu.org>
7928
7929 Sound support for NetBSD through "Linux emulation" support:
7930 * config.in (HAVE_SOUNDCARD_H): Undef.
7931 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7932 * Makefile.in (LIBSOUND): New variable.
7933 (LIBES): Include it.
52283633
SM
7934 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7935 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7936 (vox_open): Use DEFAULT_SOUND_DEVICE.
7937 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7938
d5c5cddd
GM
79392000-07-05 Gerd Moellmann <gerd@gnu.org>
7940
7941 * print.c (print_error_message): If Vsignaling_function is set,
7942 show it in *Messages*.
7943
7944 * lisp.h (Vsignaling_function): External declaration.
7945
7946 * eval.c (Vsignaling_function): New variable.
7947 (Fsignal): Compute it.
7948 (syms_of_eval): Staticpro it.
7949
65171e3a
DL
79502000-07-05 Dave Love <fx@gnu.org>
7951
7952 * syswait.h: Use the autoconf recommended approach. Old code
7953 #if'd out in case we need to revert.
7954
178c5d9c 7955 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7956
e2c46326
AI
79572000-07-05 Andrew Innes <andrewi@gnu.org>
7958
7959 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7960 when non-NULL instead of __morecore, to take account of buffer
7961 memory. This also solves a problem with spurious memory warnings
7962 on Windows.
7963
7964 * ralloc.c: Make real_morecore non-static.
7965
7966 * eval.c (internal_condition_case): Comment out abort if
7967 interrupt_input_blocked is not zero.
7968
7969 * makefile.nt: Add support for `bootstrap' and related targets.
7970 Include minimal debug info in emacs.exe in release build.
7971 Remove all dependencies on lisp.h, and fixup some others.
7972
7973 * w32.c (init_environment): Install code from 20.7 for providing
7974 default values for environment variables, based on the
7975 executable's own location.
52283633 7976 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7977 (sys_socket): Install socket inheritance bug fix from 20.7.
7978
7979 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7980 here via blockinput.h).
7981
a027a91b
SM
79822000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7983
e4b31601
SM
7984 * w32menu.c (w32_menu_display_help):
7985 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7986
7987 * keyboard.h (show_help_echo): Declare.
7988
7989 * keyboard.c (show_help_echo): New function, extracted from read_char.
7990 Feval its `msg' argument if it's a cons cell.
7991 (read_char): Use it.
4cf8d9d5 7992 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7993
178c5d9c 7994 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7995 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7996 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7997 (dos_rawgetc):
7998 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7999 (note_tool_bar_highlight, w32_read_socket):
8000 Do not gratuitously ignore non-string `help-echo' properties.
8001
88d75730
GM
80022000-07-05 Gerd Moellmann <gerd@gnu.org>
8003
969f7e79
GM
8004 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8005
71201b00
GM
8006 * window.c (delete_all_subwindows): Reset Vwindow_list.
8007
88d75730
GM
8008 * xterm.c (x_append_glyph, x_append_composite_glyph)
8009 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8010 changes in struct glyph starting 1999-12-27. Some bit-fields of
8011 struct glyph were not set, which made glyphs unequal when compared
8012 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8013 effects were the result. This also depended on the contents of
8014 memory returned by xmalloc. If flickering happens again, activate
8015 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8016 gone with that, chances are that it is caused by something similar.
88d75730
GM
8017
8018 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8019
88d75730
GM
8020 * dispextern.h: Add some comments.
8021
8022 * window.c (add_window_to_list): Add parameter LIST.
8023 (window_list): Order list so that, for each frame, windows are
8024 in canonical order, and so that frames appear in the list in
8025 the order given by Vframe_list.
8026 (next_window): Reverse the handling of NEXT_P.
8027
53654733
GM
80282000-07-04 Gerd Moellmann <gerd@gnu.org>
8029
87efd256
GM
8030 * window.c (Vwindow_list): New variable.
8031 (make_window, delete_window): Set Vwindow_list to nil.
8032 (check_window_containing): New function.
8033 (window_from_coordinates): Rewritten.
8034 (add_window_to_list, window_list, candidate_window_p)
8035 (decode_next_window_args, next_window): New functions.
52283633 8036 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8037 (Fwindow_list): New function.
8038 (Fother_window): Cleaned up.
8039 (foreach_window): Add a longer "variable argument list". Let
8040 callback function return 0 to indicate that cycling over windows
8041 should stop.
8042 (foreach_window_1): Likewise.
8043 (freeze_window_start): Return int.
8044 (init_window): New function.
8045 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8046
8047 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8048 input_event with bzero.
8049 (main): Call init_window.
8050
53654733
GM
8051 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8052 a menu filter.
8053
4a8c194f
KH
80542000-07-04 Kenichi Handa <handa@etl.go.jp>
8055
8056 * composite.h (make_composition_value_copy): Extern it.
8057
8058 * composite.c (make_composition_value_copy): New function.
8059
8060 * editfns.c (Fformat): While copying text properties, make each
8061 composition property value a copy.
8062
8063 * fns.c (concat): While copying text properties, make each
8064 composition property value a copy.
8065
831a6cb0
GM
80662000-07-03 Gerd Moellmann <gerd@gnu.org>
8067
2f516940
GM
8068 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8069
178c5d9c 8070 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8071 marked already.
8072
831a6cb0
GM
8073 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8074 include those frames as candidates which have their focus
8075 redirected to the minibuffer frame.
8076
d9c4f922
SM
80772000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8078
8079 * fns.c (Fputhash): Return `value' rather than nil.
8080
3780bc22
GM
80812000-06-30 Gerd Moellmann <gerd@gnu.org>
8082
97d176db
GM
8083 * frame.c (next_frame): Don't check focus redirection in case
8084 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8085 unless their focus is redirected, which contradicts the
8086 specification of next-frame, and leads to infinite loops in
8087 certain situations when cycling through windows with next-window.
8088
dca9961d
KH
80892000-06-30 Kenichi Handa <handa@etl.go.jp>
8090
8091 * coding.c (code_convert_region): Even if the length of text is
8092 zero, try to convert it if coding->type is coding_type_ccl.
8093 (decode_coding_string, encode_coding_string): Likewise.
8094
d5483ab1
GM
80952000-06-28 Gerd Moellmann <gerd@gnu.org>
8096
af5c25e1 8097 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8098 the display if windows_or_buffers_changed.
af5c25e1
GM
8099
8100 * dispnew.c (struct row_entry): New structure.
8101 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8102 (row_table_size, old_lines, new_lines, old_lines_size)
8103 (new_lines_size, run_pool, runs_size, runs): New variables.
8104 (add_row_entry): New function.
8105 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8106 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8107 holding them in local variables. Use a larger hash table whose
8108 size depends on glyph matrix sizes. Don't use bzero to clear the
8109 hash table; instead, clear used slots only.
8110
8111 * fns.c (next_almost_prime): Make it externally visible.
8112
8113 * lisp.h (next_almost_prime): Add prototype.
8114
d5483ab1
GM
8115 * s/isc4-0.h (sigunblock): Define.
8116
8117 * s/sco5.h (sigunblock): Define.
8118
93e40f40
DL
81192000-06-27 Dave Love <fx@gnu.org>
8120
8121 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8122 (moved to osf5-0.h).
8123 [!NOT_C_CODE]: Protect string.h stuff.
8124
8125 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8126 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8127
3c4b7685
GM
81282000-06-27 Gerd Moellmann <gerd@gnu.org>
8129
97d176db 8130 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8131 below the last line from the needed window height.
8132
32cad0aa
SM
81332000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8134
8135 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8136 (Fwidget_get): Use it.
8137 (syms_of_fns): Defsubr it.
8138
2c69ced2
GM
81392000-06-26 Gerd Moellmann <gerd@gnu.org>
8140
178c5d9c 8141 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8142 display info for XIM.
8143 (xim_open_dpy): Likewise.
8144 (xim_close_dpy): Don't free the display info's XIM.
8145
8146 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8147
8148 * config.in (USE_XIM): New define.
8149
3fc720e4
GM
8150 * keymap.c (get_keyelt): For menu-items containing a `:filter
8151 FILTER', apply FILTER to the menu-item's definition to get the
8152 real definition to use.
8153
8154 * lisp.h (QCfilter): External declaration.
8155
2c69ced2
GM
8156 * xfns.c (Fimage_size): New function.
8157 (syms_of_xfns): Defsubr it.
8158
f978b2a2
AS
81592000-06-26 Andreas Schwab <schwab@suse.de>
8160
8161 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8162 Fstring_as_unibyte.
8163
94cc7892
DL
81642000-06-25 Dave Love <fx@gnu.org>
8165
52283633 8166 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8167
8168 * Makefile.in (blockinput.h): Depend on atimer.h.
8169 (atimer.h): Depend on systime.h.
8170
52283633 8171 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8172
52283633 8173 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8174
8175 * lisp.h (swap_in_global_binding): Declare.
8176
b8c24556
KR
81772000-06-24 Ken Raeburn <raeburn@gnu.org>
8178
8179 * process.c (Fopen_network_stream): Turn off atimers for duration
8180 of call to connect. (Patch from Gerd.)
8181
8cf8560b
DL
81822000-06-23 Dave Love <fx@gnu.org>
8183
511c7541
DL
8184 * ralloc.c: Maybe include unistd.h
8185
8cf8560b
DL
8186 * emacs.c (setgrp): Undefine before defining.
8187 (malloc_warning, set_time_zone_rule, index): Prototype.
8188
8189 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8190 HAVE_STRUCT_TIMEZONE.
8191
8192 * s/osf1.h: Move string.h hack here from alpha.h and make it
8193 conditional.
8194 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8195 _XOPEN_SOURCE.
8196 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8197 (SOCKLEN_TYPE): Don't define.
8198
8199 * m/alpha.h: Remove string.h hack.
8200
8201 * s/osf5-0.h: New file.
8202
8203 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8204 include time.h, done by systime.h.
8205 [__FreeBSD__]: Remove redundant includes.
8206
3fc720e4 8207 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8208 (delete_temp_file): Return Qnil to avoid warning.
8209
8210 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8211
8212 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8213 HAVE_X_WINDOWS.
8214
8215 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8216
8217 * composite.h (compose_text): Declare.
8218
8219 * xterm.c: Don't include sys/types.h unconditionally. Don't
8220 protect its inclusion with !USG (following xmenu.c).
8221
ea055732
GM
82222000-06-23 Gerd Moellmann <gerd@gnu.org>
8223
8224 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8225 in x_create_frame.
8226
74b01b80
EZ
82272000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8228
8229 * coding.c (decode_eol_post_ccl): Special handling for undecided
8230 and inconsistent EOL types.
8231
64f3a166
GM
82322000-06-22 Gerd Moellmann <gerd@gnu.org>
8233
16cf31f7
GM
8234 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8235 trough color and main window's background color.
8236
52283633 8237 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8238
8239 * xterm.h (Xt_app_con): External declaration.
8240
8241 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8242
486a103d
GM
8243 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8244
64f3a166
GM
8245 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8246 (handle_invisible_prop): Record the start of invisible text in
8247 it->add_overlay_start.
8248 (struct overlay_entry): Add member `overlay'.
8249 (handle_overlay_change): Simplify.
8250 (next_overlay_string): After having processed overlay strings at the
8251 end of the buffer, record that fact in
8252 it->overlay_strings_at_end_processed_p.
8253 (compare_overlay_entries): If before- and after-strings come
8254 from the same overlay, let before-strings come first.
8255 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8256 (load_overlay_strings): Take it->add_overlay_start into account
8257 when adding overlay strings.
8258
8259 * dispextern.h (struct it): Add member add_overlay_start.
8260
bb746ea6
DL
82612000-06-22 Dave Love <fx@gnu.org>
8262
8263 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8264
8265 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8266
a8f573f3
KH
82672000-06-22 Kenichi Handa <handa@etl.go.jp>
8268
8269 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8270 is greater than 0.
8271
9f2bbc92
DL
82722000-06-21 Dave Love <fx@gnu.org>
8273
178c5d9c 8274 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8275
3ee5041c
SM
82762000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8277
8278 * syntax.c (back_comment): Simplify string-parity counting (with
8279 the added benefit of handling multiple string-styles as long as
8280 they are not intertwined).
8281 Jump to the slow code as soon as a comment starter is found in
8282 a "string_lossage" position. Fixes the case: " /* " /* " */.
8283
4c343001
DL
82842000-06-21 Dave Love <fx@gnu.org>
8285
8286 * Makefile.in: Use GETLOADAVG_LIBS.
8287
8288 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8289 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8290
e6365855
SM
82912000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8292
8293 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8294 (Fforward_comment, scan_lists):
8295 Check the comstyle of single-char comment-starters.
8296 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8297 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8298 Check the comstyle of single-char comment-starters.
8299 Clarify control-flow around the Scomment case.
e6365855 8300
5700d2cc
DL
83012000-06-20 Dave Love <fx@gnu.org>
8302
d355bd8a
SM
8303 * fns.c (make_hash_table, maybe_resize_hash_table):
8304 Cast arg of next_almost_prime.
5700d2cc 8305
178c5d9c 8306 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8307
8308 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8309 and unistd.h.
8310
4a27bdfb
GM
83112000-06-20 Gerd Moellmann <gerd@gnu.org>
8312
a61d762c 8313 * keyboard.c (adjust_point_for_property): Check if display
52283633 8314 property should be treated as intangible by looking at its value.
a61d762c 8315
178c5d9c 8316 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8317 (display_prop_intangible_p): New functions.
8318
8319 * dispextern.h (display_prop_intangible_p): Add prototype.
8320
8321 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8322
4a27bdfb
GM
8323 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8324 argument to sigprocmask.
8325
8326 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8327 argument to sigprocmask.
8328
8329 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8330 sigprocmask_set, and pass a pointer to it to sigprocmask.
8331
8332 * sysdep.c (sigprocmask_set): New variable.
8333
8334 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8335 report_file_error.
8336
427ec082
SS
83372000-06-20 Sam Steingold <sds@gnu.org>
8338
8339 * xrdb.c: Don't declare xmalloc, xrealloc.
8340
8972fe79 83412000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8342
8343 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8344 (re_comp): Cast gettext return value to avoid complaints when
8345 !HAVE_LIBINTL.
8346
074b6efe
DL
83472000-06-20 Dave Love <fx@gnu.org>
8348
52283633 8349 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8350
5700d2cc 8351 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8352
d355bd8a 8353 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8354
8355 * m/alpha.h: Don't declare xmalloc, xrealloc.
8356
0af4f205
DL
8357 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8358
8359 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8360
8361 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8362
8363 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8364 HAVE_GETWD.
8365
074b6efe
DL
8366 * keyboard.h (poll_for_input_1): Declare.
8367
8368 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8369
8370 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8371
8372 * doprnt.c: Don't declare xmalloc, xrealloc.
8373
8374 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8375 (getenv, ctime, getwd): Removed.
8376 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8377
8378 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8379 x_set_tool_bar_lines.
8380
8381 * config.in: Add HAVE_GETWD. Move some definitions above
8382 machine/system includes.
8383
68a5e97b
KH
83842000-06-20 Kenichi Handa <handa@etl.go.jp>
8385
95417e1e
KH
8386 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8387
68a5e97b
KH
8388 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8389 contain information about ENCODING.
8390
8391 * fontset.c (FONTSET_ASCII): Use the first element of char table
8392 for an ASCII font, not defalt slot.
8393 (fontset_ref_via_base): If FONTSET doesn't contain information for
8394 C, try the default fontset.
8395 (make_fontset): Don't copy the default fontset.
8396 (fontset_font_pattern): Likewise.
8397 (accumulate_font_info): If ELT is nil, use the corresponding
8398 element in the default fontset.
8399
3b4fa1b2
DL
84002000-06-19 Dave Love <fx@gnu.org>
8401
943e731c
DL
8402 * syntax.c (Fparse_partial_sexp): Doc fix.
8403
8404 * regex.h: Test PROTOTYPES as well as __STDC__.
8405
3b4fa1b2
DL
8406 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8407 errno, strerror. Put text after #endif in comment.
8408
52283633 8409 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8410
8411 * xterm.c (x_frame_of_widget): Likewise.
8412
cdf0357b
GM
84132000-06-19 Gerd Moellmann <gerd@gnu.org>
8414
8415 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8416 to Vfundamental_mode_abbrev_table.
8417
8418 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8419 bogus objects are marked. This slows down GC by ~80 percent, but
8420 it might be worth trying when debugging GC-related problems.
8421 This feature requires conservative stack marking to be enabled.
8422
8423 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8424 returns XLookupChars, reset `modifiers' to zero.
8425
998e9f8c
DL
84262000-06-19 Dave Love <fx@gnu.org>
8427
8428 * mktime.c: Unprotoized.
8429
18e21ce8 84302000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8431
8432 * data.c (set_internal): If variable is frame-local,
8433 store the new value immediately into the frame parameter alist.
8434
140c4ac6
KR
84352000-06-19 Ken Raeburn <raeburn@gnu.org>
8436
14358466
KR
8437 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8438 in the custom handler pointer.
8439
140c4ac6
KR
8440 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8441 value, or checks for CHAR_META can fail when Lisp_Object is a
8442 union type.
8443 * keymap.c (get_keyelt): Likewise.
8444
10d7bf84
KH
84452000-06-19 Kenichi Handa <handa@etl.go.jp>
8446
8447 * ccl.h (struct ccl_program): New member eol_type.
8448 (struct ccl_spec): New member cr_carryover.
8449
8450 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8451 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8452
8453 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8454 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8455 (decode_eol_post_ccl): New function.
8456 (decode_coding): Don't detect EOL format here for CCL based coding
8457 systems.
8458 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8459 decode_eol_post_ccl after running the CCL program.
8460 (code_convert_region): Don't detect EOL format here for CCL based
8461 coding systems.
8462 (decode_coding_string): Likewise.
8463
52e386c2
KR
84642000-06-18 Ken Raeburn <raeburn@gnu.org>
8465
8466 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8467 when treating it as an integer.
8468
8469 * coding.h (encode_coding_string): Declare.
8470
8471 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8472 it as an integer.
8473
8474 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8475 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8476 to be passed to get_local_map.
8477
8478 * sound.c (Fplay_sound): Don't call make_number on
8479 Frun_hook_with_args count argument.
8480
8481 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8482 for lisp objects in X event structure data field, when lisp
8483 objects are represented with unions.
8484 (x_scroll_bar_to_input_event): Ditto.
8485
b357b9d4
KR
84862000-06-16 Ken Raeburn <raeburn@gnu.org>
8487
8488 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8489 termination of string. Fix sense of test whether
8490 Vline_number_display_limit is an integer.
b357b9d4 8491
a871441d
GM
84922000-06-16 Gerd Moellmann <gerd@gnu.org>
8493
a9021acd
GM
8494 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8495 only if HAVE_X_WINDOWS.
8496
6344985d
GM
8497 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8498 of titles.
8499
427ec082 8500 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8501 out of bounds.
8502
228b083e
EZ
85032000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8504
8505 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8506 of its headers.
8507
c25b53a2
KH
85082000-06-15 Kenichi Handa <handa@etl.go.jp>
8509
8510 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8511 start of the while loop.
8512
a6981b11
GM
85132000-06-15 Gerd Moellmann <gerd@gnu.org>
8514
e9924e52
GM
8515 * atimer.c (alarm_signal_handler): Add forward declaration.
8516
a6981b11
GM
8517 * data.c (set_internal): Remove debug code.
8518
25fa6deb
GM
85192000-06-14 Gerd Moellmann <gerd@gnu.org>
8520
dce6b995
GM
8521 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8522
9f817ea4
GM
8523 * unexec.c (toplevel) [COFF]: Include coff.h.
8524
8525 * s/lynxos.h: New file.
8526
8527 * keymap.c (Fsingle_key_description): Enclose function key and
8528 event symbol names in angle brackets.
8529
8a4e3c0c
GM
8530 * xdisp.c (setup_echo_area_for_printing): Call
8531 message_log_maybe_newline if message_buf_print is not set.
8532
8533 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8534 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8535 function does something useful even when message_buf_print is
8536 already set.
8537
52283633
SM
8538 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8539 New variables.
25fa6deb
GM
8540 (ensure_echo_area_buffers): Initialize echo buffer's
8541 truncate lines setting to nil.
8542 (with_echo_area_buffer): Don't set the echo buffer's truncate
8543 lines setting here.
8a4e3c0c 8544 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8545 of message_truncate_lines.
8546 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8547 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8548 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8549
8550 * keyboard.c (read_char): Bind message-truncate-lines to t
8551 while displaying a help-echo.
8552
8553 * lisp.h (Qmessage_truncate_lines): External declaration.
8554
163dcff3
GM
85552000-06-13 Gerd Moellmann <gerd@gnu.org>
8556
1681ead6
GM
8557 * xdisp.c (Vline_number_display_limit): Renamed from
8558 line_number_display_limit.
8559 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8560 Extend documentation string. Initialize
8561 Vline_number_display_limit to nil meaning no limit.
8562 (decode_mode_spec): Use Vline_number_display_limit with its new
8563 meaning.
8564
163dcff3
GM
8565 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8566
18e21ce8 85672000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8568
8569 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8570
163dcff3
GM
8571 * xfns.c (x_set_frame_parameters): Comment fix.
8572
8573 * frame.c (store_frame_param): Call swap_in_global_binding if the
8574 variable's current binding was chosen based on this frame.
8575
8576 * data.c (swap_in_global_binding): New function.
8577
a704139d
EZ
85782000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8579
8580 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8581 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8582
9b6610db
EZ
85832000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8584
8585 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8586
c68833d2
JR
85872000-06-12 Jason Rumney <jasonr@gnu.org>
8588
8589 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8590
8591 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8592
8593 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8594
8595 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8596
ed1056b3
GM
85972000-06-12 Gerd Moellmann <gerd@gnu.org>
8598
8599 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8600 (syms_of_xfaces): Defsubr Sdump_colors.
8601 (x_free_colors): Don't treat b&w specially on default visual.
8602 (x_free_dpy_colors): New function.
8603 (free_face_colors): Don't check visual class; it's done
8604 in x_free_colors.
8605
8606 * xterm.c (x_frame_of_widget): New function.
8607 (x_alloc_nearest_color_for_widget): Use it.
8608 (x_copy_dpy_color): New function.
8609 (x_destroy_window): Free various colors.
8610
5050a2ef
KH
86112000-06-12 Kenichi Handa <handa@etl.go.jp>
8612
8613 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8614
8615 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8616
8617 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8618
8619 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8620
8621 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8622
fb1b041d
DL
86232000-06-11 Dave Love <fx@gnu.org>
8624
8625 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8626
ff96b5f4
EZ
86272000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8628
8629 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8630
db8eeecd
GM
86312000-06-11 Gerd Moellmann <gerd@gnu.org>
8632
ed1056b3 8633 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8634 to `XEvent *'.
8635
49b71c5f
KH
86362000-06-10 Kenichi Handa <handa@etl.go.jp>
8637
c479bd55
KH
8638 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8639 (regex_compile): Fix the code for handling the case of single byte
8640 char and multibyte char being mixed in a range within [...].
8641
ff6a65c2
KH
8642 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8643 and dst_multibyte members of coding.
8644
49b71c5f
KH
8645 * charset.c (update_charset_table): Update the table
8646 bytes_by_char_head.
8647 (init_charset_once): Initialize elements of bytes_by_char_head to
8648 1 except for leading codes for private charases.
8649
8650 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8651 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8652
9e80b57d
KR
86532000-06-09 Ken Raeburn <raeburn@gnu.org>
8654
8655 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8656 access the data it doesn't point to.
8657
f83fe4b4
GM
86582000-06-08 Gerd Moellmann <gerd@gnu.org>
8659
8660 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8661 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8662 event queue. This is necessary because Emacs otherwise won't
8663 perform a switch-frame to a new frame until some other event, for
8664 example a keystroke event, forces it to do so. This has various
8665 effects, one visible being that the cursor of a frame created with
8666 C-x 5 2 or switched to with a window manager key binding like
8667 A-TAB stays hollow because selected_window isn't on the newly
8668 focused frame until the switch-frame is performed.
8669
8670 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8671 generating a switch-frame event if necessary.
8672
8673 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8674
8675 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8676 it's an integer.
8677
0890801b
KH
86782000-06-08 Kenichi Handa <handa@etl.go.jp>
8679
52283633 8680 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8681
173cbca8
GM
86822000-06-07 Gerd Moellmann <gerd@gnu.org>
8683
3091c2a6
GM
8684 * window.c (displayed_window_lines): Take empty lines at
8685 the bottom of a window into account.
427ec082 8686
f38952fe
GM
8687 * window.c (displayed_window_lines): New function.
8688 (Fmove_to_window_line): Use displayed_window_lines to determine
8689 the number of lines to move, instead of using the window's height.
8690
8691 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8692 to stop reading, even if the form read sets point to a different
8693 value when evaluated.
8694
427ec082 8695 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8696 put the cursor.
8697
6ba6c818
KH
86982000-06-07 Kenichi Handa <handa@etl.go.jp>
8699
8700 * fileio.c (e_write): Free composition data if stored in
8701 coding->cmp_data.
8702
5f1aea9a
GM
87032000-06-06 Gerd Moellmann <gerd@gnu.org>
8704
666852af
GM
8705 * xdisp.c (display_line): Set row's and iterator's
8706 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8707 Set cursor even if row ends in the middle of a character.
8708 (dump_glyph_row): Print values of new flags.
8709 (redisplay_window) <cursor movement in unchanged window>: When
8710 point has been moved forward, and PT is at the end of the cursor
8711 row, don't place the cursor in the next row if the cursor row ends
8712 in the middle of a character or at ZV.
8713
8714 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8715 (struct glyph_row): Add starts_in_middle_of_char_p and
8716 ends_in_middle_of_char_p.
8717 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8718 ends_in_middle_of_char_p flag.
8719 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8720
d13f3e2e
GM
8721 * term.c (append_glyph): Revert change of 2000-06-06.
8722
8723 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8724 padding glyph not fitting on line as whole character not
8725 fitting on line.
8726
5f1aea9a
GM
8727 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8728 this isn't true for images with `:ascent 100'.
8729
10cda9b0
KH
87302000-06-06 Kenichi Handa <handa@etl.go.jp>
8731
ed00559d
KH
8732 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8733 as modified if it is originally unmodified.
8734
10cda9b0
KH
8735 * term.c (encode_terminal_code): Change the way to check if
8736 terminal coding does any conversion.
8737 (append_glyph): Set glyph->pixel_width correctly.
8738
8739 * xdisp.c (display_line): While checking line continuation, pay
8740 attention to a padding glyph.
8741
1969fae2
GM
87422000-06-05 Gerd Moellmann <gerd@gnu.org>
8743
8744 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8745
162ccef4
DL
87462000-06-05 Dave Love <fx@gnu.org>
8747
f19f32dd
DL
8748 * xdisp.c: Include fontset.h.
8749
8750 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8751
8752 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8753
8754 * dispnew.c: Conditionally include term.h.
8755
8756 * coding.h: Declare code_convert_string_norecord.
8757
8758 * frame.h (struct frame): Use volatile unconditionally.
8759
8760 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8761
8762 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8763
8764 * systime.h: Protect against multiple inclusion.
8765 (timezone) [USG5_4]: Define as time_t.
8766
8767 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8768 (Foptimize_char_table, make_temp_name): Declare.
8769
8770 * Makefile.in (xdisp.o): Depend on fontset.h.
8771
8772 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8773
8774 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8775 (Foptimize_char_table, make_temp_name): Declare.
8776
427ec082 8777 * s/irix4-0.h:
162ccef4
DL
8778 * s/irix5-0.h:
8779 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8780
2082fe81
DL
87812000-06-02 Dave Love <fx@gnu.org>
8782
8783 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8784
dcf671d2
GM
87852000-06-02 Gerd Moellmann <gerd@gnu.org>
8786
8787 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8788 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8789 be freed.
8790
8791 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8792 glyph, use the ASCII NUL character to determine the face.
8793
d42122a3
DL
87942000-06-02 Dave Love <fx@gnu.org>
8795
8796 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8797 (VFORK_RETURN_TYPE): Remove.
427ec082 8798
d42122a3
DL
8799 * config.in: Add NO_MATHERR.
8800
dd432f16
DL
88012000-06-01 Dave Love <fx@gnu.org>
8802
90aa4ea8
DL
8803 * cmds.c (internal_self_insert): Don't check
8804 Vbefore_change_function, Vafter_change_function.
8805
8806 * insdel.c (signal_before_change, signal_after_change): Likewise.
8807
8808 * buffer.c (Vbefore_change_function, Vafter_change_function):
8809 Variables and their initializations deleted.
8810
2330c9d4
DL
8811 * callint.c (Fcall_interactively): Doc fix.
8812
dd432f16
DL
8813 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8814
bf9e8804
DL
88152000-05-31 Dave Love <fx@gnu.org>
8816
8817 * textprop.c: Revert last change -- duplicated.
8818
3694b4ab
GM
88192000-05-31 Gerd Moellmann <gerd@gnu.org>
8820
8821 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8822 in #if 0.
8823
8824 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8825
f14156cd
JR
88262000-05-31 Jason Rumney <jasonr@gnu.org>
8827
8119aab8
JR
8828 * search.c (Fre_search_forward, Fre_search_backward)
8829 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8830
f14156cd
JR
8831 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8832
4aab9be3
JR
88332000-05-30 Jason Rumney <jasonr@gnu.org>
8834
8835 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8836 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8837
52283633 8838 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8839
8840 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8841 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8842 expand a nil default_filename.
8843
8844 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8845 pointer to glyph_to_pixel_coords, not a frame.
8846
8847 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8848 coding.h to dependencies.
8849
8850 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8851
8852 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8853 window pointer to be consistent with w32term.c and xterm.c.
8854
8855 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8856 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8857 (Qline_spacing, Qcenter): New variables.
8858 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8859 (x_set_line_spacing): New function.
52283633 8860 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8861 (x_specified_cursor_type): New function.
8862 (x_set_cursor_type): Use it.
8863 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8864 and icon strings.
8865 (validate_x_resource_name, x_get_resource_string): Measure lengths
8866 of external strings in bytes.
8867 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8868 GetTextExtentPoint32 with NULL title.
8869 (Fx_create_frame): Initialize Qline_spacing.
8870 (w32_load_system_font): Initialize font->double_byte_p.
8871 (x_to_w32_charset): Use Vw32_charset_info_alist.
8872 (Image, busy cursor, tooltip functions): Merged changes from
8873 xfns.c. Not yet functional on Windows.
8874
8875 * w32gui.h (W32FontStruct): Add double_byte_p member.
8876
8877 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8878 (emacs_button_translation): Use it.
8879 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8880 in `mask' to be set.
8881
8882 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8883 menu strings.
8884
8885 * w32term.c: Format and doc changes to bring closer to xterm.c.
8886 (w32_char_font_type): New enum.
8887 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8888 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8889 (w32_encode_char): New function.
8890 (x_encode_char): Removed.
8891 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8892 x_encode_char and w32_font_is_double_byte.
8893 (x_produce_image_glyph): Use image_ascent.
8894 (x_produce_glyphs): Use new version of w32_per_char_metric and
8895 handle NULL return value. Allow extra line spacing.
8896 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8897 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8898 w32_font_type member of glyph instead.
8899 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8900 (fast_find_position): Make sure not to consider rows not visible
8901 in the window.
8902 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8903 w32_menu_display_help with input blocked, as it can abort.
8904 (x_display_and_set_cursor): Choose cursor depending
8905 on buffer-local value of cursor_type.
8906 (x_draw_bar_cursor): Add parameter WIDTH.
8907
8908 * w32term.h (CP_DEFAULT): Define.
8909 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8910
10fc3187
GM
89112000-05-30 Gerd Moellmann <gerd@gnu.org>
8912
8913 * search.c (Fre_search_forward, Fre_search_backward)
8914 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8915
d0555360
KH
89162000-05-30 Kenichi Handa <handa@etl.go.jp>
8917
8918 * coding.c (detect_coding_iso2022): Fix code for checking
8919 CODING_CATEGORY_MASK_ISO_8_2.
8920
f1ad044f
SM
89212000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8922
8923 * regex.c (PREFETCH_NOLIMIT): New function.
8924 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8925
84ec3b4b
GM
89262000-05-29 Gerd Moellmann <gerd@gnu.org>
8927
66254a13
GM
8928 * syntax.c (find_defun_start): Move test for
8929 open_paren_in_column_0_is_defun_start outside of the loop.
8930
49e70dec
GM
8931 * xdisp.c (redisplay_window): Really switch buffers when
8932 displaying mode lines, and temporarily set selected_frame to the
8933 frame of the window that's redisplayed.
8934
84ec3b4b
GM
8935 * xfaces.c (free_realized_faces): Block/unblock input.
8936 (free_realized_multibyte_face): Ditto.
8937
869a3a14
DL
89382000-05-29 Dave Love <fx@gnu.org>
8939
8940 * textprop.c (Qkeymap): New variable.
8941 (syms_of_textprop): Intern it.
8942
8943 * keymap.c: Include intervals.h.
8944 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8945
8946 * Makefile.in (keymap.o): Depend on intervals.h.
8947
8948 * keyboard.c (menu_bar_items, tool_bar_items)
8949 (Fexecute_extended_command): Deal with `keymap' property.
8950 (read_key_sequence): Track map from `keymap' property as well as
8951 `local_map'.
8952
8953 * intervals.c (get_local_map): Extra arg to allow looking for
8954 `keymap' too.
8955
8956 * intervals.h (map_property): New enum.
8957 (get_local_map): Extra arg using it.
8958 (Qkeymap): Declare.
8959
84ec3b4b 8960 * lisp.h (get_local_map): Don't declare here.
869a3a14 8961
89d0c844
KH
89622000-05-29 Kenichi Handa <handa@etl.go.jp>
8963
8964 * Makefile.in (callproc.o): Depend on composite.h.
8965
8966 * callproc.c: Include composite.h.
8967 (Fcall_process): Handle composition correctly.
8968
8969 * coding.h (coding_allocate_composition_data): Extern it.
8970 (coding_restore_composition): Likewise.
8971
8972 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8973 yet allocated, finish decoding with result
8974 CODING_FINISH_INSUFFICIENT_CMP.
8975 (coding_allocate_composition_data): Make it non-static.
8976 (coding_restore_composition): Likewise.
8977
797a084a
EZ
89782000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8979
8980 * charset.c (syms_of_charset): Revert last change.
8981
cf872af5
EZ
89822000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8983
8984 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8985 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8986 Handa.
cf872af5 8987
5b1ae051
EZ
89882000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8989
8990 * charset.c (syms_of_charset): Set width of character sets
8991 eight-bit-control and eight-bit-graphic to 1 column.
8992
34ec9ebe
GM
89932000-05-26 Gerd Moellmann <gerd@gnu.org>
8994
8995 * config.in (HAVE_SPEED_T): New define.
8996
8997 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8998 `extern speed_t'.
8999
dd854dc2
DL
90002000-05-26 Dave Love <fx@gnu.org>
9001
9002 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9003
9004 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9005 (Fsubr_arity): New function.
9006 (syms_of_data): Install them.
9007
ba9f8f95
KH
90082000-05-26 Kenichi Handa <handa@etl.go.jp>
9009
0f3e0672
KH
9010 * charset.c (init_charset_once): Set the table bytes_by_char_head
9011 correctly.
9012
cebefb44
KH
9013 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9014 the default fontset to what Emacs uses by default.
0f3e0672
KH
9015 (check_registry_encoding): This function deleted.
9016 (Fset_fontset_font): Remove the adhoc condition for the default
9017 fontset. Allow cons in FONTNAME.
cebefb44 9018
0f3e0672
KH
9019 * fns.c (map_char_table): Ignore char-table entries for
9020 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9021
7a18af49
KR
90222000-05-25 Ken Raeburn <raeburn@gnu.org>
9023
9024 * emacs.c (main): Initialize keyboard syms before initializing
9025 window code, so face names are available.
9026
d2af47df
SM
90272000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9028
9029 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9030 of an anchor at the beginning of a shy-group.
9031
fc6a6a4e
GM
90322000-05-25 Gerd Moellmann <gerd@gnu.org>
9033
9034 * xdisp.c (handle_invisible_prop): Don't try to skip over
9035 invisible text if end of text is already reached.
9036
005f0d35
DL
90372000-05-25 Dave Love <fx@gnu.org>
9038
02513cdd
DL
9039 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9040
005f0d35
DL
9041 * coding.c (encode_eol): Add null statement after label.
9042
89f6ca4e
EZ
90432000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9044
9045 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9046 2000-05-20.
9047
a4e1759e
KH
90482000-05-25 Kenichi Handa <handa@etl.go.jp>
9049
9050 * ccl.c (ccl_driver): Fix previous change.
9051
eacfd7fe
KH
90522000-05-25 Kenichi Handa <handa@etl.go.jp>
9053
46ab33a9
KH
9054 * coding.c (run_pre_post_conversion_on_str): Set point to the
9055 beginning of buffer before calling coding->post_read_conversion.
9056 (decode_coding_string): Give correct args to
9057 run_pre_post_conversion_on_str.
9058 (encode_coding_string): Likewise.
9059
eacfd7fe
KH
9060 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9061 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9062 eight-bit-graphic correctly.
9063
f8569325
DL
90642000-05-24 Kenichi HANDA <handa@etl.go.jp>
9065
9066 * fileio.c (Finsert_file_contents): Even if a file is not found,
9067 execute codes for setting up coding system. Call
9068 after-insert-file-functions unconditionally.
9069
04545643
GM
90702000-05-24 Gerd Moellmann <gerd@gnu.org>
9071
9072 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9073 BSD_PGRPS are not defined.
9074
747d90ea
KH
90752000-05-24 Kenichi Handa <handa@etl.go.jp>
9076
9077 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9078 DESCRIPTION.
9079 (syms_of_charset): Avoid building same strings.
9080
716e3b88
GM
90812000-05-23 Gerd Moellmann <gerd@gnu.org>
9082
9083 * lread.c (Fload): Add a comment about the meaning of
9084 Vuser_init_file being t.
9085
9086 * puresize.h (BASE_PURESIZE): Increase to 675000.
9087
9088 * s/gnu-linux.h (setpgrp): Don't define it here because this
9089 prevents compilation on GNU/Linux systems with glib 2.2.
9090
9091 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9092 as setpgid.
427ec082 9093
9aeb39fa
EZ
90942000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9095
9096 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9097 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9098 version.
9099 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9100
29ced61b
KH
91012000-05-23 Kenichi Handa <handa@etl.go.jp>
9102
52283633 9103 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9104
3d80f24d
KH
9105 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9106
52283633 9107 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9108
29ced61b
KH
9109 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9110
d7e00792
KH
91112000-05-22 Kenichi Handa <handa@etl.go.jp>
9112
c9d80d38
KH
9113 * keyboard.c (read_char): Allow character codes 128..255 to be
9114 handled by input-method-function.
9115
d7e00792
KH
9116 * insdel.c (adjust_markers_for_replace): Fix previous change.
9117 (adjust_after_replace): If PREV_TEXT is nil, call
9118 adjust_markers_for_insert, not adjust_markers_for_replace.
9119
087121cc 91202000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9121
087121cc
GM
9122 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9123 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9124 [HAVE_GRANDPT]: Define.
9125 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9126
9127 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9128 like SYSV_PTYS.
9129
9130 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9131
9132 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9133
c9671f81
KH
91342000-05-20 Kenichi Handa <handa@etl.go.jp>
9135
9136 The following changes are to handle 8-bit characters in a
9137 multibyte buffer/string without facing with byte combining
9138 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9139 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9140
9141 * Makefile.in (fns.o): Depend on charset.h.
9142
9143 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9144 convert it to unibyte.
9145 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9146
9147 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9148 apparent char boundary.
9149 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9150 0x80..0x9F to/from multibyte form.
9151
9152 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9153 to unibyte.
9154
9155 * callproc.c (Fcall_process): Always encode an argument string if
9156 it is multibyte. Setup src_multibyte and dst_multibyte members of
9157 process_coding properly.
ce75fd23 9158
c9671f81
KH
9159 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9160 SPLIT_NON_ASCII_CHAR.
9161
9162 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9163 as is.
9164 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9165
52283633 9166 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9167 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9168 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9169 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9170 and eight-bit-graphic.
9171 (char_to_string): Likewise. Signal an error for too large
9172 character code.
9173 (char_printable_p): Return 0 for 8-bit characters.
9174 (update_charset_table): Update iso_charset_table only when a final
9175 character is non-negative.
9176 (find_charset_in_text): Renamed from find_charset_in_str.
9177 Arguments and return value changed. Callers changed.
9178 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9179 be -1 if CHARSET is used only internally.
9180 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9181 eight-bit-graphic.
9182 (Fcharset_after): Simplified.
9183 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9184 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9185 (multibyte_chars_in_text): Simplified by assuming there's no
9186 invalid multibyte sequence.
52283633
SM
9187 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9188 (str_as_unibyte): New functions.
9189 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9190 (init_charset_once): Initialization for
9191 LEADING_CODE_8_BIT_CONTROL.
9192 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9193 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9194 eight-bit-control and eight-bit-graphic.
9195
52283633
SM
9196 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9197 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9198 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9199 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9200 (CHARSET_REVERSE_CHARSET): Likewise.
9201 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9202 eight-bit-graphic.
9203 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9204 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9205 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9206 encounter an invalid multibyte sequence.
9207 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9208 sequence is always valid.
9209 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9210 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9211 (CHAR_STRING): For 8-bit characters, call char_to_string.
9212 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9213 multibyte sequence is always valid.
9214 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9215 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9216 (str_as_unibyte): Extern them.
c9671f81 9217 (BCOPY_SHORT): Fix a bug.
52283633 9218 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9219 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9220 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9221 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9222
bd4bde7f 9223 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9224 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9225 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9226 (EMIT_BYTES): New macros.
9227 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9228 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9229 macros deleted.
9230 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9231 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9232 check the validity of multibyte sequence.
9233 (decode_coding_emacs_mule): New function.
9234 (encode_coding_emacs_mule): New macro.
9235 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9236 the source.
9237 (DECODE_ISO_CHARACTER): Just return a character code.
9238 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9239 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9240 EMIT_CHAR to produced decoded characters. Exit the loop only by
9241 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9242 block here.
9243 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9244 only position codes for an invalid character.
9245 (encode_designation_at_bol): Return new destination pointer. 5th
9246 arg DSTP is changed to DST.
9247 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9248 from the source by ONE_MORE_CHAR. Don't handle the case of last
9249 block here.
9250 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9251 macros deleted.
52283633
SM
9252 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9253 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9254 TWO_MORE_BYTES to fetch a byte from the source.
9255 (encode_eol): Pay attention to coding->src_multibyte.
9256 (detect_coding, detect_eol): Preserve members src_multibyte and
9257 dst_multibyte.
9258 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9259 (encoding_buffer_size): Set magnification to 3 for all coding
9260 systems that require encoding.
9261 (ccl_coding_driver): For decoding, be sure that the result is
9262 valid multibyte sequence.
9263 (decode_coding): Initialize coding->errors and coding->result.
9264 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9265 and raw-text, always call decode_eol. Handle the case of last
9266 block here. If not coding->dst_multibyte, convert the resulting
9267 sequence to unibyte.
9268 (encode_coding): Initialize coding->errors and coding->result.
9269 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9270 and raw-text, always call encode_eol. Handle the case of last
9271 block here.
9272 (shrink_decoding_region, shrink_encoding_region): Detect cases
9273 that we can't skip data more rigidly.
9274 (code_convert_region): Setup src_multibyte and dst_multibyte
9275 members of coding. For decoding, if the buffer is multibyte,
9276 convert the source sequence to unibyte in advance. For encoding,
9277 if the buffer is multibyte, convert the resulting sequence to
9278 multibyte afterward.
9279 (run_pre_post_conversion_on_str): New function.
9280 (code_convert_string): Deleted and divided into the following two.
9281 (decode_coding_string, encode_coding_string): New functions.
9282 (code_convert_string1, code_convert_string_norecord): Call one of
9283 above.
9284 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9285 MAKE_NON_ASCII_CHAR.
52283633
SM
9286 (Fset_terminal_coding_system_internal)
9287 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9288 and dst_multibyte members.
9289 (init_coding_once): Initialize iso_code_class with new enum
9290 ISO_control_0 and ISO_control_1.
9291
9292 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9293 devided into ISO_control_0 and ISO_control_1.
9294 (struct coding_system): New members src_multibyte, dst_multibyte,
9295 errors, and result. Delete member fake_multibyte.
9296 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9297 nonzero.
9298 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9299 nonzero.
9300
9301 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9302 (Faset): Likewise.
9303
9304 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9305 multibyte form.
9306 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9307 combining occurs.
9308 (Ftranspose_region): Delete codes for handling byte combining.
9309
9310 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9311 dst_multibyte members of coding. On handling REPLACE on unibyte
9312 buffer, convert the result of decode_coding to unibyte. On
9313 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9314 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9315 multibyteness of the source (buffer or string).
9316
9317 * fns.c (concat): Handle 8-bit characters correctly.
9318 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9319 unibyte in the result.
9320 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9321 valid multibyte form in the result.
9322 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9323 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9324 return -1, signal an error.
9325 (base64_encode_1): New arg MULTIBYTE. Get each character by
9326 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9327 character is found, return -1.
9328 (Fbase64_decode_region): Delete codes for handling byte-combining.
9329 Treat each decoded byte as a unibyte character.
9330 (Fbase64_decode_string): Return unibyte string.
9331 (Fcompare_strings, concat, string_byte_to_char): Use
9332 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9333 FETCH_STRING_CHAR_ADVANCE.
9334 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9335 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9336
9337 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9338 SPLIT_NON_ASCII_CHAR.
9339 (fontset_ref_via_base, fontset_set): Likewise
9340
9341 * insdel.c (adjust_markers_for_record_delete): Deleted.
9342 (adjust_markers_for_insert): Argument changed. Caller changed.
9343 (adjust_markers_for_replace): Likewise.
52283633
SM
9344 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9345 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9346 (copy_text): Delete unused local varialbe c_save. For converting
9347 to multibyte, be sure to make all 8-bit characters in valid
9348 multibyte form.
9349 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9350 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9351 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9352 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9353 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9354 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9355 handling byte combining.
9356 (adjust_before_replace): Deleted.
427ec082 9357
c9671f81
KH
9358 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9359 SPLIT_NON_ASCII_CHAR.
9360 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9361 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9362 (Fkey_description): Likewise.
9363
9364 * lread.c (read1): On reading multibyte string, be sure to make
9365 all 8-bit chararacters in valid multibyte form.
9366 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9367
9368 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9369 unconditionally.
9370
9371 * process.c (Fstart_process): GCPRO current_dir before calling
9372 Ffind_operation_coding_system. Encode arguments here.
9373 (create_process): Don't encode arguments here. Setup
9374 src_multibyte and dst_multibyte members of struct coding.
9375 (read_process_output): Setup src_multibyte and dst_multibyte
9376 members of struct coding. If the output is to multibyte buffer,
9377 always decode the output of the process. Adjust the
52283633 9378 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9379 (send_process): Setup coding->src_multibyte according to the
9380 multibyteness of the source.
9381
52283633 9382 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9383 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9384 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9385
52283633 9386 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9387
9388 * w16select.c (Fw16_set_clipboard_data): Setup members
9389 src_multibyte and dst_multibyte of coding. Adjusted for the
9390 change for find_charset_in_str.
9391 (Fw16_get_clipboard_data): Likewise.
9392
9393 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9394 dst_multibyte of coding.
9395 (x_to_w32_font): Likewise.
9396
9397 * w32select.c (Fw32_set_clipboard_data): Setup members
9398 src_multibyte and dst_multibyte of coding. Adjusted for the
9399 change for find_charset_in_str.
9400 (Fw32_get_clipboard_data): Likewise.
9401
9402 * xdisp.c (get_next_display_element): Handle 8-bit characters
9403 correctly.
52283633
SM
9404 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9405 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9406
9407 * xselect.c (selection_data_to_lisp_data): Setup members
9408 src_multibyte and dst_multibyte of coding. Adjusted for the
9409 change for find_charset_in_str.
9410 (lisp_data_to_selection_data): Likewise.
9411
5f64c9e0
GM
94122000-05-19 Gerd Moellmann <gerd@gnu.org>
9413
52283633 9414 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9415
5f64c9e0
GM
9416 * dispextern.h (Vimage_types): Add extern declaration.
9417
9418 * xdisp.c (Vimage_types): Moved here from xfns.c.
9419 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9420
9421 * xfns.c (Vimages_types): Moved to xdisp.c.
9422 (syms_of_xfns): Move `image-types' to xdisp.c.
9423
9424 * w32fns.c (Vimage_types): Removed.
9425 (syms_of_w32fns): Remove `image-types'.
9426
813086ea
KH
94272000-05-18 Kenichi Handa <handa@etl.go.jp>
9428
9429 * fns.c (map_char_table): Pay attention to character number of
9430 charset. Check the validity of charset at the first level. For
9431 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9432 the default value.
9433
9434 * fontset.c: Include "buffer.h".
9435 (fs_load_font): If the face has fontset, record the face ID in
9436 that fontset.
9437 (Finternal_char_font): New function.
9438 (accumulate_font_info): New function.
9439 (Ffontset_info): Rewritten for the new fontset implementation.
9440 (syms_of_fontset): Register Vdefault_fontset in the first element
9441 of Vfontset_table. Include Vdefault_fontset in
9442 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9443 function.
9444
bdaebbf0
DL
94452000-05-16 Dave Love <fx@gnu.org>
9446
9447 * m/iris5d.h: Deleted -- unused.
9448
cb613bb8
GM
94492000-05-16 Gerd Moellmann <gerd@gnu.org>
9450
b15f3b77
GM
9451 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9452 `invalid' instead of `illegal'.
9453
9454 * indent.c (Fmove_to_column): When ending within a tab, insert
9455 spaces first so that markers at the end of the tab get adjusted.
9456
835c1b36
GM
9457 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9458 buffer list that wasn't selected in that frame.
9459
cb613bb8
GM
9460 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9461 is needed on mescaline, use a 2 char prefix, and call
9462 make_temp_name with second arg non-zero.
9463
9464 * fileio.c (make_temp_name): New function, extracted from
9465 Fmake_temp_name.
9466 (Fmake_temp_name): Use it.
9467
f685bea9
EZ
94682000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9469
52283633 9470 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9471
a1b8d58b
GM
94722000-05-15 Gerd Moellmann <gerd@gnu.org>
9473
9474 * Makefile.in (lisp): Add env.elc.
9475
9476 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9477
a265079f
GM
94782000-05-12 Gerd Moellmann <gerd@gnu.org>
9479
9480 * search.c (Freplace_match): Handle case of `\N' in the
9481 replacement when there's no group N.
9482
da4496b6
GM
94832000-05-11 Gerd Moellmann <gerd@gnu.org>
9484
0ace421a
GM
9485 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9486 of the message to message_dolog.
9487
1172eb8d
GM
9488 * keyboard.c (read_char): Don't clear current message for help
9489 events; let the code handling help events handle this. Change
9490 code detecting help events that should be ignored.
9491
da4496b6
GM
9492 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9493 we're interating over a string.
9494
0623e40f
DL
94952000-05-09 Dave Love <fx@gnu.org>
9496
9497 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9498 that offset before writing. Move gcpro region past call of
9499 Ffile_regular_p.
9500
bae2503b
DL
95012000-05-04 Dave Love <fx@gnu.org>
9502
9503 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9504
ec82fb2f
GM
95052000-05-04 Gerd Moellmann <gerd@gnu.org>
9506
9507 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9508 of inserted characters when BUF equals the current buffer, and PT
9509 is in front of or equal to FROM.
9510
cbf18892
GM
95112000-05-03 Gerd Moellmann <gerd@gnu.org>
9512
4ff40dd0
GM
9513 * xdisp.c (handle_single_display_prop): If display property value
9514 is invalid, or something not supported on the frame, restore
9515 iterator's position to what it was initially. Make sure to return
9516 0 for invalid and unsupported property values.
9517
cbf18892
GM
9518 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9519 that x_per_char_metric returns null.
9520
1b0672c3
GM
95212000-05-02 Gerd Moellmann <gerd@gnu.org>
9522
576da55d
GM
9523 * xterm.h (struct face): Add forward declaration.
9524 (struct image): Ditto.
9525 (image_ascent): Add prototype.
9526
9527 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9528 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9529 image_ascent instead of using IMAGE_ASCENT.
9530
9531 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9532 (IMAGE_ASCENT): Removed.
9533
9534 * xfns.c (Qcenter): New variable.
9535 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9536 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9537 (image_ascent): New function.
9538 (lookup_image): Recognize `:ascent center'.
9539 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9540 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9541 (xbm_load): Don't set image's ascent here.
9542 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9543 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9544 check ascent values here.
9545 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9546 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9547 (syms_of_xfns): Initialize Qcenter.
9548
1b0672c3
GM
9549 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9550 to the limits, increase the limits.
9551
0d7811ed
KH
95522000-05-01 Kenichi Handa <handa@etl.go.jp>
9553
9554 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9555 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9556
a943a5ca
GM
95572000-04-28 Gerd Moellmann <gerd@gnu.org>
9558
9559 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9560 taller than the window.
9561
5dba1e29
KH
95622000-04-28 Kenichi Handa <handa@etl.go.jp>
9563
9564 * xfaces.c (realize_x_face): Fix the argument of the second
9565 xassert. BASE_FACE may not be a face for ASCII.
9566
353964e3
GM
95672000-04-27 Gerd Moellmann <gerd@gnu.org>
9568
c76e04a8
GM
9569 * print.c (print_object): Treat print-length < 0 as nil.
9570
9571 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9572
9573 * s/freebsd.h (TERMCAP_OBJ): Removed.
9574 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9575
9576 * lread.c (read1): Don't treat period followed by certain
9577 characters as symbol start.
9578
9579 * xfns.c (slurp_file): New function.
9580 (xbm_image_p): Handle case of in-memory XBM files.
9581 (xbm_scan): Rewritten to work on memory buffers instead of files.
9582 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9583 Work on memory buffers instead of files. If DATA is null test
9584 if buffer looks like an in-memory XBM file.
9585 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9586 memory buffers instead of files.
9587 (xbm_file_p): New function.
9588 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9589
353964e3
GM
9590 * lread.c (end_of_file_error): New function.
9591 (read1): Call it instead of signaling `end-of-file' directly.
9592
427ec082 9593 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9594 with Fprinc instead of Fprin1.
9595
24d744ac
KR
95962000-04-26 Ken Raeburn <raeburn@gnu.org>
9597
9598 * window.c (freeze_window_start): Check that minibuffer scroll
9599 window isn't nil before extracting the window structure pointer
9600 from it.
9601
9602 * undo.c (record_delete): If we hit the end of the undo list, stop
9603 picking elements apart.
9604
7464346d
GM
96052000-04-26 Gerd Moellmann <gerd@gnu.org>
9606
9607 * xdisp.c (display_line): If lines are continued, restore
9608 iterator's ascent/descent information to the values before the
9609 first glyph not fitting on the line.
9610
612839b6
GM
96112000-04-25 Gerd Moellmann <gerd@gnu.org>
9612
9613 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9614 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9615
9616 * dispnew.c (increment_matrix_positions): Renamed from
9617 increment_glyph_matrix_buffer_positions.
9618 (increment_row_positions): Renamed from
9619 increment_glyph_row_buffer_positions.
9620
9621 * dispextern.h: Change names of renamed functions from dispnew.c
9622 in prototypes.
9623
cc181e95
GM
96242000-04-24 Gerd Moellmann <gerd@gnu.org>
9625
abfcc168
GM
9626 * fileio.c (Fdo_auto_save): Create directories for auto-save
9627 list file if necessary.
9628
cc181e95
GM
9629 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9630 from buffer or frame.
9631 (automatic_hscrolling_p): New variable.
9632 (hscroll_windows): Scroll windows horizontally only if automatic
9633 hscrolling is allowed.
9634 (syms_of_xdisp): New variable `automatic-hscrolling'.
9635
9636 * frame.h (struct frame): Add member extra_line_spacing.
9637
9638 * xfns.c (x_set_line_spacing): New function.
9639 (Fx_create_frame): Set line spacing from resources.
9640 (Qline_spacing): New variable.
9641 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9642
cc181e95
GM
9643 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9644
9645 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9646 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9647 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9648 extra_line_spacing from default value.
9649 (init_buffer_once): Initialize default value of extra_line_spacing.
9650
9651 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9652 and extra3.
9653
9654 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9655 prompt_width. Add extra line spacing.
9656
9657 * term.c (produce_glyphs): Remove reference to struct it's
9658 prompt_width.
9659
9660 * dispextern.h (struct it): Remove member prompt_width, add
9661 extra_line_spacing.
9662
58827478
GM
96632000-04-22 Gerd Moellmann <gerd@gnu.org>
9664
9665 * dispnew.c (update_frame_line): When writing a whole line, make
9666 sure cursor is in the right row afterwards, otherwise a use of
9667 capability `ch' in cmgoto might leave the cursor in the row below.
9668
25a87f42
GM
96692000-04-21 Gerd Moellmann <gerd@gnu.org>
9670
9671 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9672
9673 * keyboard.c (timer_check): Fix typo in comment.
9674
54edf5c2
KH
96752000-04-21 Kenichi Handa <handa@etl.go.jp>
9676
9677 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9678 name change: ch -> character.
9679
3a64eef5
GM
96802000-04-20 Gerd Moellmann <gerd@gnu.org>
9681
9682 * keyboard.c (echo_message_buffer): New variable.
9683 (echo_now): Set echo_message_buffer to the echo area buffer used
9684 to display the echo.
9685 (cancel_echoing): Reset echo_message_buffer to nil.
9686 (read_char): Code rewritten that handles canceling an echo or
9687 echoing a dash, respectively.
9688
9689 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9690 directory doesn't exist.
9691
6142fdcb
DL
96922000-04-19 Dave Love <fx@gnu.org>
9693
9694 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9695 (concat): Don't allow numeric args.
9696 (Fconcat): Doc change.
6142fdcb 9697
ac6b5352
SM
96982000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9699
9700 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9701 instead define end_match(1|2) more carefully.
9702 Use GET_CHAR_BEFORE_2 for `begline'.
9703
cb9215e4
GM
97042000-04-19 Gerd Moellmann <gerd@gnu.org>
9705
5e3dac3f
GM
9706 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9707 on 64-bit systems where NULL is defined as `0'.
9708
9709 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9710 the `variable argument list' to make it work on Alpha.
9711
cb9215e4
GM
9712 * m/alpha.h (_LP64) [!_LP64]: Define.
9713 (ORDINARY_LINK): Define for NetBSD.
9714
9715 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9716
f532dca0
DL
97172000-04-19 Dave Love <fx@gnu.org>
9718
c750667e
DL
9719 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9720 change.
9721
9722 * Makefile.in (LIBS): Don't use.
9723 (GETLOADAVG_OBJ): Define again.
9724 (otherobj): Add GETLOADAVG_OBJ.
9725
f532dca0
DL
9726 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9727
1c7e22fd
GM
97282000-04-18 Gerd Moellmann <gerd@gnu.org>
9729
f6d3257b
GM
9730 * lread.c (read_filtered_event): Cancel and start busy cursor.
9731
427ec082 9732 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9733 that the per-character metrics may be null.
9734
e10f64e7
GM
97352000-04-17 Gerd Moellmann <gerd@gnu.org>
9736
0daee095
GM
9737 * buffer.c (clone_per_buffer_values): New function.
9738 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9739 clone_per_buffer_values if CLONE is not nil.
9740
e10f64e7
GM
9741 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9742
38687d43
DL
97432000-04-16 Dave Love <fx@gnu.org>
9744
9745 * Makefile.in: Remove obsolete localcpp stuff.
9746 (GETLOADAVG_OBJ): Don't define.
9747 (obj): Move LIBOBJS...
9748 (otherobj): ... to here.
9749 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9750 whitespace-only lines after the continuation (Irix).
9751
c21c7262
GM
97522000-04-14 Gerd Moellmann <gerd@gnu.org>
9753
9754 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9755
9756 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9757
314767c0
DL
97582000-04-14 Dave Love <fx@gnu.org>
9759
9760 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9761 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9762 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9763 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9764 NLIST_STRUCT.
9765
9766 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9767 autoconfiscated HAVE_GETLOADAVG.
9768
9769 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9770 BROKEN_MKTIME.
9771
a2522dca
GM
97722000-04-14 Gerd Moellmann <gerd@gnu.org>
9773
9774 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9775 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9776
33744b5d
DL
97772000-04-14 Dave Love <fx@gnu.org>
9778
c21c7262 9779 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9780 (INTERVAL_SRC): Convert to make variable.
9781 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9782 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9783 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9784 add LIBOBJS.
9785 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9786 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9787 (shortlisp): Add facemenu, float-sup, frame.
9788 (SOME_MACHINE_LISP): Remove them from here.
9789 (LIBES): Change unused LDLIBS to autoconf LIBS.
9790
9791 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9792
9d3d5916
KH
97932000-04-14 Kenichi Handa <handa@etl.go.jp>
9794
9795 * composite.c (update_compositions): If FROM and TO are not in a
9796 valid range, do nothing.
9797
198e3c7a
GM
97982000-04-13 Gerd Moellmann <gerd@gnu.org>
9799
52283633 9800 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9801
52283633 9802 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9803
9804 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9805 as TERMCAP_OBJ.
9806
055a28c9
EZ
98072000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9808
9809 * fileio.c (a_write): Remove redundant semi-colons.
9810 (e_write): Return -1 if failed to write all the data.
9811 This fixes the changes made at 1999-12-15.
9812
f5c75033
DL
98132000-04-12 Dave Love <fx@gnu.org>
9814
9815 * fns.c (mapcar1): Test for null vals to support mapc.
9816 (Fmapc): New function.
9817
0c3cfc51
EZ
98182000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9819
9820 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9821 (IT_frame_up_to_date): Support the buffer local value of
9822 cursor-type, if defined.
9823
33465a31
DL
98242000-04-10 Dave Love <fx@gnu.org>
9825
9826 * editfns.c (preceding-char, following-char): Doc fix.
9827
6ed56568
KR
98282000-04-10 Ken Raeburn <raeburn@gnu.org>
9829
9830 * Makefile.in (temacs): Revert 2000-03-12 change.
9831
7cf80d4e
JR
98322000-04-10 Jason Rumney <jasonr@gnu.org>
9833
9834 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9835
34f3f342
GM
98362000-04-10 Gerd Moellmann <gerd@gnu.org>
9837
1a1b1895
GM
9838 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9839 area buffer, if it's not set up yet.
9840
34f3f342
GM
9841 * indent.c (compute_motion): Set immediate_quit.
9842
be0dbdab
GM
98432000-04-09 Gerd Moellmann <gerd@gnu.org>
9844
52283633 9845 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9846 (realize_tty_face): Suppress boldness if colors are the inverse of
9847 the default colors, and tty_suppress_bold_inverse_default_colors_p
9848 is set.
9849 (Ftty_suppress_bold_inverse_default_colors): New function.
9850 (syms_of_xfaces): Defsubr it.
9851
be0dbdab
GM
9852 * buffer.c (Frestore_buffer_modified_p): New function.
9853 (syms_of_buffer): Defsubr it.
9854
e8413c3b
KR
98552000-04-08 Ken Raeburn <raeburn@gnu.org>
9856
87f67317
KR
9857 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9858 charset id (int) argument, not a charset (Lisp_Object).
9859
e8413c3b
KR
9860 * coding.h (code_convert_string): Declare.
9861 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9862 object, as the fourth argument to code_convert_string.
9863
52283633 9864 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9865 (Fset_fontset_font): Use EQ to compare lisp objects.
9866
7c752c80
KR
98672000-04-05 Ken Raeburn <raeburn@gnu.org>
9868
c0333abc
KR
9869 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9870 a pointer that looks like a lisp object.
9871 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9872 zero, instead see whether it's an integer object, since they can't
9873 have intervals.
9874 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9875
52283633
SM
9876 * dispnew.c (allocate_matrices_for_frame_redisplay)
9877 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9878 to convert between (unsigned) int values and lisp integers.
9879 * keyboard.c (read_key_sequence): Likewise.
9880 * lread.c (substitute_object_recurse): Likewise.
9881 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9882 * minibuf.c (do_completion, Fminibuffer_complete_word)
9883 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9884 * term.c (produce_special_glyphs): Likewise.
9885
9886 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9887 * print.c (print_preprocess, print_object): Likewise.
9888
9889 * search.c (compile_pattern): Use NILP when checking for nil.
9890
74e49b38
KR
9891 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9892 __OPTIMIZE__]: Provide a GNU C macro version that handles
9893 lisp-object unions.
9894 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9895 field, to better cope with ENABLE_CHECKING and calls that modify a
9896 Lisp_Object using its old value.
9897
685e5ed2
GM
98982000-04-04 Gerd Moellmann <gerd@gnu.org>
9899
c407c570
GM
9900 * window.c (compare_window_configurations): Signal an error
9901 if parameters C1 or C2 aren't window configurations.
9902
685e5ed2
GM
9903 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9904 AFTER_POTENTIAL_GC calls around calls to functions that can
9905 signal an error and thus invoke the debugger.
9906
587a49ab
GM
99072000-04-03 Gerd Moellmann <gerd@gnu.org>
9908
62f20204
GM
9909 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9910 an error if decoding fails.
9911
587a49ab
GM
9912 * keyboard.c (lispy_mouse_names): Variable removed.
9913 (Vlispy_mouse_stem): New variable.
9914 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9915 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9916 for any mouse button number. Increase size of mouse_syms and
9917 button_down_location as needed. Call modify_event_symbol with
9918 different arguments.
9919 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9920 Call modify_event_symbol with different arguments.
9921 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9922 for any button number. Call modify_event_symbol with different
9923 arguments.
9924 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9925 Accept a string for NAME_ALIST_OR_STEM.
9926
9927 * lisp.h (larger_vector): Add prototype.
9928
9929 * fns.c (larger_vector): Make externally visible.
9930
9931 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9932
2d1675e4
SM
99332000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9934
9935 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9936 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9937 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9938 we are between str1 and str2.
9939 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9940 (PATFETCH): Use `TRANSLATE'.
9941 (PATFETCH_RAW): Fetch multibyte char if applicable.
9942 (PATUNFETCH): Remove.
9943 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9944 When writing a char, write it directly into the pattern buffer rather
9945 than going needlessly through a temp char-array.
9946 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9947 multibyte magic and remove the useless `#ifdef emacs'.
9948 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9949 buffer.
9950
9951 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9952 conditional on `emacs'.
9953
9954 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9955
cc2d8c6b
KR
99562000-04-01 Ken Raeburn <raeburn@gnu.org>
9957
9958 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9959 non-union-type versions of XMARK and friends here, because XMARK
9960 and friends won't work on an integer field if NO_UNION_TYPE is not
9961 defined.
52283633 9962 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9963
52283633 9964 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9965 (syms_of_composite): Delete local var NARGS, pass an int as first
9966 argument to Fmake_hash_table.
9967
2387b382
KR
9968 * editfns.c (text_property_stickiness): Use NILP to test
9969 Lisp_Object boolean value.
9970 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9971 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9972 problems reading from and changing the same lisp value in an
9973 XSETSTRING call.
9974
27660e89
GM
99752000-04-01 Gerd Moellmann <gerd@gnu.org>
9976
9977 * term.c (TN_no_color_video): New variable.
9978 (term_init): Intitialize TN_no_color_video.
9979 (enum no_color_bit): New enumeration.
9980 (MAY_USE_WITH_COLORS_P): New macro.
9981 (turn_on_face): Use it to determine if attributes may be used
9982 combined with colors.
9983
3578db3c
KR
99842000-04-01 Ken Raeburn <raeburn@gnu.org>
9985
9986 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9987 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9988 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9989 proper accessor macros.
9990 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9991 (grow_mini_window): Fix typo getting int value of root->height.
9992
6fc556fd
KR
9993 * xdisp.c (compute_string_pos): Fix order of arguments to
9994 string_pos_nchars_ahead.
9995 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9996 count arg to variable-arg routines like Frun_hook_with_args and
9997 Fformat.
587a49ab
GM
9998 (back_to_previous_visible_line_start)
9999 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10000 fixed-arg routines like Fget_char_property and Fmake_string.
10001 (reconsider_clip_changes): Use XINT when comparing integer lisp
10002 objects, or passing them as int arguments.
587a49ab
GM
10003 (mark_window_display_accurate, insert_left_trunc_glyphs)
10004 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10005 storing or passing integer values as lisp objects.
10006 (set_cursor_from_row, highlight_trailing_whitespace): Use
10007 INTEGERP, not implicit test against zero, for glyph object.
10008 (try_window_id): Don't use make_number when we want an int value.
10009
10010 * xfaces.c (xlfd_symbolic_value): Make last argument a
10011 Lisp_Object, to be consistent with callers.
10012 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10013 (lface_hash): Apply XFASTINT to lisp values before folding in.
10014
10015 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10016 fill in window width and height. Pass an int, not a lisp object,
10017 as first arg to Finsert.
10018
6e7b2457
GM
100192000-04-01 Gerd Moellmann <gerd@gnu.org>
10020
610d841e
GM
10021 * xfaces.c (realize_basic_faces): Block input while realizing
10022 the faces.
10023
6e7b2457
GM
10024 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10025
10026 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10027
aa110c0c
GM
100282000-03-31 Gerd Moellmann <gerd@gnu.org>
10029
10030 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10031 or ASCII, handle case that per-char metric is null.
aa110c0c 10032
8801a864
KR
100332000-03-30 Ken Raeburn <raeburn@gnu.org>
10034
c6129d7e
KR
10035 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10036
52283633
SM
10037 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10038 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10039 pointer, using eassert.
10040 * frame.h (XFRAME): Likewise.
10041
52283633
SM
10042 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10043 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10044 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10045 * data.c (set_internal): Likewise.
52283633
SM
10046 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10047 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10048 * fileio.c (auto_save_1): Likewise.
10049 * insdel.c (check_markers): Likewise.
10050 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10051 * undo.c (record_insert): Likewise.
10052 * vmsproc.c (child_sig): Likewise.
10053 * window.c (unshow_buffer, window_loop): Likewise.
10054 * xterm.c (x_erase_phys_cursor): Likewise.
10055
8e7af858
GM
100562000-03-30 Gerd Moellmann <gerd@gnu.org>
10057
10058 * xfns.c (free_image_cache): Free the cache structure itself
10059 last, after all its members have been freed.
10060
10061 * lisp.h (xstrdup): Add prototype.
10062
10063 * alloc.c (xstrdup): Moved here from xfaces.c.
10064 (allocating_for_lisp): Variable removed.
52283633 10065 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10066
10067 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10068 of Fsymbol_value.
10069 (xstrdup): Moved to alloc.c.
10070
e0b8c689
KR
100712000-03-29 Ken Raeburn <raeburn@gnu.org>
10072
b96f9fb7
KR
10073 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10074
10075 * emacs.c (main): Fix sense of no-loadup test.
10076
e0b8c689
KR
10077 * config.in (ENABLE_CHECKING): Undef.
10078
10079 * lisp.h (struct interval): Replace "parent" field with a union of
10080 interval pointer and Lisp_Object; add new bitfield to use as
10081 discriminant. Change other flag fields to bitfields.
10082 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10083 is defined and the supplied test fails, print a message and abort.
10084 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10085
10086 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10087 pointers; abort if the value looks like a lisp object.
52283633
SM
10088 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10089 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10090 Modify for new interval parent definition.
10091
52283633
SM
10092 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10093 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10094 addressable lisp object in the interval structure.
10095 (die): New function.
10096 (suppress_checking): New variable.
10097
10098 * intervals.c (interval_start_pos): Just return 0 if there's no
10099 parent object.
10100
f83c5440
GM
101012000-03-29 Gerd Moellmann <gerd@gnu.org>
10102
10103 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10104 and earlier Emacs versions.
10105
10106 * keyboard.c (Ftop_level): Cancel busy-cursor.
10107
10108 * eval.c (call_debugger): Cancel busy-cursor.
10109
fdce64ff
KH
101102000-03-29 Kenichi Handa <handa@etl.go.jp>
10111
10112 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10113 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10114
f6a3f532
SM
101152000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10116
10117 * regex.c (analyse_first): New function obtained by ripping out most
10118 of re_compile_fastmap and generalizing it a little bit so that it
10119 can also just return whether a given (sub)pattern can match the empty
10120 string or not.
10121 (regex_compile): Use `analyse_first' to decide whether the loop-check
10122 needs to be done or not for *, +, *? and +? (the loop check is costly
10123 for non-greedy repetition).
10124 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10125
e9b309ac
DL
101262000-03-28 Dave Love <fx@gnu.org>
10127
52283633 10128 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10129
e9b309ac
DL
10130 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10131
ed0767d8
SM
101322000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10133
10134 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10135 an expression.
10136 (enum re_opcode_t): Update description of succeed_n.
10137 (PATFETCH): Always define.
10138 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10139 operators, char classes, shy-groups and intervals).
10140 Optimize special cases of intervals so as to only use succeed_n and
10141 jump_n when really needed.
10142 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10143 that we don't have to handle the special cases any more.
10144 Simplify on_failure_jump handling as well.
10145
e11e7e46
JR
101462000-03-28 Jason Rumney <jasonr@gnu.org>
10147
10148 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10149
88faab89
GM
101502000-03-27 Gerd Moellmann <gerd@gnu.org>
10151
182ff242
GM
10152 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10153
10154 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10155
182ff242
GM
10156 * alloc.c (mark_maybe_object): New function.
10157 (mark_memory): Use it.
10158 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10159 (setjmp_tested_p, longjmp_done): New variables.
10160 (test_setjmp): New function.
10161 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10162 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10163
c1005d06
GM
10164 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10165 to DEC_TEXT_POS and INC_TEXT_POS.
10166
10167 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10168 with parameter MULTIBYTE_P.
10169
52283633 10170 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10171
7439e5b9 10172 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10173 buffers because it looks for multibyte character byte sequences
10174 which don't exist in unibyte text.
7439e5b9 10175
d9c545da
GM
10176 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10177
11fd416e 10178 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10179 [DEBUG_X_COLORS]: New functions.
10180 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10181
10182 * xfns.c (x_set_cursor_color): Get color reference counts right.
10183
10184 * xterm.c (x_copy_color): New function.
10185 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10186
10187 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10188 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10189 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10190 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10191 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10192 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10193 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10194 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10195 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10196 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10197
11fd416e
GM
10198 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10199 names for handling per-buffer variables.
d9c545da
GM
10200
10201 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10202 instead of MAX_BUFFER_LOCAL_VARS.
10203 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10204
10205 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10206
88faab89
GM
10207 * xfns.c (x_specified_cursor_type): New function.
10208 (x_set_cursor_type): Use it.
10209
10210 * buffer.h (struct buffer): Add cursor_type.
10211
d80f42b7
SM
102122000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10213
10214 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10215 (print_partial_compiled_pattern, re_compile_fastmap):
10216 Handle new opcode.
d80f42b7
SM
10217 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10218 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10219 executing it as well as when popping it off the stack to find infinite
10220 loops in non-greedy repetition operators.
10221
89e80928
GM
102222000-03-26 Gerd Moellmann <gerd@gnu.org>
10223
3d4ff2dd
GM
10224 * doc.c (Qfunction_documentation): New variable.
10225 (syms_of_doc): Initialize Qfunction_documentation.
10226 (Fdocumentation): If FUNCTION is a symbol with non-nil
10227 `function-documentation' property, return a documentation derived
10228 from that.
10229
bd96bd79
GM
10230 * buffer.c (syms_of_buffer): Add default-cursor-type.
10231 (init_buffer_once): Don't let cursor_type have a local value
10232 in every buffer.
10233
19d1bc27
GM
10234 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10235 on buffer-local value of cursor_type.
10236 (x_draw_bar_cursor): Add parameter WIDTH.
10237
10238 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10239 (init_buffer_once): Set default cursor_type value to t.
10240 Mark cursor_type as local everywhere.
10241 (syms_of_buffer): New per-buffer variable cursor-type.
10242
89e80928
GM
10243 * buffer.h (struct buffer): Remove member local_var_flags,
10244 add local_flags.
10245 (MAX_BUFFER_LOCAL_VARS): New macro.
10246 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10247 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10248 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10249 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10250
52283633 10251 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10252
10253 * category.c (Fset_category_table): Use new macros for per-buffer
10254 variables.
10255
10256 * buffer.c (buffer_permanent_local_flags): Make a char array.
10257 (max_buffer_local_idx): New variable.
10258 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10259 for new handling of per-buffer variables.
10260 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10261 (init_buffer_once): Initialize per-buffer vars differently.
10262 Set max_buffer_local_idx.
10263
10264 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10265 variables.
10266
52283633 10267 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10268
10269 * data.c (do_symval_forwarding, store_symval_forwarding)
10270 (find_symbol_value, set_internal, default_value, Fset_default)
10271 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10272 per-buffer variables.
10273
10274 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10275
9a0dd3dc
GM
102762000-03-24 Gerd Moellmann <gerd@gnu.org>
10277
b68c375f
GM
10278 * xterm.c (x_term_init): Unblock input around call1 of
10279 Qvendor_specific_keysyms.
10280
9a0dd3dc
GM
10281 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10282 (find_defun_start): Consider an open parenthesis in column 0
10283 a defun start only if open_paren_in_column_0_is_defun_start is set.
10284 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10285
7973e637
SM
102862000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10287
10288 * eval.c (Fautoload): Add entry in load-history (if after dump).
10289 * lread.c (load-history): Update docstring.
10290
39210e90
GM
102912000-03-24 Gerd Moellmann <gerd@gnu.org>
10292
10293 * indent.c (Fvertical_motion): Always use the current buffer.
10294 Temporarily change the window's buffer, if necessary.
10295
72db3ab5
GM
102962000-03-23 Gerd Moellmann <gerd@gnu.org>
10297
10298 * xterm.c (fast_find_position): Make sure not to consider rows
10299 not visible in the window.
10300
990b2375
SM
103012000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10302
10303 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10304 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10305
ff4df011
JR
103062000-03-22 Jason Rumney <jasonr@gnu.org>
10307
10308 * w32menu.c (single_submenu): Set help string to NULL if none.
10309 (w32_menu_show): Set help string correctly.
10310 (add-menu-item): Set help string in MIIM_DATA for menu item.
10311 Load SetMenuItemInfoA explicitly.
10312 (w32_menu_display_help): New function.
427ec082 10313
ff4df011
JR
10314 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10315 (QCdata): Moved to xdisp.c.
10316
10317 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10318 (Vw32_charset_to_codepage_alist): Removed.
10319 (Vw32_charset_info_alist): New variable.
52283633
SM
10320 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10321 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10322 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10323 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10324 with TODO comment.
10325 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10326 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10327 Define Vw32_charset_info_alist and w32_charset symbols.
10328
103292000-03-22 Jason Rumney <jasonr@gnu.org>
10330
10331 * makefile.nt (w32bdf.obj): Update dependencies.
10332
10333 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10334
10335 * w32fns.c: Include fontset.h after dispextern.h.
10336 (Fx_create_frame): Do not create fontset.
10337 (w32_load_system_font): Doc fix.
10338 (Fx_close_connection): Free full_name if it is not shared.
10339
10340 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10341 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10342 Callers updated.
ff4df011
JR
10343 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10344 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10345 (w32_font_is_double_byte): New function, needs body.
10346 (x_append_glyph): Set glyph->glyph_not_available_p.
10347 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10348 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10349 character, convert it to a unibyte character.
10350 (struct glyph_string): Delete member `charset'.
10351 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10352 calculating it is found.
10353 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10354 the case that per char metric is not available correctly.
10355 (x_fill_glyph_string): Handle the case that the specific glyph is
10356 not available correctly.
10357 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10358 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10359 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10360 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10361 fontset. Don't call FS_LOAD_FONT.
10362
439d5cb4
KR
103632000-03-22 Ken Raeburn <raeburn@gnu.org>
10364
10365 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10366 (INT_LISPLIKE): New macro.
10367 (NULL_INTERVAL_P): Use it.
52283633
SM
10368 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10369 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10370 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10371
10372 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10373 explicit references to "parent" field of struct interval and
10374 associated unclean type conversions.
52283633
SM
10375 * intervals.c (create_root_interval, root_interval, rotate_right)
10376 (rotate_left, balance_possible_root_interval, split_interval_right)
10377 (split_interval_left, interval_start_pos, find_interval)
10378 (next_interval, previous_interval, update_interval)
10379 (adjust_intervals_for_insertion, delete_node, delete_interval)
10380 (adjust_intervals_for_deletion, merge_interval_right)
10381 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10382 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10383 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10384 Likewise.
10385 * syntax.c (update_syntax_table): Likewise.
10386
10387 * intervals.c (reproduce_tree_obj): New function, like
10388 reproduce_tree but takes a Lisp_Object for the parent. Declare
10389 with prototype.
10390 (graft_intervals_into_buffer): Use it when appropriate.
10391 (reproduce_tree): Declare with prototype.
10392 (balance_possible_root_interval): Check that the parent is a lisp
10393 object before trying to examine its type.
10394
ee1c5b21
GM
103952000-03-22 Gerd Moellmann <gerd@gnu.org>
10396
10397 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10398 as strings only if both are known to be strings.
10399
10400 * s/openbsd.h (LIBS_TERMCAP): Undef.
10401
1fb352e0
SM
104022000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10403
10404 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10405 definitions for non-Emacs compilation.
10406 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10407 outside of `#ifdef emacs'.
10408 (print_partial_compiled_pattern): Update.
10409 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10410 (re_compile_fastmap): Merge handling of charset and charset_not (for
10411 emacs and non-emacs compilation as well).
10412 Similarly for (not)categoryspec and (not)syntaxspec.
10413 Don't use the fastmap when reaching `anychar' since the added
10414 complexity is not justified.
10415 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10416 and (not)syntaxspec. Merge (not)categoryspec.
10417
fdaa1f77
KH
104182000-03-22 Kenichi Handa <handa@etl.go.jp>
10419
52283633
SM
10420 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10421 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10422 --without-x.
fdaa1f77 10423
d152fb46
DL
104242000-03-21 Dave Love <fx@gnu.org>
10425
10426 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10427 doc string.
10428
d2cafc8c
GM
104292000-03-21 Gerd Moellmann <gerd@gnu.org>
10430
10431 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10432 (lface_fully_specified_p): Don't check contents of
10433 LFACE_FONT_INDEX because that attribute is optional.
10434 (realize_x_face): Remove now unwarranted xassert.
10435
9111d4b5
KH
104362000-03-21 Kenichi HANDA <handa@etl.go.jp>
10437
10438 The following changes are to make font selection based on
10439 characters, not charset. In addition, they recover fontset
10440 facilities while utilizing the new font selection mechanism.
10441
6c4bfdc0
KH
10442 * Makefile.in (fontset.o): Depend on dispextern.h.
10443
10444 * alloc.c (mark_face_cache): Don't mark face->registry.
10445
9111d4b5
KH
10446 * dispextern.h (struct glyph): New member glyph_not_available_p.
10447 Use 22 bits for face_id.
10448 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10449 (struct face): Delete member registry, new member ascii_face.
10450 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10451 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10452 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10453 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10454
10455 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10456 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10457 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10458 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10459 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10460 (fs_free_face_fontset, fontset_font_pattern)
10461 (face_suitable_for_char_p, face_for_char)
10462 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10463 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10464 (FS_LOAD_FACE_FONT): New macro.
10465
10466 * fontset.c: All codes rewritten or adjusted for the change of
10467 fontset implementation. Now fontset is represented by char table.
52283633
SM
10468 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10469 Variables removed.
9111d4b5 10470 (my_strcasecmp): Function removed.
52283633 10471 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10472 (AREF, ASIZE): New macros.
52283633
SM
10473 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10474 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10475 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10476 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10477 (fontset_id_valid_p, font_family_registry, fontset_name)
10478 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10479 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10480 New functions.
10481 (fs_load_font): New arg FACE. Caller changed.
10482 (fs_query_fontset): Argument changed. Caller changed.
10483 (Fquery_fontset): call fs_query_fontset.
10484 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10485 Functions removed.
52283633
SM
10486 (clear_fontset_elements, check_registry_encoding)
10487 (check_fontset_name): New functions.
9111d4b5
KH
10488 (syms_of_fontset): Set char-table-extra-slots property of fontset
10489 to 3. Staticpro and initialize Vfontset_table and
10490 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10491
10492 * frame.h (struct frame): Member `fontset_data' removed.
10493 (FRAME_FONTSET_DATA): Macro removed.
10494
10495 * frame.c (make_frame): Don't allocate f->fontset_data.
10496 (Fdelete_frame): Don't free f->fontset_data.
10497
6c4bfdc0
KH
10498 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10499
9111d4b5
KH
10500 * xdisp.c (charset_at_position): Function removed.
10501 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10502 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10503 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10504 Likewise.
10505 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10506 FACE_FOR_CHARSET.
52283633
SM
10507 (get_next_display_element, append_space)
10508 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10509
10510 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10511 Variables removed.
10512 (clear_font_table, frame_update_line_height, load_face_font):
10513 Adjusted for the change of fontset implementation.
10514 (load_face_fontset_font): Function removed.
10515 (pixel_point_size): New function.
10516 (font_list): Argument type changed. Caller changed.
10517 (LFACE_FONT): New macro.
10518 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10519 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10520 Lisp_Object. Determine the font name by actually loading a font
10521 by the specified pattern. Set LFACE_FONT (lface) to the specified
10522 pattern. Even if a font is not found, don't try alternatives.
10523 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10524 (set_font_frame_param): If `font' is specified in lface, use it.
10525 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10526 (lface_same_font_attributes_p): Likewise.
10527 (make_realized_face): Arguent changed. Caller changed. Set
10528 face->ascii_face to face itself.
10529 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10530 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10531 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10532 (free_realized_multibyte_face): New function.
10533 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10534 changed. Caller changed.
10535 (try_font_list): Argument type changed.
10536 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10537 (choose_face_font): Argument changed. Handle fontset properly.
10538 (choose_face_fontset_font): Function removed.
10539 (realize_default_face, realize_named_face): Don't remove the
10540 former face here.
10541 (realize_face): Argument changed. Caller changed. Remove face
52283633 10542 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10543 (realize_x_face): Argument changed. Caller changed. For a
10544 multibyte character, share fontset with base_face. For a single
52283633 10545 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10546 (realize_tty_face): Argument changed. Caller changed.
10547 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10548 (face_at_buffer_position): Don't check multibyte_p for returning
10549 DEFAULT_FACE_ID.
10550 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10551 FACE_SUITABLE_FOR_CHARSET_P.
10552 (syms_of_xfaces): Remove code for Qx_charset_registry and
10553 Vface_default_registry.
10554
6c4bfdc0
KH
10555 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10556 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10557 (x_per_char_metric): Don't try FONT->default_char. Even if
10558 pcm->width is zero, glyph bits may exist.
10559 (x_encode_char): Always initialize char2b->byte1.
10560 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10561 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10562 (x_append_glyph): Set glyph->glyph_not_available_p.
10563 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10564 it->charset. Handle the case that per char metric is not
10565 available. If it->multibyte_p is zero and it->c is a multibyte
10566 character, convert it to a unibyte character.
10567 (struct glyph_string): Delete member `charset'.
10568 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10569 the case that per char metric is not available correctly.
10570 (x_fill_glyph_string): Handle the case that the specific glyph is
10571 not available correctly.
10572 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10573 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10574 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10575 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10576 fontset. Don't call FS_LOAD_FONT.
10577
10578 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10579 (x_create_tip_frame): Likewise.
10580 (Fx_close_connection): Free full_name of font_info.
10581
10582 * fns.c (optimize_sub_char_table): New function.
10583 (Foptimize_char_table): New function.
10584 (syms_of_fns): Defsubr Soptimize_char_table.
10585
b33dd3b0
GM
105862000-03-20 Gerd Moellmann <gerd@gnu.org>
10587
10588 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10589 only if buffer is displayed in some window.
10590
10591 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10592 (try_window_reusing_current_matrix): Don't call scroll run
10593 function if run's current and desired position are the same;
10594 this prevents cursor flickering.
10595
4e8a9132
SM
105962000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10597
10598 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10599
10600 * regex.c (RE_STRING_CHAR): New macro.
10601 (GET_CHAR_AFER_2): Remove.
10602 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10603 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10604 (print_partial_compiled_pattern, re_compile_fastmap)
10605 (re_match_2_internal): Remove on_failure_jump_exclusive.
10606 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10607 optimization only need to work for * (ie. can use of_keep_string_jump).
10608 Remove the special case for .*\n since it is now covered by the general
10609 optimization.
10610 (re_search_2): Don't bother with `room'.
10611 (skip_one_char): New function.
10612 (skip_noops): Simplify since `memory' is not needed any more.
10613 (mutually_exclusive_p): Restructure slightly to use `switch' and
10614 add handling for "all" remaining cases.
10615 (re_match_2_internal): Change on_failure_jump_smart to use
10616 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10617 rather than on_failure_jump_exclusive.
10618
2136fdd4
GM
106192000-03-19 Gerd Moellmann <gerd@gnu.org>
10620
10621 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10622 number of bits per RGB because it's everywhere used as the depth
10623 of the visual.
10624
10625 * term.c (calculate_costs): Remove code dealing with X frames.
10626
18e21ce8 106272000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10628
10629 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10630
d7b511c4
GM
106312000-03-18 Gerd Moellmann <gerd@gnu.org>
10632
10633 * lread.c (read_integer): Unread the last char not consumed.
10634
16b5d424
GM
106352000-03-17 Gerd Moellmann <gerd@gnu.org>
10636
10637 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10638 which are in the process of being deleted.
16b5d424 10639
1fa28578
GM
106402000-03-16 Gerd Moellmann <gerd@gnu.org>
10641
83488cce
GM
10642 * Makefile.in (mostlyclean): Add `*.core'.
10643 (clean): Add `bootstrap-emacs'.
10644
1fa28578
GM
10645 * lread.c (read_integer): New function.
10646 (read1): Support read syntax #o, #x, #b, #r.
10647
99633e97
SM
106482000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10649
1fa28578
GM
10650 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10651 make sure POINTER_TO_OFFSET gives the same value before and after
10652 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10653 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10654 (debug): Now only active if > 0 rather than if != 0.
10655 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10656 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10657 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10658 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10659 (store_op1, store_op2, insert_op1, insert_op2)
10660 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10661 (group_in_compile_stack): Move to after its arg's types are
10662 declared and add a prototype.
99633e97 10663 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10664 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10665 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10666 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10667 indentation of the greedy-op and shy-group code.
99633e97
SM
10668 (at_(beg|end)line_loc_p): Fix argument's types.
10669 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10670 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10671 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10672 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10673 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10674 QUIT unconditionally.
99633e97 10675
699238d9
GM
106762000-03-15 Gerd Moellmann <gerd@gnu.org>
10677
10678 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10679 a sole completion.
10680
10681 * process.c (send_process): Add a hint that the function
10682 can call Lisp code to its comment.
10683
10684 * lread.c (load_dangerous_libraries): New variable.
10685 (Vbytecomp_version_regexp): New variable.
10686 (safe_to_load_p): New function.
10687 (Fload): Handle files not compiled with Emacs specially.
10688 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10689
34e23e5a
GM
106902000-03-14 Gerd Moellmann <gerd@gnu.org>
10691
9c763cca
GM
10692 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10693
10694 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10695 support functions only if HAVE_X11R6_XIM is defined.
10696 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10697
10698 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10699
10700 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10701 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10702 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10703
10704 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10705 (HAVE_X11R6_XIM): Define.
10706
10707 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10708
34e23e5a
GM
10709 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10710 If set, call XSynchronize.
10711
66f0296e
SM
107122000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10713
34e23e5a
GM
10714 * regex.c: Declare a new type `re_char' used throughout the code
10715 for the string char type. It's `const unsigned char' to match the
10716 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10717 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10718 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10719 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10720 code duplication.
66f0296e
SM
10721
10722 * charset.h (GET_CHAR_AFTER_2): Remove.
10723 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10724
854a025c
KR
107252000-03-12 Ken Raeburn <raeburn@gnu.org>
10726
10727 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10728 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10729 of them try to use backquotes.
10730
b9d2c7e2
DL
107312000-03-12 Dave Love <fx@gnu.org>
10732
10733 * unexelf.c: Restore changes of 1999-10-19.
10734 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10735 fix its type and alignment; copy it from current process.
10736
5e5dff44
GM
107372000-03-12 Gerd Moellmann <gerd@gnu.org>
10738
9b2f3c38
GM
10739 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10740 has been found. Fix bug not computing timer's predecessor.
10741
427ec082 10742 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10743 file name.
10744
e1cff360
GM
10745 * window.c (Fsave_window_excursion): Doc fix.
10746
52283633 10747 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10748
e411ce4b
EZ
107492000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10750
10751 * msdos.c (vga_installed): New function, code moved from
10752 dos_set_window_size.
10753 (Qbar, Qcursor_type, outside_cursor): New variables.
10754 (syms_of_msdos): Intern and staticpro them.
10755 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10756 shape used outside Emacs when called for the first time.
10757 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10758 cursor shape used outside Emacs.
10759 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10760 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10761 type has changed.
10762 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10763 parameters specify the cursor. Make qreverse a global
10764 variable (renamed to Qreverse).
10765
80460654
GM
107662000-03-09 Gerd Moellmann <gerd@gnu.org>
10767
10768 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10769
95cd4c40
SM
107702000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10771
10772 This is a big redesign of failure-stack and register handling, prompted
10773 by bugs revealed when trying to add shy-groups. Overall, what happened
10774 is that loops are now structured a little differently, groups can be
10775 shy and the code is a little simpler.
10776
10777 * regex.h: Update the copyright.
10778 (RE_SHY_GROUPS): New value.
10779 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10780 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10781
80460654
GM
10782 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10783 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10784 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10785 for (start|stop)_memory since they now only take one argument (the
10786 second has becomes unnecessary).
52283633 10787 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10788 (print_compiled_pattern): Use %ld to printf long ints and flush to
10789 make debugging a little easier.
95cd4c40
SM
10790 (union fail_stack_elt): Make the integer unsigned.
10791 (struct fail_stack_type): Add a `frame' element.
10792 (INIT_FAIL_STACK): Init `frame' as well.
10793 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10794 (DEBUG_PUSH, DEBUG_POP): Remove.
10795 (NUM_REG_ITEMS): Remove.
10796 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10797 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10798 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10799 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10800 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10801 New macros.
80460654
GM
10802 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10803 address pushed is not the destination of the jump but the source
10804 of it instead.
95cd4c40
SM
10805 (NUM_FAILURE_ITEMS): Remove.
10806 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10807 registers before the actual failure point). Don't hardcode any
10808 meaning for str==NULL anymore.
95cd4c40 10809 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10810 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10811 Remove.
95cd4c40
SM
10812 (REG_UNSET_VALUE): Use NULL (why not?).
10813 (compile_range): Remove declaration since it doesn't exist.
10814 (struct compile_stack_elt_t): Remove inner_group_offset.
10815 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10816 (regex_grow_registers): Remove dead code.
10817 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10818 (regex_compile): Add shy-groups Change loops to use
10819 on_failure_jump_smart&jump instead of
10820 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10821 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10822 variable to me). Use `jump' instead of `jump_past_alt' and don't
10823 bother with push_dummy_failure in alternatives since it is now
10824 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10825 emacs' for (re)allocating the stack.
10826 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10827 from loop when bufp->can_be_null rather than jumping to `done'.
10828 Avoid jumping backwards so as to ensure termination. Use
10829 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10830 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10831 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10832 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10833 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10834 (lowest_active_reg, highest_active_reg)
10835 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10836 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10837 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10838 variables. Push register (in `start_memory') on the stack rather
10839 than storing it in old_reg(start|end). Remove the cycle detection
10840 from `stop_memory', replaced by the use of on_failure_jump_loop
10841 for greedy loops. Add code for the new on_failure_jump_<foo>.
10842 Remove ad-hoc code in `on_failure_jump' to push more registers in
10843 the case of a loop. Take out code from `maybe_pop_jump' into
10844 separate functions and adapt it to the semantics of
10845 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10846 and push_dummy_failure. Remove dummy_failure handling and
10847 handling of `failures to jump to on_failure_jump' (this last one
10848 was already dead code, it seems).
10849 (group_match_null_string_p, alt_match_null_string_p)
10850 (common_op_match_null_string_p): Remove.
95cd4c40 10851
7397acc4
DL
108522000-03-08 Dave Love <fx@gnu.org>
10853
10854 * config.in: Don't depend on __STDC__ for volatile.
10855 Add POINTER_TYPE, PTR, PROTOTYPES.
10856
10857 * hftctl.c, strftime.c: Use PROTOTYPES.
10858 * eval.c (find_handler_clause): Likewise.
10859
10860 * mem-limits.h: Use POINTER_TYPE.
10861
10862 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10863 (memory_warnings): Declare using POINTER_TYPE.
10864
5e91ff9e
GM
108652000-03-08 Gerd Moellmann <gerd@gnu.org>
10866
feab4fba
GM
10867 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10868
52283633 10869 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10870
5e91ff9e
GM
10871 * xfns.c: Remove obsolete code in #if 0.
10872 (Fx_focus_frame): New function.
10873
a735b7e1
KH
108742000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10875
10876 * coding.c (coding_category_name): Add coding-category-utf-8,
10877 coding-category-utf-16-be, coding-category-utf-16-le.
10878 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10879 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10880 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10881 (detect_coding_utf_8): New function.
10882 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10883 UTF_16_LOW_SURROGATE_P): New macros.
10884 (detect_coding_utf_16): New function
10885 (detect_coding_mask): When priorities are specified, skip any
10886 categories that have `nil' coding-system. Fix bug of returning
10887 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10888 returns a mask not set in PRIORITIES.
10889 (detect_eol_type_in_2_octet_form): New function.
10890 (detect_eol): selects detect_eol_type_XXX to call according to
10891 cooding->category_idx.
10892 (detect_coding_system): Remove `nil' coding-system in the result.
10893 (Fupdate_coding_systems_internal): Update all coding-categories.
10894
52283633
SM
10895 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10896 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10897 New macros.
10898 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10899 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10900 (CODING_CATEGORY_IDX_UTF_16_LE)
10901 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10902 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10903 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10904 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10905
9994cc69
GM
109062000-03-07 Gerd Moellmann <gerd@gnu.org>
10907
e9b4e5ff
GM
10908 * doc.c (Fdocumentation_property): If value is not a string,
10909 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10910
f7daf1e1
GM
10911 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10912 close the display with XtCloseDisplay. This caused a bus error
10913 on OpenWindows.
10914
9994cc69
GM
10915 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10916 complete but not unique.
10917
4336c705
GM
109182000-03-06 Gerd Moellmann <gerd@gnu.org>
10919
18bb0684
GM
10920 * process.c (send_process): Remove local variable `procname' that
10921 might become invalid when a GC happens. Instead, access the
10922 process name slot directly.
10923
4336c705
GM
10924 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10925 orig_height if set.
10926
10927 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10928 orig_height if set.
10929
515d0d0e
EZ
109302000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10931
10932 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10933 glyph matrices have been freed.
10934
100b3cbb
GM
109352000-03-05 Gerd Moellmann <gerd@gnu.org>
10936
50df5e5a 10937 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10938 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10939
10940 * xfns.c (QCdata): Moved to xdisp.c.
10941
10942 * xdisp.c (QCdata): Moved here from xfns.c.
10943 (syms_of_xdisp): Initialize QCdata.
10944
10945 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10946
10947 * window.c (coordinates_in_window): Use
10948 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10949 FRAME_INTERNAL_BORDER_WIDTH.
10950
100b3cbb 10951 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10952 it is obviously invalid.
100b3cbb
GM
10953
10954 * xterm.c (x_term_init): Create a colormap if not using the
10955 default visual.
10956
10957 * xterm.h (select_visual): Change prototype.
10958
10959 * xfns.c (select_visual): Rewritten. Recognize user-specified
10960 visual classes.
10961 (visual_classes): New variable.
10962
64d739c4
GM
109632000-03-04 Gerd Moellmann <gerd@gnu.org>
10964
10965 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10966 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10967 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10968 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10969 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10970 XtNcolormap resources.
10971 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10972 (Fx_create_frame): Initialize color members of x_output structure.
10973 (xpm_load): Pass colormap to XPM lib.
10974
10975 * xfaces.c (x_free_colors): Access colormap of frame using
10976 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10977 when default colormap is used.
10978
10979 * xterm.c (x_term_init): Set Colormap member of x_display_info
10980 structure. Copy colormap if resource `privateColormap' is
10981 specified (PseudoColor only).
10982 (x_setup_relief_color): Access colormap of frame using
10983 FRAME_X_COLORMAP.
10984
10985 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10986 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10987
c3cee013
JR
109882000-03-04 Jason Rumney <jasonr@gnu.org>
10989
10990 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10991 other non-platform-specific equivalents.
64d739c4 10992 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10993 specific functions and macros as their w32 equivalents where
10994 non-platform-specifics are not available.
10995 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10996 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10997 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10998 (frame_update_line_height): Use macros to access f->output_data.
10999 (defined_color): Remove FIXME comments; fixed.
11000 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11001 into #ifdef blocks. Add WINDOWSNT blocks.
11002 (Fx_list_fonts): Use macros for accessing font data.
11003 (set_lface_from_font_name): Different default fonts for X and
11004 WINDOWSNT.
11005 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11006 scalable for backward compatibility.
64d739c4 11007 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11008 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11009
64d739c4 11010 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11011 syms_of_w32faces.
11012
11013 * makefile.nt (w32faces.obj): Remove.
11014 (xfaces.obj): Add.
11015
807cc41c
JR
110162000-03-03 Jason Rumney <jasonr@gnu.org>
11017
11018 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11019 correct parameters.
11020
0007072a
KR
110212000-03-03 Ken Raeburn <raeburn@gnu.org>
11022
11023 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11024 standard ELF definitions here if the system header does not.
11025
71a6ba55
GM
110262000-03-03 Gerd Moellmann <gerd@gnu.org>
11027
11028 * xterm.c (PER_CHAR_METRIC): Removed.
11029 (x_per_char_metric_1, x_default_char): New functions.
11030 (x_per_char_metric): If font's default char is invalid, return
11031 metrics of a suitably chosen usable default char.
11032 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11033 char, replace occurrences of unprintable chars with a suitably
11034 chosen usable default char.
71a6ba55 11035
900fa1f1
GM
110362000-03-02 Gerd Moellmann <gerd@gnu.org>
11037
42f55fe0
GM
11038 * xterm.c (note_mouse_highlight): Return quickly if frame's
11039 glyph matrices have been freed.
11040
11041 * dispnew.c (free_glyphs): Block input while freeing matrices.
11042
900fa1f1
GM
11043 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11044
52283633
SM
11045 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11046 Use x_free_colors.
900fa1f1
GM
11047
11048 * dispextern.h (x_free_colors): Add prototype.
11049
11050 * xfaces.c (x_free_colors): New function.
11051 (unload_color, free_face_colors): Use it.
11052
2f950292
EZ
110532000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11054
11055 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11056
11057 * window.c [MSDOS]: Include msdos.h.
11058
54d04320
DL
110592000-03-02 Dave Love <fx@gnu.org>
11060
11061 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11062
11063 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11064 set C_OPTIMIZE_SWITCH for gcc.
11065
0ba93ac4
KH
110662000-03-02 Kenichi Handa <handa@etl.go.jp>
11067
11068 * coding.c (coding_save_composition): Be sure to allocate
11069 composition data area in coding even if there's no composition in
11070 the current run.
11071
a2bc11d4
JR
110722000-03-01 Jason Rumney <jasonr@gnu.org>
11073
11074 * w32term.c: Equivalent changes to those made to xterm.c on
11075 2000-02-25 and 2000-02-24.
11076
11077 * w32fns.c: Equivalent changes to those made to xfns.c on
11078 2000-02-25 and 2000-02-21.
11079
11080 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11081 correct line-end convention is followed.
11082
11083 * w32menu.c [HAVE_BOXES]: Remove #undef.
11084 (single_keymap_panes): Remove code for simulating checkmarks.
11085 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11086 Remove code for drawing simulated checkmarks.
11087 (w32_menu_show): make unibyte help string correctly.
11088 (add_menu_item): draw standard Windows checkmarks. Draw radio
11089 buttons as radio buttons if possible.
11090
72d19d75
GM
110912000-03-01 Gerd Moellmann <gerd@gnu.org>
11092
2df636f4
GM
11093 * sysdep.c (start_of_text): Don't define this function for NetBSD
11094 with ELF.
11095
427ec082 11096 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11097 Don't define.
11098 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11099 (LINKER): Don't undef if __NetBSD__ is defined.
11100
11101 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11102
11103 * fileio.c [__NetBSD__]: Define `unix'.
11104
72d19d75
GM
11105 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11106
ed4d0512
GM
111072000-02-29 Gerd Moellmann <gerd@gnu.org>
11108
50b1039f
GM
11109 * atimer.c (start_atimer): Don't abort when timers are stopped.
11110 (append_atimer_lists): New function.
11111 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11112 arbitrary lists of stopped and running atimers.
11113
ed4d0512
GM
11114 * atimer.c (cancel_atimer): Handle canceling an atimer when
11115 some timers are stopped.
11116
11117 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11118 after canceling it.
11119
11120 * fns.c (maybe_resize_hash_table): Handle case of new size
11121 coming out as being the same as old size.
11122
387023ee
JR
111232000-02-27 Jason Rumney <jasonr@gnu.org>
11124
11125 * makefile.nt: Add atimer.h to dependencies.
11126 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11127 * w32console.c: Only disable window system features for dispextern.h
11128 (initialize_w32_display): Build a display info for the console.
11129 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11130 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11131 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11132 as 2 button mice.
11133 * w32gui.h (struct W32FontStruct): Revert last change after change
11134 to xdisp.c.
11135 * w32menu.c (single_submenu): Set up help string.
11136 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11137 (w32_dialog_show): Set up help string.
11138 * w32term.c (w32_display_info_for_display): Remove unused function.
11139 (w32_draw_bitmap): Use pre-built bitmaps.
11140 (w32_initialize_display_info): New function to initialize parts of
11141 display info that are common to both GUI and console frames.
11142 (w32_term_init): Use w32_initialize_display_info. Do not set
11143 Vw32_num_mouse_buttons here, as it is not called for console
11144 frames. Build bitmaps for indicating truncated lines etc.
11145 (x_delete_display): Destroy pre-built bitmaps.
11146 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11147 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11148
4516715a
DL
111492000-02-27 Dave Love <fx@gnu.org>
11150
11151 * lisp.h: Add a bunch of prototypes.
11152
171ca836
KH
111532000-02-26 Kenichi Handa <handa@etl.go.jp>
11154
11155 * keyboard.c (read_char): Set `usec' correctly.
11156
4013921d
KH
111572000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11158
11159 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11160 `lambda', set reg[RRR] to the map index.
11161 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11162 reg[RRR] to 0. Otherwise, set it to -1.
11163
9244a058
GM
111642000-02-25 Gerd Moellmann <gerd@gnu.org>
11165
2df636f4 11166 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11167
18e21ce8 111682000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11169
f43d79c1
GM
11170 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11171 and contains a `:', prepend `/:'.
11172
11173 * window.c (select_window_1): If selected_window is nil,
11174 don't "swap out" the buffer's point.
11175 (Fset_window_configuration): Set selected_window to nil
11176 before calling Fselect_window.
11177 (unshow_buffer): Don't set point in buffer from window's point
11178 if another more recently selected window also shows the buffer.
11179
bed0c171
GM
111802000-02-25 Gerd Moellmann <gerd@gnu.org>
11181
449c3c52
GM
11182 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11183
f5b58615
GM
11184 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11185 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11186 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11187 New variables.
f5b58615
GM
11188 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11189 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11190 (hide_busy_cursor): New functions.
11191 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11192
11193 * minibuf.c (read_minibuf): Cancel busy-cursor.
11194
11195 * keyboard.c (command_loop_1): Call start_busy_cursor before
11196 Fcommand_execute and cancel_busy_cursor after it.
11197 (timer_check): Remove busy-cursor code.
11198 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11199 cursor timer.
11200
11201 * process.c (wait_reading_process_input): Remove busy-cursor code.
11202
11203 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11204 Fx_hide_busy_cursor.
11205
11206 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11207 Remove prototyoes.
11208 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11209
11210 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11211
11212 * xterm.c (XTread_socket): Remove busy-cursor code.
11213
4eb8436f
GM
11214 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11215 (build_frame_matrix_from_leaf_window): Put code handling
11216 glyph row's not being a slice of a frame row in #if 0.
11217 (sync_window_with_frame_matrix_rows): New function.
11218 (frame_row_to_window): New function.
11219 (mirror_line_dance): Handle copies between windows.
11220
3cb65b0e
GM
11221 * lread.c (Fload): Use `xfree' instead of `free'.
11222 (init_obarray): Use `xmalloc' instead of `malloc'.
11223
bed0c171
GM
11224 * window.c (Fset_window_buffer): Set WINDOW to the window
11225 after decoding.
2add4349
GM
11226 (coordinates_in_window): Take frame's internal border width
11227 into account.
bed0c171 11228
42088c12
GM
112292000-02-24 Gerd Moellmann <gerd@gnu.org>
11230
11231 * xterm.c (x_display_and_set_cursor): Display cursor of
11232 non-selected windows depending on the setting of
11233 cursor_in_non_selected_windows.
11234
11235 * xdisp.c (cursor_in_non_selected_windows): New variable.
11236 (syms_of_xdisp): DEFVAR_BOOL it.
11237
d1e103b2
GM
112382000-02-23 Gerd Moellmann <gerd@gnu.org>
11239
723e779c
GM
11240 * data.c (Fstring_to_number): If number is greater than what
11241 fits into an integer, return a float.
11242
d1e103b2
GM
11243 * eval.c (specbind): Remove references to
11244 keyword_symbols_constant_flag.
11245
11246 * data.c (keyword_symbols_constant_flag): Removed.
11247 (Fmakunbound, set_internal, syms_of_data): Remove references to
11248 keyword_symbols_constant_flag.
11249
11250 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11251
214f877f
KH
112522000-02-23 Kenichi Handa <handa@etl.go.jp>
11253
11254 * syntax.c (multibyte_syntax_as_symbol): New variable.
11255 (syms_of_syntax): Declare it as a Lisp variable.
11256 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11257 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11258 nonzero, treat all multibyte characters as symbol.
52283633 11259 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11260
130adcb7
EZ
112612000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11262
3cb65b0e 11263 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11264 a deleted frame.
130adcb7 11265
17cbbf95
GM
112662000-02-21 Gerd Moellmann <gerd@gnu.org>
11267
11268 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11269
11270 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11271 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11272
beb0bc36
DL
112732000-02-21 Dave Love <fx@gnu.org>
11274
11275 * frame.c (Vmouse_position_function): New variable.
11276 (Fmouse_position): Use it.
11277 (syms_of_frame): Install it.
11278
11279 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11280
1d92afcd
GM
112812000-02-20 Gerd Moellmann <gerd@gnu.org>
11282
11283 * fileio.c (Finsert_file_contents): Unbind the binding of
11284 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11285
11286 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11287 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11288 (specbind, unbind_to): Handle most common case of non-constant
11289 symbol with trivial value specially.
11290
11291 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11292
18e21ce8 112932000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11294
11295 * data.c (Fmake_variable_buffer_local): Doc fix.
11296 Init found_for_buffer to 0.
11297 (Fmake_variable_frame_local): If the variable has already
11298 been buffer-local, set the check_frame field.
11299
1d4311c3
EZ
113002000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11301
11302 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11303 produced for CODING_MODE_LAST_BLOCK requires.
11304
2dc95ddd
DL
113052000-02-18 Dave Love <fx@gnu.org>
11306
11307 * keyboard.c (echo_keystrokes): Remove declaration.
11308 (Vecho_keystrokes) New variable.
11309 (read_char, record_menu_key, read_key_sequence): Use it to allow
11310 use of float value.
11311 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11312
11313 * lread.c: Undef feature selection macros before defining.
11314
f0930f35
GM
113152000-02-18 Gerd Moellmann <gerd@gnu.org>
11316
11317 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11318 for symbols other than the symbol in question.
11319
e3d4de90
DL
113202000-02-17 Dave Love <fx@gnu.org>
11321
11322 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11323
0b378936
GM
113242000-02-17 Gerd Moellmann <gerd@gnu.org>
11325
d621caf7
GM
11326 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11327
0b378936
GM
11328 * alloc.c (enum mem_type): Compile unconditionally.
11329
3b451f74
EZ
113302000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11331
11332 * xfaces.c (tty_defined_color): Don't return faulire indication
11333 for unspecified-fg and unspecified-bg pseudo-colors.
11334
10689a01
GM
113352000-02-17 Gerd Moellmann <gerd@gnu.org>
11336
1216f5e4
GM
11337 * alloc.c (mark_object): Don't mark symbol names in pure space.
11338 (gc_sweep): Don't unmark symbol names in pure space.
11339
11340 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11341 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11342 [GC_MARK_STACK]: New defines.
427ec082 11343 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11344 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11345
11346 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11347
11348 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11349 allocate_buffer instead of xmalloc.
11350
11351 * alloc.c (toplevel): Include setjmp.h.
11352 (PURE_POINTER_P): New define.
11353 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11354 (Vdead) [GC_MARK_STACK]: New variable.
11355 (lisp_malloc): Add parameter TYPE, call mem_insert if
11356 GC_MARK_STACK is defined.
11357 (allocate_buffer): New function.
427ec082 11358 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11359 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11360 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11361 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11362 (MEM_NIL) [GC_MARK_STACK]: New define.
11363 (struct mem_node) [GC_MARK_STACK]: New structure.
11364 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11365 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11366 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11367 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11368 (mark_stack) [GC_MARK_STACK]: New functions.
11369 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11370 (clear_marks): Removed.
11371 (gc_sweep): Set free conses' car, free floats' type, free
11372 symbols' function to Vdead. Use lisp_free to free buffers.
11373 (init_alloc_once): Initialize Vdead.
11374 (survives_gc_p): Return non-zero for pure objects.
11375
11376 * alloc.c: Add comments throughout the file.
11377
2503c8b1
GM
11378 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11379 that unblocks alarms.
11380
8389e1e2
GM
11381 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11382 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11383 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11384
10689a01 11385 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11386
bfc17d18
KH
113872000-02-17 Kenichi Handa <handa@etl.go.jp>
11388
4a09dee0
KH
11389 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11390 avoid infinite error signaling. Allocate sufficient memory for
11391 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11392
2b927d02
SM
113932000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11394
11395 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11396 depends on the previous behavior.
11397
b49cb764
GM
113982000-02-16 Gerd Moellmann <gerd@gnu.org>
11399
11400 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11401
99e95407
GM
114022000-02-15 Gerd Moellmann <gerd@gnu.org>
11403
11404 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11405
11406 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11407 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11408 write(2).
11409
6ffd3cf7
RS
114102000-02-15 Richard M. Stallman <rms@gnu.org>
11411
11412 * data.c (set_internal): Don't make variable buffer-local
11413 if within a let-binding for the same buffer.
11414 (let_shadows_buffer_binding_p): New function.
11415
11416 * eval.c (specbind): For buffer-local value,
11417 record the current buffer also.
11418 (unbind_to): Cope with that change.
11419
cad53475
GM
114202000-02-15 Gerd Moellmann <gerd@gnu.org>
11421
11422 * window.c (Fsave_window_excursion): Doc fix.
11423
1aa963c8
SM
114242000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11425
11426 * syntax.c (back_comment): Make sure we only consider comment-starters
11427 of the relevant style and return -1 in case of a failure to find the
11428 beginning of the comment.
11429 (Fforward_comment): If back_comment fails, go back to the position just
11430 after the comment-end.
11431 (scan_lists): Add comment describing a very minor bug.
11432
b9b84fd3
SM
114332000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11434
11435 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11436 `completion-regexp-list' in the docstring.
11437
3a28db80
DL
114382000-02-14 Dave Love <fx@gnu.org>
11439
11440 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11441
fb4a568d
SM
114422000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11443
11444 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11445 to Emacs' syntax. Also fix the comment about set/not-set meanings
11446 since Emacs syntax is not the value 0 any more.
11447 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11448 since it's now part of RE_SYNTAX_EMACS.
11449
1063ebb5
DL
114502000-02-12 Dave Love <fx@gnu.org>
11451
52283633 11452 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11453
fb07a302
GM
114542000-02-12 Gerd Moellmann <gerd@gnu.org>
11455
11456 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11457
aaf2320c
DL
114582000-02-12 Dave Love <fx@gnu.org>
11459
11460 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11461
11462 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11463 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11464 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11465
11466 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11467
11468 * s/nextstep.h: Don't define HAVE_ALLOCA.
11469
11470 * config.in: Add vfork bits.
11471
eedf8bde
GM
114722000-02-12 Gerd Moellmann <gerd@gnu.org>
11473
11474 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11475 unwind function to undo the effect of stopping atimers.
11476
52283633 11477 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11478
11479 * atimer.c (stopped_atimers): New variable.
11480 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11481 New functions.
11482
11483 * atimer.h (stop_other_atimers, run_all_atimers)
11484 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11485
eedf8bde
GM
11486 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11487
8476c2f8
KR
114882000-02-11 Ken Raeburn <raeburn@gnu.org>
11489
11490 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11491 library may depend on jpeg.
11492 (atimer.o): Depends on atimer.c.
11493
0e85e4a3
KH
114942000-02-11 Kenichi Handa <handa@etl.go.jp>
11495
11496 * insdel.c (del_range_1): Call update_compositions.
11497 (del_range_both): Call update_compositions just once..
11498
97fa0cc8
DL
114992000-02-10 Dave Love <fx@gnu.org>
11500
11501 * xfns.c (create_frame_xic): Fix initialization of automatic
11502 aggregates for pcc.
11503
25566a3c
KH
115042000-02-09 Kenichi Handa <handa@etl.go.jp>
11505
11506 * ccl.c (CCL_MAKE_CHAR): New macro.
11507 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11508 registers by CCL_MAKE_CHAR before calling translate_char.
11509 <CCL_TranslateCharacterConstTbl> Likewise.
11510
69da54ba
DL
115112000-02-08 Dave Love <fx@gnu.org>
11512
11513 * lread.c (__EXTENSIONS__): Define.
11514
f7136ee8
GM
115152000-02-08 Gerd Moellmann <gerd@gnu.org>
11516
11517 * puresize.h (BASE_PURESIZE): Increase to 650000.
11518
7768790b
EZ
115192000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11520
11521 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11522 the help message.
11523
38fd211b
EZ
115242000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11525
11526 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11527 md, mh, mb, mr, and me to the fake termcap entry.
11528
66e4690f
KR
115292000-02-06 Ken Raeburn <raeburn@gnu.org>
11530
11531 * sound.c (sound_cleanup): Don't call device close routine if the
11532 function pointer is null.
11533
a75dfea0
AI
115342000-02-06 Andrew Innes <andrewi@gnu.org>
11535
11536 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11537 around image definitions and prototypes.
11538 (gamma_correct) [WINDOWSNT]: New prototype.
11539
11540 * w32term.c (x_make_frame_visible): Replace call to
11541 input_poll_signal with poll_for_input.
11542
11543 * window.c [WINDOWSNT]: Include w32term.h.
11544
11545 * xdisp.c [WINDOWSNT]: Include w32term.h.
11546
11547 * makefile.nt: Add dependencies on w32gui.h.
11548 (OBJ1): Include atimer.obj.
11549 ($(BLD)\atimer.obj): New dependency rule.
11550
11551 * w32.c (sigmask): New function (does nothing).
11552 (sigunblock): Ditto.
11553
11554 * frame.c [WINDOWSNT]: Include w32term.h.
11555
11556 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11557
11558 * lread.c (syms_of_lread): Fix literal newlines.
11559
11560 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11561 the string constant limit (2048 bytes) in MSVC.
11562 (main): Ditto.
11563
59ddecde
GM
115642000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11565
52283633 11566 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11567 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11568 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11569 dispatch the event.
11570
07590973
DL
115712000-02-04 Dave Love <fx@gnu.org>
11572
11573 * fileio.c: Remove some unused vars.
11574 (_GNU_SOURCE): Define (for euidaccess).
11575
11576 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11577
11578 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11579 gcpro1, gcpro2.
11580 (read_minibuf): Deal with allow_props correctly.
11581
649351f9
EZ
115822000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11583
11584 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11585
66e4690f 115862000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11587
11588 * search.c (compile_pattern): If a cache entry has a nil regexp,
11589 fill in that entry instead of clobbering a previously cached
11590 string regexp.
11591
66e4690f 115922000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11593
11594 * puresize.h (BASE_PURESIZE): Increase to 610000.
11595
d240a249
GM
115962000-02-02 Gerd Moellmann <gerd@gnu.org>
11597
11598 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11599 can GC.
11600
ca91fb26
KH
116012000-02-02 Kenichi Handa <handa@etl.go.jp>
11602
25660570
KH
11603 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11604 instead of incrementing ic directly.
11605 <CCL_WriteExprConst> Likewise.
11606 <ccl_set_expr>: Set ic to jump_address.
11607
ca91fb26
KH
11608 * fileio.c (e_write): Fix the handling of
11609 CODING_FINISH_INSUFFICIENT_SRC.
11610
2ede9689
DL
116112000-02-01 Dave Love <fx@gnu.org>
11612
11613 * editfns.c (Fpropertize): Doc fix.
11614
11615 * process.c (Fstart_process): Doc fix.
11616
11617 * eval.c: Fix various doc strings not to duplicate information
11618 from help-manyarg-func-alist.
11619
52283633 11620 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11621
11622 * doc.c (Vhelp_manyarg_func_alist): New variable.
11623 (Fdocumentation): Use it.
11624 (syms_of_doc): Define it.
11625
b6680a0e
GM
116262000-01-31 Gerd Moellmann <gerd@gnu.org>
11627
2cb750ba
GM
11628 * xterm.c (xim_open_dpy): Remove unused local variable.
11629
52283633 11630 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11631
11632 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11633 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11634
b6680a0e
GM
11635 * fns.c (sweep_weak_table): New function.
11636 (sweep_weak_hash_tables): Use it. Keep on marking until there
11637 is no more change.
11638
994c5afe
GM
116392000-01-30 Gerd Moellmann <gerd@gnu.org>
11640
11641 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11642 that XTread_socket does not crash by trying to call XNoOp on a
11643 closed display.
427ec082 11644
f00276e3
JR
116452000-01-30 Jason Rumney <jasonr@gnu.org>
11646
11647 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11648 Change selected_frame to SELECTED_FRAME ().
11649 (w32_console_mouse_position): Remove #ifndef MULE from around
11650 `insist' parameter.
11651
11652 * makefile.nt: Remove dosfns.obj.
11653
11654 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11655
11656 * w32fns.c (w32_defined_color): Check for valid frame before
11657 applying gamma correction. Eliminate dependency on frame elsewhere.
11658 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11659 (w32_to_x_font): Use resx and resy not height_in and width_in.
11660 (x_to_w32_font): Doc fix.
11661 (xlfd_strip_height): New function to strip and return font height.
11662 (w32_font_match): Compare height separately from rest of xlfd
11663 spec, using xlfd_strip_height.
11664
11665 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11666 width_in. Use w32_defined_color in place of defined_color.
11667
11668 * w32faces.c: Merge more of DOS and X specifics in preparation for
11669 merge with xfaces.c.
11670 (defined_color): Remove FIXME comment.
11671 (tty_color_name): Provide w32-specific function.
11672 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11673
11674 * w32console.c (turn_on_face, turn_off_face): Removed.
11675 (w32_face_attributes): New function.
11676 (Global_variables): Reduce scope where possible.
11677 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11678 fill attribute.
11679 (hl_mode): Don't modify text attributes.
11680 (write_glyphs): Don't do anything if len <= 0. Use
11681 w32_face_attributes to get attributes for drawing. Write
11682 terminating codes using char_attr_normal.
11683 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11684 (update_begin, update_end): Likewise.
11685 (vga_stdcolor_name): New function.
11686 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11687 (Fset_screen_color): Remove char_attr_reverse.
11688
b08e8bb2
GM
116892000-01-29 Gerd Moellmann <gerd@gnu.org>
11690
11691 * xfns.c (xic_set_preeditarea): Take window parameter and
11692 window-relative pixel-positions.
11693
11694 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11695 is its frame's selected window.
11696 (xim_instantiate_callback): Likewise.
11697
11698 * xfns.c (x_create_im): Removed.
11699 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11700 (supported_xim_styles): Renamed from supported_styles.
11701 (best_xim_style): Renamed from best_style.
11702 (create_frame_xic): Renamed from xic_create_frame.
11703 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11704
b08e8bb2
GM
117052000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11706
11707 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11708 our frames, call XFilterEvent with 2nd parameter `None'.
11709 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11710 returning XBufferOverflow.
52283633 11711 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11712 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11713 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11714 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11715 (xim_initialize, xim_close)
11716 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11717 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11718 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11719 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11720
11721 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11722 and `xim_styles'.
11723 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11724 `xic_style' and `xic_xfs'.
11725 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11726 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11727 (FRAME_XIM): Removed.
11728
11729 * xfns.c (supported_styles): New variable.
11730 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11731 (xic_create_xfontset, best_style, xic_create_frame)
11732 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11733 (xic_set_xfontset): New functions.
11734
142e109c
DL
117352000-01-28 Dave Love <fx@gnu.org>
11736
11737 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11738
11739 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11740
b02786f9
GM
117412000-01-28 Gerd Moellmann <gerd@gnu.org>
11742
d060bc9f
GM
11743 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11744 for *scratch* if it already existed.
11745
b02786f9
GM
11746 * emacs.c (USAGE): New macro.
11747 (main): Use it to display usage information.
11748
2c52d7e4
EZ
117492000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11750
11751 Support for the menu-help feature:
11752
52283633 11753 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11754
11755 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11756 part of the line to the termscript file.
11757 (IT_clear_to_end): Clear the entire line, not just its beginning.
11758 (menu_help_message, prev_menu_help_message): New variables.
11759 (IT_menu_make_room): Make room for the help_text member.
11760 (IT_menu_display): New argument disp_help; all callers changed.
11761 If disp_help is non-zero, store the help text of the active menu
11762 item in menu_help_message.
11763 (XMenuAddPane): Initialize the help_text member to NULL.
11764 (XMenuAddSelection): New argument help_text. Store it in the
11765 XMenu structure.
11766 (XMenuActivate): New argument help_callback. If the value of
11767 menu_help_message has changed since the last time, display the
11768 menu help message text while waiting for the mouse to move. Clear
11769 the echo area before exiting.
11770 (XMenuDestroy): Free the help_text member.
11771
ffe0bcd1
GM
117722000-01-27 Gerd Moellmann <gerd@gnu.org>
11773
11774 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11775 XMenuAddSelection. Pass help callback to XMenuActivate.
11776 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11777
50dbd23f
EZ
117782000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11779
11780 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11781 and EMACS_SET_USECS.
11782
f5941bf8
GM
117832000-01-26 Dave Love <fx@gnu.org>
11784
6c67ddee
DL
11785 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11786
f5941bf8
GM
11787 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11788 an error may be signalled.
11789
9e49c990
GM
117902000-01-26 Gerd Moellmann <gerd@gnu.org>
11791
fc3cb460
GM
11792 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11793 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11794
9e49c990
GM
11795 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11796
d0c037d8
GM
117972000-01-25 Gerd Moellmann <gerd@gnu.org>
11798
11799 * charset.c (Fstring): If there is a multibyte char among
11800 the args, always return a multibyte string.
11801
e12489f9
GM
118022000-01-25 Gerd Moellmann <gerd@gnu.org>
11803
11804 * sysdep.c (sys_select): Turn atimers off and on instead of
11805 recording and restoring old alarm handler
11806
11807 * process.c (toplevel): Include atimer.h.
11808 (create_process_1): Rewritten.
11809 (create_process): Use atimers instead of alarm.
11810 (wait_reading_process_input) [hpux]: Turn atimers off instead
11811 of turning off SIGALRM.
11812 (wait_reading_process_input): Turn off atimers instead off
11813 calling stop_polling.
11814
11815 * emacs.c (main): Call init_atimer.
11816
11817 * keyboard.c (toplevel): Include systime.h and atimer.h.
11818 (polling_for_input): Removed because unused.
11819 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11820 (poll_timer): New variable.
11821 (poll_for_input, poll_for_input_1): New functions.
11822 (start_polling, stop_polling): Rewritten.
11823
11824 * keyboard.h (polling_for_input): Removed.
427ec082 11825
e12489f9
GM
11826 * atimer.h, atimer.c: New files.
11827
11828 * Makefile.in (obj): Add atimer.o.
11829 (atimer.o): New target.
11830
11831 * blockinput.h (pending_atimers): Add extern declaration.
11832 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11833
11834 * lisp.h (popup_activated_flag): Add extern declaration.
11835
11836 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11837 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11838 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11839
11840 * xterm.c (toplevel): Include atimer.h.
11841 (toolkit_scroll_bar_interaction): New variable.
11842 (Fxt_process_timeouts): Removed.
11843 (x_process_timeouts): New function.
11844 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11845 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11846 (x_make_frame_visible): Call poll_for_input_1 instead of
11847 input_poll_signal. Don't call alarm.
11848 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11849
1e5279b9
DL
118502000-01-24 Dave Love <fx@gnu.org>
11851
6c67ddee 11852 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11853 Don't use -cckr -- apparently not now necessary.
11854
edf6aeb8
EZ
118552000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11856
11857 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11858 screen boundary.
11859
9badad41
JR
118602000-01-23 Jason Rumney <jasonr@gnu.org>
11861
11862 * w32fns.c (w32_defined_color): Apply gamma correction before
11863 trying to map to the palette.
11864 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11865 to w32_clear_rect.
11866
11867 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11868 here. Callers changed to always pass real device context.
11869 (w32_draw_bitmap): Likewise.
11870 (w32_get_glyph_overhangs): Likewise.
52283633 11871 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11872 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11873 pfnSetScrollInfo and SetScrollRange.
11874 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11875 back into MULE characters after decoding them.
11876 (x_get_glyph_face_and_encoding): Likewise.
11877 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11878 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11879 (x_produce_glyphs): Calculate per char metrics for a character
11880 that we know exists in default font when font_not_found_p is true.
11881
63bd786b
JR
118822000-01-22 Jason Rumney <jasonr@gnu.org>
11883
11884 * makefile.nt (intervals.obj, composite.obj): New modules.
11885 (composite.h): Added as dependency where appropriate.
11886
11887 * w32gui.h (XGCValue): New struct for emulating X GCs.
11888
11889 * w32term.h (XCharStruct): New struct for emulating X.
11890
11891 * w32console.c (turn_on_face, turn_off_face): New functions.
11892 (change_line_highlight): New prototype for new redisplay.
11893 (write_glyphs): Support multibyte text. Support faces.
11894
52283633 11895 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11896
11897 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11898 throughout. struct frame * in place of FRAME_PTR.
11899 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11900 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11901 (w32_get_arg): Renamed from x_get_arg.
11902 (Fx_file_dialog): New function.
11903 (w32_list_fonts): Check cache before asking system.
11904 (Vw32_enable_synthesized_fonts): New variable.
11905 (Vw32_enable_italics): Obsolete, removed.
11906
11907 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11908 Use SELECTED_FRAME macro.
11909
11910 * w32menu.c: Add skeleton support for help strings on menus.
11911 (add_menu_item): Native checkbox and radio support added, but not
11912 yet enabled due to bugs.
11913 (push_menu_item): Add parameters type, selection and help.
11914 Callers updated.
11915 Formatting changes to reduce unnecessary diffs with xmenu.c.
11916
11917 * w32select.c (Fw32_set_clipboard_data): Update call to
11918 find_charset_in_str.
11919
11920 * w32term.c: Complete rewrite for new redisplay based on new
11921 xterm.c with necessary sections merged back in from old w32term.c.
11922
6ffd3cf7 119232000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11924
11925 * data.c (set_internal): Further fix in same criterion.
11926
6ffd3cf7 119272000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11928
11929 * data.c (set_internal): Fix the criteria for whether
11930 to swap out the old cached binding.
11931
60af03f1
DL
119322000-01-19 Dave Love <fx@gnu.org>
11933
11934 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11935
f9be074f
KH
119362000-01-18 Kenichi Handa <handa@etl.go.jp>
11937
11938 * regex.c (re_compile_fastmap): While checking a range table for
11939 `charset', skip flag bits for a character class correctly.
11940
52b8dbf9
GM
119412000-01-17 Gerd Moellmann <gerd@gnu.org>
11942
d36100c9
GM
11943 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11944
52283633 11945 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11946
11947 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11948 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11949
11950 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11951 MENU_ITEMS_ITEM_.*.
11952 (MENU_ITEMS_ITEM_HELP): New enumerator.
11953 (push_menu_item): Add parameter HELP. Record help in menu_items.
11954 (single_menu_item, single_submenu, list_of_items): Call
11955 push_menu_item with new parameter.
11956 (single_submenu): Set help string in widget value.
11957 (menu_highlight_callback): New function.
11958 (set_frame_menubar): Call lw_create_widget with new
11959 parameter list.
11960 (xmenu_show, xdialog_show): Ditto.
11961
3139018f
GM
119622000-01-13 Gerd Moellmann <gerd@gnu.org>
11963
11964 * sound.c (Fplay_sound): Improve doc string.
11965
83c8f461
RS
119662000-01-11 Richard M. Stallman <rms@gnu.org>
11967
11968 * lisp.h (set_internal): Enter the new arg.
11969
11970 * eval.c (specbind): Record buffer-local variables specially,
11971 indicating which buffer's binding was saved.
11972 (unbind_to): Restore buffer-local variables specially
11973 in the proper buffer.
11974
11975 * data.c (set_internal): New arg BUF.
427ec082 11976
83c8f461
RS
11977 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11978 * data.c (Fset): Pass new arg to set_internal.
11979 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11980
1fab1775
GM
119812000-01-11 Gerd Moellmann <gerd@gnu.org>
11982
52283633 11983 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11984
83c8f461 119852000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11986
11987 * minibuf.c (Ftry_completion): Doc fix.
11988
7a85e4df
GM
119892000-01-11 Gerd Moellmann <gerd@gnu.org>
11990
11991 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11992 vector, too.
11993
a970dae4
AS
119942000-01-11 Andreas Schwab <schwab@suse.de>
11995
11996 * coding.c (code_convert_region): Initialize total_skip.
11997
c65d14ee
DL
119982000-01-08 Dave Love <fx@gnu.org>
11999
12000 * eval.c (Fuser_variable_p): Check customizability too.
12001
834938d2
GM
120022000-01-07 Gerd Moellmann <gerd@gnu.org>
12003
12004 * minibuf.c (Fcompleting_read): Doc fix.
12005
e0303cd6
GM
120062000-01-05 Gerd Moellmann <gerd@gnu.org>
12007
8a26744b
GM
12008 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12009 -L /usr/local/lib.
12010
e0303cd6
GM
12011 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12012 Check that input style is supported before trying to create an
12013 IC for it.
12014 (x_window): Call x_create_im.
427ec082 12015
2e471eb5
GM
120162000-01-04 Gerd Moellmann <gerd@gnu.org>
12017
560a7bd2
GM
12018 * xfns.c (current_gif_memory_src): New variable.
12019 (gif_load): Record the address of the current memory source
12020 in current_gif_memory_src.
12021 (gif_read_from_memory): Use current_gif_memory_src.
12022
f9ee84a3
GM
12023 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12024 macros statement form.
12025
d1299cde
GM
12026 * sound.c (struct sound): Renamed from struct sound_file.
12027 (struct sound): Add members `data' and `header_size'.
12028 (enum sound_attr): Add SOUND_DATA.
12029 (current_sound, current_sound_device): Variables renamed from
12030 sound_file and sound_device.
12031 (parse_sound): Parse :data.
12032 (parse_sound): Handle sound data in strings.
12033 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12034 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12035 needed header size.
12036 (wav_play, au_play): Play sounds from string data.
12037
2e471eb5
GM
12038 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12039
12040 * lisp.h: Add prototype for allocate_string_data.
12041
52283633 12042 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12043
12044 * alloc.c (mark_buffer): Remove code in #if 0.
12045 (gc_sweep): Ditto.
12046 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12047 (strings_consed): New variable.
12048 (allocate_string): Set it.
12049 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12050 (Fmemory_use_counts): Return strings_consed. Use Flist.
12051
12052 * alloc.c: General cleanup in comments etc. Remove conditional
12053 compilation for `standalone'.
12054
12055 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12056
12057 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12058 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12059 (DONT_COPY_FLAG): Removed.
12060 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12061 (struct sdata, struct sblock): New
12062 (struct string_block): Rewritten.
12063 (STRINGS_IN_STRING_BLOCK): New macro.
12064 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12065 (large_sblocks, string_blocks, string_free_list): New variables.
12066 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12067 (init_strings): Rewritten.
12068 (allocate_string, allocate_string_data, compact_small_strings)
12069 (free_large_strings, sweep_strings): New functions.
12070 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12071 (struct string_block_head, current_string_block)
12072 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12073 (STRING_PAD): Removed.
12074 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12075 (Fgarbage_collect): Don't set mark bit in large strings.
12076 (mark_object): Mark strings differently. Mark symbol names
12077 differently.
12078 (survives_gc_p): Test marked strings differently.
427ec082 12079 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12080 symbol names.
12081 (compact_strings): Removed.
12082
42608ba8
EZ
120832000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12084
12085 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12086 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12087
e0a09e1a
KH
120882000-01-04 Kenichi Handa <handa@etl.go.jp>
12089
dd9f0750 12090 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12091 in a non-empty buffer.
dd9f0750 12092
3c0f3b15 12093 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12094
44cd3ae5
GM
120952000-01-03 Gerd Moellmann <gerd@gnu.org>
12096
12097 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12098 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12099
12100 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12101
c182a70f
EZ
121022000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12103
12104 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12105 need to test for MSDOS frames.
12106
24480d5b
EZ
121072000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12108
12109 * dosfns.c (unspecified_colors): Remove.
12110 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12111 unspecified_bg.
12112 (msdos_stdcolor_name): Return strings for unspecified fore- and
12113 back-ground colors.
12114
12115 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12116 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12117 (tty_color_name): Return Lisp strings for unspecified fore- and
12118 back-ground colors.
12119 (Finternal_set_lisp_face_attribute): Remove the special treatment
12120 for Qunspecified_{f,b}g.
52283633 12121 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12122
047f434a
GM
121232000-01-03 Gerd Moellmann <gerd@gnu.org>
12124
12125 * xdisp.c (reseat_at_next_visible_line_start): Position before
12126 newline only if ending up on a newline.
12127 (next_element_from_ellipsis): Return success. Handle case of
52283633 12128 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12129 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12130 returns 0.
12131
d684c676
EZ
121322000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12133
12134 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12135 (Fcolor_supported_p): Renamed from face-color-supported-p.
12136
5fe1d139
EZ
121372000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12138
12139 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12140 list of colors renamed to tty-defined-color-alist.
12141 (tty_color_name): Pass the frame to tty-color-by-index.
12142 (realize_tty_face): tty-color-alist is now a function which
12143 accepts the frame as argument.
12144
52283633 12145 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12146
816be8b8
EZ
121472000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12148
12149 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12150 encode_terminal_code.
12151
b635321e
EZ
121522000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12153
12154 * dispnew.c (mode_line_string): Support termcap frames as well.
12155
9b784e96
GM
121562000-01-01 Gerd Moellmann <gerd@gnu.org>
12157
27189709
GM
12158 * syntax.c (Fforward_word): Undo previous change.
12159
12160 * editfns.c (Fconstrain_to_field): Don't constrain if
12161 inhibit-field-text-motion is non-nil.
12162 (Fline_beginning_position): Undo previous change.
12163 (Fline_end_position): Ditto.
12164
12165 * syntax.c (Fforward_word): Notice field boundaries only if
12166 inhibit-field-text-motion is nil.
12167
12168 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12169
12170 * editfns.c (Vinhibit_field_text_motion): New variable.
12171 (inhibit-field-text-motion): New DEFVAR_LISP.
12172 (Fline_beginning_position, Fline_end_position): Notice field
12173 boundaries only if inhibit-field-text-motion is nil.
12174
45158a91
GM
12175 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12176 All calls adjusted.
12177 (x_build_heuristic_mask): Likewise.
12178 (xbm_load_image_from_file): Change error output.
12179 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12180 (gif_load, gs_load, x_kill_gs_process): Ditto.
12181
9b784e96
GM
12182 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12183 color indices when accessing raster pixels.
63cec32f
GM
12184 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12185 one of :file or :data.
12186 (enum pbm_keyword_index): Add PBM_DATA.
12187 (pbm_format): Add :data.
12188 (pbm_image_p): Allow either :file or :data.
12189 (pbm_read_file): New function.
12190 (pbm_scan_number): Rewritten to read from string.
12191 (pbm_load): Support :data.
9b784e96 12192
2cb085db 12193See ChangeLog.8 for earlier changes.
6922b018
KH
12194
12195;; Local Variables:
49b3bd82 12196;; coding: iso-2022-7bit
6922b018 12197;; End: